IP Library Granted Patent US 12,596,972
Granted Patent B2
US 12,596,972 · App. 18/234,774 · Granted Apr 7, 2026

Conversation-based messaging method and system

Inventors: Wentao Zheng (Los Angeles, CA); Zihao Wang (Los Angeles, CA); Ruchir Astavans (Los Angeles, CA); Justin Jia-Zhao Lim (Los Angeles, CA); Wang Liang (Los Angeles, CA)
Assignee: BYTEDANCE INC.
G06Q10/063114G06F16/22G06Q10/1097G06Q50/01H04L51/046H04L51/216H04L51/56H04L67/55G06Q10/107
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,596,972
App. No.
18/234,774
Granted
Apr 7, 2026
Kind
B2
Abstract

The present disclosure describes conversation-based messaging techniques. The techniques comprise generating a thread identifier (ID) corresponding to a new conversation based on receiving a user input indicative of starting the new conversation, wherein the user input is received from a user via a predetermined interface element on a user interface; displaying a window overlaid on the user interface in response to receiving the user input via the predetermined interface element, wherein the window comprises a plurality of representative elements corresponding to a plurality of types of conversation attribute; and creating one or more attributes of the new conversation based at least in part on selecting one or more representative elements among the plurality of representative elements, wherein the creating one or more attributes of the new conversation further comprises associating the one or more attributes with the thread ID of the first conversation.

Claims (94)

1 . A method of creating and implementing messaging threads, comprising:

generating, by a service, a thread identifier (ID) of a new messaging thread based on receiving first user input indicative of creating the new messaging thread, wherein the first user input is received from a user via a predetermined interface element on a user interface;

causing simultaneous display of a plurality of representative elements in a window in response to receiving the first user input via the predetermined interface element, wherein a first representative element of the plurality of representative elements is selectable to create a topic type of attribute of the new messaging thread during a process of creating the new messaging thread, and wherein a second representative element of the plurality of representative elements is selectable to create a task type of attribute of the new messaging thread during the process of creating the new messaging;

identifying a topic from a plurality of topics displayed on the user interface in response to receiving a selection of the first representative element;

creating, by the service, a first attribute of the new messaging thread based on the identified topic during the process of creating the new messaging thread, wherein no message exists in the new messaging thread during the process of creating the new messaging thread, and wherein the first attribute is the topic type of attribute;

associating the first attribute of the new messaging thread with the thread ID of the new messaging thread during the process of creating the new messaging thread;

displaying a calendar in response to a selection of the second representative element;

receiving a selection of a due date from the calendar, wherein the due date is associated with a task to be assigned to a participant of the new messaging thread;

creating, by the service, a second attribute of the new messaging thread based on the due date during the process of creating the new messaging thread, wherein the second attribute is the task type of attribute;

associating the second attribute of the new messaging thread with the thread ID during the process of creating the new messaging thread;

storing information indicating a plurality of attributes of the new messaging thread in a plurality of databases, wherein the plurality of attributes comprise the first attribute and the second attribute of the new messaging thread;

storing an association between each of the plurality of attributes and the thread ID of the new messaging thread in the plurality of databases, wherein the plurality of attributes are accessible by the service and are associated with each other by way of the thread ID of the new messaging thread; and

pushing indication information associated with the plurality of attributes to message applications associated with participants of the new messaging thread for display based on the stored information and the association between the plurality of attributes and the thread ID of the new messaging thread.

2 . The method of claim 1 , further comprising:

adding, by the service, one or more participants to the new messaging thread based on second user input selecting a third representative element of the plurality of representative elements representing a user type of attribute, wherein the one or more participants of the new messaging thread comprise an individual user or a group user, and wherein the group user comprise a plurality of individual users; and

storing the one or more participants in at least one database of the plurality of databases as additional user attributes, wherein the additional user attributes are accessible by the service and are associated with the plurality of attributes by way of the thread ID.

3 . The method of claim 1 , wherein the creating the first attribute comprises:

adding, by the service, the identified topic to the new messaging thread, and wherein the storing information indicating the plurality of attributes of the new messaging thread in the plurality of databases comprises:

storing the identified topic in in at least one database of the plurality of databases as additional topic attributes, wherein the additional topic attributes are accessible by the service and are associated with the plurality of attributes by way of the thread ID.

4 . The method of claim 1 , wherein the displaying the calendar in response to the selection of the second representative element comprises:

displaying the calendar comprising selectable dates for selecting the due date of the task in response to receiving the selection of the second representative element, and wherein the creating the second attribute comprises:

creating the task associated with the new messaging thread based on the due date and information received via an input field comprised in the window.

5 . The method of claim 1 , further comprising:

creating another attribute of the new messaging thread based on parsing content of a message entered via an input area of the user interface, wherein the another attribute of the new messaging thread comprises a topic attribute, a user attribute, a group attribute, a task attribute, or an email message attribute.

6 . The method of claim 1 , further comprising:

recognizing a structure of an email address based on parsing content of a message entered via an input area of the user interface; and

adding an external entity corresponding to the email address as a participant of the new messaging thread by associating the email address with the thread ID of the new messaging thread.

7 . The method of claim 1 , further comprising:

displaying a plurality of indicators associated with a plurality of messaging threads of which the user is a participant on the user interface.

8 . The method of claim 7 , further comprising:

sending a request for a plurality of messages in a particular messaging thread in response to selecting one of the plurality of indicators corresponding to the particular messaging thread; and

displaying content received in response to the request, the content associated with the plurality of messages in the particular messaging thread.

9 . The method of claim 1 , further comprising:

generating an interface comprising a two-dimensional representation based on attributes of a plurality of messaging threads of which the user is a participant; and

displaying the interface comprising the two-dimensional representation, wherein the interface is configured to enable the user to reorganize the attributes of the plurality of messaging threads.

10 . The method of claim 9 , further comprising:

receiving information indicative of a selection of an intersection in the two-dimensional representation; and

filtering the plurality of messaging threads in response to receiving the information based on attributes corresponding to the selected intersection.

11 . A computing system, comprising:

at least one processor; and

at least one memory communicatively coupled to the at least one processor and storing instructions that upon execution by the at least one processor cause the at least one processor to perform operations comprising:

generating, by a service, a thread identifier (ID) of a new messaging thread based on receiving first user input indicative of creating the new messaging thread, wherein the first user input is received from a user via a predetermined interface element on a user interface;

causing simultaneous display of a plurality of representative elements in a window in response to receiving the first user input via the predetermined interface element, wherein a first representative element of the plurality of representative elements is selectable to create a topic type of attribute of the new messaging thread during a process of creating the new messaging thread, and wherein a second representative element of the plurality of representative elements is selectable to create a task type of attribute of the new messaging thread during the process of creating the new messaging thread;

identifying a topic from a plurality of topics displayed on the user interface in response to receiving a selection of the first representative element;

creating, by the service, a first attribute of the new messaging thread based on the identified topic during the process of creating the new messaging thread, wherein no message exists in the new messaging thread during the process of creating the new messaging thread, and wherein the first attribute is the topic type of attribute;

associating the first attribute of the new messaging thread with the thread ID of the new messaging thread during the process of creating the new messaging thread;

displaying a calendar in response to a selection of the second representative element;

receiving a selection of a due date from the calendar, wherein the due date is associated with a task to be assigned to a participant of the new messaging thread;

creating, by the service, a second attribute of the new messaging thread based on the due date during the process of creating the new messaging thread, wherein the second attribute is the task type of attribute;

associating the second attribute of the new messaging thread with the thread ID during the process of creating the new messaging thread;

storing information indicating a plurality of attributes of the new messaging thread in a plurality of databases, wherein the plurality of attributes comprise the first attribute and the second attribute of the new messaging thread;

storing an association between each of the plurality of attributes and the thread ID of the new messaging thread in the plurality of databases, wherein the plurality of attributes are accessible by the service and are associated with each other by way of the thread ID of the new messaging thread; and

pushing indication information associated with the plurality of attributes to message applications associated with participants of the new messaging thread for display based on the stored information and the association between the plurality of attributes and the thread ID of the new messaging thread.

12 . The computing system of claim 11 , further comprising:

adding one or more participants to the new messaging thread based on second user input selecting a third representative element of the plurality of representative elements representing a user type of attribute, wherein the one or more participants of the new messaging thread comprise an individual user or a group user, and wherein the group user comprise a plurality of individual users, and wherein

the creating the first attribute comprises:

adding the identified topic to the new messaging thread, and

wherein the storing information indicating the plurality of attributes of the new messaging thread in the plurality of databases comprises:

storing the one or more participants or the identified topic in at least one database of the plurality of databases as additional user attributes or additional topic attributes, wherein the additional user attributes or the additional topic attributes are accessible by the computing system and are associated with the plurality of attributes by way of the thread ID.

13 . The computing system of claim 11 , wherein the displaying the calendar in response to the selection of the second representative element comprises:

displaying the calendar comprising selectable dates for selecting the due date of the task in response to receiving the selection of the second representative element, and wherein the creating the second attribute comprises:

creating the task associated with the new messaging thread based on the due date and information received via an input field comprised in the window.

14 . The computing system of claim 11 , the operations further comprising:

creating another attribute of the new messaging thread based on parsing content of a message entered via an input area of the user interface, wherein the another attribute of the new messaging thread comprises a topic attribute, a user attribute, a group attribute, a task attribute, or an email message attribute.

15 . The computing system of claim 11 , the operations further comprising:

recognizing a structure of an email address based on parsing content of a message entered via an input area of the user interface; and

adding an external entity corresponding to the email address as a participant of the new messaging thread by associating the email address with the thread ID of the new messaging thread.

16 . The computing system of claim 11 , the operations further comprising:

displaying a plurality of indicators associated with a plurality of messaging threads of which the user is a participant on the user interface;

sending a request for a plurality of messages in a particular messaging thread in response to selecting one of the plurality of indicators corresponding to the particular messaging thread; and

displaying content received in response to the request, the content associated with the plurality of messages in the particular messaging thread.

17 . The computing system of claim 11 , the operations further comprising:

generating an interface comprising a two-dimensional representation based on attributes associated with a plurality of messaging threads of which the user is a participant; and

displaying the interface comprising the two-dimensional representation, wherein the interface is configured to enable the user to reorganize the attributes associated with the plurality of messaging threads.

18 . The computing system of claim 17 , the operations further comprising:

receiving information indicative of a selection of an intersection in the two-dimensional representation; and

filtering the plurality of messaging threads in response to receiving the information based on attributes corresponding to the selected intersection.

19 . A non-transitory computer-readable storage medium, storing computer-readable instructions that upon execution on a computing device cause the computing device to perform operations comprising:

generating, by a service, a thread identifier (ID) of a new messaging thread based on receiving first user input indicative of creating the new messaging thread, wherein the first user input is received from a user via a predetermined interface element on a user interface;

causing simultaneous display of a plurality of representative elements in a window in response to receiving the first user input via the predetermined interface element, wherein a first representative element of the plurality of representative elements is selectable to create a topic type of attribute of the new messaging thread during a process of creating the new messaging thread, and wherein a second representative element of the plurality of representative elements is selectable to create a task type of attribute of the new messaging thread during the process of creating the new messaging thread;

identifying a topic from a plurality of topics displayed on the user interface in response to receiving a selection of the first representative element;

creating, by the service, a first attribute of the new messaging thread based on the identified topic during the process of creating the new messaging thread, wherein no message exists in the new messaging thread during the process of creating the new messaging thread, and wherein the first attribute is the topic type of attribute;

associating the first attribute of the new messaging thread with the thread ID of the new messaging thread during the process of creating the new messaging thread;

displaying a calendar in response to a selection of the second representative element;

receiving a selection of a due date from the calendar, wherein the due date is associated with a task to be assigned to a participant of the new messaging thread;

creating, by the service, a second attribute of the new messaging thread based on the due date during the process of creating the new messaging thread, wherein the second attribute is the task type of attribute;

associating the second attribute of the new messaging thread with the thread ID during the process of creating the new messaging thread;

storing information indicating a plurality of attributes of the new messaging thread in a plurality of databases, wherein the plurality of attributes comprise the first attribute and the second attribute of the new messaging thread;

storing an association between each of the plurality of attributes and the thread ID of the new messaging thread in the plurality of databases, wherein the plurality of attributes are accessible by the service and are associated with each other by way of the thread ID of the new messaging thread; and

pushing indication information associated with the plurality of attributes to message applications associated with participants of the new messaging thread for display based on the stored information and the association between the plurality of attributes and the thread ID of the new messaging thread.

20 . The non-transitory computer-readable storage medium of claim 19 , the operations further comprising:

adding one or more participants to the new messaging thread based on second user input selecting a third representative element of the plurality of representative elements representing a user type of attribute, wherein the one or more participants of the new messaging thread comprise an individual user or a group user, and wherein the group user comprise a plurality of individual users, wherein

creating the first attribute comprises: adding the identified topic to the new messaging thread; or

creating the second attribute comprises creating the task associated with the new messaging thread based on the due date selected via the calendar and information received via an input field in the window, wherein the calendar is overlaid on the user interface.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2023
From: ZHENG, WENTAO; WANG, ZIHAO; ASTAVANS, RUCHIR; LIM, JUSTIN JIA-ZHAO; LIANG, WANG
To: BYTEDANCE INC.
Reel/Frame 064615/0816 →
Continuity (2)
Continuation 16939491 · Jul 27, 2020
Related Publication 20230394395A1 · Dec 7, 2023
References Cited (141)
US 7610386B1 · Martinez et al. · 2009 [cited by applicant]
US 7769144B2 · Yao · 2010 [cited by examiner]
US 8639552B1 · Chen · 2014 [cited by examiner]
US 9300609B1 · Beausoleil et al. · 2016 [cited by applicant]
US 9645996B1 · Ledet · 2017 [cited by applicant]
US 9768969B2 · Weinstein et al. · 2017 [cited by applicant]
US 9842218B1 · Brisebois et al. · 2017 [cited by applicant]
US 10021059B1 · Rao · 2018 [cited by applicant]
US 10126927B1 · Fieldman · 2018 [cited by applicant]
US 10193835B1 · Ledet · 2019 [cited by applicant]
US 10911386B1 · Beckman · 2021 [cited by examiner]
US 11095720B2 · Salonen · 2021 [cited by applicant]
US 11153726B2 · Cheung et al. · 2021 [cited by applicant]
US 11178089B1 · Voss · 2021 [cited by applicant]
US 11227017B2 · Schaer · 2022 [cited by examiner]
US 20020049786A1 · Bibliowicz et al. · 2002 [cited by applicant]
US 20020052920A1 · Umeki et al. · 2002 [cited by applicant]
US 20020078007A1 · Herrero · 2002 [cited by applicant]
US 20030126089A1 · Fukuoka · 2003 [cited by examiner]
US 20030177361A1 · Wheeler et al. · 2003 [cited by applicant]
US 20040015547A1 · Griffin et al. · 2004 [cited by applicant]
US 20040078435A1 · Dunbar · 2004 [cited by examiner]
US 20040083432A1 · Kawamura · 2004 [cited by examiner]
US 20050216421A1 · Barry · 2005 [cited by examiner]
US 20050223066A1 · Buchheit et al. · 2005 [cited by applicant]
US 20050235034A1 · Chen · 2005 [cited by examiner]
US 20060161849A1 · Miller · 2006 [cited by examiner]
US 20060206566A1 · Kelley et al. · 2006 [cited by applicant]
US 20070033250A1 · Levin · 2007 [cited by examiner]
US 20070043821A1 · Brumfield · 2007 [cited by applicant]
US 20070180040A1 · Etgen · 2007 [cited by examiner]
US 20070198647A1 · Lingafelt et al. · 2007 [cited by applicant]
US 20080037721A1 · Yao · 2008 [cited by examiner]
US 20080082609A1 · O'Sullivan · 2008 [cited by examiner]
US 20080091782A1 · Jakobson · 2008 [cited by applicant]
US 20080109406A1 · Krishnasamy · 2008 [cited by examiner]
US 20080123686A1 · Lee · 2008 [cited by examiner]
US 20080178105A1 · Loewenstein · 2008 [cited by applicant]
US 20080270240A1 · Chu · 2008 [cited by applicant]
US 20090070294A1 · Chijiiwa · 2009 [cited by examiner]
US 20090319516A1 · Igelman · 2009 [cited by examiner]
US 20090319619A1 · Affronti · 2009 [cited by examiner]
US 20100087169A1 · Lin et al. · 2010 [cited by applicant]
US 20110185025A1 · Cherukuri et al. · 2011 [cited by applicant]
US 20120030598A1 · Latzina · 2012 [cited by applicant]
US 20120130771A1 · Kannan et al. · 2012 [cited by applicant]
US 20120143972A1 · Malik et al. · 2012 [cited by applicant]
US 20120158863A1 · Kikin-Gil et al. · 2012 [cited by applicant]
US 20120173633A1 · Balabhadrapatruni et al. · 2012 [cited by applicant]
US 20120317499A1 · Shen · 2012 [cited by applicant]
US 20130007648A1 · Gamon et al. · 2013 [cited by applicant]
US 20130018869A1 · Hanson et al. · 2013 [cited by applicant]
US 20130046828A1 · Grewal et al. · 2013 [cited by applicant]
US 20130091439A1 · Sirpal et al. · 2013 [cited by applicant]
US 20130110946A1 · Bradshaw · 2013 [cited by applicant]
US 20130157627A1 · Talwar · 2013 [cited by examiner]
US 20130198171A1 · Shah et al. · 2013 [cited by applicant]
US 20130198296A1 · Roy et al. · 2013 [cited by applicant]
US 20130218877A1 · Satyanarayanan · 2013 [cited by examiner]
US 20130218885A1 · Satyanarayanan · 2013 [cited by examiner]
US 20140012927A1 · Gertzfield · 2014 [cited by examiner]
US 20140013249A1 · Moeinifar · 2014 [cited by examiner]
US 20140310365A1 · Sample et al. · 2014 [cited by applicant]
US 20140324982A1 · Agrawal et al. · 2014 [cited by applicant]
US 20140380191A1 · Rotbaein et al. · 2014 [cited by applicant]
US 20150006651A1 · Chmara et al. · 2015 [cited by applicant]
US 20150058324A1 · Kauwe · 2015 [cited by applicant]
US 20150172227A1 · Grove, II · 2015 [cited by applicant]
US 20150200878A1 · Shih et al. · 2015 [cited by applicant]
US 20150200879A1 · Wu · 2015 [cited by examiner]
US 20150263995A1 · Mahood · 2015 [cited by examiner]
US 20150295873A1 · Orr · 2015 [cited by examiner]
US 20150312176A1 · Jones et al. · 2015 [cited by applicant]
US 20150319127A1 · Allen et al. · 2015 [cited by applicant]
US 20160087924A1 · Ramalingam et al. · 2016 [cited by applicant]
US 20160105518A1 · Rosenshine · 2016 [cited by applicant]
US 20160182414A1 · Mestanogullari · 2016 [cited by examiner]
US 20160191446A1 · Grol-Prokopczyk et al. · 2016 [cited by applicant]
US 20160224939A1 · Chen et al. · 2016 [cited by applicant]
US 20160275453A1 · Powers et al. · 2016 [cited by applicant]
US 20160285807A1 · Bastide et al. · 2016 [cited by applicant]
US 20160294836A1 · Williams · 2016 [cited by examiner]
US 20160301639A1 · Liu et al. · 2016 [cited by applicant]
US 20160321347A1 · Zhou et al. · 2016 [cited by applicant]
US 20160337276A1 · Nelson · 2016 [cited by examiner]
US 20160352677A1 · Gordon · 2016 [cited by applicant]
US 20160379175A1 · Bhattacharya et al. · 2016 [cited by applicant]
US 20170099358A1 · Perez · 2017 [cited by examiner]
US 20170124038A1 · Upadhyay · 2017 [cited by examiner]
US 20170201527A1 · Bedi · 2017 [cited by applicant]
US 20170237785A1 · Peng et al. · 2017 [cited by applicant]
US 20170244662A1 · Olsen et al. · 2017 [cited by applicant]
US 20170308859A1 · Azmoon et al. · 2017 [cited by applicant]
US 20170351385A1 · Ertmann · 2017 [cited by examiner]
US 20180026929A1 · Nambiar · 2018 [cited by examiner]
US 20180114172A1 · Togwe et al. · 2018 [cited by applicant]
US 20180114198A1 · Ghotbi et al. · 2018 [cited by applicant]
US 20180152407A1 · Soni · 2018 [cited by applicant]
US 20180260782A1 · Bay · 2018 [cited by applicant]
US 20180295071A1 · Jain · 2018 [cited by examiner]
US 20180367483A1 · Rodriguez et al. · 2018 [cited by applicant]
US 20190007362A1 · Shmunis et al. · 2019 [cited by applicant]
US 20190028411A1 · Singh et al. · 2019 [cited by applicant]
US 20190034483A1 · Millius et al. · 2019 [cited by applicant]
US 20190058680A1 · Rosania et al. · 2019 [cited by applicant]
US 20190087498A1 · Danyluk et al. · 2019 [cited by applicant]
US 20190095164A1 · Yamaura et al. · 2019 [cited by applicant]
US 20190138174A1 · Deets, Jr. · 2019 [cited by examiner]
US 20190149501A1 · Bastide et al. · 2019 [cited by applicant]
US 20190325868A1 · Lecue · 2019 [cited by examiner]
US 20200106841A1 · Delaney et al. · 2020 [cited by applicant]
US 20200210053A1 · Baunach et al. · 2020 [cited by applicant]
US 20200244605A1 · Nagaraja et al. · 2020 [cited by applicant]
US 20200274916A1 · Choi · 2020 [cited by applicant]
US 20200396184A1 · Perazzo et al. · 2020 [cited by applicant]
US 20200401466A1 · Frost et al. · 2020 [cited by applicant]
US 20210034663A1 · Aher et al. · 2021 [cited by applicant]
US 20210105332A1 · Bellet et al. · 2021 [cited by applicant]
US 20210150398A1 · Bastide et al. · 2021 [cited by applicant]
US 20210342785A1 · Mann · 2021 [cited by examiner]
US 20210385177A1 · Tokuchi · 2021 [cited by applicant]
US 20220006764A1 · Asukai et al. · 2022 [cited by applicant]
CN 1633115A · 2005 [cited by applicant]
CN 101094195A · 2007 [cited by applicant]
CN 102710534A · 2012 [cited by applicant]
CN 103534685A · 2014 [cited by applicant]
CN 103534685B · 2016 [cited by applicant]
CN 106302108A · 2017 [cited by applicant]
CN 104205740B · 2018 [cited by applicant]
CN 108449260A · 2018 [cited by applicant]
CN 108494572A · 2018 [cited by applicant]
CN 109873745A · 2019 [cited by applicant]
CN 110048935A · 2019 [cited by applicant]
CN 110601864A · 2019 [cited by applicant]
KR 20130049242A · 2013 [cited by examiner]
“How to Build a Chat or Messaging App: The Ultimate Guide” (2021) (https://getstream.io/blog/build-chat-messaging-app/) (Year: 2021). [cited by examiner]
International Patent Application No. PCT/CN2021/106945; Int'l Search Report; dated Oct. 20, 2021; 6 pages. [cited by applicant]
Toxtli et al.; “Understanding Chatbot-mediated Task Management”; Proceedings of the CHI Conf. on Human Factors in Computing Systems; arXiv:1802.03109; Feb. 2018; 6 pages. [cited by applicant]
Extended European Search Report for European Application No. 21851340.6, mailed Nov. 30, 2023, 8 Pages. [cited by applicant]
Written Opinion for International Application No. PCT/CN2021/106945, mailed Oct. 20, 2021, 05 Pages. [cited by applicant]
China Patent Application No. 202180061385.0; Office Action; dated Mar. 25, 2025; 22 pages. [cited by applicant]