JP7478898B2 - Messaging Services - Google Patents

Messaging Services Download PDF

Info

Publication number
JP7478898B2
JP7478898B2 JP2023504037A JP2023504037A JP7478898B2 JP 7478898 B2 JP7478898 B2 JP 7478898B2 JP 2023504037 A JP2023504037 A JP 2023504037A JP 2023504037 A JP2023504037 A JP 2023504037A JP 7478898 B2 JP7478898 B2 JP 7478898B2
Authority
JP
Japan
Prior art keywords
conversation
topic
user
message
database
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2023504037A
Other languages
Japanese (ja)
Other versions
JP2023535173A (en
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.)
ByteDance Inc
Original Assignee
ByteDance Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US16/939,569 external-priority patent/US11343114B2/en
Priority claimed from US16/939,279 external-priority patent/US11539648B2/en
Priority claimed from US16/939,489 external-priority patent/US11645466B2/en
Priority claimed from US16/939,491 external-priority patent/US11922345B2/en
Priority claimed from US16/939,634 external-priority patent/US11349800B2/en
Priority claimed from US16/939,306 external-priority patent/US11290409B2/en
Application filed by ByteDance Inc filed Critical ByteDance Inc
Publication of JP2023535173A publication Critical patent/JP2023535173A/en
Application granted granted Critical
Publication of JP7478898B2 publication Critical patent/JP7478898B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/216Handling conversation history, e.g. grouping of messages in sessions or threads

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Digital Computer Display Output (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

仕事場や社交の場での交流は、インターネットに基づくツールを使って行われることが増えている。インターネットに基づくツールは、任意のソフトウェアまたはプラットフォームとすることができる。電子メールのような従来の通信ツールは、内部通信及び外部通信を容易にすることができる。しかし、従来の通信ツールでは、さまざまな制約から、ユーザのニーズに応えられないことがある。通信機器の高性能化につれ、通信の効率と通信の効果を改善するために、新たなツールが次々と発見されている。 Workplace and social interactions are increasingly conducted using Internet-based tools. Internet-based tools can be any software or platform. Traditional communication tools such as email can facilitate internal and external communication. However, traditional communication tools may not meet the needs of users due to various limitations. As communication devices become more sophisticated, new tools are constantly being discovered to improve communication efficiency and effectiveness.

以下の詳細な説明は、添付図面と合わせて読むとよりよく理解できる。説明のために、本開示の様々な態様の例示的な実施形態が添付図面に示されているが、本発明は、開示されている特定の方法および手段に限定されない。 The following detailed description can be better understood when read in conjunction with the accompanying drawings. For purposes of illustration, there are shown in the drawings exemplary embodiments of various aspects of the present disclosure; however, the invention is not limited to the specific methods and instrumentalities disclosed.

メッセージングサービスを実行可能なクラウドコンピューティングネットワークの一例を示す図である。FIG. 1 illustrates an example of a cloud computing network in which a messaging service can be implemented.

本開示にかかるメッセージングシステムの一例を示す図である。FIG. 1 illustrates an example of a messaging system according to the present disclosure.

メッセージングサービス及びメッセージングアプリケーション/サービスによって実行可能なメッセージング技術の一例を示す図である。FIG. 1 illustrates an example of a messaging service and messaging techniques that can be implemented by a messaging application/service.

メッセージングサービス及びメッセージングアプリケーション/サービスによって実行可能なメッセージング技術の一例を示す図である。FIG. 1 illustrates an example of a messaging service and messaging techniques that can be implemented by a messaging application/service.

本開示に従って使用可能な例示的なデータモデルを示す図である。FIG. 1 illustrates an exemplary data model that can be used in accordance with the present disclosure.

本開示にかかるメッセージングサービスによって実行可能な例示的なプロセスを示す図である。FIG. 2 illustrates an example process that can be performed by a messaging service in accordance with the present disclosure.

本開示にかかるメッセージングサービスによって実行可能な別の例示的なプロセスを示す図である。FIG. 1 illustrates another exemplary process that may be performed by a messaging service in accordance with the present disclosure.

メッセージングサービスのチャットサービス及びプッシュサービスによって実行可能なメッセージング技術の一例を示す図である。FIG. 1 illustrates an example of a messaging technique that can be implemented by the chat service and push service of a messaging service.

会話を含むメッセージングアプリケーションの例示的なユーザインターフェースを示す図である。FIG. 2 illustrates an example user interface of a messaging application including a conversation.

会話を含むメッセージングアプリケーションの例示的なユーザインターフェースを示す図である。FIG. 2 illustrates an example user interface of a messaging application including a conversation.

会話にトピックを追加するための例示的な技術を示す図である。FIG. 1 illustrates an exemplary technique for adding topics to a conversation.

会話にトピックタグを追加することができる、メッセージングアプリケーションの例示的なユーザインターフェースを示す図である。1 illustrates an example user interface of a messaging application in which topic tags can be added to a conversation.

トピックタグによって会話をソートすることができる、メッセージングアプリケーションの例示的なユーザインターフェースを示す図である。1 illustrates an example user interface of a messaging application in which conversations can be sorted by topic tags.

グループを作成し、メンバを招待するための例示的な技術を示す図である。FIG. 1 illustrates an example technique for creating a group and inviting members.

新しいグループを作成することができる、メッセージングアプリケーションの例示的なユーザインターフェースを示す図である。FIG. 2 illustrates an example user interface of a messaging application in which a new group can be created.

グループ内のユーザを表示することができる、メッセージングアプリケーションのユーザインターフェース内のグループビューを示す図である。FIG. 1 illustrates a group view in a user interface of a messaging application in which users in a group can be displayed.

既存のグループに新しいメンバを追加するための例示的な技術を示す図である。FIG. 2 illustrates an exemplary technique for adding a new member to an existing group.

メッセージングサービスを使用してタスクを割り当ておよび管理するための例示的な技術を示す図である。FIG. 1 illustrates an example technique for assigning and managing tasks using a messaging service.

リマインダ日付を予定することができる、メッセージングアプリケーションの例示的なユーザインターフェースを示す図である。1 illustrates an example user interface of a messaging application in which a reminder date can be scheduled.

電子メールサービスとメッセージングサービスとを統合するための例示的な技術を示す図である。FIG. 1 illustrates an example technique for integrating email and messaging services.

会話に電子メールアドレスを追加することができる、メッセージングアプリケーションの例示的なユーザインターフェースを示す図である。FIG. 2 illustrates an example user interface of a messaging application that allows adding an email address to a conversation.

電子メールアドレスで受信され、メッセージングサービスから送信される電子メールメッセージの例を示す図である。FIG. 2 illustrates an example of an email message received at an email address and sent from a messaging service.

電子メールアドレスから送信されたメッセージを対応する会話で表示することができる、メッセージングアプリケーションの例示的なユーザインターフェースを示す図である。FIG. 2 illustrates an example user interface of a messaging application in which messages sent from an email address can be displayed in a corresponding conversation.

本開示にかかるメッセージングアプリケーションによって実行可能な例示的なプロセスを示す図である。FIG. 2 illustrates an example process that may be performed by a messaging application in accordance with the present disclosure.

本開示にかかるメッセージングアプリケーションの例示的なユーザインターフェースを示す図である。FIG. 2 illustrates an exemplary user interface of a messaging application consistent with the present disclosure.

本開示にかかるメッセージングアプリケーションによって実行可能な別の例示的なプロセスを示す図である。FIG. 1 illustrates another exemplary process that may be performed by a messaging application in accordance with the present disclosure.

本開示にかかる、新しい会話を作成するためのメッセージングアプリケーションの例示的なユーザインターフェースを示す図である。FIG. 2 illustrates an exemplary user interface of a messaging application for creating a new conversation in accordance with the present disclosure.

本開示にかかる、新しい会話を作成するためのメッセージングアプリケーションの別の例示的なユーザインターフェースを示す図である。FIG. 2 illustrates another exemplary user interface of a messaging application for creating a new conversation in accordance with the present disclosure.

本開示にかかるメッセージングアプリケーションによって実行可能な例示的なプロセスを示す図である。FIG. 2 illustrates an example process that may be performed by a messaging application in accordance with the present disclosure.

会話の属性に基づいて生成され、会話を再編成するためにユーザが入力を提供することができる、メッセージングアプリケーションの例示的なユーザインターフェースを示す図である。FIG. 1 illustrates an example user interface of a messaging application that is generated based on attributes of a conversation and in which a user can provide input to reorganize the conversation.

2次元表示が別のユーザインターフェース上に重ねられた、メッセージングアプリケーションの別の例示的なユーザインターフェースを示す図である。FIG. 2 illustrates another example user interface of a messaging application with a two-dimensional representation superimposed on the other user interface.

2次元表示における交差の選択に応じて会話がフィルタリングされる、メッセージングアプリケーションの別の例示的なユーザインターフェースを示す図である。FIG. 13 illustrates another example user interface of a messaging application in which conversations are filtered in response to selection of intersections in a two-dimensional display.

本明細書に開示されたいずれかの技術を実行するために使用可能な例示的なコンピューティング装置を示す図である。FIG. 1 illustrates an example computing device that can be used to execute any of the techniques disclosed herein.

図1はクラウドコンピューティングシステム100の例示的なコンポーネントを示す図である。限定ではなく、一例として、クラウドコンピューティングシステム100を使用して、開示された発明対象の態様を実行することができる。クラウドベースのコンピューティングとは、一般的に、アプリケーション実行、サービス提供、及びデータ格納を、クライアントとクラウドコンピューティング装置との間で、ある程度分割することができるネットワークコンピュータアーキテクチャを指す。「クラウド」とは、ネットワーク(例えば、インターネット)を介して、例えばクライアント、サーバ装置、及びその他のクラウドコンピューティングシステムによって、アクセス可能なサービスまたはサービスグループを指すことができる。 FIG. 1 illustrates exemplary components of a cloud computing system 100. By way of example, and not limitation, cloud computing system 100 may be used to implement aspects of the disclosed subject matter. Cloud-based computing generally refers to a networked computer architecture in which application execution, service provisioning, and data storage may be divided to some extent between clients and cloud computing devices. A "cloud" may refer to a service or group of services accessible, for example, by clients, server devices, and other cloud computing systems over a network (e.g., the Internet).

一例において、クラウドに接続された複数のコンピューティング装置は、コンピューティングパワー、サービス、アプリケーション、記憶装置、及びファイルの共有プールにアクセスして、使用することができる。したがって、クラウドコンピューティングにより、最小限の管理努力又はインタラクションでクラウドサービスプロバイダによって提供および解放することができる、ネットワーク、サーバ、記憶装置、アプリケーション、及びサービスなどの、構成可能なコンピューティングリソースの共有プールを可能にする。 In one example, multiple computing devices connected to the cloud can access and use a shared pool of computing power, services, applications, storage, and files. Thus, cloud computing enables a shared pool of configurable computing resources, such as networks, servers, storage, applications, and services, that can be provided and released by a cloud service provider with minimal administrative effort or interaction.

一例として、クラウドベースのアプリケーションは、データおよび/または実行可能なプログラムコードのコピーをクラウドコンピューティングシステムに格納するとともに、クライアント装置での実行のために必要な場合、クライアント装置によるこのデータおよびプログラムコードの少なくとも一部のダウンロードを許可することができる。いくつかの例において、ダウンロードされたデータおよびプログラムコードは、クラウドベースのアプリケーションにアクセスする特定のクライアント装置(例えば、パーソナルコンピュータ、タブレットコンピュータ、携帯電話および/またはスマートフォン)の機能に応じて調整することが可能である。追加として、クライアント装置とクラウドコンピューティングシステムとの間でアプリケーション実行と格納を分割することにより、クラウドコンピューティングシステムがより多くの処理を実行することが可能となるため、クラウドコンピューティングシステムのプロセッシング能力や機能をうまく利用することができる。 As one example, a cloud-based application may store copies of data and/or executable program code on a cloud computing system and permit download of at least a portion of this data and program code by a client device as necessary for execution on the client device. In some examples, the downloaded data and program code may be tailored according to the capabilities of the particular client device (e.g., a personal computer, a tablet computer, a mobile phone, and/or a smartphone) accessing the cloud-based application. Additionally, splitting application execution and storage between the client device and the cloud computing system may allow the cloud computing system to perform more processing, thereby taking advantage of the processing power and capabilities of the cloud computing system.

クラウドベースのコンピューティングはまた、クラウドベースのアプリケーションのためのデータおよびプログラムコードが、1つ又は複数のクライアント装置および/またはクラウドコンピューティング装置の間でほぼリアルタイムに共有される分散型のコンピューティングアーキテクチャを指すことができる。このデータおよびプログラムコードの一部は、必要に応じて、またはその他の状況に応じて、クラウドベースのアプリケーションにアクセス中のさまざまなクライアントに動的に配布することが可能である。クラウドベースのコンピューティングアーキテクチャの詳細は、クライアント装置のユーザにはほとんど透過的であってもよい。限定ではなく、一例として、クラウドベースのアプリケーションにアクセスするPCユーザ装置は、PCがクラウドコンピューティングシステムからプログラムロジックおよび/またはデータをダウンロードすること、またはPCが処理機能または記憶機能をクラウドコンピューティングシステムにオフロードしていることを知らなくてもよい。 Cloud-based computing can also refer to a distributed computing architecture in which data and program code for a cloud-based application is shared in near real-time among one or more client devices and/or cloud computing devices. Portions of this data and program code can be dynamically distributed to various clients accessing the cloud-based application as needed or as otherwise required. The details of the cloud-based computing architecture may be largely transparent to users of the client devices. By way of example and not limitation, a PC user device accessing a cloud-based application may not be aware that the PC is downloading program logic and/or data from a cloud computing system or that the PC is offloading processing or storage functions to the cloud computing system.

図1において、クラウドコンピューティングシステム100は、1つ又は複数のクラウドサービス104と、1つ又は複数のクラウドプラットフォーム106と、クラウドインフラストラクチャコンポーネント108と、クラウド知識ベース110とを備える。クラウドコンピューティングシステム100は、より多いまたは少ないコンポーネントを含むことができ、クラウドサービス104、クラウドプラットフォーム106、クラウドインフラストラクチャコンポーネント108、およびクラウド知識ベース110のそれぞれは、さらに、複数のコンピューティング要素および記憶要素を含むことができる。したがって、クラウドコンピューティングシステム100の前述機能のうちの1つまたは複数を、追加の機能コンポーネントまたは物理コンポーネントに分割するか、またはより少ない機能コンポーネントまたは物理コンポーネントに結合することができる。いくつかの別の例において、図1に示された例に追加の機能および/または物理的コンポーネントを追加することができる。クラウドコンピューティングベースのサービスの配布には、ウェブサービスや多層アーキテクチャなどのアプリケーションプログラミングインターフェースを介して相互に通信する複数のクラウドコンポーネントが関与する場合がある。 In FIG. 1, the cloud computing system 100 includes one or more cloud services 104, one or more cloud platforms 106, cloud infrastructure components 108, and a cloud knowledge base 110. The cloud computing system 100 may include more or fewer components, and each of the cloud services 104, cloud platforms 106, cloud infrastructure components 108, and cloud knowledge base 110 may further include multiple computing and storage elements. Thus, one or more of the aforementioned functions of the cloud computing system 100 may be split into additional functional or physical components or combined into fewer functional or physical components. In some alternative examples, additional functional and/or physical components may be added to the example shown in FIG. 1. The delivery of cloud computing-based services may involve multiple cloud components that communicate with each other via application programming interfaces, such as web services or multi-tier architectures.

図1に示す例示的なクラウドコンピューティングシステム100は、ネットワークコンピューティングアーキテクチャである。クラウドサービス104は、クライアント装置からの要求を処理するためのキューを表すことができる。クラウドプラットフォーム106は、クラウドコンピューティングシステム100のためのクライアントインターフェースフロントエンド、例えばメッセージングサービスのクライアントインターフェースフロントエンドを含むことができる。クラウドプラットフォーム106は、クライアント装置とインタラクションするための機能を実行するために、クラウドサービス104に結合することができる。クラウドインフラストラクチャ108は、クラウドコンピューティングシステム100のサービス、支払、および他の動作コンポーネントおよびインフラストラクチャコンポーネントを含むことができる。クラウド知識ベース110がクラウドコンピューティングシステム100に使用されるデータを格納するように構成されているため、クラウド知識ベース110は、クラウドサービス104、クラウドプラットフォーム106、および/またはクラウドインフラストラクチャコンポーネント108のいずれかによってアクセス可能である。 The exemplary cloud computing system 100 shown in FIG. 1 is a network computing architecture. The cloud services 104 may represent queues for processing requests from client devices. The cloud platform 106 may include a client interface front end for the cloud computing system 100, such as a client interface front end for a messaging service. The cloud platform 106 may be coupled to the cloud services 104 to perform functions for interacting with client devices. The cloud infrastructure 108 may include the services, payment, and other operational and infrastructure components of the cloud computing system 100. The cloud knowledge base 110 is configured to store data used by the cloud computing system 100, such that the cloud knowledge base 110 is accessible by any of the cloud services 104, the cloud platform 106, and/or the cloud infrastructure components 108.

多くの異なるタイプのクライアント装置、例えばメッセージングサービスのユーザの装置は、データにアクセスし、クラウドコンピューティングシステム100によって提供されるアプリケーションを実行するために、クラウドコンピューティングシステム100のコンポーネントと通信するように構成されることが可能である。例えば、コンピュータ112、モバイル装置114、およびホスト116は、クラウドコンピューティングシステム100と通信するように構成可能なタイプのクライアント装置の例として示されている。もちろん、より多いまたは少ないクライアント装置がクラウドコンピューティングシステム100と通信してもよい。さらに、他のタイプのクライアント装置がクラウドコンピューティングシステム100と通信するように構成されてもよい。 Many different types of client devices, e.g., devices of users of messaging services, can be configured to communicate with components of cloud computing system 100 to access data and execute applications provided by cloud computing system 100. For example, computer 112, mobile device 114, and host 116 are shown as examples of types of client devices that can be configured to communicate with cloud computing system 100. Of course, more or fewer client devices may communicate with cloud computing system 100. Additionally, other types of client devices may be configured to communicate with cloud computing system 100.

図1に示すコンピュータ112は、任意のタイプのコンピューティング装置、例えば、PC、ラップトップコンピュータ、タブレットコンピュータなどとすることができ、モバイル装置114は、クラウドコンピューティングシステム100へデータを送信し、且つ/又はクラウドコンピューティングシステム100からデータを受信するように構成された、任意のタイプのモバイルコンピューティング装置、例えば、ラップトップコンピュータ、スマートフォン、携帯電話、セルラーホン、タブレットコンピュータなどとすることができる。同様に、ホスト116は、クラウドコンピューティングシステム100へデータを送信し、且つ/又はクラウドコンピューティングシステム100からデータを受信するように構成された、ラップトップコンピュータ、携帯電話、スマートフォン、タブレットコンピュータなどを含む、送信機/受信機を有する任意のタイプのコンピューティング装置とすることができる。 1 can be any type of computing device, e.g., a PC, a laptop computer, a tablet computer, etc., and the mobile device 114 can be any type of mobile computing device, e.g., a laptop computer, a smartphone, a mobile phone, a cellular phone, a tablet computer, etc., configured to transmit data to and/or receive data from the cloud computing system 100. Similarly, the host 116 can be any type of computing device having a transmitter/receiver, including a laptop computer, a mobile phone, a smartphone, a tablet computer, etc., configured to transmit data to and/or receive data from the cloud computing system 100.

図1において、クライアント装置とクラウド100との間の通信リンクは有線接続、例えば、シリアルバスまたはパラレルバス、イーサネット、光接続、または他のタイプの有線接続を備えることができる。通信リンクはまた、無線リンク、例えば、ブルートゥース(登録商標)、IEEE802.11(IEEE802.11は、IEEE802.11-2007、IEEE802.11n-2009、または任意の他のIEEE802.11リビジョンを指すことができる)、CDMA、3G、GSM、WiMAX、または他の無線ベースのデータ通信リンクとすることができる。 1, the communication link between the client device and the cloud 100 may comprise a wired connection, such as a serial or parallel bus, Ethernet, optical connection, or other type of wired connection. The communication link may also be a wireless link, such as Bluetooth, IEEE 802.11 (IEEE 802.11 may refer to IEEE 802.11-2007, IEEE 802.11n-2009, or any other IEEE 802.11 revision), CDMA, 3G, GSM, WiMAX, or other radio-based data communication link.

他の例において、クライアント装置は、無線アクセスポイントを介してクラウドコンピューティングシステム100と通信するように構成されてもよい。アクセスポイントは様々な形態をとることができる。例えば、アクセスポイントは、無線アクセスポイント(WAP)または無線ルータの形態をとることができる。別の例として、クライアント装置がCDMA、GSM、3G、または4Gなどのセルラーエアインターフェースプロトコルを使用して接続する場合、アクセスポイントは、セルラーネットワークを介してインターネット接続を提供するセルラーネットワーク内の基地局とすることができる。 In another example, the client device may be configured to communicate with the cloud computing system 100 via a wireless access point. The access point may take a variety of forms. For example, the access point may take the form of a wireless access point (WAP) or a wireless router. As another example, if the client device connects using a cellular air interface protocol such as CDMA, GSM, 3G, or 4G, the access point may be a base station in a cellular network that provides Internet connectivity via the cellular network.

したがって、クライアント装置は、有線ネットワークインターフェースまたは無線ネットワークインターフェースを含むことができるが、該有線ネットワークインターフェースまたは無線ネットワークインターフェースを通して、クライアント装置は、直接またはアクセスポイントを介してクラウドコンピューティングシステム100に接続することができる。一例として、クライアント装置は、802.11、802.16(WiMAX)、LTE、GSM、GPRS、CDMA、EV-DO、および/またはHSPDAなどの1つまたは複数のプロトコルを使用するように構成されることが可能である。さらに、クライアント装置は、セルラー通信プロトコル(例えば、CDMA、GSM、またはWiMAX)を使用する「3G」または「4G」データ接続、および802.11を使用する「WiFi」接続など、複数の有線プロトコルおよび/または無線プロトコルを使用するように構成することが可能である。他のタイプの通信インターフェースおよびプロトコルを使用することも可能である。 Thus, the client device may include a wired or wireless network interface through which the client device may connect to the cloud computing system 100 directly or through an access point. As an example, the client device may be configured to use one or more protocols, such as 802.11, 802.16 (WiMAX), LTE, GSM, GPRS, CDMA, EV-DO, and/or HSPDA. Additionally, the client device may be configured to use multiple wired and/or wireless protocols, such as a "3G" or "4G" data connection using a cellular communication protocol (e.g., CDMA, GSM, or WiMAX), and a "WiFi" connection using 802.11. Other types of communication interfaces and protocols may also be used.

図2は、開示された技術を実行するための例示的なメッセージングサービス220を示す。限定ではなく、一例として、メッセージングサービス220は、図1のクラウドネットワーク100上で動作することができる。メッセージングサービス220は、クラウドネットワーク装置とローカル装置との組み合わせを含むことができる。メッセージングサービス220は、チャットサービス222を含むことができる。チャットサービス222は、メッセージングサービス220の装置上で動作する装置および/またはプログラムとすることができる。 FIG. 2 illustrates an exemplary messaging service 220 for performing the disclosed techniques. By way of example and not limitation, the messaging service 220 may operate on the cloud network 100 of FIG. 1. The messaging service 220 may include a combination of cloud network devices and local devices. The messaging service 220 may include a chat service 222. The chat service 222 may be a device and/or a program operating on the messaging service 220 device.

チャットサービス222は、ユーザ210から入力を受け取るように構成されてもよい。ユーザ210は、メッセージングサービス220内で互いにメッセージを交換するために、メッセージングサービス220のユーザとして登録することができる。ユーザ210は、ユーザ装置242上で動作するメッセージングアプリケーション240のユーザであってもよい。ユーザ入力は、会話を開始する要求を含むことができる。会話は、任意のユーザ装置242上で動作するメッセージングアプリケーション240のユーザインターフェース(UI)内の「Start Conversation」アイコンを選択することによって開始することができる。会話は、会話の任意の他の参加者が識別されていない状態で、作成者ユーザによって開始することができる。会話の参加者には、任意の方法で会話に参加することが許可されている任意のエンティティが含まれる。例えば、会話の参加者は、作成者ユーザ、会話に加入するように招待されたグループ、タスクを別の参加者(被割当者ユーザ)に割り当てることができる割当者ユーザ、被割当者ユーザ、会話に招待された電子メール参加者などであってもよい。 The chat service 222 may be configured to receive input from users 210. Users 210 may register as users of the messaging service 220 in order to exchange messages with each other within the messaging service 220. Users 210 may be users of a messaging application 240 running on a user device 242. User input may include a request to start a conversation. A conversation may be started by selecting a "Start Conversation" icon in a user interface (UI) of the messaging application 240 running on any user device 242. A conversation may be started by a creator user without any other participants of the conversation being identified. Participants of a conversation include any entity that is authorized to participate in a conversation in any manner. For example, participants of a conversation may be a creator user, a group invited to join the conversation, an assignor user who can assign a task to another participant (assignee user), an assignee user, an email participant invited to the conversation, etc.

チャットサービス222は、会話を生成および/または管理することができる。例えば、チャットサービス222は、会話を分類することができる。チャットサービス222は、会話データベース230、トピックデータベース236、グループデータベース232、ユーザデータベース234、検索インデックスデータベース252、タスクデータベース256、電子メールユーザデータベース237、電子メールメッセージデータベース238などの1つまたは複数のデータベース260に、会話、会話との任意の関連付け、および/または会話メタデータを格納することができる。入力は、既存の会話や新規会話に追加するメッセージなどのメッセージを含むことができる。チャットサービス222は、メッセージを会話に追加することができる。チャットサービス222は、メッセージおよび/またはメッセージの関連付けを、データベース、例えば会話データベース230に格納することができる。 The chat service 222 can generate and/or manage conversations. For example, the chat service 222 can categorize the conversations. The chat service 222 can store the conversations, any associations with the conversations, and/or conversation metadata in one or more databases 260, such as the conversation database 230, the topic database 236, the group database 232, the user database 234, the search index database 252, the task database 256, the email user database 237, the email message database 238, etc. The input can include messages, such as messages to add to an existing conversation or a new conversation. The chat service 222 can add messages to the conversations. The chat service 222 can store the messages and/or message associations in a database, such as the conversation database 230.

メッセージングサービス220は、メッセージが、ユーザ名、ハンドル(すなわち、@で始まるユーザ名)、アカウントなど、ユーザを識別する情報を含むと判定することができる。メッセージングサービス220は、識別されたユーザを会話に追加することができる。メッセージングサービス220は、例えば、会話データベース230、グループデータベース232、ユーザデータベース234、および/または検索インデックスデータベース252に、ユーザと会話との関連付けを格納することができる。例えば会話内で以前に通信されたメッセージのフィードを表示するために、ユーザに会話へのアクセス許可を付与することができる。 The messaging service 220 can determine that the message includes information that identifies a user, such as a username, a handle (i.e., a username beginning with @), an account, etc. The messaging service 220 can add the identified user to a conversation. The messaging service 220 can store an association between the user and the conversation, for example, in the conversation database 230, the group database 232, the user database 234, and/or the search index database 252. The user can be granted access permissions to the conversation, for example, to view a feed of messages previously communicated within the conversation.

メッセージングサービス220は、メッセージがトピックを示す情報を含むと判定することができる。トピックは、対応する会話に関連付けられることが可能である。メッセージングサービス220は、1つまたは複数のデータベース、例えばトピックデータベース236にトピックを追加することができる。メッセージングサービス220は、例えば、会話データベース230および/またはトピックデータベース236にトピックと会話との関連付けを格納することができる。 The messaging service 220 can determine that the message includes information indicative of a topic. The topic can be associated with a corresponding conversation. The messaging service 220 can add the topic to one or more databases, such as the topic database 236. The messaging service 220 can store the association between the topic and the conversation in the conversation database 230 and/or the topic database 236, for example.

メッセージングサービス220は、メッセージがグループを識別する情報を含むと判定することができる。グループはユーザグループであってもよい。メッセージングサービス220は、グループを会話に追加することができる。メッセージングサービス220は、例えば、会話データベース230、グループデータベース232、ユーザデータベース234、および/または検索インデックスデータベース252に、グループと会話との関連付けを格納することができる。 The messaging service 220 can determine that the message includes information identifying a group. The group can be a user group. The messaging service 220 can add the group to a conversation. The messaging service 220 can store the association between the group and the conversation in, for example, the conversation database 230, the group database 232, the user database 234, and/or the search index database 252.

メッセージングサービス220は、メッセージがユーザに割り当てられたタスクを示す情報を含むと判定することができる。メッセージングサービス220はまた、タスクの期限日を示す情報を受信することができる。タスクと期限日をユーザと会話に関連付けることができる。メッセージングサービス220は、タスクおよび期限日をデータベース260、例えばタスクデータベース256に追加することができる。メッセージングサービス220はタスク、期限日、ユーザおよび会話の関連付けを、例えば会話データベース230、ユーザデータベース234、およびタスクデータベース256に、格納することができる。 The messaging service 220 can determine that the message includes information indicating a task assigned to the user. The messaging service 220 can also receive information indicating a due date for the task. The task and due date can be associated with a user and a conversation. The messaging service 220 can add the task and due date to a database 260, such as the task database 256. The messaging service 220 can store the association of the task, due date, user, and conversation in, for example, the conversation database 230, the user database 234, and the task database 256.

メッセージングサービス220は、メッセージが電子メールアドレスを含むことができると決定することができる。電子メールアドレスは、会話に関連付けることができる。電子メールアドレスは、会話中のメッセージの対象とする受信者であってもよい。メッセージングサービス220は、電子メールアドレスを会話に追加することができる。メッセージングサービス220は、電子メールアドレスと会話との関連付けを、例えば、会話データベース230、電子メールユーザデータベース237、および/または電子メールメッセージデータベース238に、格納することができる。 The messaging service 220 can determine that the message can include an email address. The email address can be associated with a conversation. The email address can be an intended recipient of messages in the conversation. The messaging service 220 can add the email address to the conversation. The messaging service 220 can store the association of the email address with the conversation in, for example, the conversation database 230, the email user database 237, and/or the email message database 238.

メッセージングサービス220は、プッシュサービス224を含むことができる。プッシュサービス224は、メッセージングサービス220の装置上で動作する装置および/またはプログラムとすることができる。プッシュサービス224は、ユーザ入力の指示などのデータをチャットサービス222から受信することができる。プッシュサービス224は、データベース260にデータを格納し、且つ/またはデータベース260内のデータにアクセスすることができる。プッシュサービス224は、例えばメッセージングアプリケーション240を介して、ユーザ入力の指示などのデータをユーザ装置にプッシュ(例えば、送信、表示など)することができる。プッシュサービス224は、メッセージングサービス220の外部の電子メールアドレスにデータをプッシュすることができる。 The messaging service 220 can include a push service 224. The push service 224 can be a device and/or a program running on a device of the messaging service 220. The push service 224 can receive data, such as user-entered instructions, from the chat service 222. The push service 224 can store data in and/or access data in a database 260. The push service 224 can push (e.g., send, display, etc.) data, such as user-entered instructions, to a user device, for example, via the messaging application 240. The push service 224 can push data to an email address external to the messaging service 220.

メッセージングサービス220は、他のサービスを含むことができる。他のサービスは、グループサービス251を含むことができる。グループサービス251は、ユーザグループを管理することができる。グループサービス251は、格納されたグループの関連付けを管理することができる。グループサービス251は、検索インデックスデータベース252を検索することにより、グループに含まれるメンバを識別することができる。他のサービスは、リマインダ/スケジューラサービス253を含むことができる。リマインダ/スケジューラサービス253は、期限日とタスクとの関連付けを決定することができる。リマインダ/スケジューラサービス253は、期限日および/またはタスクに関連付けられるリマインダを送信することができる。リマインダ/スケジューラサービス253は、格納された期限日および/またはタスクを管理することができる。 The messaging service 220 may include other services. The other services may include a group service 251. The group service 251 may manage user groups. The group service 251 may manage stored group associations. The group service 251 may identify members included in a group by searching a search index database 252. The other services may include a reminder/scheduler service 253. The reminder/scheduler service 253 may determine associations between due dates and tasks. The reminder/scheduler service 253 may send reminders associated with due dates and/or tasks. The reminder/scheduler service 253 may manage stored due dates and/or tasks.

他のサービスは、電子メールサービス254を含むことができる。電子メールサービス254は、電子メールメッセージを生成し、電子メールメッセージをメッセージングサービス220の外部の電子メールアドレスに送信することができる。電子メールサービス254は、メッセージングサービス220の外部の電子メールアドレスからデータを受信することができる。電子メールサービス254は、電子メールアドレスから受信したデータに関連付けられる会話を判定し、会話内のユーザに送信される対応のメッセージを生成することができる。他のサービスは、認証サービス226をさらに含むことができる。認証サービス226は、様々な会話へのアクセスを許可および検証することができる。認証サービス226は、会話の参加者に階層化権限を付与することができる。たとえば、あるレベルの権限を持つ参加者にのみ、他の参加者の追加やタスクの割り当てなどが許可される。 The other services may include an email service 254. The email service 254 may generate email messages and send email messages to email addresses external to the messaging service 220. The email service 254 may receive data from email addresses external to the messaging service 220. The email service 254 may determine a conversation associated with the data received from the email address and generate a corresponding message to be sent to users in the conversation. The other services may further include an authentication service 226. The authentication service 226 may grant and verify access to various conversations. The authentication service 226 may grant hierarchical permissions to participants in a conversation. For example, only participants with a certain level of authority may be allowed to add other participants, assign tasks, etc.

図2のメッセージングサービス220は単に例示的なものであり、他の実施態様を使用することができることを理解すべきである。本明細書で開示される機能は、1つまたは複数のサーバまたはコンピューティング装置によって実装することが可能であることも理解すべきである。さらに、本明細書で開示される機能は、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアとの組み合わせで実装することが可能であることを理解すべきである。 It should be understood that the messaging service 220 of FIG. 2 is merely exemplary and that other implementations may be used. It should also be understood that the functionality disclosed herein may be implemented by one or more servers or computing devices. Furthermore, it should be understood that the functionality disclosed herein may be implemented in software, hardware, or a combination of software and hardware.

図3は、メッセージングサービス220の一例を示す。メッセージングサービス220は、ネットワーク301と通信することができる。ネットワーク301は、インターネットを含むことができる。ネットワーク301は、1つまたは複数のクラウドネットワークコンポーネントを含むことができる。ネットワーク301は、ネットワークを介して1つまたは複数のデータベース260と通信することができる。データベース260は、図2のデータベース230~238と同じであってもよいし、類似していてもよい。例として、データベース260は、トピックデータベース、会話データベース、ユーザデータベース、および/またはタグデータベースを含むことができる。メッセージングサービス220は、属性および/または関連付けをデータベース260に格納することができる。メッセージングサービス220は、属性、関連付け、または他のデータについて、データベース260にアクセス(例えば、クエリ)することができる。 FIG. 3 illustrates an example of a messaging service 220. The messaging service 220 can communicate with a network 301. The network 301 can include the Internet. The network 301 can include one or more cloud network components. The network 301 can communicate with one or more databases 260 via the network. The databases 260 can be the same as or similar to the databases 230-238 of FIG. 2. By way of example, the databases 260 can include a topic database, a conversation database, a user database, and/or a tag database. The messaging service 220 can store attributes and/or associations in the database 260. The messaging service 220 can access (e.g., query) the database 260 for attributes, associations, or other data.

メッセージングサービス220は、ネットワーク301を介して1つまたは複数のユーザ装置242と通信することができる。メッセージングサービス220は、ユーザ装置242上で動作するメッセージングアプリケーション240を介して装置302と通信することができる。メッセージングアプリケーション240は、データおよび権限、例えば会話、会話トピックタグ、ユーザ、グループ、プライバシなどを管理するように構成されてもよい。 The messaging service 220 can communicate with one or more user devices 242 via a network 301. The messaging service 220 can communicate with the devices 302 via a messaging application 240 running on the user device 242. The messaging application 240 can be configured to manage data and permissions, such as conversations, conversation topic tags, users, groups, privacy, etc.

メッセージングサービス220は、ネットワーク301を介して接続されたユーザ210と通信することができる。接続されたユーザ210は、メッセージングサービス220および/またはメッセージングアプリケーション240の会話の参加者であるユーザとすることができる。例えば、接続されたユーザ210は、外部電子メールアドレスを介して会話に関連付けられるメッセージを受信することができる。接続されたユーザ210は、外部電子メールアドレスから、メッセージングサービス220、メッセージングアプリケーション240、会話、および/または他のユーザにメッセージを送信することができる。 The messaging service 220 can communicate with connected users 210 via the network 301. The connected users 210 can be users who are participants in conversations of the messaging service 220 and/or the messaging application 240. For example, the connected users 210 can receive messages associated with a conversation via an external email address. The connected users 210 can send messages from the external email address to the messaging service 220, the messaging application 240, the conversation, and/or other users.

図4は、メッセージング技術400を示す。技術400は、メッセージングサービス(例えば、図2および図3のメッセージングサービス220)、メッセージングアプリケーション(例えば、図2および図3のメッセージングアプリケーション240)、1つまたは複数のユーザ210、および/または1つまたは複数のユーザ装置242によって実行することができる。401において、会話を開始することができる。会話は、メッセージングアプリケーションを介して会話の開始を要求する入力を入れることによって、作成者ユーザ(すなわち、会話の作成を引き起こすユーザ)によって開始することができる。例えば、ユーザは、ユーザ装置上に表示されたメッセージングアプリケーションのUI内の「Start a conversation」アイコンを選択することができる。チャットサービス(例えば、図2のチャットサービス222)は、入力を受け取り、会話を生成することができる。会話は、会話の任意の他の参加者が識別されていない状態で開始することができる。 FIG. 4 illustrates a messaging technique 400. The technique 400 can be performed by a messaging service (e.g., messaging service 220 of FIGS. 2 and 3), a messaging application (e.g., messaging application 240 of FIGS. 2 and 3), one or more users 210, and/or one or more user devices 242. At 401, a conversation can be started. A conversation can be started by a creator user (i.e., a user who triggers the creation of a conversation) by entering an input via a messaging application requesting to start a conversation. For example, a user can select a "Start a conversation" icon in a messaging application UI displayed on a user device. A chat service (e.g., chat service 222 of FIG. 2) can receive the input and create a conversation. A conversation can be started without any other participants in the conversation being identified.

402において、メッセージを入れることができる。メッセージは、メッセージングアプリケーションを介してユーザによって入れることができる。メッセージは、例えばメッセージングアプリケーションのUIに表示される入力フィールドを介して、会話中に入れることができる。このメッセージは、会話への任意の他の参加者が識別される前に入れることができる。メッセージはテキストを含むことができる。チャットサービスは、メッセージを受信することができる。このメッセージは、会話に追加することができる。メッセージは、会話に関連付けられる1つまたは複数のユーザに送信することができる。このメッセージは、1つ又は複数の外部ユーザ、例えば会話に追加済みの外部電子メールアドレスに送信することができる。メッセージと会話との関連付けは、データベース(例えば、図2~3のデータベース260)に格納することができる。 At 402, a message can be entered. The message can be entered by a user via a messaging application. The message can be entered into a conversation, for example, via an input field displayed in the UI of the messaging application. The message can be entered before any other participants to the conversation are identified. The message can include text. The chat service can receive the message. The message can be added to the conversation. The message can be sent to one or more users associated with the conversation. The message can be sent to one or more external users, for example, external email addresses that have been added to the conversation. The association of the message with the conversation can be stored in a database (e.g., database 260 of FIGS. 2-3).

403において、メッセージを解析して、内容および/または属性を決定することができる。メッセージは、メッセージングアプリケーション(例えば、図2~3のメッセージングアプリケーション240)および/またはメッセージングサービス(例えば、図2~3のメッセージングサービス220)によって解析することができる。例えば、メッセージングアプリケーションは、メッセージの属性、例えばメッセージ内の特殊文字によって識別される属性を決定し、その属性の指示をメッセージングサービスに送信することができる。 At 403, the message may be parsed to determine content and/or attributes. The message may be parsed by a messaging application (e.g., messaging application 240 of FIGS. 2-3) and/or a messaging service (e.g., messaging service 220 of FIGS. 2-3). For example, the messaging application may determine attributes of the message, e.g., attributes identified by special characters in the message, and send an indication of the attributes to the messaging service.

404において、メッセージの内容は、内容データベース(例えば、図2~3のデータベース260)に格納することができる。内容と1つ又は複数のユーザ(例えばメッセージ内のタグ付きユーザ)との関連付けは、ユーザデータベース234、グループデータベース232、検索インデックスデータベース252などのデータベースに格納することができる。内容および/または関連付けは、メッセージングサービス(例えば、図2~3のメッセージングサービス220)によってデータベースに格納することができる。 At 404, the content of the message may be stored in a content database (e.g., database 260 of FIGS. 2-3). An association between the content and one or more users (e.g., users tagged in the message) may be stored in a database such as user database 234, group database 232, search index database 252, etc. The content and/or associations may be stored in a database by a messaging service (e.g., messaging service 220 of FIGS. 2-3).

405において、メッセージの属性は、トピックデータベース236、ユーザデータベース234、グループデータベース232、検索インデックスデータベース252、電子メールユーザデータベース237、およびタスクデータベース256などの属性データベースに格納することができる。属性とメッセージ内容の関連付けも、属性データベースおよび任意の他のデータベースに格納することができる。例えば、図2~3に示すように、属性および/または関連付けは、メッセージングサービス220によってデータベース260に格納することができる。 At 405, message attributes may be stored in attribute databases, such as topic database 236, user database 234, group database 232, search index database 252, email user database 237, and task database 256. Attribute and message content associations may also be stored in the attribute databases and any other databases. For example, as shown in Figures 2-3, attributes and/or associations may be stored in database 260 by messaging service 220.

406において、メッセージの属性を処理することができる。例えば、メッセージの内容は、会話に関連付けられるトピックによってタグ付けされることが可能である。別の例として、検索は、内容に関連付けられるすべてのユーザについて実行することができる。メッセージの属性は、メッセージングサービスによって処理することができる。 At 406, attributes of the message can be processed. For example, the content of the message can be tagged with topics associated with the conversation. As another example, a search can be performed for all users associated with the content. The attributes of the message can be processed by the messaging service.

ユーザ間の直接交換に基づくほとんどのメッセージングシステムとは対照的に、いくつかの実施形態において、本開示にかかるメッセージングシステム(例えば、メッセージングサービスおよびメッセージングアプリケーション)は、よりメッセージ中心であり、メッセージが内容であり、ユーザがその内容の属性である。例えば、本開示の技術は、会話の受信者または購読者を識別する必要はない。代わりに、本メッセージングシステムは、任意の他の参加者が識別されていない状態で、作成者ユーザ(例えば、会話の作成を引き起こすユーザ)によって、会話、例えば一連のメッセージを作成することを可能にする。会話の参加者は単なる受信者ではなく、作成者ユーザである。作成者ユーザは、メッセージの投稿、会話のトピックへのラベル付け、会話へ他の参加者の追加、他の参加者へのタスクの割り当てなどを行うことができる。 In contrast to most messaging systems based on direct exchanges between users, in some embodiments, messaging systems (e.g., messaging services and messaging applications) according to the present disclosure are more message-centric, where messages are the content and users are the attributes of that content. For example, the techniques of the present disclosure do not require identifying recipients or subscribers of a conversation. Instead, the present messaging system allows a conversation, e.g., a series of messages, to be created by a creator user (e.g., a user who triggers the creation of a conversation) without any other participants being identified. Participants in a conversation are creator users, not just recipients. Creator users can post messages, label conversation topics, add other participants to a conversation, assign tasks to other participants, etc.

会話作成後、他の参加者を会話に追加することができる。会話の参加者が会話の開始時に定義されるほとんどのメッセージングシステムとは異なり、本メッセージングシステムはいつでも参加者を会話に参加させることができる。会話内で本メッセージングサービスのユーザのユーザ名、グループ名、または電子メールアドレスを入れることにより、参加者を既存の会話に参加させることができる。そうすると、参加者は、会話に追加され、会話内で伝達される過去と未来のメッセージ、例えばフィードまたは通知で受信することができる。追加された参加者は、例えば、会話内でメッセージを投稿すること、会話のトピックにラベルを付けること、タスクを割り当てること、および/または会話に他の参加者を追加することによって、会話に参加することができる。 After a conversation is created, other participants can be added to the conversation. Unlike most messaging systems where the participants of a conversation are defined at the beginning of the conversation, the messaging system allows participants to join a conversation at any time. A participant can join an existing conversation by including a username, group name, or email address of a user of the messaging service in the conversation. The participant can then be added to the conversation and receive past and future messages conveyed within the conversation, e.g., in a feed or notifications. The added participant can participate in the conversation, e.g., by posting a message in the conversation, labeling the conversation topic, assigning a task, and/or adding other participants to the conversation.

図5は本開示にかかるデータモデルの例示的な実施形態を示す図である。図5の例示的なデータモデルは単に例示的なものであり、他の構成を使用することができることを理解すべきである。図に示すように、データモデルは会話中心である。言い換えれば、会話はデータベース内の1次データ(primary data)である。ユーザデータ、トピックデータ、タスクデータなどの他のデータは、会話の属性である。図に示すように、メッセージングサービスの会話データベース230は、複数の会話を含む。会話データベース230は、複数のテーブルを含む。例えば、スレッドテーブル502、メッセージテーブル504、および内容テーブル506は、すべて会話データベース230に格納される。 5 illustrates an exemplary embodiment of a data model according to the present disclosure. It should be understood that the exemplary data model of FIG. 5 is merely exemplary and other configurations may be used. As shown, the data model is conversation-centric. In other words, conversations are the primary data in the database. Other data, such as user data, topic data, task data, etc., are attributes of conversations. As shown, a conversation database 230 of the messaging service includes multiple conversations. The conversation database 230 includes multiple tables. For example, a thread table 502, a message table 504, and a content table 506 are all stored in the conversation database 230.

スレッドテーブル502は、Thread_ID、User_ID、およびCreated_Timeなどの項目を含む。Thread_IDは、他のデータと属性を参照する主キーである。例えば、Thread_IDは、特定のThread_IDに関連付けられるメッセージをルックアップするために使用される。Thread_IDは、以下でより全面的に説明されるように、Thread_IDで識別されるスレッドに関連する属性データベース内の属性をルックアップするためにも使用される。属性データベースを説明する前に、会話データベース230に格納されるレコードをより詳細に説明する。 The thread table 502 includes fields such as Thread_ID, User_ID, and Created_Time. The Thread_ID is a primary key that references other data and attributes. For example, the Thread_ID is used to look up messages associated with a particular Thread_ID. The Thread_ID is also used to look up attributes in an attribute database that is associated with the thread identified by the Thread_ID, as described more fully below. Before describing the attribute database, the records stored in the conversation database 230 are described in more detail.

会話データベース230について、ユーザによって新しいスレッド(例えば、新しい会話)が作成されるたびに、メッセージサービスは、新しいThread_IDを生成して割り当て、スレッドを作成したユーザのUser_ID及びスレッドが作成された時刻(Created_Time)と共にスレッドテーブルに新しいレコードを作成する。さらに、特定のスレッド(例えば、特定の会話)内の各メッセージに関連付けられる情報は、Thread_ID、User_ID(メッセージを作成したユーザの場合)、各メッセージを識別するMessage_ID、メッセージが作成された時刻(Created_Time)、および会話中にメンション(言及)され追加された可能性のある他のユーザまたはグループを識別するエントリ(Is_Mentioned)と共にメッセージテーブル504に格納される。会話中にメンションされた(例えば、@記号で始まる)ユーザまたはグループは、以下では「メンション」と称される。各メッセージの内容は、内容テーブル506に個別に格納され、対応するメッセージIDによって参照されることが可能である。これは、メッセージが短い文字列か、JPEGやビデオなどの何らかの形式のメディアを含むかによって、メッセージの格納サイズ大きく異なる可能性があるからである。 For the conversation database 230, each time a new thread (e.g., a new conversation) is created by a user, the message service generates and assigns a new Thread_ID and creates a new record in the thread table with the User_ID of the user who created the thread and the time the thread was created (Created_Time). Additionally, information associated with each message in a particular thread (e.g., a particular conversation) is stored in the message table 504 with the Thread_ID, the User_ID (for the user who created the message), a Message_ID identifying each message, the time the message was created (Created_Time), and an entry identifying other users or groups that may have been mentioned and added in the conversation (Is_Mentioned). Users or groups mentioned in the conversation (e.g., beginning with the @ symbol) are referred to below as "mentions." The content of each message is stored separately in the content table 506 and can be referenced by the corresponding message ID. This is because the storage size of a message can vary greatly depending on whether the message is a short string of text or contains some form of media such as JPEG or video.

前述したように、各スレッド(会話)は、関連付けられる属性を有することができる。これらの属性は、会話のThread_IDによって参照される。たとえば、Thread_IDは各属性データベースに含まれるキーであり、特定の会話に関連付けられるすべての属性をルックアップするために使用できる。図5に示すように、ユーザは会話の属性である。特定の会話に関連付けられるユーザは、ユーザデータベース234において、特定の会話に対応する特定のThread_IDに関連付けられるすべてのユーザを検索することによって決定することができる。検索によって、一致するすべてのUser_IDが返される。 As mentioned above, each thread (conversation) can have attributes associated with it. These attributes are referenced by the conversation's Thread_ID. For example, the Thread_ID is a key contained in each attribute database and can be used to look up all attributes associated with a particular conversation. As shown in FIG. 5, user is an attribute of a conversation. The user associated with a particular conversation can be determined by searching the user database 234 for all users associated with a particular Thread_ID that corresponds to the particular conversation. The search returns all matching User_IDs.

同様に、電子メールメッセージデータベース238の検索により、電子メールを介して、スレッドに関連付けられるユーザのすべてのUser_IDが返される。すなわち、電子メールアドレスが会話に追加されるたびに、電子メールメッセージデータベース238に新しいレコードが作成される。各レコードには、会話で電子メールアドレスを追加したユーザのUser_IDが格納される。さらに、会話に対応するReturn_Emailアドレスは、メッセージングサービス(例えば、メッセージングサービス220)によって割り当てられ、電子メールメッセージデータベース238に格納される。各電子メール参加者(電子メールアドレスで追加された参加者)には、関連付けられるEmail_Addressをルックアップするために使用できるMail_Box_User_IDが割り当てられる。電子メールアドレスは、この電子メールアドレスを含むメッセージのMessage_IDとともに格納される。また、各電子メールメッセージのメッセージ内容等も電子メールメッセージデータベース238(例えば、電子メール属性テーブル522、520)に格納される。 Similarly, a search of the email message database 238 returns all User_IDs of users associated with the thread via email. That is, each time an email address is added to a conversation, a new record is created in the email message database 238. Each record stores the User_ID of the user who added the email address in the conversation. Additionally, a Return_Email address corresponding to the conversation is assigned by a messaging service (e.g., messaging service 220) and stored in the email message database 238. Each email participant (a participant added by email address) is assigned a Mail_Box_User_ID that can be used to look up the associated Email_Address. The email address is stored along with the Message_ID of the message that contains this email address. Additionally, the message content, etc. of each email message is also stored in the email message database 238 (e.g., email attribute tables 522, 520).

属性データベースは、例えば、グループデータベース(例えば、グループデータベース232)をさらに含む。グループデータベース232は、会話に関連付けられるグループに関する情報(例えば、グループ属性)を格納する。グループデータベース232に格納されるデータは、Thread_ID、Group_ID、Created_Time(グループが作成された時刻)のうちの1つ又は複数を含む。Group_IDは、Group_Name(グループ名)、Owner_User_ID(グループ所有者、例えばグループの作成者のUser_ID)、グループタイプ(プライベートまたはパブリックグループなど)、加入時刻(メンバがグループに加入した時刻)、およびグループに関連付けられる状態を含むレコードを示すためにも使用される。 The attribute database further includes, for example, a group database (e.g., group database 232). The group database 232 stores information about the group associated with the conversation (e.g., group attributes). The data stored in the group database 232 includes one or more of Thread_ID, Group_ID, and Created_Time (time when the group was created). The Group_ID is also used to indicate a record that includes Group_Name, Owner_User_ID (the group owner, e.g., the User_ID of the creator of the group), group type (e.g., private or public group), join time (time when a member joined the group), and a status associated with the group.

一実施形態において、属性データベースは、会話に関連付けられるタスク割り当てを示す情報(例えば、タスク属性)を格納するタスクデータベース(例えば、タスクデータベース256)を含む。タスクデータベース256に格納されたタスク属性も、各会話のThread_IDによって参照される。タスクデータベース256に格納されるデータおよび情報の一部には、期限(実質的には期限日)、割当者および被割当者のユーザID(Assignor_User_IDおよびAssignee_User_ID)、および状態(例えば、ステータス)が含まれる。作成された時刻、検証された時刻、および最後に更新された時刻を、タスクのために格納されたレコードに関連付けることもできる。 In one embodiment, the attribute database includes a task database (e.g., task database 256) that stores information (e.g., task attributes) indicative of task assignments associated with a conversation. The task attributes stored in task database 256 are also referenced by the Thread_ID of each conversation. Some of the data and information stored in task database 256 includes the deadline (effectively the due date), the assigner and assignee user IDs (Assignor_User_ID and Assignee_User_ID), and the state (e.g., status). The time created, validated, and last updated can also be associated with the record stored for the task.

一実施形態によれば、属性データベースは、会話に関連付けられるトピックを示す情報(例えば、トピック属性)を格納するトピックデータベース(例えば、トピックデータベース236)をさらに含む。トピックデータベースは、各会話のThread_IDによって参照され、会話に関連付けられ、一般に、各トピックに関連付けられるユーザID、Topic_IDおよび作成された時刻を含む。Topic_IDは、トピック名(Topic_Name)を参照するために使用される。例えば会話内にハッシュタグで始まるメッセージへのエントリによって、新しいトピックが会話に追加されるたびに、メッセージングサービス(例えば、メッセージングサービス220)は、会話のThread_IDによって参照されるトピックデータベース236にエントリを格納する。 According to one embodiment, the attribute database further includes a topic database (e.g., topic database 236) that stores information (e.g., topic attributes) indicative of topics associated with a conversation. The topic database is referenced by the Thread_ID of each conversation and is associated with a conversation, and typically includes the user ID, Topic_ID, and time of creation associated with each topic. The Topic_ID is used to reference the topic name (Topic_Name). Each time a new topic is added to a conversation, for example by an entry in a message beginning with a hashtag in the conversation, the messaging service (e.g., messaging service 220) stores an entry in the topic database 236 referenced by the Thread_ID of the conversation.

上述したように、これらの様々な属性はすべて、メッセージングサービス(例えば、メッセージングサービス220)において新しいスレッド(例えば、新しい会話)が作成されたときに生成されるThread_IDに関連付けられる。したがって、メッセージングサービス220は、会話に関連付けられる様々な属性を検索し、取り戻すことができる。本明細書では、会話とスレッドはある程度交換可能に使用される。一例において、メッセージスレッドデータベース230および複数の属性データベース(例えば、トピックデータベース236、タスクデータベース256、グループデータベース232、電子メールメッセージデータベース238、およびユーザデータベース234)は、同じサーバまたは装置に格納することが可能である。別の例において、メッセージスレッドデータベース230および複数の属性データベースは、それぞれ異なるサーバまたは装置に格納されてもよい。メッセージスレッドデータベース230および複数の属性データベースは、1つまたは複数の物理サーバまたは1つまたは複数の仮想サーバ上でホストされることができる。 As mentioned above, all of these various attributes are associated with a Thread_ID that is generated when a new thread (e.g., a new conversation) is created in a messaging service (e.g., messaging service 220). Thus, messaging service 220 can search and retrieve various attributes associated with a conversation. Conversation and thread are used somewhat interchangeably herein. In one example, message thread database 230 and the multiple attribute databases (e.g., topic database 236, task database 256, group database 232, email message database 238, and user database 234) can be stored on the same server or device. In another example, message thread database 230 and the multiple attribute databases may each be stored on different servers or devices. Message thread database 230 and the multiple attribute databases can be hosted on one or more physical servers or one or more virtual servers.

図6は、図5に示されるデータモデルに関連して、メッセージングサービス(例えば、メッセージングサービス220)によって実行される例示的なプロセス600を示す。図6では一連の動作として説明されているが、当業者であれば、様々な実施形態において、説明された動作を追加、除去、並べ替え、または修正することができることを理解するはずである。 FIG. 6 illustrates an example process 600 performed by a messaging service (e.g., messaging service 220) in conjunction with the data model illustrated in FIG. 5. Although illustrated as a series of operations in FIG. 6, one skilled in the art will appreciate that in various embodiments, the operations described may be added, removed, reordered, or modified.

602において、メッセージングサービス220は、メッセージングアプリケーション、例えば、ユーザ装置242上で動作するメッセージングアプリケーション240から、会話のうちの少なくとも1つを示す要求を受信する。例えば、ユーザは、メッセージングアプリケーション240によって、ユーザが参加している1つまたは複数の会話に関連付けられる属性を示す情報を要求している場合がある。例えば、ユーザ装置242上で動作するメッセージングアプリケーション240は、ユーザのための会話に関連付けられる属性(例えば、トピック、ユーザ、グループ、タスク)を示す情報を要求することができる。この要求に応じて、604において、メッセージングサービス220は、該ユーザのUser_IDに関連付けられるすべてのThread_IDをユーザデータベース234内でルックアップし、さらに他の属性データベースにクエリし、これらのThread_IDに基づいて識別された会話に関連付けられる様々な属性を決定する。一例において、メッセージングサービス220は、Thread_IDに関連付けられるトピックデータベース内のすべてのトピックをルックアップすることができる。606において、メッセージングサービス220は、クエリ結果を処理して、少なくとも1つの属性(例えば、トピック属性)が会話のうちの少なくともいくつかに関連付けられると判定する。 At 602, the messaging service 220 receives a request from a messaging application, e.g., messaging application 240 running on the user device 242, indicating at least one of the conversations. For example, the user may be requesting information from the messaging application 240 indicating attributes associated with one or more conversations in which the user is participating. For example, the messaging application 240 running on the user device 242 may request information indicating attributes (e.g., topics, users, groups, tasks) associated with conversations for the user. In response to the request, at 604, the messaging service 220 looks up all Thread_IDs associated with the user's User_ID in the user database 234 and further queries other attribute databases to determine various attributes associated with the identified conversations based on these Thread_IDs. In one example, the messaging service 220 may look up all topics in a topic database associated with the Thread_ID. At 606, the messaging service 220 processes the query results to determine that at least one attribute (e.g., a topic attribute) is associated with at least some of the conversations.

608において、メッセージングサービス220は、ユーザ装置242上に属性のインジケータを表示するために、会話に関連付けられる属性情報をメッセージングアプリケーション240に送信する。例えば、図12に示すように、会話に関連付けられる複数のトピックは、ユーザインターフェース(UI)1200の一番左の列1205に表示されている。いくつかの実施形態において、複数の属性が存在してもよく、メッセージングサービス220またはメッセージングアプリケーション240によって、それらに異なる優先度を割り当てることができる。メッセージングサービス220またはメッセージングアプリケーション240は、複数の属性を、それらの優先度に基づいて編成することができる。一例において、メンション(つまり、会話に追加されたユーザまたはグループ)属性は、トピック属性より高い優先度を有してもよい。例えば、図25のメンション属性(例えば、UserE2501およびGroup1 2504)には、トピック属性より高い優先度を割り当てることができる。図25の属性のインジケータは、メンション属性に基づいて表示され、メンション属性の下に1つまたは複数のトピック(もしあれば)を表示することができる。一例において、特定のメンション属性を持つ会話に、複数のトピックが関連付けられる場合がある。図25に示すように、メンション属性UserE2501を有する会話には複数のトピック(「patent」というトピック2502を含む)が関連付けられており、この例では、メンション属性の方がトピック属性よりも優先度が高いので、複数のトピックはメンション属性UserE2501の下に表示されている。 At 608, the messaging service 220 sends attribute information associated with the conversation to the messaging application 240 for displaying an attribute indicator on the user device 242. For example, as shown in FIG. 12, multiple topics associated with the conversation are displayed in the leftmost column 1205 of the user interface (UI) 1200. In some embodiments, multiple attributes may be present and may be assigned different priorities by the messaging service 220 or messaging application 240. The messaging service 220 or messaging application 240 may organize the multiple attributes based on their priorities. In one example, the mention (i.e., user or group added to the conversation) attribute may have a higher priority than the topic attribute. For example, the mention attributes (e.g., UserE 2501 and Group1 2504) of FIG. 25 may be assigned a higher priority than the topic attribute. The attribute indicator of FIG. 25 may be displayed based on the mention attribute and may display one or more topics (if any) below the mention attribute. In one example, a conversation with a particular mention attribute may have multiple topics associated with it. As shown in FIG. 25, a conversation with mention attribute UserE 2501 has multiple topics associated with it (including topic "patent" 2502), and because mention attributes have a higher priority than topic attributes in this example, the multiple topics are displayed under the mention attribute UserE 2501.

いくつかの実施形態において、メッセージングアプリケーション240からの要求の受信に応じて、メッセージングサービス220は、データベース260(例えば、ユーザデータベース234、タスクデータベース256など)にクエリして、任意の特定のユーザに関連付けられるタスクを決定することができる。例えば、メッセージングサービス220は、特定のユーザ(例えば、ユーザID)の識別情報を含む要求をメッセージングアプリケーション240から受信する。これに応じて、メッセージングサービス220は、ユーザIDに基づいてユーザデータベース234を検索し、ユーザが関わっている会話に対応するThread_IDを識別する。メッセージングサービス220は次に、Thread_IDに基づいてタスクデータベース256にクエリして、会話に関連付けられるタスクをルックアップすることができる。メッセージングサービス220は、タスクデータベース256の検索に基づいて、各タスクのAssignor_User_IDおよびAssignee_User_IDを識別することができる。メッセージングサービス220は次に、識別されたAssignor_User_IDまたはAssignee_User_IDが特定のユーザのユーザIDと同じであるか否かを判定することに基づいて、タスクのうちのいずれかが特定のユーザに関連付けられているか否かを判定することができる。いずれかのタスクが特定のユーザに関連付けられていると判定すると、メッセージングサービス220は、特定のユーザに関連付けられるタスクを表示するために、決定されたタスクを示す情報をメッセージングアプリケーション240に送信する。一例において、メッセージングアプリケーション240は、タスクに関連付けられる期限日に基づいてタスクを分類または順序付けすることができる。別の例において、メッセージングアプリケーション240は、タスクの割当者または被割当者に関連付けられる情報に基づいて、タスクを分類または順序付けすることができる。メッセージングアプリケーション240は、分類されたまたは順序付けられたタスクを、UIの所定領域内に、またはUI上に重ねられたウィンドウに表示させることができる。 In some embodiments, in response to receiving a request from messaging application 240, messaging service 220 can query databases 260 (e.g., user database 234, task database 256, etc.) to determine the tasks associated with any particular user. For example, messaging service 220 receives a request from messaging application 240 that includes an identification of a particular user (e.g., a user ID). In response, messaging service 220 can search user database 234 based on the user ID to identify a Thread_ID that corresponds to a conversation in which the user is involved. Messaging service 220 can then query task database 256 based on the Thread_ID to look up tasks associated with the conversation. Messaging service 220 can identify an Assignor_User_ID and an Assignee_User_ID for each task based on a search of task database 256. The messaging service 220 can then determine whether any of the tasks are associated with a particular user based on determining whether the identified Assignor_User_ID or Assignee_User_ID is the same as the user ID of the particular user. Upon determining that any of the tasks are associated with a particular user, the messaging service 220 sends information indicative of the determined tasks to the messaging application 240 to display the tasks associated with the particular user. In one example, the messaging application 240 can sort or order the tasks based on a due date associated with the task. In another example, the messaging application 240 can sort or order the tasks based on information associated with the assignor or assignee of the task. The messaging application 240 can display the sorted or ordered tasks in a predefined area of the UI or in a window overlaid on the UI.

一実施形態において、メッセージングアプリケーション240とメッセージングサービス220との間で追加的なインタラクションが行われてもよい。例えば、610において、メッセージングサービス220は、メッセージングアプリケーション240から、メッセージングアプリケーション240が属性(例えば図12の一番左の列に示される表示されたトピックリストのうちのトピック)を既に選択したことを示す入力を受け取る。これに応じて、612において、メッセージングサービス220は、選択された属性(例えば、トピック)に関連付けられるメッセージをメッセージスレッドデータベース230にクエリする。その後、メッセージングサービス220は、メッセージをユーザ装置242上に表示させるために、メッセージをメッセージングアプリケーション240に送信する。例えば、図12に示すように、UI1200の一番右の列1204上には、選択されたトピックに関連付けられるメッセージが表示される。 In one embodiment, additional interactions may occur between the messaging application 240 and the messaging service 220. For example, at 610, the messaging service 220 receives input from the messaging application 240 indicating that the messaging application 240 has selected an attribute (e.g., a topic from the displayed list of topics shown in the leftmost column of FIG. 12). In response, at 612, the messaging service 220 queries the message thread database 230 for messages associated with the selected attribute (e.g., topic). The messaging service 220 then transmits the messages to the messaging application 240 for display on the user device 242. For example, as shown in FIG. 12, messages associated with the selected topic are displayed on the rightmost column 1204 of the UI 1200.

図7は、メッセージングアプリケーション(例えば、メッセージングアプリケーション240)とメッセージングサービス220において維持されるデータモデルとの間のインタラクションを示す別の例示的なプロセス700を示す。図6では一連の動作として説明されているが、当業者であれば、様々な実施形態において、説明された動作を追加、除去、並べ替え、または修正することができることを理解するはずである。別の実施形態において、メッセージングサービス220は、702において、会話のうちの少なくとも1つを示すユーザに関連付けられるメッセージングアプリケーション(例えば、ユーザ装置242上で動作するメッセージングアプリケーション240)から要求を受信する。これに応じて、メッセージングサービス220は、704において、メッセージスレッドデータベース230にクエリする。例えば、メッセージングサービス220は、ユーザが既に参加した対応会話をルックアップする。その後、706において、メッセージングサービス220は、クエリ結果を処理して、各会話内のメッセージのサブセットを決定する。一実施形態において、各会話のメッセージのサブセットは、会話内の最初のメッセージと最後のメッセージであってもよい。メッセージングサービス220は、メッセージのサブセットに基づいて、各会話の要約を作成することができる。708において、メッセージングサービス220は、各会話の要約を表示するために、メッセージのサブセットをメッセージングアプリケーション240に送信する。例えば、図12に示すように、UI1200の中間エリア1216に会話の要約が表示される。 FIG. 7 illustrates another exemplary process 700 illustrating the interaction between a messaging application (e.g., messaging application 240) and a data model maintained in messaging service 220. Although described as a series of operations in FIG. 6, one skilled in the art would understand that in various embodiments, the described operations can be added, removed, reordered, or modified. In another embodiment, messaging service 220 receives a request at 702 from a messaging application (e.g., messaging application 240 running on user device 242) associated with a user that represents at least one of the conversations. In response, messaging service 220 queries message thread database 230 at 704. For example, messaging service 220 looks up corresponding conversations in which the user has already participated. Then, at 706, messaging service 220 processes the query results to determine a subset of messages in each conversation. In one embodiment, the subset of messages for each conversation may be the first and last messages in the conversation. Messaging service 220 can create a summary of each conversation based on the subset of messages. At 708, the messaging service 220 sends the subset of messages to the messaging application 240 for displaying a summary of each conversation. For example, as shown in FIG. 12, the conversation summaries are displayed in the middle area 1216 of the UI 1200.

いくつかの実施形態において、710において、メッセージングサービス220は、メッセージングアプリケーション240が要約のうちの1つを選択したことを示す要求を受信することができる。この場合、また、これに応じて、712において、メッセージングサービス220は、対応する会話内の全部または複数のメッセージを取り戻すために、会話データベース230に再度クエリすることができる。実施形態において、メッセージングサービス220は、対応する会話内のすべてのメッセージを取り戻すことができる。他の実施形態において、メッセージングサービスは、対応する会話内のメッセージのサブセットを取り戻すことができる。例えば、メッセージの数及びメッセージの内容について、ユーザ装置(例えば、ユーザ装置242)がメッセージを格納するのに必要とする格納量が閾値を上回る場合、メッセージングサービス220にとって、ユーザ装置242に送信されるメッセージのサブセットのみを取り戻すことが有利であることがある。非限定的な例において、メッセージングサービス220は、対応する会話内の最新のメッセージのみを取り戻してもよい。714において、メッセージングアプリケーション240がユーザ装置242上にメッセージを表示できるように、メッセージングサービス220は、少なくとも会話内で取り戻したメッセージのサブセットをメッセージングアプリケーション240に送信する。 In some embodiments, at 710, the messaging service 220 may receive a request indicating that the messaging application 240 has selected one of the summaries. In this case, and in response, at 712, the messaging service 220 may again query the conversation database 230 to retrieve all or a number of messages in the corresponding conversation. In embodiments, the messaging service 220 may retrieve all messages in the corresponding conversation. In other embodiments, the messaging service may retrieve a subset of the messages in the corresponding conversation. For example, if the number of messages and the content of the messages would require a user device (e.g., user device 242) to store the messages, it may be advantageous for the messaging service 220 to retrieve only a subset of the messages sent to the user device 242. In a non-limiting example, the messaging service 220 may retrieve only the most recent message in the corresponding conversation. At 714, the messaging service 220 sends at least the subset of the retrieved messages in the conversation to the messaging application 240 so that the messaging application 240 can display the messages on the user device 242.

図8はメッセージング技術を示す図である。技術は、メッセージングサービス(例えば、図2および図3のメッセージングサービス220)、メッセージングアプリケーション(例えば、図2および図3のメッセージングアプリケーション240)、1つまたは複数のユーザ210、および/または1つまたは複数のユーザ装置242によって実行することができる。801において、会話を開始することができる。会話は、メッセージングアプリケーションを介して会話の開始を要求する入力を入れることによって、作成者ユーザによって開始することができる。例えば、ユーザは、ユーザ装置上に表示されたメッセージングアプリケーションのUI内の「Start a conversation」アイコンを選択することができる。メッセージングサービスのチャットサービス(例えば、図2のチャットサービス222)は、入力を受け取り、会話を生成することができる。会話は、会話の任意の他の参加者が識別されていない状態で、作成者ユーザによって開始することができる。 8 illustrates a messaging technique. The technique may be performed by a messaging service (e.g., messaging service 220 of FIGS. 2 and 3), a messaging application (e.g., messaging application 240 of FIGS. 2 and 3), one or more users 210, and/or one or more user devices 242. At 801, a conversation may be started. A conversation may be started by a creator user by entering input via a messaging application requesting to start a conversation. For example, a user may select a "Start a conversation" icon in a messaging application UI displayed on a user device. A chat service of the messaging service (e.g., chat service 222 of FIG. 2) may receive the input and create a conversation. A conversation may be started by a creator user without any other participants in the conversation being identified.

802において、チャットサービス222などのメッセージングサービス220を介してメッセージが受信されると、会話内のすべての参加者(例えば、作成者ユーザおよび任意の他の参加者)についてルックアップを実行することができる。メッセージの内容を決定することができる。内容は、チャットサービス222などのメッセージングサービス220によって解析することが可能である。内容を解析することは、メッセージおよび/または会話の1つまたは複数の属性を決定することを含むことができる。例えば、内容には、トピック、ユーザ、および/またはユーザグループなどの属性を表す所定の特殊キャラクタからなるテキストが含まれることがある。このルックアップは、メッセージングサービス220、例えば、チャットサービス222によって実行することができる。このルックアップは、1つまたは複数のデータベース260にクエリすることによって実行することができる。データベース260は、会話データベース230、グループデータベース232、ユーザデータベース234、トピックデータベース236、タスクデータベース256、電子メールユーザデータベース237、および/または電子メールメッセージデータベース238を含むことができる。参加者と会話との関連付けは、例えば、チャットサービス222によってデータベース260に格納されてもよい。 At 802, when a message is received via a messaging service 220, such as chat service 222, a lookup can be performed for all participants in the conversation (e.g., the creator user and any other participants). The content of the message can be determined. The content can be analyzed by a messaging service 220, such as chat service 222. Analyzing the content can include determining one or more attributes of the message and/or the conversation. For example, the content can include text that consists of predefined special characters that represent attributes such as a topic, a user, and/or a user group. This lookup can be performed by the messaging service 220, e.g., chat service 222. This lookup can be performed by querying one or more databases 260. The databases 260 can include a conversation database 230, a group database 232, a user database 234, a topic database 236, a task database 256, an email user database 237, and/or an email message database 238. An association of participants with the conversation can be stored in the database 260, for example, by the chat service 222.

803において、会話に関連付けられるトピックを決定することができる。トピックは、メッセージングサービス220、例えばチャットサービス222によって決定することが可能である。メッセージングサービス220は、メッセージを解析し、メッセージに含まれる所定のキャラクタを識別することに基づいて、メッセージがトピックを示す情報を含むと判定することができる。限定ではなく、一例として、所定の文字はハッシュ記号#としてもよい。メッセージングサービス220は、データベース260(例えば、トピックデータベース236)に格納された既存のトピックを検索することによって、既に受信された会話に関連付けられるいずれかのメッセージが新しいトピックを含むか否かを判定することができる。新しいトピックであると判定すると、メッセージングサービス220は、該新しいトピックをデータベース260(例えば、トピックデータベース236)に格納することができる。会話とトピックとの関連付けを決定し、会話データベース230およびトピックデータベース236などのデータベース260に格納することもできる。 At 803, a topic associated with the conversation may be determined. The topic may be determined by the messaging service 220, e.g., chat service 222. The messaging service 220 may determine that the message includes information indicative of a topic based on analyzing the message and identifying a predefined character included in the message. By way of example and not limitation, the predefined character may be a hash symbol #. The messaging service 220 may determine whether any messages associated with the conversation already received include a new topic by searching existing topics stored in database 260 (e.g., topic database 236). If a new topic is determined, the messaging service 220 may store the new topic in database 260 (e.g., topic database 236). An association between the conversation and the topic may also be determined and stored in database 260, such as conversation database 230 and topic database 236.

804において、メッセージおよび新しいトピックの指示を出力(例えば、プッシュ、送信)することができる。新しいトピックの指示(例えば、新しいトピックタグ)は、表示のために、プッシュサービス(例えば、プッシュサービス224)によって、会話の参加者に関連付けられるメッセージングアプリケーション(例えば、メッセージングアプリケーション240)に送信することができる。トピックの選択を示すユーザ入力が受け取られると、トピックに関連付けられるメッセージを、メッセージングサービス220のプッシュサービス224によって出力することができる。メッセージおよびトピックタグは、例えば、ユーザ装置242上で動作するメッセージングアプリケーション240のUI内の会話を介して、メッセージアプリケーションのユーザに出力することができる。メッセージおよびトピックタグは、ユーザ装置(例えば、ユーザ装置242)に送信することができる。メッセージおよびトピックタグは、会話に追加済みの外部電子メールアドレスに送信することができる。 At 804, the message and an indication of the new topic can be output (e.g., pushed, sent). The indication of the new topic (e.g., new topic tag) can be sent by a push service (e.g., push service 224) to a messaging application (e.g., messaging application 240) associated with the conversation participants for display. When user input indicating a selection of a topic is received, a message associated with the topic can be output by push service 224 of messaging service 220. The message and topic tag can be output to a user of the messaging application, for example, via a conversation in a UI of messaging application 240 running on user device 242. The message and topic tag can be sent to the user device (e.g., user device 242). The message and topic tag can be sent to an external email address that has been added to the conversation.

805において、新しい参加者Aを会話に加入するように招待することができる。新しい参加者Aは、既存の参加者によって、例えば会話の入力フィールドに、該新しい参加者Aに関連付けられるユーザ名、グループ名、または電子メールアドレスを入れることによって、招待することができる。メッセージングサービス220(例えば、チャットサービス222)は、該新しい参加者Aを会話に追加することができる。メッセージングサービス(例えば、チャットサービス222)は、新しい参加者Aと会話との関連付けを、データベース260に、例えば会話データベース230およびユーザデータベース234に格納することができる。 At 805, a new participant A can be invited to join the conversation. The new participant A can be invited by an existing participant, for example, by entering a username, group name, or email address associated with the new participant A in an input field of the conversation. The messaging service 220 (e.g., chat service 222) can add the new participant A to the conversation. The messaging service (e.g., chat service 222) can store the association of the new participant A with the conversation in a database 260, for example in the conversation database 230 and the user database 234.

806において、会話内の既存の参加者のルックアップを実行することができる。このルックアップは、メッセージングサービス220、例えば、チャットサービス222によって実行することができる。チャットサービス222は、会話内の決定された参加者の指示をプッシュサービス224に送信することができる。 At 806, a lookup of existing participants in the conversation may be performed. This lookup may be performed by a messaging service 220, such as a chat service 222. The chat service 222 may send an indication of the determined participants in the conversation to a push service 224.

807において、会話内の既存の参加者に、新しい参加者Aが会話に追加されたことを通知することができる。プッシュサービス224によって、既存の参加者に通知することができる。既存の参加者に通知することは、既存の参加者のユーザ装置(例えば、ユーザ装置242)に通知を送信することを含むことができる。既存の参加者には、それら装置上で動作するメッセージングアプリケーションの会話および/またはUIを介して通知することができる。 At 807, existing participants in the conversation may be notified that new participant A has been added to the conversation. The existing participants may be notified by push service 224. Notifying the existing participants may include sending notifications to their user devices (e.g., user device 242). The existing participants may be notified via the conversation and/or UI of a messaging application running on their devices.

808において、会話に関連付けられるメッセージの内容を決定することができる。内容は、チャットサービス222などのメッセージングサービス220によって解析することが可能である。内容を解析することは、メッセージの内容の1つまたは複数の属性を決定することを含んでもよい。例えば、メッセージに新しい参加者Aのような属性を表す特殊キャラクタからなるテキストが含まれていると判定することがある。限定ではなく、一例として、新しいユーザ(つまり、新しい参加者)を表す所定の特殊キャラクタは、@記号であってもよい。会話のルックアップは、例えば、会話データベース230やトピックデータベース236などのデータベース260にクエリすることによって実行することができる。会話のルックアップを実行して、該会話に関連付けられるユーザ、メッセージ、トピック、および他の属性を決定することができる。チャットサービス222は、解析および/または会話ルックアップの結果の指示をプッシュサービス224に送信することができる。 At 808, content of messages associated with the conversation may be determined. The content may be analyzed by a messaging service 220, such as chat service 222. Analyzing the content may include determining one or more attributes of the content of the message. For example, it may be determined that the message includes text that is comprised of special characters that represent an attribute such as new participant A. By way of example and not limitation, the predefined special character that represents a new user (i.e., a new participant) may be the @ symbol. The conversation lookup may be performed by querying a database 260, such as the conversation database 230 or the topic database 236. The conversation lookup may be performed to determine users, messages, topics, and other attributes associated with the conversation. The chat service 222 may send an indication of the results of the analysis and/or conversation lookup to the push service 224.

809において、会話ルックアップの結果、例えばメッセージおよびトピックタグを、新しい参加者Aに出力(例えば、プッシュ)することができる。メッセージおよびトピックタグは、プッシュサービス224によって出力することができる。メッセージおよびトピックタグを出力することは、例えば、ユーザ装置(例えば、ユーザ装置242)上で動作するメッセージングアプリケーション(例えば、メッセージングアプリケーション240)のUI内の会話を介して、メッセージおよびトピックタグを新しい参加者に送信することを含むことができる。メッセージおよびトピックタグは、新しい参加者Aに関連付けられるユーザ装置(例えば、ユーザ装置242)に送信することができる。会話内のメッセージは、新しい参加者Aに関連付けられる外部電子メールアドレスに送信することができる。本開示にかかるメッセージングサービスは、会話に関連付けられるトピックの属性に基づいて会話を分類し、参加者が関心を持つ会話のトピックを示すトピックタグの選択に応じて、該参加者に会話の内容を提供することができる。これにより、本メッセージサービスは、ユーザが関心を持つ内容をより効率的に提供することができる。 At 809, the results of the conversation lookup, e.g., a message and a topic tag, can be output (e.g., pushed) to the new participant A. The message and topic tag can be output by the push service 224. Outputting the message and topic tag can include, for example, sending the message and topic tag to the new participant via a conversation in a UI of a messaging application (e.g., messaging application 240) running on a user device (e.g., user device 242). The message and topic tag can be sent to a user device (e.g., user device 242) associated with the new participant A. The message in the conversation can be sent to an external email address associated with the new participant A. The messaging service according to the present disclosure can classify the conversation based on the attributes of the topic associated with the conversation and provide the content of the conversation to the participant in response to the selection of a topic tag indicating a topic of the conversation that is of interest to the participant. This allows the messaging service to more efficiently provide content of interest to the user.

図9は、図8と関連して、新しい会話を開始し、該新しい会話にユーザを追加する態様を示す。図4について述べたように、ユーザは新しい会話を開始する。ユーザは、「Start a conversation」ボタン917を選択することにより、新しい会話を開始することができる。これは、図9においてユーザ装置(例えば、ユーザ装置242)上で動作するユーザインターフェース900の視点から示されている。ここで、ユーザ(例えば、ユーザA)は、会話901を開始し、メッセージ「#tag-patent」903を入れる。メッセージ903に関連付けられる他のユーザがいないので、メッセージは、会話の作成者(すなわち、作成者ユーザ)でもある単一のユーザ、ユーザAの会話901内にのみ現れる。これにより、作成者ユーザは、引き続き会話901にメッセージを追加することができる。以下でより全面的に説明されるように、メッセージ「#tag-patent」は、最初のメッセージの少なくとも一部として入れられたトピック(「patent」)を含む。会話中はいつでもトピックを含むメッセージを入れることができる。一実施形態において、該メッセージはメッセージングサービスによって処理され、会話901に関連付けられる属性としてデータベースに格納される。同様に、説明したように、会話901の他の参加者(例えば、会話901へのアクセス許可を持つメッセージングサービスのユーザ)を、会話901の属性として会話901に追加することができる。 FIG. 9 illustrates, in conjunction with FIG. 8, how to start a new conversation and add a user to the new conversation. As described with respect to FIG. 4, a user starts a new conversation. The user may start a new conversation by selecting a "Start a conversation" button 917. This is shown in FIG. 9 from the perspective of a user interface 900 operating on a user device (e.g., user device 242). Here, a user (e.g., user A) starts a conversation 901 and posts a message "#tag-patent" 903. Because there are no other users associated with the message 903, the message appears only within the conversation 901 of a single user, user A, who is also the creator of the conversation (i.e., the creator user). This allows the creator user to continue to add messages to the conversation 901. As described more fully below, the message "#tag-patent" includes a topic ("patent") that was posted as at least part of the initial message. A message including a topic may be posted at any time during a conversation. In one embodiment, the message is processed by the messaging service and stored in a database as an attribute associated with conversation 901. Similarly, as described, other participants in conversation 901 (e.g., users of the messaging service who have permission to access conversation 901) can be added to conversation 901 as attributes of conversation 901.

図8を再び参照し、会話の作成者ユーザは、新しいユーザ(すなわち、新しい参加者)を会話に参加するように招待することができる。いくつかの実施形態において、メッセージングサービスは、説明した複数のデータベース260と通信して、前述したチャットサービス222およびプッシュサービス224を使用する。この例を続けると、810において、ユーザは、1つまたは複数のメッセージを含む会話を開始することができる。メッセージは、複数のキャラクタ、記号を含み、テキスト文字列、または他のタイプの内容とすることができる。新しいメッセージが会話に追加された場合、チャットサービス222は、どのユーザが会話の属性であるか、すなわち、会話に関連付けられるユーザであるかを判定する。これらの属性は、1つ又は複数のデータベースに格納される。このようなデータベースは、会話データベース(例えば、会話データベース230)、グループデータベース(例えば、グループデータベース232)、トピックデータベース(例えば、トピックデータベース236)、および電子メールユーザデータベース(例えば、電子メールユーザデータベース237)を含むが、これらに限定されない。会話の参加者が識別され、会話を通知されることができる。 8, the creator user of a conversation can invite new users (i.e., new participants) to join the conversation. In some embodiments, the messaging service uses the chat service 222 and push service 224 described above in communication with the multiple databases 260 described. Continuing with the example, at 810, a user can initiate a conversation that includes one or more messages. A message can include multiple characters, symbols, be a text string, or other type of content. When a new message is added to a conversation, the chat service 222 determines which users are attributes of the conversation, i.e., users associated with the conversation. These attributes are stored in one or more databases. Such databases include, but are not limited to, a conversation database (e.g., conversation database 230), a group database (e.g., group database 232), a topic database (e.g., topic database 236), and an email user database (e.g., email user database 237). Participants of the conversation can be identified and notified of the conversation.

会話中にメッセージが受信されると、メッセージングサービス(例えば、メッセージングサービス220)は、会話を形成するメッセージ中に新しいトピックが含まれているか否かを判定してもよく、トピックデータベース236のような1つ又は複数のデータベース内で既存のトピックを検索してもよい。したがって、会話の属性、例えばトピック、ユーザ、グループ等によって、会話が例えばトピックに基づいて適切に分類されること、新しい会話が参加者にプッシュアウトされることを保証する。プッシュサービス224は、メッセージ、既存のトピックタグ、および新しいトピックタグを対象とする参加者に出力することを支援する。いくつかの実施形態において、これは、会話の対象とする参加者に関連付けられる装置上のユーザインターフェースまたはユーザディスプレイにメッセージをプッシュすることによって発生することができる。 When a message is received during a conversation, the messaging service (e.g., messaging service 220) may determine whether a new topic is included in the message forming the conversation, and may search for existing topics in one or more databases, such as topic database 236. Thus, attributes of the conversation, e.g., topic, user, group, etc., ensure that the conversation is properly categorized, e.g., based on topic, and new conversations are pushed out to participants. Push service 224 assists in outputting the message, existing topic tags, and new topic tags to the intended participants. In some embodiments, this may occur by pushing the message to a user interface or user display on a device associated with the intended participant of the conversation.

別の例において、ユーザは会話に加入するように招待されてもよい。例えば、805において、新しい参加者Aを既存の会話に加入するように招待することができ、これにより、メッセージングサービス(例えば、メッセージングサービス220)は、会話に関連する情報を新しい参加者Aと共有することを許可される。チャットサービス222は、この作動を処理し、506において、先の例と同様に、会話に関連付けられるすべての既存の参加者をルックアップし、必要に応じて1つ又は複数のデータベース260(例えば、データベース230~236)と通信して、関連情報を取得する。参加者が識別されると、プッシュサービス224は、807において、会話に新しい参加者が追加されたことを既存の参加者に示すために、会話に関連付けられる識別された既存の参加者に通知する。 In another example, a user may be invited to join a conversation. For example, at 805, a new participant A may be invited to join an existing conversation, which allows the messaging service (e.g., messaging service 220) to share information related to the conversation with the new participant A. The chat service 222 processes this operation, at 506, as in the previous example, by looking up all existing participants associated with the conversation and communicating with one or more databases 260 (e.g., databases 230-236) as necessary to obtain the relevant information. Once the participants are identified, the push service 224 notifies the identified existing participants associated with the conversation, at 807, to indicate to the existing participants that a new participant has been added to the conversation.

新しい参加者Aが会話に加入するように招待された後、プッシュサービスが会話の関連態様を新しい参加者に送信できるように、会話に関連するメッセージ、内容、および/またはメタデータを、例えば、会話データベース230およびトピックデータベース236から取り戻す。図9は、新しいユーザを会話に参加するように招待するための技術の態様の例示的なユーザインターフェース(UI)900を示す。図9において、UI900は、例えば、メッセージングアプリケーション(メッセージングアプリケーション240)を通してユーザ装置(例えば、ユーザ装置242)上に提示されるように示されている。この例において、また、UI900に示されるように、ユーザAは、1つまたは複数のメッセージ902を含む会話901を開始した。この例において、メッセージ「Hello」が会話901に追加された。さらに、トピック「patent」903を含む別のメッセージが会話901に追加された。該会話901を、データベース260、例えば、会話データベース230に格納することができる。新しいユーザを追加するために、UI900のメッセージフィールド904に、@記号905または他の所定の特殊キャラクタとそれに続く例えばユーザ名によってユーザを識別するテキスト文字列906を使用して、ユーザを示す情報を入力する。ここで、@記号で始まるテキストフィールドにユーザCのユーザ名が入力されている。 After a new participant A is invited to join the conversation, messages, content, and/or metadata related to the conversation are retrieved, for example, from the conversation database 230 and the topic database 236 so that the push service can send relevant aspects of the conversation to the new participant. FIG. 9 illustrates an example user interface (UI) 900 of an aspect of a technique for inviting a new user to join a conversation. In FIG. 9, the UI 900 is shown as presented on a user device (e.g., user device 242) through, for example, a messaging application (messaging application 240). In this example, and as shown in UI 900, user A has initiated a conversation 901 that includes one or more messages 902. In this example, a message "Hello" has been added to the conversation 901. Additionally, another message including the topic "patent" 903 has been added to the conversation 901. The conversation 901 can be stored in a database 260, for example, the conversation database 230. To add a new user, information identifying the user is entered into a message field 904 of the UI 900 using an @ symbol 905 or other predefined special character followed by a text string 906 that identifies the user, for example, by username. Here, the username of User C has been entered into the text field beginning with the @ symbol.

一実施形態において、ユーザが「Send」ボタン907を選択した後、メッセージはメッセージングサービス(例えば、メッセージングサービス220)に送信される。メッセージングサービスはそれから、例えば図4に示すように、メッセージを解析して、メッセージが所定の@記号905を含むと判定し、メッセージの後続のテキスト906を、ユーザ識別情報として解釈する。次に、メッセージングサービスは、このメッセージをユーザAの、識別されたユーザC(すなわち、新しい参加者)を会話に追加することをシステムに許可する要求として解釈する。他の実施形態も想定されており、例えば、ユーザ装置上のメッセージングアプリケーションは、メッセージを解析し、識別されたユーザC(すなわち、新しい参加者)に会話への加入を許可することをユーザが望んでいることを示すインジケータをメッセージングサービスに送信することができる。言い換えれば、メッセージの処理は部分的にユーザ装置上で行うことができ、処理の一部はメッセージングサービスによって行うことができる。 In one embodiment, after the user selects the "Send" button 907, the message is sent to a messaging service (e.g., messaging service 220). The messaging service then parses the message to determine that it contains a predefined @ symbol 905, as shown in FIG. 4, and interprets the subsequent text of the message 906 as user identification information. The messaging service then interprets the message as a request from User A to authorize the system to add the identified User C (i.e., a new participant) to the conversation. Other embodiments are contemplated, for example, a messaging application on the user device can parse the message and send an indicator to the messaging service indicating that the user wishes to allow the identified User C (i.e., a new participant) to join the conversation. In other words, the processing of the message can be performed partially on the user device and partially by the messaging service.

特定のイベントにおいて、一旦許可されると、クラウドサービスは、会話の属性として、新しい参加者を識別する情報(例えば、新しい参加者のユーザ名)を追加することができる。このために、ユーザは会話901に関連付けられ、該関連付けはデータベース260に格納される。特定のユーザを識別することに関連付けられるインジケータとして、複数の記号、テキスト、キャラクタなどを定義することができることを理解すべきである。この特定の例において、@符号は、新しいユーザを追加するための所定の記号であり、ユーザは新しいユーザ名を「@UserC」として入れ、「@UserC」はメッセージングサービスによって会話901への新しい参加者として認識される。 In a particular event, once permitted, the cloud service can add information identifying the new participant (e.g., the new participant's username) as an attribute of the conversation. To this end, the user is associated with the conversation 901, and the association is stored in database 260. It should be understood that multiple symbols, text, characters, etc. can be defined as indicators associated with identifying a particular user. In this particular example, the @ sign is the predetermined symbol for adding a new user, and the user enters the new username as "@UserC", which is recognized by the messaging service as a new participant in the conversation 901.

図10は、新しい参加者1002(例えば、ユーザC)が会話1001に追加された後のUI1000の視点から見た特性の態様を示す。この例において、図に示されるように、新しい参加者1002のユーザ名が会話1001内のもう1つのメッセージとなる。言い換えれば、新しい参加者が会話1001に追加されたことは、会話1001自体のテキスト内に格納される。したがって、会話1001内のメッセージを解析することによって、会話1001に新しい参加者および他の属性が追加される順序および時間を見分けることができる。例えば、新しい参加ユーザCが追加された後、ユーザ(例えば、ユーザA)は、午後9時31分に、トピック「#tag-patent1」を含むもう1つのメッセージをも会話1001に入れた。したがって、ユーザ(例えば、ユーザA)は、新しいユーザを会話に追加し、メッセージ、例えば、「#tag-patent」、「#tag-patent1」を入れることによって、会話1001に関連付けられる1つ又は複数のトピックを指定することができる。図2に示すように、会話1001内のこれらの特定のメッセージも、トピックデータベース236、ユーザデータベース234などの様々な属性データベースに格納される会話の属性になる。実施形態において、属性は、異なる記号、文字、キャラクタを使用して定義することができ、例えば、ユーザ名または他のユーザ識別情報が入れられることを示すために@を使用し、トピックが会話1001に関連付けられることを示すためにハッシュタグ#を使用することができる。追加の属性を会話に追加するために、他のシンボルを使用することができることが考えられる。 10 shows an aspect of the properties from the perspective of the UI 1000 after a new participant 1002 (e.g., User C) is added to the conversation 1001. In this example, as shown in the figure, the username of the new participant 1002 becomes another message in the conversation 1001. In other words, the addition of a new participant to the conversation 1001 is stored in the text of the conversation 1001 itself. Thus, by analyzing the messages in the conversation 1001, the order and time in which the new participant and other attributes are added to the conversation 1001 can be discerned. For example, after the new participant C is added, the user (e.g., User A) also puts another message to the conversation 1001 at 9:31 pm, including the topic "#tag-patent1". Thus, the user (e.g., User A) can add the new user to the conversation and specify one or more topics to be associated with the conversation 1001 by putting a message, e.g., "#tag-patent", "#tag-patent1". As shown in FIG. 2, these particular messages in Conversation 1001 also become attributes of the Conversation that are stored in various attribute databases, such as topic database 236, user database 234, etc. In an embodiment, attributes may be defined using different symbols, letters, or characters, for example, @ may be used to indicate that a username or other user identification is to be included, and a hashtag # may be used to indicate that a topic is to be associated with Conversation 1001. It is contemplated that other symbols may be used to add additional attributes to a Conversation.

図9~図10はまた、例えば一番左の列909、1009によって示されるように、会話が、トピックでソートすることができることを示している。図示された例は、会話がトピック属性などの属性でソートされる「Feed」ビュー908、1008としてラベル付けされたものを示している。フィードを選択すると、会話の選択されたトピックに関連付けられる要約バージョンで、1つまたは複数の会話のリストが表示される。一実施形態において、会話の要約バージョンを選択すると、選択された会話に関連付けられる1つまたは複数のメッセージが表示される。ここで、例えば、会話の要約バージョン(または要約、サマリー)が表示され、会話の作成者が一番上にリストアップされ、その後に会話内の最初のメッセージ「UserB Hello」910、1010が続き、次に会話内の最後のメッセージ、つまり第2のトピックを追加するためのメッセージ「#tag-patent1」911、1011が続く。会話の要約バージョン(または要約、サマリー)は、ユーザに会話のプレビューを表示し、これにより、ユーザは、自分が会話に関心を持つか否か、会話の要約を選択することによって、会話の全体の内容を概観したいか否かを判定することができる。トピック(UI上のトピックタグとして示される)は、会話の内容の短い記述子として機能する。 9-10 also show that conversations can be sorted by topic, for example, as indicated by the left-most column 909, 1009. The illustrated example shows what is labeled as a "Feed" view 908, 1008 in which conversations are sorted by attributes, such as topic attributes. Selecting a feed displays a list of one or more conversations in an abridged version associated with the selected topic of the conversation. In one embodiment, selecting an abridged version of a conversation displays one or more messages associated with the selected conversation. Here, for example, an abridged version (or summary) of the conversation is displayed, with the creator of the conversation listed at the top, followed by the first message in the conversation, "UserB Hello" 910, 1010, followed by the last message in the conversation, i.e., the message to add a second topic, "#tag-patent1" 911, 1011. The condensed version (or summary) of the conversation gives the user a preview of the conversation, allowing the user to decide whether the conversation is of interest to him or her and whether he or she wants to get an overview of the entire content of the conversation by selecting the conversation summary. Topics (shown as topic tags on the UI) act as short descriptors of the content of the conversation.

他の実施形態において、以下で説明されるように、会話は、1つ又は複数の他のカテゴリおよび分類、「Groups」ビュー912、1012によってソートされてもよく、会話およびメッセージは、それらの会話およびメッセージのそれぞれが対象とあるグループに基づいて編成される。これらは、以下に他の実施形態でさらに説明される。 In other embodiments, as described below, conversations may be sorted by one or more other categories and classifications, the "Groups" view 912, 1012, in which conversations and messages are organized based on the groups to which each of those conversations and messages is directed. These are further described in other embodiments below.

図11は、トピックタグを会話に追加し、新しいメッセージを会話に追加するための実施形態を示す図である。前述したように、トピックに対応するトピックタグは、たとえば、フィードビューで使用され、会話のソート、管理、及び選択を容易にする会話の属性である。1つまたは複数のトピックは、このようなトピックタグを介して会話に関連付けることができる。限定ではなく、一例として、トピックタグは、後続のテキストにトピックが含まれることを示す先頭キャラクタを持つテキスト文字列とすることができる。この実施形態において、ハッシュ記号すなわち「#」は、トピックを表すためにメッセージングサービスによって認識される所定のキャラクタである。ユーザ(すなわち参加者)は会話を開始することができる。この例において、ユーザはまた、1110において、トピックを会話に追加する。次に、チャットサービス222は、新しい会話の指示を受信し、トピックの存在を検出するためにメッセージを解析することができる。上記で説明したように、メッセージの解析は、メッセージングサービス(例えば、メッセージングサービス220)によって、ユーザ装置(例えば、ユーザ装置242)上のメッセージングアプリケーション(例えば、メッセージングアプリケーション240)によって、またはこれら2つの何らかの組み合わせによって行うことができる。メッセージ、例えばトピックを含むメッセージを入れることによって会話が開始された後、任意の他のユーザ、すなわち参加者が会話の関連属性であるか否かを判定するために、ルックアップ830が実行される。ルックアップは、会話データベース230、グループデータベース232、ユーザデータベース234、およびトピックデータベース236などのデータベース260の1回または複数回の検索によって行うことができる。 FIG. 11 illustrates an embodiment for adding a topic tag to a conversation and adding a new message to a conversation. As previously described, topic tags corresponding to topics are attributes of a conversation that are used, for example, in a feed view to facilitate sorting, managing, and selecting conversations. One or more topics can be associated with a conversation via such topic tags. By way of example and not limitation, a topic tag can be a text string with a leading character that indicates that the following text contains a topic. In this embodiment, a hash symbol or "#" is a predefined character recognized by the messaging service to represent a topic. A user (i.e., a participant) can initiate a conversation. In this example, the user also adds a topic to the conversation at 1110. The chat service 222 can then receive an indication of the new conversation and parse the message to detect the presence of the topic. As discussed above, parsing the message can be done by a messaging service (e.g., messaging service 220), by a messaging application (e.g., messaging application 240) on a user device (e.g., user device 242), or by some combination of the two. After a conversation is initiated by posting a message, e.g., a message including a topic, a lookup 830 is performed to determine whether any other users, i.e., participants, are relevant attributes of the conversation. The lookup may be performed by one or more searches of databases 260, such as the conversation database 230, the group database 232, the user database 234, and the topic database 236.

一旦、関連ユーザ(すなわち、会話の参加者)が識別されると、840において、様々なデータベースに格納され追跡されたすべての参加者のトピックタグ分類に、該会話は追加される。言い換えれば、新しい会話と指定されたトピックタグとの間の関連付けを格納することができ、トピックタグに関連付けられ、会話にも関連付けられるすべてのユーザを関連付けるように、関連付けを格納することができる。したがって、会話は、トピックタグに関連して、すべての参加者1150について要約される。たとえば、ユーザが会話に追加された場合、ユーザは最初と最後のメッセージからなるトピックの要約バージョンを受信することができる。プッシュサービス224は、このようなメッセージをさらに処理し、1152において、メッセージを例えばユーザディスプレイ上に出力し、それぞれのユーザに送信し、既存のタグおよび新しいタグのそれぞれのビューを、例えばこのようなタグでソートされた会話のフィードビュー内で、更新することを可能にすることができる。 Once relevant users (i.e., participants in the conversation) are identified, the conversation is added at 840 to the topic tag taxonomy of all participants stored and tracked in various databases. In other words, an association between the new conversation and the specified topic tag can be stored, and the association can be stored to associate all users associated with the topic tag and also associated with the conversation. Thus, the conversation is summarized for all participants 1150 in relation to the topic tag. For example, when a user is added to a conversation, the user can receive a summarized version of the topic consisting of the first and last messages. The push service 224 can further process such messages and send them to the respective users at 1152, for example, on a user display, allowing the respective views of existing and new tags to be updated, for example, in a feed view of the conversation sorted by such tags.

図11に示す別の実施形態において、トピックタグ特性は既存の会話に組み込まれる。例えば、1115において、トピック指示を含む新しいメッセージを既存の会話に追加することができる。先に説明されたプロセスと同様に、トピックを示す情報を含むメッセージの受信により、1135において、会話内のすべての参加者のルックアップを引き起こす。トピックと会話との間の関連付け、および参加者とトピックとの間の関連付けは、会話データベース230、トピックデータベース236、ユーザデータベース234、グループデータベース232、および電子メールユーザデータベース237などのデータベース260に格納することができる。1145において、他の既存のトピックタグのルックアップを行うことで、例えば、会話内に存在し、会話に関連付けられている複数のトピックタグがある場合、そのトピックが新しいトピックであるか否かを判定することができる。1156において、メッセージングサービス220、例えば、プッシュサービス224は、次に、メッセージおよび新しいトピックに対応する新しいトピックタグをそれぞれの参加者にプッシュする。 In another embodiment shown in FIG. 11, topic tag characteristics are incorporated into an existing conversation. For example, at 1115, a new message including a topic indication can be added to an existing conversation. Similar to the process described above, receipt of a message including information indicating a topic triggers a lookup of all participants in the conversation at 1135. Associations between topics and conversations and between participants and topics can be stored in databases 260, such as conversation database 230, topic database 236, user database 234, group database 232, and email user database 237. At 1145, a lookup of other existing topic tags can be performed to determine whether the topic is a new topic, for example, if there are multiple topic tags present in the conversation and associated with the conversation. At 1156, messaging service 220, e.g., push service 224, then pushes the message and the new topic tag corresponding to the new topic to each participant.

これらの技術の一例を、図12~図13のユーザインターフェースの例を用いて説明する。図12は、トピックタグのリスト1215を提供するメッセージングアプリケーションの一例のフィードビュー1208を示す。この例において、会話1201には、所定のキャラクタ「#」で始まるトピックを含むメッセージ「#tag-patent」が含まれる。前述したように、トピックを表す所定のキャラクタは、%記号などの任意の他の特殊キャラクタであってもよい。メッセージングサービスによって、メッセージが所定のキャラクタ#を含むと判定することと、データベース260を検索することとに基づいて、メッセージが新しいトピックを含むと判定した場合、会話は、該新しいトピックに関連付けられる会話リストに追加される。したがって、メッセージングアプリケーション(例えば、メッセージングアプリケーション240)のUIを介してフィードビュー1208から対応するトピックタグが選択された場合、現在の会話1201および新しいトピックに関連付けられる他のすべての会話は、会話のすべての参加者によって容易に閲覧、編成することができる。 An example of these techniques is described with the example user interface of FIGS. 12-13. FIG. 12 shows a feed view 1208 of an example messaging application that provides a list of topic tags 1215. In this example, a conversation 1201 includes a message "#tag-patent" that includes a topic that begins with a predefined character "#". As previously described, the predefined character representing a topic may be any other special character, such as a % symbol. If the messaging service determines that the message includes a new topic based on determining that the message includes the predefined character # and searching the database 260, the conversation is added to a conversation list associated with the new topic. Thus, when a corresponding topic tag is selected from the feed view 1208 via the UI of the messaging application (e.g., messaging application 240), the current conversation 1201 and all other conversations associated with the new topic can be easily viewed and organized by all participants of the conversation.

図13は、この構想、およびトピックに基づいて会話をソートする能力をさらに示す。ここで、ユーザは、UI1300の一番左の列1315内でトピックタグ「#tag-patent」1316を選択している。これによって、メッセージングサービスは、ユーザおよび選択されたトピックに関連する各会話の要約バージョンをプッシュする。トピックタグ「#tag-patent」1316が選択されると、メッセージングサービスはまた、UI1300の一番右のエリア1325に、対応する会話内のメッセージを表示させるために、該会話の内容をプッシュする。そして、関連性のない他の会話を表示せずに、これらの会話をフィードビュー1308に表示させる。フィードビュー1308に表示されるトピックタグの順序は、各トピックの優先度や重要度などのユーザプリファレンスに応じて配置することができる。各トピックタグに関連付けられる会話は、1つまたは複数の変数、例えば時間、最後に受信したメッセージ、優先度、ユーザプリファレンスなどに基づいて、ソートすることもできる。同様に、各会話は複数のメッセージを含み、特定の会話に関連付けられるユーザは、メッセージを閲覧し、メッセージを送信し、本明細書で説明される追加のユーザ、トピック、グループなどの属性を追加することができる。 13 further illustrates this concept and the ability to sort conversations based on topic. Here, the user has selected the topic tag "#tag-patent" 1316 in the leftmost column 1315 of the UI 1300. This causes the messaging service to push an abridged version of each conversation related to the user and the selected topic. When the topic tag "#tag-patent" 1316 is selected, the messaging service also pushes the contents of the corresponding conversation to the rightmost area 1325 of the UI 1300 for displaying messages in that conversation. These conversations are then displayed in the feed view 1308 without displaying other conversations that are not related. The order of topic tags displayed in the feed view 1308 can be arranged according to user preferences such as the priority or importance of each topic. The conversations associated with each topic tag can also be sorted based on one or more variables, such as time, last message received, priority, user preference, etc. Similarly, each conversation contains multiple messages, and users associated with a particular conversation can view messages, send messages, and add attributes such as additional users, topics, groups, etc., as described herein.

様々な実施形態において、ユーザは、属性を含むことができる1つまたは複数のメッセージからなる会話を生成することができる。メッセージを解析し、1つ又は複数のメッセージが解析されたことに基づいて、メッセージが属性、例えばユーザ、トピック、グループなどを示す文字列を含むと判定することができる。属性は、トピックを示す情報と会話との間の関連付けとして、少なくとも1つのデータベースに格納することができる。メッセージングアプリケーション(例えば、メッセージングアプリケーション240)からトピックの選択を示す入力を受け取ることに応じて、メッセージングサービス(例えば、メッセージングサービス220)によって、該トピックに関連付けられる会話の少なくともサブセットを、表示用にメッセージングアプリケーション240に送信する。 In various embodiments, a user may generate a conversation consisting of one or more messages, which may include attributes. The messages may be analyzed to determine that the messages include strings indicative of attributes, such as a user, a topic, a group, etc., based on the analyzed message or messages. The attributes may be stored in at least one database as an association between information indicative of a topic and the conversation. In response to receiving input from a messaging application (e.g., messaging application 240) indicating a selection of a topic, a messaging service (e.g., messaging service 220) transmits at least a subset of the conversations associated with the topic to messaging application 240 for display.

追加の実施形態において、メッセージングサービスはさらに、トピックに関連する情報を含む少なくとも1つのデータベースを検索することによって、トピックが新しいと判定し、トピックが新しいという判定に基づいて、該トピックを示す情報を該少なくとも1つのデータベースに格納することができる。別の例において、会話内の第2のメッセージを解析することができる。第2のメッセージが第2のユーザを識別する情報を含むと判定し、その結果、第2のユーザにメッセージを会話に追加することを許可することができる。トピックを示す情報は、例えば、1つ又は複数の他のユーザによって操作される1つ又は複数のメッセージングアプリケーションに送信されてもよく、データベースは、各会話に関連付けられるトピックのような複数の属性に加えて、複数の会話を格納してもよい。 In additional embodiments, the messaging service may further determine that the topic is new by searching at least one database containing information related to the topic, and store information indicative of the topic in the at least one database based on a determination that the topic is new. In another example, a second message in the conversation may be analyzed. It may be determined that the second message contains information identifying the second user, and as a result, the second user may be permitted to add the message to the conversation. The information indicative of the topic may be transmitted, for example, to one or more messaging applications operated by one or more other users, and the database may store multiple conversations in addition to multiple attributes, such as a topic, associated with each conversation.

少なくとも1つのデータベースと、該少なくとも1つのデータベースと通信し、動作を実行するように構成された少なくとも1つのコンピューティング装置とを含むことができるメッセージングサービスを使用することによって、1つ又は複数の特性および機能を実現することができる。さらに、処理の様々な態様は、メッセージングアプリケーションとメッセージングサービスとの間で分割することができる。いくつかの実施形態において、メッセージングアプリに動作を実行させることが好ましく、他の実施形態において、サービスによって同じ動作を実行させてもよい。 One or more features and functions may be achieved through the use of a messaging service that may include at least one database and at least one computing device configured to communicate with the at least one database and perform operations. Furthermore, various aspects of processing may be split between a messaging application and a messaging service. In some embodiments, it may be preferable to have a messaging app perform the operations, while in other embodiments, the same operations may be performed by a service.

フィードビュー1308において、例えば、アイコン、例えば「Start a Conversation」アイコン1317を選択することによって、会話を開始することができる。他のメッセージングアプリケーションとは異なり、会話はユーザだけではなく、トピックで編成されてもよい。トピックは、会話の最初にユーザによって定義することができる。例えば、会話1301を開始する作成者ユーザは、会話1301にトピックを割り当てることができる。トピックは、会話の他の段階で他の参加者によって定義することもできる。トピックは、「#」記号などの特殊キャラクタやタグで表すことができる。作成者ユーザは、それから、会話に追加の参加者を追加してもよく、または、会話を独りで続行してもよい。 In the feed view 1308, a conversation can be started, for example, by selecting an icon, such as the "Start a Conversation" icon 1317. Unlike other messaging applications, conversations may be organized by topics, not just by users. Topics can be defined by the user at the beginning of the conversation. For example, the creator user who starts a conversation 1301 can assign a topic to the conversation 1301. Topics can also be defined by other participants at other stages of the conversation. Topics can be represented by special characters, such as the "#" symbol, or tags. The creator user may then add additional participants to the conversation or continue the conversation alone.

「Feed」ビュー1308には、1つまたは複数のパネル1315、1318、1320を表示することが可能である。パネルは、開かれた(例えば、展開された)会話パネル1318を含むことができる。参加者は、例えば、入力フィールド1304内でメッセージを入れることによって、開かれた会話パネル1318内で通信することができる。入れられたメッセージは、例えばそれらが送信された順序、入れられた順序、または受信された順序で、会話1301のログまたはフィード1319として表示することができる。メッセージが送信され、入れられ、または受信された時刻を示すために、タイムスタンプを会話1301内でメッセージの近くに表示させてもよい。メッセージを入れた参加者のユーザ名は、会話内でメッセージの横に表示されてもよい。 The "Feed" view 1308 may display one or more panels 1315, 1318, 1320. The panels may include an open (e.g., expanded) conversation panel 1318. Participants may communicate in the open conversation panel 1318, for example, by posting messages in the input field 1304. Posted messages may be displayed as a log or feed 1319 of the conversation 1301, for example, in the order in which they were sent, posted, or received. A timestamp may be displayed adjacent to the message in the conversation 1301 to indicate the time the message was sent, posted, or received. The username of the participant who posted the message may be displayed next to the message in the conversation.

パネルは、折り畳まれた会話パネル1320を含むことができる。折り畳まれた会話パネル1320は、開かれた会話パネル1318に隣接することができる。折り畳まれた会話パネル1320は、会話のプレビュー1321a、1321b、例えば会話の最初のメッセージ、会話のタイトル、会話の最後のメッセージ、および/または会話内の未読メッセージ数など、を示すことができる。 The panels can include a collapsed conversation panel 1320. The collapsed conversation panel 1320 can be adjacent to the open conversation panel 1318. The collapsed conversation panel 1320 can show a preview 1321a, 1321b of the conversation, such as the first message in the conversation, the title of the conversation, the last message in the conversation, and/or the number of unread messages in the conversation.

図14~図19は、グループ(例えば、ユーザグループ)のコンテキストにおける参加者間のインタラクションの態様、およびメッセージングサービスおよびアプリケーションがグループに関連するメッセージおよび会話を分類、編成、および出力することができる様々な技術および実施形態を示す。図14~図19は単に例示的なものであり、他の適切な方法でグループを作成し、会話に加入することができることを理解すべきである。 FIGS. 14-19 illustrate aspects of interactions between participants in the context of a group (e.g., a user group) and various techniques and embodiments by which messaging services and applications can categorize, organize, and output messages and conversations related to the group. It should be understood that FIGS. 14-19 are merely exemplary and that groups can be created and conversations can be joined in other suitable ways.

図14は既存のグループまたは新たに作成されたグループを会話に招待し、新しいグループを作成するための態様を示す。1405において、既存のグループまたは新たに作成されたグループを任意の会話に加入するように招待することができる。限定ではなく、一例として、属性として、複数のメンバを含むグループを複数の会話に参加するように招待し、許可することができる。グループ属性も、同一の会話に複数のグループ参加者を有することを可能にする。追加として、会話のグループ参加者は、会話の内容をグループのすべてのメンバに一度にプッシュすることを可能にする。したがって、本メッセージングサービスは、従来のメッセージングシステムと比較して、より高い柔軟性と効率を提供する。 FIG. 14 illustrates aspects for inviting an existing or newly created group to a conversation and creating a new group. At 1405, an existing or newly created group can be invited to join any conversation. By way of example and not limitation, as an attribute, a group with multiple members can be invited and allowed to participate in multiple conversations. The group attribute also allows having multiple group participants in the same conversation. Additionally, group participants in a conversation can push the contents of the conversation to all members of the group at once. Thus, the messaging service provides greater flexibility and efficiency compared to conventional messaging systems.

任意の会話の参加者によって、グループのグループ名を検索することで、該グループを招待することができる。限定ではなく、一例として、グループを会話に招待するように示すユーザ入力を受け取ることに応じて、メッセージングサービスは、グループと会話との間の関連付けを、会話データベース230およびグループデータベース232などのデータベース260に格納する。 A group can be invited by any conversation participant by searching for the group's group name. By way of example and not limitation, in response to receiving user input indicating to invite a group to a conversation, the messaging service stores an association between the group and the conversation in a database 260, such as conversation database 230 and group database 232.

1406において、会話に関連付けられる情報は、グループデータベース232および検索インデックスデータベース252などのデータベース260において、グループのすべてのメンバについて記録することができる。会話に関連付けられる情報は、会話内のメッセージ、会話の属性、および会話に関連付けられる任意の他の情報を含むことができる。会話に関連付けられる情報は、プッシュサービス224に送信することができる。 At 1406, information associated with the conversation can be recorded for all members of the group in a database 260, such as the group database 232 and the search index database 252. The information associated with the conversation can include messages in the conversation, attributes of the conversation, and any other information associated with the conversation. The information associated with the conversation can be sent to the push service 224.

1407において、グループが会話に参加するように招待された後、会話内のメッセージの少なくともサブセットが、グループのすべてのメンバにプッシュされる。メッセージは、プッシュサービス224によってプッシュすることができる。メッセージをプッシュすることは、メンバに、例えば、メンバの装置にメッセージを送信することを含むことができる。メッセージをプッシュすることは、メンバに関連付けられるメッセージングアプリケーションのUI内にメッセージを表示させることを含むことができる。 At 1407, after the group has been invited to join the conversation, at least a subset of the messages in the conversation are pushed to all members of the group. The messages may be pushed by push service 224. Pushing the messages may include sending the messages to the members, for example, to the members' devices. Pushing the messages may include causing the messages to be displayed in the UI of a messaging application associated with the members.

図16は、メッセージングアプリケーションのUI内のグループビュー1600の態様を示す。グループビュー1600において、ユーザが属するグループがユーザに表示される。図16には、ユーザが属する8つのグループがリストアップされている。実施形態によれば、グループはリストに表示される。グループ表示は、グループの属性と、1つ又は複数の選択可能なインターフェースエレメント(例えば「Edit」および「Delete」などの選択可能なボタン)を表示する。属性には、グループ名1601が含まれる。図16は、「Group1」、「Group2」、「Group3」等を含むグループ名を示している。グループに関連付けられる情報は、メッセージングサービス(例えば、メッセージングサービス220)に送信され、メッセージングサービス220によってデータベース260(例えば、グループデータベース232、検索インデックスデータベース252等)内で維持される。 16 illustrates aspects of a group view 1600 in a messaging application UI. In the group view 1600, the groups to which the user belongs are displayed to the user. FIG. 16 lists eight groups to which the user belongs. According to an embodiment, the groups are displayed in a list. The group view displays attributes of the group and one or more selectable interface elements (e.g., selectable buttons such as "Edit" and "Delete"). Attributes include the group name 1601. FIG. 16 illustrates group names including "Group1", "Group2", "Group3", etc. Information associated with the groups is sent to a messaging service (e.g., messaging service 220) and maintained by the messaging service 220 in a database 260 (e.g., group database 232, search index database 252, etc.).

一旦、グループが会話への参加を許可されると、グループと会話との間の関連付けがデータベース260に格納される。例えば、メッセージングサービス220は、会話のスレッド識別情報(ID)とグループのグループ識別情報(ID)とをグループデータベース232に格納する。限定ではなく、一例として、グループと会話との間の関連付けは、会話のスレッドIDおよびグループIDに基づいて識別することができる。メッセージングサービスは、グループに関連付けられる情報に基づいて検索インデックスを生成し、該検索インデックスを検索インデックスデータベース252などのデータベース260に格納することができる。グループのすべてのメンバと会話との間の関連付けは、検索インデックスに基づいて判定されてもよく、関連付けはデータベース260に格納されてもよい。グループおよびグループのメンバに関連付けられる情報は、データベース260から取り戻すことができるため、取り戻された情報に基づいて、グループ(すなわち、会話のグループ参加者)のすべてのメンバに関連付けられた表示のために、会話内のメッセージをメッセージングアプリケーションに送信することができる。 Once a group is admitted to a conversation, an association between the group and the conversation is stored in database 260. For example, messaging service 220 stores a thread identification (ID) of the conversation and a group identification (ID) of the group in group database 232. By way of example and not limitation, an association between a group and a conversation can be identified based on the thread ID and group ID of the conversation. The messaging service can generate a search index based on the information associated with the group and store the search index in database 260, such as search index database 252. An association between all members of the group and the conversation can be determined based on the search index and the association can be stored in database 260. Information associated with the group and the members of the group can be retrieved from database 260, such that messages in the conversation can be sent to a messaging application for display associated with all members of the group (i.e., group participants of the conversation) based on the retrieved information.

グループが会話に参加するように(つまり、グループ参加者として)招待された後、任意の特定の個別メンバが他の参加者によって会話に招待され、または会話に直接参加しない限り(例えば、会話にメッセージを投稿しない限り)、グループの個別メンバの識別情報は、表示のために会話の参加者に関連付けられるメッセージングアプリケーションに送信されないようにしてもよい。グループの任意の特定の個別メンバが、他の参加者によって会話に招待された場合、または会話に直接参加する場合、該特定の個別メンバの識別情報を、会話参加者に関連付けられるメッセージングアプリケーションに送信して、該特定の個別メンバの識別情報を表示させる。さらに、該特定の個別メンバは、グループが会話から削除された後であっても、引き続き個別参加者として会話に参加することができる。他の参加者によって会話に招待されていない、または会話に直接参加していないグループの任意の他のメンバは、グループが会話から削除された後、または個別のメンバがグループから削除された後、会話内のそれ以上のメッセージを受信することはない。 After a group is invited to participate in a conversation (i.e., as a group participant), the identity of the group's individual members may not be sent to a messaging application associated with the conversation participants for display unless any particular individual member is invited to the conversation by other participants or directly participates in the conversation (e.g., posts a message to the conversation). If any particular individual member of a group is invited to the conversation by other participants or directly participates in the conversation, the identity of the particular individual member is sent to a messaging application associated with the conversation participants to display the identity of the particular individual member. Furthermore, the particular individual member may continue to participate in the conversation as an individual participant even after the group is removed from the conversation. Any other members of the group who are not invited to the conversation by other participants or who are not directly participating in the conversation will not receive any further messages in the conversation after the group is removed from the conversation or the individual member is removed from the group.

以下でさらに説明するように、メンバをグループに追加したり、グループから削除したりすることができる。グループの編集(例えば、メンバの追加または削除)を示す情報を受信すると、メッセージングサービス(例えば、メッセージングサービス220)は、データベース260(例えば、グループデータベース232および検索インデックスデータベース252)を更新する。メッセージングサービス220は、データベース260を検索して、どのメンバが現在のグループに含まれているかを決定し、該グループがグループ参加者として参加している会話内の任意のメッセージを、現在の該グループ内のメンバに送信する。該グループの任意の以前の個別メンバが、該個別メンバがグループから削除される前に、既に他のメンバによって該会話に招待された、又は該会話に直接参加した場合、以前の個別メンバは、個別参加者として引き続き会話に参加することができる。メッセージングサービス220は、現在個別参加者として以前の個別メンバに、会話内のメッセージを引き続き送信することができる。 As described further below, members can be added to or removed from groups. Upon receiving information indicating an edit to a group (e.g., adding or removing a member), the messaging service (e.g., messaging service 220) updates database 260 (e.g., group database 232 and search index database 252). The messaging service 220 searches database 260 to determine which members are included in the current group and sends any messages in a conversation in which the group participates as a group participant to the current members in the group. If any previous individual members of the group were already invited to the conversation by other members or directly participated in the conversation before the individual members were removed from the group, the previous individual members may continue to participate in the conversation as individual participants. The messaging service 220 may continue to send messages in a conversation to the previous individual members, now as individual participants.

グループの属性は、グループプライバシ設定1602を含むことができる。図16に示すように、グループ「Group1」はプライベートである。グループ「Group2」もプライベートである。プライバシ設定も、グループデータベース232などのデータベース260内で維持することができる。任意のプライベートグループについても、プライベートグループのメンバのみ、該プライベートグループにアクセスすることが可能である。プライベートグループとは異なり、パブリックグループはグループ内のメンバに限定されない。代わりに、パブリックグループは、会話の任意の参加者、または少なくともメッセージングサービス(例えば、メッセージングサービス220)に登録されている他のユーザのサブセットによってアクセスすることが可能である。 Attributes of a group may include group privacy settings 1602. As shown in FIG. 16, group "Group1" is private. Group "Group2" is also private. Privacy settings may also be maintained in a database 260, such as group database 232. For any private group, only members of the private group may access the private group. Unlike private groups, public groups are not limited to members in the group. Instead, public groups may be accessed by any participant in the conversation, or at least a subset of other users registered with the messaging service (e.g., messaging service 220).

グループの属性は、人1603(例えば、グループのメンバ)を含むこともできる。図16は10人のメンバを有するグループ「Group1」を示す。「Group2」は3人のメンバを有する。グループビューにおいて、各グループのメンバは、例として、ユーザ装置(例えば、ユーザ装置242)および/またはメッセージングサービス220のデータベース260に維持することができる、メンバのプロファイル画像、アカウントアバタ、ユーザ名、および/またはハンドルによって表すことが可能である。 Attributes of a group can also include people 1603 (e.g., members of the group). FIG. 16 shows a group "Group1" with 10 members. "Group2" has 3 members. In the group view, the members of each group can be represented by the members' profile pictures, account avatars, usernames, and/or handles, which can be maintained on the user device (e.g., user device 242) and/or in database 260 of messaging service 220, by way of example.

グループビューには、ユーザがそれらのグループを管理するための機能が含まれている。上述した、特に図15に示された、新しいグループを作成する特性に加えて、これらの特性は、作動1605を含むことができる。作動1605は、ユーザが属性、例えば名前、プライバシ設定、およびグループのメンバ(例えば、メンバの追加または除去)などを変更することを可能にする「edit」オプションを含む。ユーザが編集オプションを選択することに応じて、図12のウィンドウ1203のようなウィンドウが表示される。このウィンドウには、メンバを追加または削除するオプションが含まれる。作動1605は、さらに、ユーザがグループを削除することを可能にする「delete」オプションを含むことができる。 The group view includes features that allow the user to manage their groups. In addition to the features for creating new groups, as described above and particularly shown in FIG. 15, these features may include actions 1605. Actions 1605 include an "edit" option that allows the user to change attributes, such as the name, privacy settings, and members of the group (e.g., adding or removing members). In response to the user selecting the edit option, a window such as window 1203 of FIG. 12 is displayed. This window includes options for adding or deleting members. Actions 1605 may further include a "delete" option that allows the user to delete the group.

限定ではなく、一例として、1401において、新しいグループを作成することができる。新しいグループは複数のメンバを含む。グループは、メッセージングサービス220のグループサービス251によって作成することができる。メッセージングサービス220はまた、該新しいグループのためのグループIDを作成することができる。グループは、ユーザ入力に基づいて作成することができる。ユーザ入力は、メッセージングアプリケーションのUIのグループビュー、例えば図15のグループビュー1501を介して受け取ることができる。ユーザは、フィードビュー1502からグループビュー1501に切り替えることができる。グループビューにおいて、会話の参加者は「New Group」アイコン1507を選択できる。ユーザがアイコン1507を選択することに応じて、新しいグループを作成するためのオプションを有するUI(例えば、ウィンドウ1503)が表示される。新しいグループは、UI(例えば、ウィンドウ1503)を介して作成することができる。 By way of example and not limitation, at 1401, a new group may be created. The new group includes multiple members. The group may be created by the group service 251 of the messaging service 220. The messaging service 220 may also create a group ID for the new group. The group may be created based on user input. The user input may be received via a group view of the UI of the messaging application, such as group view 1501 of FIG. 15. The user may switch from feed view 1502 to group view 1501. In the group view, a participant of the conversation may select a "New Group" icon 1507. In response to the user selecting icon 1507, a UI (e.g., window 1503) is displayed having an option to create a new group. The new group may be created via the UI (e.g., window 1503).

オプションにはプライバシ設定1504が含まれる。プライバシ設定1504は、スライド可能なアイコンや切り替え可能なアイコンなどのプライバシオプションを有するアイコン1508の選択によって選択される。一実施形態において、プライベートグループは、メッセージングプラットフォーム全体にわたって他のユーザによって検索不可能である。他の実施形態において、非プライベートグループが発見され、そのため属性などに関連付けられる様々な会話に追加される。 The options include privacy settings 1504, which are selected by selection of an icon 1508 having privacy options, such as a slideable icon or a toggleable icon. In one embodiment, private groups are not searchable by other users across the messaging platform. In other embodiments, non-private groups may be discovered and added to various conversations, so associated attributes, etc.

オプションには、グループ名1505が含まれる。入力フィールド1509にテキストの文字列を入れることで、グループ名1505を入れる。図15に示すように、入力フィールド1509には、グループ名「Patent Team」が入れられる。グループ名1505は、グループを他のグループから区別する。グループのグループ名1505で該グループを検索することができる。 Options include a group name 1505. The group name 1505 is entered by entering a string of text in input field 1509. As shown in FIG. 15, the group name "Patent Team" is entered in input field 1509. The group name 1505 distinguishes the group from other groups. A group can be searched for by its group name 1505.

オプションには、グループ内のユーザ(つまり、メンバ)1506が含まれる。図15は、5つのメンバを有するPatent Teamグループを示す。グループ内のメンバ1506を識別する情報を検索することにより、メンバ1506を招待(例えば、追加)する。限定ではなく、一例として、グループのメンバ1506を識別する情報は、任意のメンバに関連付けられるユーザ名、任意のメンバに関連付けられるエンティティ内のアカウント、任意のメンバに関連付けられる電子メールアドレス、または任意のメンバに関連付けられる電話番号を含むことができる。グループメンバの識別情報を受信すると、メッセージングサービス220は、グループデータベース232と検索インデックスデータベース252などのデータベース260にメンバの識別情報を格納することができる。 Options include users (i.e., members) 1506 in the group. FIG. 15 shows a Patent Team group with five members. Members 1506 are invited (e.g., added) by retrieving information identifying the members 1506 in the group. By way of example and not limitation, information identifying the members 1506 of the group may include a username associated with any member, an account within an entity associated with any member, an email address associated with any member, or a phone number associated with any member. Upon receiving the identification information of the group members, the messaging service 220 may store the identification information of the members in a database 260, such as the group database 232 and the search index database 252.

入力フィールド1510にテキスト文字列を入れることにより、メンバ1506を追加する。例えば、図15は、「Patent Team」グループに招待するために、「UserC」という名前のメンバを検索することを示している。ウィンドウには、グループへの招待対象として選択されたメンバの数1511が示されている。ウィンドウで選択されるオプションは、グループの属性及び/又は関連付けである。 Add members 1506 by entering a text string in the input field 1510. For example, FIG. 15 shows searching for a member named "User C" to invite to the "Patent Team" group. The window shows the number of members 1511 selected to be invited to the group. The options selected in the window are group attributes and/or associations.

グループは、UI内の「Cancel」ボタン1507を選択することによりキャンセルすることができる。グループは、UI内の「Save」ボタン1508を選択することにより保存することができる。グループが保存されたことに応じて、グループの属性および関連付けをデータベースに保存することができる。 The group can be canceled by selecting the "Cancel" button 1507 in the UI. The group can be saved by selecting the "Save" button 1508 in the UI. Once the group is saved, the group's attributes and associations can be saved to the database.

図14に戻り、1402において、グループ情報(例えば、属性、関連付け)を、図2のグループデータベース232などの1つまたは複数のデータベース260に記録(例えば、保存、格納)する。グループ情報は、グループサービス251によって記録することができる。データベースは、会話データベース230、グループデータベース232、ユーザデータベース234、および/または検索インデックスデータベース252を含むことができる。 Returning to FIG. 14, at 1402, group information (e.g., attributes, associations) is recorded (e.g., saved, stored) in one or more databases 260, such as group database 232 of FIG. 2. The group information may be recorded by group service 251. The databases may include conversation database 230, group database 232, user database 234, and/or search index database 252.

1403において、検索情報のインデックスを格納するために、検索インデックスを構築する。検索インデックスは、グループサービス251によって構築することができる。検索インデックスは、会話データベース230、トピックデータベース236、グループデータベース232、およびユーザデータベース234などの他のデータベースと関連して動作することができる。検索インデックスは、メッセージングサービスがメッセージおよび会話に関連付けられる属性(例えば、グループ属性)を検索することを可能にする。検索インデックスにより、アクセス許可の管理が可能になる。検索インデックスに基づいて、グループメンバは特定の会話とメッセージにアクセスできる。 At 1403, a search index is constructed to store an index of search information. The search index may be constructed by the group service 251. The search index may operate in conjunction with other databases such as the conversation database 230, the topic database 236, the group database 232, and the user database 234. The search index allows the messaging service to search attributes associated with messages and conversations (e.g., group attributes). The search index allows management of access permissions. Based on the search index, group members can access specific conversations and messages.

1404において、グループに関連付けられる情報を、表示のために、会話の参加者に関連付けられるメッセージングアプリケーションに出力することができる。グループ情報を出力することは、グループの指示を参加者に、例えば、参加者の装置に送信することを含むことができる。図16に示すように、グループ情報を出力することは、メッセージングアプリケーションのUIを介してグループ情報を表示させることを含むことができる。 At 1404, information associated with the group may be output for display to a messaging application associated with a participant of the conversation. Outputting the group information may include sending an indication of the group to the participant, e.g., to a device of the participant. As shown in FIG. 16, outputting the group information may include causing the group information to be displayed via a UI of the messaging application.

図17は、既存のグループに新しいメンバを追加するための態様1700を示す。1701において、新しいメンバを既存のグループに追加する。ユーザ入力の受け取りに応じて、新しいメンバを既存のグループに追加することができる。ユーザは、UIのグループビューで「edit」アイコンのうちの1つを選択することにより、入力を入れることができる。グループの現在メンバのリストをウィンドウに表示させることができる。ユーザは、グループのメンバではないユーザの名前を検索し、新しいメンバをグループに招待するように選択することができる。 Figure 17 illustrates an aspect 1700 for adding a new member to an existing group. At 1701, a new member is added to an existing group. In response to receiving user input, a new member may be added to an existing group. The user may enter the input by selecting one of the "edit" icons in the group view of the UI. A window may display a list of the current members of the group. The user may search for the name of a user who is not a member of the group and select to invite the new member to the group.

メッセージングサービスのグループサービス251は、既存のグループに新しいメンバを追加することができる。グループサービス251は、ユーザ入力の受け取りに基づいて、新しいメンバを追加することができる。グループサービス251は、新しいメンバとグループとの関連付けを1つまたは複数のデータベース260に保存することができる。例として、データベース260は、会話データベース230、グループデータベース232、ユーザデータベース234、トピックデータベース236、および/または検索インデックスデータベース252を含むことができる。 The messaging service's group service 251 can add new members to existing groups. The group service 251 can add new members based on receiving user input. The group service 251 can store the association of the new members with the groups in one or more databases 260. By way of example, the databases 260 can include the conversation database 230, the group database 232, the user database 234, the topic database 236, and/or the search index database 252.

1702において、関連付けられる会話、トピックタグなど、グループに関連する情報のルックアップを実行する。グループ属性には、既存のグループメンバなどが含まれる。ルックアップは、1つまたは複数のデータベース260にクエリを送信することによって実行する。新しいメンバについて属性をインポートする。属性をインポートすることは、属性をローカルに、例えばグループサービス251のメモリに格納することと、新しいメンバ属性をグループデータベース232に格納することとを含むことができる。 At 1702, perform a lookup of information related to the group, such as associated conversations, topic tags, etc. Group attributes include existing group members, etc. The lookup is performed by sending a query to one or more databases 260. Import attributes for the new member. Importing attributes can include storing attributes locally, e.g., in memory of the group service 251, and storing the new member attributes in the group database 232.

1703において、グループに関連付けられる会話を新しいメンバに出力する。会話は、プッシュサービス224によって出力することができる。会話を出力することは、グループに関連付けられる様々な会話に含まれるメッセージを新しいメンバに、例えば、新しいメンバの装置に送信することを含むことができる。会話を出力することは、メッセージングアプリケーションのUIを介して新しいメンバに会話を表示させることを含むことができる。 At 1703, conversations associated with the group are output to the new member. The conversations may be output by push service 224. Outputting the conversations may include sending messages contained in various conversations associated with the group to the new member, for example, to the new member's device. Outputting the conversations may include having the new member view the conversations via a messaging application UI.

1704において、グループのメンバを発見する。グループのメンバは、グループサービス251および/またはプッシュサービス224によって発見することができる。グループのメンバは、データベース260にクエリすることにより発見することができる。グループサービス251は、グループのメンバを決定し、メンバの指示をプッシュサービス224に送信することができる。 At 1704, members of the group are discovered. Members of the group may be discovered by the group service 251 and/or the push service 224. Members of the group may be discovered by querying the database 260. The group service 251 may determine the members of the group and send an indication of the members to the push service 224.

1705において、決定されたグループメンバを、グループの決定されたメンバに通知する。プッシュサービス224によって、メンバに通知してもよい。新しいメンバが追加されたことをメンバに通知できる。メンバに通知することは、メンバに、例えば、メンバの装置に通知を送信することを含むことができる。メンバに通知することは、メッセージングアプリケーションのUIを介して、例えばグループビュー内で、メンバへグループメンバを表示させることを含むことができる。 At 1705, the determined members of the group are notified of the determined group members. The members may be notified by push service 224. The members may be notified that a new member has been added. Notifying the members may include sending a notification to the members, for example, to the members' devices. Notifying the members may include having the members view the group members via a messaging application UI, for example, in a group view.

いくつかの実施形態において、メッセージングサービス220および/またはメッセージングアプリケーション240は、複数のメンバを含むグループを特定するための情報を含む、会話内のメッセージを受信することができる。この情報の受信に応じて、メッセージングサービス220は、データベース260にクエリして、会話内のメッセージの少なくともサブセットを、会話内のメッセージの該少なくともサブセット表示するために、グループメンバに関連付けられるメッセージングアプリケーション240に送信することができる。一例において、メッセージングサービス220および/またはメッセージングアプリケーション240は、グループに関連付けられるデータを分析することによって、グループのメンバに関連付けられる情報を取得することができる。一例において、グループに関連付けられるデータは、グループのメンバおよび属性の情報を含む。別の例において、グループに関連付けられるデータは、グループが参加する会話の内容の少なくとも一部をさらに含むことができる。 In some embodiments, the messaging service 220 and/or messaging application 240 can receive messages in a conversation that include information for identifying a group that includes multiple members. In response to receiving this information, the messaging service 220 can query the database 260 to send at least a subset of the messages in the conversation to the messaging application 240 associated with the group members for displaying the at least a subset of the messages in the conversation. In one example, the messaging service 220 and/or messaging application 240 can obtain information associated with the members of the group by analyzing data associated with the group. In one example, the data associated with the group includes information of the members and attributes of the group. In another example, the data associated with the group can further include at least a portion of the content of a conversation in which the group participates.

別の態様によれば、期限日に関連付けられるタスクが一人の参加者(割当者ユーザ)によって作成され、会話内の別の参加者(被割当者ユーザ)に割り当てられることが可能である。図18および図19は、会話内で期限日に関連付けられるタスクを割り当てるための技術を示す。メッセージングサービスは、チャットサービス222を含む。チャットサービス222は、装置またはプログラム、例えば図1のクラウドコンピューティングネットワーク100内の装置またはプログラムによって提供することができる。チャットサービス222は、メッセージングサービスのユーザが会話内でメッセージを交換し、且つ/または会話を生成することを可能にする。 According to another aspect, a task associated with a due date can be created by one participant (an assignor user) and assigned to another participant (an assignee user) in a conversation. FIGS. 18 and 19 show a technique for assigning a task associated with a due date in a conversation. The messaging service includes a chat service 222. The chat service 222 can be provided by a device or program, such as a device or program in the cloud computing network 100 of FIG. 1. The chat service 222 allows users of the messaging service to exchange messages in a conversation and/or create a conversation.

チャットサービス222がユーザからの入力を受け取ると、タスクが開始される。いくつかの実施形態において、まず、メッセージングアプリケーション(例えば、メッセージングアプリケーション240)を介して、割当者ユーザによってタスクを編集し、次に、被割当者ユーザに該タスクを割り当てるために、被割当者ユーザを会話に加入するように招待することができる。他の実施形態において、タスクを編集することおよびタスクを割り当てるために被割当者ユーザを招待することは、割当者ユーザに関連付けられるメッセージングアプリケーションの同じUI上で同時に実行することができる。チャットサービス222は、会話を介して、例えば、ユーザ装置上のメッセージングアプリケーションのUI内の会話の入力フィールドを介して、入力を受け取ることができる。 A task is initiated when the chat service 222 receives input from a user. In some embodiments, a task may first be edited by an assignor user via a messaging application (e.g., messaging application 240) and then an assignee user may be invited to join the conversation in order to assign the task to the assignee user. In other embodiments, editing the task and inviting the assignee user to assign the task may be performed simultaneously on the same UI of a messaging application associated with the assignor user. The chat service 222 may receive input via the conversation, for example, via an input field for the conversation in the UI of a messaging application on the user device.

例示のために、図19は、フィードビューにおけるメッセージングアプリケーションのUI1900を示しており、UI1900において、ユーザは入力フィールド1903に入力を入れることができる。ユーザは、会話の作成者ユーザ、または会話の他の参加者とすることができる。入力はテキスト文字列である。例えば、図19において、ユーザ「UserA」は、「User B Please give us a conclusion.」というテキストを入力している。テキストはタスクを説明することができる。例えば、ユーザAのテキストには「Please give us a conclusion,」が含まれており、そのタスクは「giving a conclusion.」である。テキストは、別のユーザ、例えば該タスクが割り当てられたユーザの指示を含むことができる。たとえば、ユーザAのテキストには、別のユーザ、ユーザBの名前が含まれる。入力において識別されるユーザは、メッセージングサービス(例えば、メッセージングサービス220)に登録され、会話に参加しているユーザとすることができる。入力において識別されたユーザは、メッセージングサービス(例えば、メッセージングサービス220)の外部のエンティティ(例えば、以下でさらに説明される会話への電子メール参加者)ではない場合がある。この例において、ユーザAは割当者ユーザであり、ユーザBは被割当者ユーザである。 For illustration, FIG. 19 shows a UI 1900 of a messaging application in a feed view, where a user can enter input into an input field 1903. The user can be the creator user of the conversation or another participant in the conversation. The input is a text string. For example, in FIG. 19, user "User A" enters the text "User B Please give us a conclusio." The text can describe a task. For example, User A's text includes "Please give us a conclusio," and the task is "giving a conclusio." The text can include an indication of another user, e.g., a user to whom the task is assigned. For example, User A's text includes the name of another user, User B. The users identified in the input may be users who are registered with a messaging service (e.g., messaging service 220) and participating in a conversation. The users identified in the input may not be entities external to the messaging service (e.g., messaging service 220) (e.g., email participants in a conversation, as described further below). In this example, User A is the assignor user and User B is the assignee user.

入力には、メッセージに関連付けられる日付が含まれてもよい。この日付は、タスクの期限日であってもよい。この日付は、タスクに関するリマインダを送信する必要がある日付であってもよい。この日付は、ユーザ装置上のメッセージングアプリケーションのUIを介して出力されるアイコンの選択を含むことができる。アイコンは、例えば図16のアイコン1601のようなカレンダを表すことができる。 The input may include a date to be associated with the message. This date may be a due date for the task. This date may be a date by which a reminder regarding the task needs to be sent. This date may include the selection of an icon to be output via a UI of a messaging application on the user device. The icon may represent a calendar, such as icon 1601 in FIG. 16.

図18に戻り、1802において、入力に基づいて割当情報を生成する。チャットサービス222は、割当情報を生成することができる。割当情報は、タスクを割り当てるユーザ、タスクが割り当てられたユーザ、メッセージおよび/またはタスク、および/または期限日の間の関連付けを含むことができる。割当情報は、タスクデータベース256、会話データベース230、およびユーザデータベース234などの1つ又は複数のデータベース260に格納される。チャットサービス222は、割当情報を格納することができる。 Returning to FIG. 18, at 1802, assignment information is generated based on the input. The chat service 222 can generate the assignment information. The assignment information can include associations between users assigning tasks, users to whom tasks are assigned, messages and/or tasks, and/or due dates. The assignment information is stored in one or more databases 260, such as the task database 256, the conversation database 230, and the user database 234. The chat service 222 can store the assignment information.

1803において、割当情報に基づいて、割当者属性および/または被割当者属性を会話に追加する。チャットサービス222は、属性を追加することができる。属性を追加することには、割当者ユーザ、被割当者ユーザ、メッセージおよび/またはタスク、期限日、および/または会話の間の関連付けを格納することを含むことができる。属性は、会話データベース230、タスクデータベース256、ユーザデータベース234、およびグループデータベース232などのデータベース260に格納される。 At 1803, assignor and/or assignee attributes are added to the conversation based on the assignment information. The chat service 222 can add attributes. Adding attributes can include storing associations between assignor users, assignee users, messages and/or tasks, due dates, and/or conversations. The attributes are stored in databases 260, such as the conversation database 230, the task database 256, the user database 234, and the group database 232.

実施形態によれば、タスクはステータスを有する。ステータスは、タスクの期限日及び/又はタスクがどんな完了段階にあることを示す属性に基づく。たとえば、タスクおよび/または期限日が生成された場合、ステータスを「オープン」、「未完了」、および/または「未検証」に設定できる。ステータスの説明的な属性は、選択可能なアイコンや選択可能なアイコンのリストなど、UI内の事前に記入された選択可能な入力とすることができる。説明的な属性は、例えばメッセージングアプリケーションのUIの入力フィールドに、ユーザによって入力されるテキスト文字列とすることができる。 According to an embodiment, a task has a status. The status is based on a due date for the task and/or an attribute that indicates what stage of completion the task is at. For example, when a task and/or due date is created, the status can be set to "open", "incomplete", and/or "not verified". The descriptive attribute of the status can be a pre-filled selectable input in the UI, such as a selectable icon or a list of selectable icons. The descriptive attribute can be a text string entered by the user into an input field in the UI of, for example, a messaging application.

割当者ユーザおよび/または被割当者ユーザは、ステータスを例えば「クローズ」、「完成」、および/または「検証済み」に変更できる。ステータスは、タスクが完了したか否かに基づいて変更することが可能である。たとえば、タスクが完了した場合、ステータスを「完了」に変更できる。ステータスは、タスクおよび/または期限日と関連付けてデータベース260に保存される。ステータスの変更に応じて、新しいステータスをデータベース260に保存する。メッセージングサービス220(例えば、チャットサービス222)は、ステータス、タイムスタンプ(例えば、検証された時刻、最後に更新された時刻など)、および他の情報を決定し、データベース260(例えば、タスクデータベース256)に格納することができる。ステータスの変更に応じて、通知をユーザに送信する。一実施形態によれば、ステータスは、例えばユーザ装置上のメッセージングアプリケーションのUI内の会話内で、割当者ユーザ、被割当者ユーザ、および/または会話の参加者に表示される。タスクのステータスおよび期限日を示す情報を受信すると、メッセージングアプリケーションは、タスクのステータスおよび期限日を表示することができる。 The assignor user and/or the assignee user can change the status to, for example, “closed”, “completed”, and/or “verified”. The status can be changed based on whether the task is completed. For example, if the task is completed, the status can be changed to “completed”. The status is stored in database 260 in association with the task and/or the due date. In response to the status change, the new status is stored in database 260. The messaging service 220 (e.g., chat service 222) can determine and store the status, timestamp (e.g., time verified, time last updated, etc.), and other information in database 260 (e.g., task database 256). In response to the status change, a notification is sent to the user. According to one embodiment, the status is displayed to the assignor user, the assignee user, and/or the participants of the conversation, for example, in the conversation in the UI of the messaging application on the user device. Upon receiving the information indicating the status and due date of the task, the messaging application can display the status and due date of the task.

1804において、会話のすべての参加者を発見する。チャットサービス222は、参加者を発見することができる。データベース260にクエリすることによって、会話内の参加者を決定することができる。メッセージングサービスのプッシュサービス224に参加者を送信することができる。プッシュサービス224は、メッセージングサービスの装置またはプログラムとすることができる。 At 1804, all participants of the conversation are discovered. The chat service 222 may discover the participants. The participants in the conversation may be determined by querying the database 260. The participants may be sent to the messaging service's push service 224. The push service 224 may be a messaging service device or program.

1806において、タスクのステータスを、会話の決定された参加者にプッシュする。プッシュサービス224は、ステータスをプッシュすることができる。ステータスをプッシュすることは、ステータスを参加者の装置(例えば、ユーザ装置242)に送信することを含むことができる。ステータスをプッシュすることは、ユーザ装置(メッセージングアプリケーション242)上のメッセージングアプリケーション(例えば、メッセージングアプリケーション240)のUIを介して会話内でステータスを表示することを含むことができる。メッセージングサービス(例えば、メッセージングサービス220)は、タスクの期限日またはステータスへの変更を示す情報を、例えば、割当者ユーザおよび被割当者ユーザから受信すると、タスクのステータスを更新することができる。すると、メッセージングサービスは、タスクの更新ステータスを表示させるために、タスクの更新されたステータスを示す情報を、参加者に関連付けられるユーザ装置に送信することができる。 At 1806, the status of the task is pushed to the determined participants of the conversation. The push service 224 can push the status. Pushing the status can include sending the status to the participant's device (e.g., user device 242). Pushing the status can include displaying the status within the conversation via a UI of a messaging application (e.g., messaging application 240) on the user device (messaging application 242). The messaging service (e.g., messaging service 220) can update the status of the task upon receiving information from, e.g., the assignor user and the assignee user, indicating a change to the due date or status of the task. The messaging service can then send information indicating the updated status of the task to the user device associated with the participant to cause the updated status of the task to be displayed.

一実施形態によれば、メッセージングサービスは、リマインダスケジューラサービス253を含む。リマインダスケジューラサービス253は、メッセージングサービスの装置またはプログラムとすることができる。リマインダスケジューラサービス253は、メッセージングサービスのデータベース260にアクセスできる。リマインダスケジューラサービス253は、割り当てられたタスク、該タスクに関連付けられる会話、および該タスクに関連付けられる1つまたは複数のユーザを決定する。 According to one embodiment, the messaging service includes a reminder scheduler service 253. The reminder scheduler service 253 may be a messaging service device or program. The reminder scheduler service 253 has access to a messaging service database 260. The reminder scheduler service 253 determines assigned tasks, conversations associated with the tasks, and one or more users associated with the tasks.

ユーザ(例えば、ユーザA)は、リマインダ日付を示す入力を入れることができる。図19に示すように、ユーザは、メッセージングアプリケーションのUI1900を介して、リマインダを送信する期限日を示す入力を入れることができる。例えば、ユーザAは、日付選択アイコン1902を選択する。日付選択アイコン1902の選択に基づいて、選択可能な日付のあるウィンドウ1901が表示される。ウィンドウ1901は、1年の日と月を示すカレンダを表すことができる。ユーザAは、ウィンドウ1901内で2020年4月28日のリマインダ日付を選択する。ユーザがリマインダ日付を入力することに基づいて、リマインダ日付はデータベース260に送信され、例えばメッセージングサービス220のリマインダスケジューラサービス253によって、タスクおよび/または期限日に関連付けられて図15に示すようなタスクデータベース256などのデータベース260に格納される。 A user (e.g., user A) can enter an input indicating a reminder date. As shown in FIG. 19, a user can enter an input indicating a due date for sending a reminder via a messaging application UI 1900. For example, user A selects a date selection icon 1902. Based on the selection of the date selection icon 1902, a window 1901 with selectable dates is displayed. The window 1901 can represent a calendar showing days and months of the year. User A selects a reminder date of April 28, 2020 in the window 1901. Based on the user entering the reminder date, the reminder date is sent to a database 260 and stored in a database 260, such as a task database 256 as shown in FIG. 15, associated with the task and/or due date, for example, by a reminder scheduler service 253 of the messaging service 220.

リマインダスケジューラサービス253は、タスクのステータスおよび/または期限日が変更されたか否かを判定することができる。リマインダスケジューラサービス253は、データベース260にクエリすることによって、タスクに割り当てられた現在の説明的な属性および/または期限日を決定することと、期限日が過ぎたか否かを判定することにより、タスクのステータスが変更したか否かを判定することができる。ステータスが「クローズ」、「完成」、および/または「検証済み」ステータスに変更したことに基づいて、リマインダスケジューラサービス253は、リマインダを送信しない。1811において、タスクのステータスが変更しないか、「オープン」、「未完了」、または「未検証」のままであることに基づいて、タスクおよび/または期限日のリマインダを、リマインダスケジューラサービス253によって送信する。このリマインダは、割当者ユーザ、被割当者ユーザ、および会話の別の参加者に送信される。メッセージは、プッシュサービス224に送信することができる。ステータス変更の指示は、プッシュサービス224に送信される。 The reminder scheduler service 253 can determine whether the status and/or due date of the task has changed. The reminder scheduler service 253 can determine whether the status of the task has changed by querying the database 260 to determine the current descriptive attributes and/or due date assigned to the task and determining whether the due date has passed. Based on the status changing to a "closed", "completed" and/or "verified" status, the reminder scheduler service 253 does not send a reminder. At 1811, based on the status of the task not changing or remaining "open", "incomplete" or "not verified", a reminder of the task and/or due date is sent by the reminder scheduler service 253. The reminder is sent to the assignor user, the assignee user, and other participants of the conversation. The message can be sent to the push service 224. An indication of the status change is sent to the push service 224.

1812において、プッシュサービス224は、リマインダスケジューラサービス253からメッセージを受信する。メッセージングサービス220(例えば、プッシュサービス224)は、期限日および/またはタスクを、割当者ユーザおよび/または被割当者ユーザに通知および/またはリマインドする。メッセージングサービスはまた、期限日および/またはタスクを他の参加者に通知またはリマインドすることもできる。プッシュサービス224は、リマインダ、および/または期限日および/またはタスクに対するステータス変更を、割当者ユーザ、被割当者ユーザ、および他の参加者に通知する。いくつかの実施形態によれば、プッシュサービス224は、ユーザに関連付けられる装置にメッセージを送信することによって参加者に通知する。一態様によれば、プッシュサービス224は、例えば、期限日の1週間前、期限日の2週間前、期限日の前日、期限日の1時間前など、所定の時間周期でリマインダを送信することができる。プッシュサービス224は、参加者の装置を介して出力されるUIにリマインダを表示させることによって参加者に通知することができる。プッシュサービス224は、期限日および/またはタスクのステータス変更に基づいて、リマインダの提供を停止することができる。タスク割り当ておよびタスクリマインドの特性は、本開示に従ったメッセージングサービスが従来のメッセージングシステムよりも多い機能を提供することを可能にする。 At 1812, the push service 224 receives a message from the reminder scheduler service 253. The messaging service 220 (e.g., the push service 224) notifies and/or reminds the assignor user and/or the assignee user of the due date and/or the task. The messaging service can also notify or remind other participants of the due date and/or the task. The push service 224 notifies the assignor user, the assignee user, and other participants of the reminder and/or the due date and/or the status change to the task. According to some embodiments, the push service 224 notifies the participants by sending a message to a device associated with the user. According to one aspect, the push service 224 can send a reminder at a predetermined time period, such as, for example, one week before the due date, two weeks before the due date, the day before the due date, one hour before the due date, etc. The push service 224 can notify the participants by causing the reminder to be displayed in a UI output via the participant's device. The push service 224 can stop providing reminders based on due dates and/or changes in the status of a task. The task assignment and task reminder features allow a messaging service according to the present disclosure to provide more functionality than traditional messaging systems.

ユーザは、別のユーザによるステータス変更に応じることができる。たとえば、割当者ユーザは、被割当者ユーザがタスクを「完了」とマークしたことに応じて、タスクを「検証済み」とマークすることで、タスクの完了がユーザにより検証されたことを示す。割当者ユーザは、たとえば、タスクが満足に実行されていないことにユーザが気づいた場合や、別の作業が必要であるとユーザが判断した場合に、「完了」とマークされたタスクを再度開くことができる。実施形態によれば、ステータス変更に基づいて、UIに表示される期限日および/またはタスクの色または他のインジケータは変更する。ステータス変更に基づいて、変更の指示は、例えばプッシュサービス224によって、会話の参加者に送信される。 A user may respond to a status change made by another user. For example, an assigner user may mark a task as "verified" in response to an assignee user marking a task as "completed," thereby indicating that the completion of the task has been verified by the user. An assigner user may reopen a task marked as "completed," for example, if the user realizes that the task was not performed satisfactorily or determines that additional work is required. According to an embodiment, based on the status change, the due date and/or the color or other indicator of the task displayed in the UI may change. Based on the status change, an indication of the change may be sent to the conversation participants, for example, by push service 224.

いくつかの実施形態において、メッセージングアプリケーション240は、会話内でタスクに関連付けられる情報を受信することができる。この情報には、ユーザ(例えば、被割当者)を識別するための識別子、タスクの内容、日付を示す情報が含まれる。メッセージングアプリケーション240は、タスクに関連付けられる情報をメッセージングサービス220に送信することができる。メッセージングアプリケーション240から情報を受信すると、メッセージングサービス220は、識別されたユーザ(例えば、被割当者)に該情報を送信することができる。メッセージングアプリケーション240はさらに、タスクステータスの更新を示す情報を受信し、更新されたタスクステータスを表示することができる。タスクの内容は、会話の内容の少なくとも一部を含むことができる。 In some embodiments, messaging application 240 can receive information associated with a task within a conversation. This information can include an identifier for identifying a user (e.g., an assignee), task content, and information indicating a date. Messaging application 240 can transmit the information associated with the task to messaging service 220. Upon receiving the information from messaging application 240, messaging service 220 can transmit the information to the identified user (e.g., an assignee). Messaging application 240 can further receive information indicating an update to the task status and display the updated task status. The task content can include at least a portion of the conversation content.

一実施形態によれば、メッセージングサービス220は、電子メール統合機能でチャットおよび電子メールの特性を融合させる。図20はメッセージングサービスのチャットおよび電子メール統合処理の一例を示す。本開示にかかるメッセージングサービスは、電子メールとメッセージングサービスの統合を実現することにより、情報交換の効率を向上させる。図示されるように、メッセージングサービス(例えば、メッセージングサービス220)は、チャットサービス222を含む。チャットサービス222は、独立のサービスであってもよく、またはメッセージングサービス220の特性として組み込まれていてもよい。チャットサービス222は、メッセージングサービス220における会話を管理する。 According to one embodiment, messaging service 220 blends chat and email features with email integration functionality. FIG. 20 illustrates an example of a messaging service chat and email integration process. The messaging service of the present disclosure improves the efficiency of information exchange by providing integration of email and messaging services. As illustrated, a messaging service (e.g., messaging service 220) includes chat service 222. Chat service 222 may be a standalone service or may be incorporated as a feature of messaging service 220. Chat service 222 manages conversations in messaging service 220.

2002において、チャットサービス222は、例えばユーザ装置から入力を受け取る。具体的には、チャットサービス222は、ユーザ装置上で動作するメッセージングアプリケーションを介して、例えば、メッセージングアプリケーション240のUIの入力フィールドを介して、メッセージ形式の入力を受け取る。図21は、電子メール参加者を会話2101に招待し、電子メール参加者宛てのメッセージを入れる例示的なUIの説明図を提供する。外部電子メール参加者Aを会話2101に入れるために、ユーザは電子メールアドレス等の外部アドレスの形式でメッセージを入れる。図21に示すUI2100の特定例において、ユーザは電子メールアドレスUserF@gmail.com 2105を入れた。したがって、チャットサービスは、メッセージを解析し、該メッセージをメッセージングサービスの外部のエンティティ(すなわち、電子メール参加者A)に関連付けられる電子メールアドレスとして認識する。電子メールアドレスは、電子メールサービス254にも関連付けられる。この例は、ユーザがドメイン「gmail.com」を含む電子メールアドレスを入れたことを示す。他の実施形態は、例えば、事前定義されたキャラクタによって表される、メッセージングサービスによって以前から知られている電子メールエイリアスを使用することができる。 At 2002, the chat service 222 receives input, e.g., from a user device. Specifically, the chat service 222 receives input in the form of a message via a messaging application running on the user device, e.g., via an input field in the UI of the messaging application 240. FIG. 21 provides an illustration of an exemplary UI for inviting an email participant to a conversation 2101 and entering a message for the email participant. To include an external email participant A in the conversation 2101, the user enters a message in the form of an external address, such as an email address. In the particular example of the UI 2100 shown in FIG. 21, the user entered the email address UserF@gmail.com 2105. Thus, the chat service parses the message and recognizes it as an email address associated with an entity external to the messaging service (i.e., email participant A). The email address is also associated with the email service 254. This example shows that the user entered an email address that includes the domain "gmail.com". Other embodiments may use email aliases previously known by the messaging service, for example, represented by predefined characters.

図20に戻り、2008において、チャットサービス222は、電子メールアドレスと会話との関連付けを、例えば、会話メタデータ230および電子メールユーザデータベース237に格納する。一旦電子メール参加者Aが招待され、会話へのアクセスを許可されると、メッセージングサービス(例えば、メッセージングサービス220)は、会話を識別するための識別子を生成することができる。識別子は、メッセージングサービス220の外部の電子メールサービスによって会話を識別するために使用され、電子メール参加者の電子メールアドレスに関連付けられることが可能である。別の例において、任意の電子メール参加者を会話に招待する前に、メッセージングサービス220は、外部電子メールサービスに使用される会話を識別するための識別子を生成することができる。メッセージングサービスは、電子メール参加者に関連付けられる外部電子メールサービスに識別子を送信することができる。限定ではなく、一例として、会話を識別するための識別子は、会話に対応する返送電子メールアドレスであってもよい。外部電子メールサービスは、その後、会話に関連付けられる返送電子メールアドレスに電子メールを送信することができる。会話に関連付けられる電子メールアドレスから電子メールを受信したという判定に応じて、メッセージングサービスは、該電子メールに基づいてメッセージを生成し、電子メールに基づいて生成されたメッセージを表示させるために、会話の参加者に関連付けられるメッセージングアプリケーション(例えば、メッセージングアプリケーション240)に該メッセージを送信することができる。一方、電子メールが会話に関連付けられる電子メールアドレスからのものではないと判定したことに応じて、メッセージングサービスは、電子メールを破棄し、且つ/又は、会話に対応する返送電子メールアドレスへの電子メール送信が禁止されている旨の通知を返信する。 Returning to FIG. 20, at 2008, the chat service 222 stores an association of the email address with the conversation, for example, in the conversation metadata 230 and the email user database 237. Once email participant A has been invited and granted access to the conversation, the messaging service (e.g., messaging service 220) can generate an identifier for identifying the conversation. The identifier can be used by an email service external to the messaging service 220 to identify the conversation and associated with the email address of the email participant. In another example, before inviting any email participant to the conversation, the messaging service 220 can generate an identifier for identifying the conversation to be used for the external email service. The messaging service can send the identifier to the external email service associated with the email participant. By way of example and not limitation, the identifier for identifying the conversation can be a return email address corresponding to the conversation. The external email service can then send an email to the return email address associated with the conversation. In response to determining that the email was received from an email address associated with the conversation, the messaging service may generate a message based on the email and send the message to a messaging application (e.g., messaging application 240) associated with a participant of the conversation for display of the generated message based on the email. In response to determining that the email was not from an email address associated with the conversation, the messaging service may discard the email and/or return a notification that sending email to the return email address corresponding to the conversation is prohibited.

図21は、メッセージングアプリケーション(例えば、メッセージングアプリケーション240)の例示的なUI2100を示す。UI2100は、会話2101を含むことができる。会話2101は、入力フィールド2102を含むことができる。ユーザ入力は、入力フィールド2102を介して受け取ることができる。電子メール参加者宛ての例示的な入力2104は、「Hi,external User F.」という内容が含まれている。例示的な入力(すなわち、会話2101内のメッセージ)2104は、電子メールアドレスであるUserF@gmail.comを含む。電子メールアドレス及び内容を入力フィールド2102に入れることができる。 21 illustrates an example UI 2100 for a messaging application (e.g., messaging application 240). The UI 2100 can include a conversation 2101. The conversation 2101 can include an input field 2102. User input can be received via the input field 2102. An example input 2104 addressed to an email participant includes the content "Hi, external User F." An example input (i.e., a message in the conversation 2101) 2104 includes an email address, UserF@gmail.com. The email address and content can be entered into the input field 2102.

2009において、チャットサービス222は、会話内の既存の参加者を発見する。既存の参加者は、メッセージングサービスのユーザおよび/または既存の外部電子メールユーザとすることができる。チャットサービス222は、会話メタデータに基づいて参加者を発見する。このために、チャットサービス222は、会話に関連付けられるユーザをユーザデータベース234にクエリし、参加者であるユーザを電子メールユーザデータベース237にクエリすることによって、参加者を発見する。電子メール参加者が会話に追加されたという指示を受信した後、後続のメッセージを会話に追加することができ、電子メールメッセージが生成され、電子メール参加者Aに関連付けられる電子メールアドレスに、以下でより全面的に説明されるように送信される。 At 2009, the chat service 222 discovers existing participants in the conversation. The existing participants can be users of the messaging service and/or existing external email users. The chat service 222 discovers participants based on the conversation metadata. To this end, the chat service 222 discovers participants by querying the user database 234 for users associated with the conversation and the email user database 237 for users who are participants. After receiving an indication that an email participant has been added to the conversation, a subsequent message can be added to the conversation and an email message is generated and sent to the email address associated with email participant A as described more fully below.

いくつかの実施形態において、メッセージングサービス220は、電子メール参加者Aを識別する情報(例えば、電子メール参加者Aに関連する電子メールアドレス)を含む、会話内のメッセージを受信すると、電子メールメッセージを生成することができる。電子メールメッセージは、電子メールサービス254に関連付けられる電子メールプロトコルに従って生成される。生成された電子メールメッセージは、受信されたメッセージの少なくともサブセット及び電子メールアドレスを含む。いくつかの実施形態において、生成された電子メールメッセージはさらに、メッセージングサービス220によって生成され、会話に対応する返送電子メールアドレスを含むことができる。別の例において、メッセージングサービス220は、複数の会話にそれぞれ対応する複数の返送電子メールアドレスを生成することができる。電子メール参加者Aの電子メール受信ボックスに配信するために、生成された電子メールメッセージをメッセージングサービス220(例えば、電子メールサービス254)によって、電子メールアドレスに関連付けられる外部電子メールサービスに送信することができる。他の実施形態において、外部電子メール参加者は、単一の後続メッセージまたは後続メッセージの少なくともサブセットを受信する。他の実施形態において、会話内のすべての後続のメッセージは、外部電子メール参加者Aに送信される。 In some embodiments, the messaging service 220 can generate an email message upon receiving a message in the conversation that includes information identifying email participant A (e.g., an email address associated with email participant A). The email message is generated according to an email protocol associated with email service 254. The generated email message includes at least a subset of the received messages and the email address. In some embodiments, the generated email message can further include a return email address generated by messaging service 220 and corresponding to the conversation. In another example, messaging service 220 can generate multiple return email addresses, each corresponding to multiple conversations. The generated email message can be sent by messaging service 220 (e.g., email service 254) to an external email service associated with the email address for delivery to email participant A's email inbox. In other embodiments, the external email participant receives a single subsequent message or at least a subset of the subsequent messages. In other embodiments, all subsequent messages in the conversation are sent to external email participant A.

チャットサービス222は、新しいメッセージを会話参加者の指示と共にメッセージングアプリケーションのプッシュサービス224に送信する。2011において、プッシュサービス224は、外部電子メールアドレスを含むメッセージを既存の参加者に通知する。既存の参加者に通知することは、メッセージおよび/または電子メールアドレスの指示を会話の参加者に送信することを含むことができる。既存の参加者に通知することは、メッセージおよび/または電子メールアドレスを会話に表示させることを含むことができる。 The chat service 222 sends the new message along with an indication of the conversation participants to a messaging application's push service 224. At 2011, the push service 224 notifies existing participants of the message, including the external email address. Notifying existing participants may include sending an indication of the message and/or email address to participants of the conversation. Notifying existing participants may include causing the message and/or email address to appear in the conversation.

プッシュサービス224は、メッセージの指示をメッセージングアプリケーションの電子メールサービス254に送信することができる。電子メールサービス254は、メッセージングサービスの一部であるサービスとしてもよい。一実施形態において、電子メールサービス254は、SMTPなどの電子メールプロトコルに従って、1つまたは複数のメッセージを電子メールの形式にフォーマットする。これにより、電子メールサービスは、生成された電子メールメッセージのヘッダフィールドに電子メール参加者Aに関連付けられる外部電子メールアドレスを追加し、生成された電子メールメッセージの本文にメッセージ内容を追加することができる。さらに、いくつかの実施形態において、電子メールサービス254は、メッセージ内容に起因する、会話を示す情報、例えば、会話に対応し且つメッセージングサービス220によって生成された返送電子メールアドレスを、電子メールメッセージに追加する。 The push service 224 can send an indication of the message to an email service 254 of the messaging application. The email service 254 can be a service that is part of the messaging service. In one embodiment, the email service 254 formats the one or more messages into an email format according to an email protocol such as SMTP. This allows the email service to add an external email address associated with email participant A to a header field of the generated email message and add the message content to the body of the generated email message. Additionally, in some embodiments, the email service 254 adds information to the email message that indicates a conversation resulting from the message content, such as a return email address corresponding to the conversation and generated by the messaging service 220.

具体的には、例えば電子メールサービス254を介してメッセージングサービスによって受信された電子メールメッセージに対する返信は、会話との関連付け(例えば、会話に対応する返送電子メールアドレス)を示す情報を含む。返信に関連付けられる情報を、電子メールメッセージに対する返信の少なくとも1つの内容を表示させるために、会話の参加者に関連付けられるメッセージングアプリケーションにプッシュすることができる。したがって、電子メールメッセージに追加され、且つ、電子メールメッセージに対する任意の返信にも含まれる情報(例えば、会話に対応する返送電子メールアドレス)は、電子メールメッセージに対する該返信に関連付けられる情報を会話の参加者に関連付けられるメッセージングアプリケーションにプッシュするために、対応する会話を識別するのに役立つ。 Specifically, replies to email messages received by the messaging service, e.g., via email service 254, include information indicating an association with a conversation (e.g., a return email address corresponding to the conversation). The information associated with the reply can be pushed to messaging applications associated with participants of the conversation to cause the content of at least one of the replies to the email message to be displayed. Thus, the information added to the email message and included in any replies to the email message (e.g., a return email address corresponding to the conversation) helps identify the corresponding conversation in order to push information associated with the reply to the email message to messaging applications associated with participants of the conversation.

上述したように、この関連付けの一例は、メッセージングサービス220(例えば、電子メールサービス254)が、各会話に関連付けられる対応する返送電子メールアドレスを生成することである。限定ではなく、一例として、生成された返送電子メールは、少なくとも部分的にランダムに選ばれたテキスト文字列を含むことができる。たとえば、図22に示すように、メッセージングサービスは電子メール参加者であるUserF@gmail.com2220に、返送電子メールアドレスcalendar-kZNnYBkbywE@feishugroups.com2221で電子メールを送信した。図21に示すように、返送電子メールアドレスは、外部電子メールアドレス2220に送信されるべきメッセージを作り出した特定の会話に関連付けられる。返送電子メールアドレス2221は、電子メールメッセージの送信者フィールドで電子メールヘッダに追加される。すると、メッセージングサービス(例えば、メッセージングサービス220)は、返送電子メールアドレス2221に対する返信を使用して、返送電子メールを特定の会話に関連付けることができる。 As discussed above, one example of this association is for the messaging service 220 (e.g., email service 254) to generate a corresponding return email address associated with each conversation. By way of example and not limitation, the generated return email may include at least a partially randomly chosen string of text. For example, as shown in FIG. 22, the messaging service sent an email to email participant UserF@gmail.com 2220 at the return email address calendar-kZNnYBkbywE@feishgroups.com 2221. As shown in FIG. 21, the return email address is associated with the particular conversation that generated the message to be sent to the external email address 2220. The return email address 2221 is added to the email header in the sender field of the email message. The messaging service (e.g., messaging service 220) can then use replies to the return email address 2221 to associate the return email with the particular conversation.

この方法は、返信電子メールおよびジャンク電子メールによるメッセージングサービスに対するなりすましを防止するために使用することができる。例えば、返送電子メールアドレスは、ランダム電子メールアドレス生成器のフォームで生成することができる。本例において、返送電子メールアドレス2221には「kZNnYBkbywE」が含まれているが、「kZNnYBkbywE」はランダムに選択されており、容易に予測やなりすましできるものではない。したがって、会話が不要なスパムを受信する事象を減らすのに役立つ。他の例において、電子メールヘッダは、会話を識別するために使用される特定の情報を、例えば件名または他のヘッダフィールドに含むことができる。このような識別子は、スパムの防止または制御を支援するためにメッセージングサービスによって使用されることができるランダムまたは予測困難なキャラクタシーケンスを含むことができる。上述したデータのいずれかまたは全部は、返信電子メールメッセージを後で関連付けおよび分類するために、電子メールメッセージデータベース238などのデータベースに格納することができる。 This method can be used to prevent spoofing of messaging services by return emails and junk emails. For example, the return email address can be generated in the form of a random email address generator. In this example, the return email address 2221 includes "kZNnYBkbywE", which is randomly selected and is not easily predictable or spoofable. Thus, it helps reduce the occurrence of conversations receiving unwanted spam. In another example, the email header can include specific information used to identify the conversation, for example in the subject line or other header fields. Such identifiers can include random or hard to predict character sequences that can be used by the messaging service to help prevent or control spam. Any or all of the above data can be stored in a database, such as email message database 238, for later association and classification of return email messages.

したがって、2013において、電子メールサービス254は、電子メール参加者Aに関連付けられる電子メールアドレスにフォーマットされた電子メールメッセージを送信することができる。電子メールアドレスに電子メールメッセージを送信することは、電子メールアドレスに関連付けられるドメインに電子メールメッセージを送信することを含むことができる。上述したように、電子メールアドレスに電子メールメッセージを送信することは、会話からの他の情報を電子メールアドレスに送信することを含むことができる。図22は、電子メールの参加者(例えば、UserF@gmail.com2220)によって電子メールメッセージが受信されることを示している。その後、電子メール参加者は、「Hi,there.I am happy!」というテキストを含む返信電子メール2222を作成し、返信電子メール2222を、メッセージングサービスに関連付けられ且つ特定の会話に対応する返送電子メールアドレスに送信する。 Thus, at 2013, the email service 254 can send the formatted email message to an email address associated with email participant A. Sending the email message to the email address can include sending the email message to a domain associated with the email address. As discussed above, sending the email message to the email address can include sending other information from the conversation to the email address. Figure 22 shows the email message being received by an email participant (e.g., UserF@gmail.com 2220). The email participant then composes a reply email 2222 containing the text "Hi, there. I am happy!" and sends the reply email 2222 to a return email address associated with the messaging service and corresponding to the particular conversation.

電子メールサービス254は、該電子メールアドレスから、該メッセージに対する返信を受信することができる。返信は、会話に対応する生成された返送電子メールアドレスで電子メールサービス254によって受信することができる。電子メールサービス254は、例えば返信電子メールに含まれる情報を利用して、例えばデータベース260(例えば、電子メールメッセージデータベース238)にクエリすることによって、返送電子メールアドレスを対応する会話に関連付けるとともに、電子メールメッセージに対する返信に関連付けられる会話を決定する。一実施形態において、メッセージングサービス220(例えば、電子メールサービス254)は、返信をメッセージの形式にフォーマットし、チャットサービス222を介してプッシュサービス224にメッセージを送信する。プッシュサービス224はそれから、返信に対応するメッセージを、会話内の参加者に関連付けられるメッセージングアプリケーションに送信することができる。いくつかの実施形態において、会話は、電子メール参加者Aに加えて、他の電子メール参加者(例えば、電子メール参加者B)を含むことができる。この場合、メッセージングサービス220は、さらに、電子メール参加者Aからの返信に対応する、メッセージングサービス220によってフォーマットされたメッセージに基づいて、電子メールメッセージを生成することができ、メッセージングサービス220はそれから、生成された電子メールメッセージを他の電子メール参加者(例えば、電子メール参加者B)に送信する。 The email service 254 can receive replies to the message from the email address. The replies can be received by the email service 254 at a generated return email address corresponding to the conversation. The email service 254 can use information contained in the reply email, for example, to associate the return email address with the corresponding conversation, for example by querying a database 260 (e.g., email message database 238), and determine the conversation associated with the reply to the email message. In one embodiment, the messaging service 220 (e.g., email service 254) formats the reply into a message and sends the message via the chat service 222 to the push service 224. The push service 224 can then send a message corresponding to the reply to a messaging application associated with a participant in the conversation. In some embodiments, the conversation can include other email participants (e.g., email participant B) in addition to email participant A. In this case, messaging service 220 can further generate an email message based on the message formatted by messaging service 220 corresponding to the reply from email participant A, and messaging service 220 then sends the generated email message to the other email participant (e.g., email participant B).

図23は、メッセージングアプリケーション(例えば、メッセージングアプリケーション240)の例示的なUI2300を示す。UI2300は、図21のUI2100と同じであってもよいし、類似していてもよい。UI2300は、図21からの会話の継続を含む。電子メールアドレスおよび外部電子メールシステム(例えば、図22の外部電子メールサービス2200)から返信電子メール2222を受信することに基づいて、メッセージングサービス(例えば、メッセージングサービス220)は、メッセージを生成して、該メッセージを会話に追加し、そして、返信電子メール2222に対応するメッセージ2304を表示させるために、会話の参加者に関連付けられるメッセージングアプリケーションに該メッセージを送信することができる。示された例において、外部電子メールアドレスUserF@email.comはメッセージ2304とともに表示される。他のメタデータ、例えば、会話の参加者に関連付けられるメッセージングアプリケーションにメッセージが送信された時刻を表示することもできる。 23 illustrates an example UI 2300 of a messaging application (e.g., messaging application 240). UI 2300 may be the same as or similar to UI 2100 of FIG. 21. UI 2300 includes a continuation of the conversation from FIG. 21. Based on receiving a reply email 2222 from an email address and an external email system (e.g., external email service 2200 of FIG. 22), a messaging service (e.g., messaging service 220) can generate a message, add the message to the conversation, and send the message to a messaging application associated with a participant of the conversation to display a message 2304 corresponding to the reply email 2222. In the illustrated example, the external email address UserF@email.com is displayed with the message 2304. Other metadata, such as the time the message was sent to the messaging application associated with the participant of the conversation, may also be displayed.

いくつかの実施形態において、メッセージングアプリケーション240は、会話中にユーザによって入れられた情報を受信することができる。この情報は、電子メールアドレスと、該電子メールアドレスに送信される内容とを含むことができる。メッセージングアプリケーション240はそれから、情報をメッセージングサービス220に送信することができる。この情報を受信すると、メッセージングサービス220は、会話および内容を識別するための識別子を、メッセージングサービス220の外部の、電子メールアドレスに関連付けられる電子メールサービスに送信することができる。他の実施形態において、メッセージングサービス220は、外部電子メールサービスから電子メールを受信することができる。この場合、メッセージングサービス220は、電子メールが会話を識別するための識別子を含むという判定に基づいて、電子メールが会話に関連付けられていると判断することができる。メッセージングサービス220はそれから、電子メール内容を含むメッセージを生成し、生成されたメッセージを表示させるために、該生成されたメッセージをメッセージングアプリケーション240に送信することができる。 In some embodiments, messaging application 240 can receive information entered by a user during a conversation. This information can include an email address and content to be sent to the email address. Messaging application 240 can then send the information to messaging service 220. Upon receiving this information, messaging service 220 can send an identifier for identifying the conversation and content to an email service associated with the email address that is external to messaging service 220. In other embodiments, messaging service 220 can receive an email from an external email service. In this case, messaging service 220 can determine that the email is associated with a conversation based on determining that the email includes an identifier for identifying the conversation. Messaging service 220 can then generate a message including the email content and send the generated message to messaging application 240 for displaying the generated message.

図24は、本開示にかかるメッセージングアプリケーション(例えば、メッセージングアプリケーション240)によって実行される例示的なプロセス2400を示す。一連の動作として説明されているが、当業者であれば、様々な実施形態において、説明された動作を追加、除去、並べ替え、または修正することができることを理解するはずである。 24 illustrates an example process 2400 performed by a messaging application (e.g., messaging application 240) consistent with the present disclosure. Although described as a series of operations, one skilled in the art will appreciate that in various embodiments, the operations described may be added, removed, reordered, or modified.

2402において、メッセージングアプリケーション240は、メッセージングサービス(例えば、メッセージングサービス220)のユーザに関連付けられる装置(例えば、ユーザ装置242)上で動作し始める。2404において、メッセージングアプリケーション240は、ユーザが関わっている会話(すなわち、メッセージスレッド)に関連付けられる情報の要求をメッセージングサービス220に送信する。いくつかの実施形態において、要求された情報は、会話に関連付けられるメタデータ、例えば、会話のそれぞれに対応するスレッド識別情報(ID)を含む。要求された情報はさらに、会話に関連付けられる属性、例えば会話に関連付けられるトピック、ユーザ、グループ、タスクなどを示す情報を含む。他の実施形態において、要求された情報はさらに、会話の要約を示すデータ、例えば、各会話のメッセージのサブセットを含むことができる。一例において、各会話のメッセージのサブセットは、会話内の最初のメッセージと最後のメッセージであってもよい。 At 2402, messaging application 240 begins operating on a device (e.g., user device 242) associated with a user of a messaging service (e.g., messaging service 220). At 2404, messaging application 240 sends a request to messaging service 220 for information associated with conversations (i.e., message threads) in which the user is involved. In some embodiments, the requested information includes metadata associated with the conversations, e.g., a thread identification (ID) corresponding to each of the conversations. The requested information further includes information indicative of attributes associated with the conversations, e.g., topics, users, groups, tasks, etc. associated with the conversations. In other embodiments, the requested information may further include data indicative of a summary of the conversations, e.g., a subset of messages for each conversation. In one example, the subset of messages for each conversation may be the first and last messages in the conversation.

2406において、メッセージングアプリケーション240は、要求された情報を受信し、要求された情報をローカルに、例えばユーザ装置242内に格納する。いくつかの実施形態において、会話のスレッドIDおよび属性を含む受信された情報は、ブラウザキャッシュなどのローカルメモリに格納されてもよい。他の実施形態において、会話のスレッドIDおよび属性をローカルデータベースに格納することができる。2408において、メッセージアプリケーション240は、会話のインジケータを表示する。会話のインジケータは、会話に関連付けられる所定のキャラクタ(例えば、ハッシュタグ#)で始まるトピックを含むことができる。会話のインジケータはさらに、会話に関連付けられる他の所定のキャラクタ(例えば、@符号)で始まるユーザまたはグループを含むことができる。会話のインジケータはさらに、会話の要約を含むことができる。 At 2406, the messaging application 240 receives the requested information and stores the requested information locally, for example, within the user device 242. In some embodiments, the received information, including the conversation thread ID and attributes, may be stored in a local memory, such as a browser cache. In other embodiments, the conversation thread ID and attributes may be stored in a local database. At 2408, the message application 240 displays an indicator of the conversation. The indicator of the conversation may include a topic beginning with a predefined character associated with the conversation (e.g., a hashtag #). The indicator of the conversation may further include a user or group beginning with another predefined character associated with the conversation (e.g., an @ sign). The indicator of the conversation may further include a summary of the conversation.

図25は、メッセージングアプリケーション240のユーザインターフェース(UI)2500の一例を示す。この例において、トピック(例えば、「patent」2502)によって分類され、ユーザ(例えば、「UserA」2503)またはグループ(例えば、「Group1」2504)によって分類された会話のインジケータが、一番左の列2506に表示される。会話の要約は、一番左の列2506の隣のエリア2508に表示される。会話のタスク属性は、会話の要約とともに表示することもできる。例えば、図25に示すように、タスクのステータス2512およびタスク期限日の変更2514は、それぞれ要約2516および2518とともに表示される。図25のUI2500は例示的なものにすぎず、他の表示配置を使用してもよいことを理解すべきである。 25 illustrates an example of a user interface (UI) 2500 for a messaging application 240. In this example, indicators of conversations categorized by topic (e.g., "patent" 2502) and categorized by user (e.g., "UserA" 2503) or group (e.g., "Group1" 2504) are displayed in the leftmost column 2506. Conversation summaries are displayed in an area 2508 adjacent to the leftmost column 2506. Task attributes of the conversation may also be displayed along with the conversation summary. For example, as shown in FIG. 25, task status 2512 and changes to task due dates 2514 are displayed along with summaries 2516 and 2518, respectively. It should be understood that the UI 2500 of FIG. 25 is merely exemplary and other display arrangements may be used.

図24に戻り、メッセージングアプリケーション240は、複数の会話のうちの会話のインジケータまたは要約の選択を示すユーザ入力を受け取ることができる。2410において、ユーザ入力を受け取ると、メッセージングアプリケーション240は、選択された会話内のメッセージの要求をメッセージングサービスに送信する。要求には、選択された会話のスレッドIDが含まれる。2412において、メッセージングアプリケーション240は、選択された会話のメッセージを受信し、選択された会話のメッセージを表示させる。限定ではなく、一例として、図25に示すように、選択された会話のメッセージは、メッセージングアプリケーションのUI2500の一番右のエリア2520に表示することができる。一例において、メッセージングアプリケーション240は、要約を利用して、複数の会話の中から選択された会話内の複数のメッセージの要求を送信することができる。メッセージアプリケーション240はそれから、要求に応じて受信された、該選択された会話内の該複数のメッセージに関連付けられる内容を表示することができる。 Returning to FIG. 24, the messaging application 240 can receive user input indicating a selection of an indicator or summary of a conversation among the multiple conversations. Upon receiving the user input at 2410, the messaging application 240 sends a request for messages in the selected conversation to a messaging service. The request includes a thread ID of the selected conversation. At 2412, the messaging application 240 receives the messages of the selected conversation and causes the messages of the selected conversation to be displayed. By way of example and not limitation, as shown in FIG. 25, the messages of the selected conversation can be displayed in a right-most area 2520 of the messaging application UI 2500. In one example, the messaging application 240 can utilize the summary to send a request for messages in a selected conversation among the multiple conversations. The message application 240 can then display content associated with the messages in the selected conversation received in response to the request.

図26は、本開示にかかるメッセージングアプリケーション(例えば、メッセージングアプリケーション240)によって実行される別の例示的なプロセス2600を示す。一連の動作として説明されているが、当業者であれば、様々な実施形態において、説明された動作を追加、除去、並べ替え、または修正することができることを理解するはずである。 26 illustrates another example process 2600 performed by a messaging application (e.g., messaging application 240) consistent with the present disclosure. Although described as a series of operations, one skilled in the art will appreciate that in various embodiments, the operations described may be added, removed, reordered, or modified.

2602において、メッセージングアプリケーション240は、新しい会話の開始を示す入力を受け取る。例えば、ユーザは、図25に示すように、UI2500の「New Conversation」ボタン2526を選択して、新しい会話を開始することができる。いくつかの実施形態において、メッセージングアプリケーション240は、新しい会話のスレッドIDを生成することができる。他の実施形態において、メッセージングアプリケーション240から送信された新しい会話を示す情報を受信すると、メッセージングサービス220によって、新しい会話のためのスレッドIDを生成することができる。 At 2602, the messaging application 240 receives input indicating the start of a new conversation. For example, a user may select the "New Conversation" button 2526 of the UI 2500, as shown in FIG. 25, to start a new conversation. In some embodiments, the messaging application 240 may generate a thread ID for the new conversation. In other embodiments, a thread ID for the new conversation may be generated by the messaging service 220 upon receiving information indicating the new conversation sent from the messaging application 240.

2604において、メッセージングアプリケーション240は、ユーザから別の入力を受け取る。いくつかの実施形態において、ユーザ入力は、図27および図28に示すウィンドウ2702および2802を介して入れることができる。新しい会話の開始を示すユーザ入力に応じて、メッセージングアプリケーション240は、図27に示すように、UI2700に重ねられたウィンドウ2702をユーザ装置(例えば、ユーザ装置242)に表示させることができる。ウィンドウは、複数の選択可能なインターフェースエレメントを含む。 At 2604, messaging application 240 receives another input from the user. In some embodiments, the user input can be entered via windows 2702 and 2802, shown in FIGS. 27 and 28. In response to user input indicating the start of a new conversation, messaging application 240 can cause a user device (e.g., user device 242) to display window 2702 overlaid on UI 2700, as shown in FIG. 27. The window includes a number of selectable interface elements.

ウィンドウ2702は、新しい会話に関連付けられる属性に対応する代表記号(例えば、@記号2704、#記号2706、及びカレンダアイコン2708)を含む。一例において、ユーザは@記号2704を選択して、1つ又は複数の参加者(たとえば、UserA2706とGroup1 2708)を新しい会話に追加することができる。別の例において、ユーザは、#記号2706を選択して、1つまたは複数のトピック(例えば、トピック「backlog」2710)を新しい会話に追加することができる。1つまたは複数のトピックは、UI2700の一番左の列にリストアップされた任意の既存のトピックであってもよい。この例において、既存のトピック「backlog」2710が選択され、新しい会話に追加された。他の例において、カレンダアイコン2708が選択されると、図28に示すように、選択可能な日付を有するカレンダUI2806が表示される。この例において、参加者に割り当てられたタスクに、2020年7月17日の期限日を選択する。タスクを示す情報は、ウィンドウ2802の入力フィールド2808にタイピングすることができる。 Window 2702 includes representative symbols (e.g., @ symbol 2704, # symbol 2706, and calendar icon 2708) corresponding to attributes associated with the new conversation. In one example, a user can select @ symbol 2704 to add one or more participants (e.g., UserA 2706 and Group1 2708) to the new conversation. In another example, a user can select # symbol 2706 to add one or more topics (e.g., topic "backlog" 2710) to the new conversation. The one or more topics may be any existing topic listed in the leftmost column of UI 2700. In this example, the existing topic "backlog" 2710 is selected and added to the new conversation. In another example, when calendar icon 2708 is selected, calendar UI 2806 with selectable dates is displayed, as shown in FIG. 28. In this example, a due date of July 17, 2020 is selected for a task assigned to a participant. Information describing the task can be typed into input field 2808 of window 2802.

他の実施形態において、メッセージングアプリケーション240は、ユーザによって入れられたメッセージを示すデータを受信することができる。このメッセージは、図25に示すように、例えばUI2500の入力エリア2522を介して、新規または既存の会話内でユーザによって入れることができる。 In other embodiments, messaging application 240 can receive data indicative of a message placed by a user. The message can be placed by a user in a new or existing conversation, for example, via input area 2522 of UI 2500, as shown in FIG. 25.

2606において、メッセージングアプリケーション240は、ユーザ入力が、会話に関連付けられる1つまたは複数の属性を示す情報を含むと判定することができる。メッセージングアプリケーション240は、入力が所定のキャラクタに関連付けられているという判定に基づいて、ユーザ入力が少なくとも1つの属性を示すと判定することができる。例えば、メッセージングアプリケーション240は、所定のキャラクタ(例えば、#、@、または任意の他の所定のキャラクタ)を識別することに基づいて、ユーザ入力が属性(例えば、トピック、ユーザ、またはグループ)を示す情報を含むと判定することができる。各所定のキャラクタ(または所定の複数のキャラクタ)は、属性、例えばトピック、ユーザ、またはグループを表すことができる。他の実施形態において、メッセージングアプリケーション240から情報を受信すると、メッセージングサービス220は、ユーザ入力が会話に関連付けられる1つまたは複数の属性を含むか否かを判定することができる。 At 2606, messaging application 240 may determine that the user input includes information indicative of one or more attributes associated with the conversation. Messaging application 240 may determine that the user input indicates at least one attribute based on determining that the input is associated with a predetermined character. For example, messaging application 240 may determine that the user input includes information indicative of an attribute (e.g., topic, user, or group) based on identifying a predetermined character (e.g., #, @, or any other predetermined character). Each predetermined character (or multiple predetermined characters) may represent an attribute, e.g., topic, user, or group. In other embodiments, upon receiving the information from messaging application 240, messaging service 220 may determine whether the user input includes one or more attributes associated with the conversation.

一例において、#記号で始まるテキスト文字列が、会話に関連付けられるトピックとして判定される。別の例において、@記号で始まるテキスト文字列が、会話に招待されたユーザまたはグループとして判定される。別の例において、メッセージングアプリケーション240またはメッセージングサービス220は、電子メールアドレスの構造、例えばテキスト文字列(mailbox)+@+ドメインを認識して、ユーザ入力が会話に関連付けられる電子メールアドレスを含むと判定することができる。 In one example, a text string beginning with a # symbol is determined as a topic to be associated with the conversation. In another example, a text string beginning with an @ symbol is determined as a user or group invited to the conversation. In another example, the messaging application 240 or messaging service 220 can recognize the structure of an email address, for example the text string (mailbox) + @ + domain, and determine that the user input contains an email address to be associated with the conversation.

2608において、メッセージングアプリケーション240は、会話に関連付けられる少なくとも1つの属性を示す情報をメッセージングサービス220に送信する。属性を示す情報を受信すると、メッセージングサービス220は、その属性を、会話のスレッドIDに関連付けられる対応する属性データベースに格納する。この属性は、会話に関連付けられるトピック、ユーザまたはグループ、電子メールアドレスなどとすることができる。メッセージを入れることによってユーザ入力を提供するいくつかの実施形態において、メッセージングアプリケーション240は、メッセージの内容およびメッセージに関連付けられるメタデータをメッセージングサービス220に送信することもできる。メッセージの内容は、テキスト、画像、ビデオ、または音声内容であってもよい。メタデータは、(メッセージを作成したユーザのための)ユーザID、メッセージが作成された時刻を示すタイムスタンプなどを含むことができる。メッセージの内容及びメタデータを受信すると、メッセージングサービス220は、メッセージの内容及びメタデータを会話(メッセージスレッド)データベース230に格納する。 At 2608, the messaging application 240 sends information to the messaging service 220 indicating at least one attribute associated with the conversation. Upon receiving the information indicating the attribute, the messaging service 220 stores the attribute in a corresponding attribute database associated with the conversation's thread ID. The attribute may be a topic, a user or group, an email address, etc. associated with the conversation. In some embodiments that provide user input by entering a message, the messaging application 240 may also send the message content and metadata associated with the message to the messaging service 220. The message content may be text, images, video, or audio content. The metadata may include a user ID (for the user who created the message), a timestamp indicating when the message was created, etc. Upon receiving the message content and metadata, the messaging service 220 stores the message content and metadata in the conversation (message thread) database 230.

図29は、本開示にかかるメッセージングアプリケーション(例えば、メッセージングアプリケーション240)によって実行される別の例示的なプロセス2900を示す。一連の動作として説明されているが、当業者であれば、様々な実施形態において、説明された動作を追加、除去、並べ替え、または修正することができることを理解するはずである。 29 illustrates another example process 2900 performed by a messaging application (e.g., messaging application 240) consistent with the present disclosure. Although described as a series of operations, one skilled in the art will appreciate that in various embodiments, the operations described may be added, removed, reordered, or modified.

2902において、メッセージングアプリケーション240は、ユーザから入力を受け取る。一例において、図25に示すように、UI2500の「Operator」オプション2526を選択することによって、ユーザ入力を提供することができる。2904において、ユーザ入力に応じて、メッセージングアプリケーション240は、ユーザが関わっている会話の属性に基づいてインターフェースを生成する。2906において、メッセージングアプリケーション240はさらに、ユーザが会話の優先度の属性に基づいて会話の属性を整列することができるインターフェースを表示させる。 At 2902, messaging application 240 receives input from a user. In one example, user input can be provided by selecting "Operator" option 2526 of UI 2500, as shown in FIG. 25. At 2904, in response to the user input, messaging application 240 generates an interface based on attributes of conversations in which the user is involved. At 2906, messaging application 240 further displays an interface in which the user can order attributes of conversations based on a priority attribute of the conversation.

単一の次元で、例えばメッセージのタイミングで、メッセージを編成する従来のメッセージングシステムとは異なり、本開示にかかるメッセージングサービス220および/またはメッセージングアプリケーション240は、多次元で会話を編成することができる。オプションとして、メッセージングアプリケーション240は、複数の会話に関連付けられる2次元表示を含むインターフェースを生成することができる。2次元表示における2つの次元は、複数の会話に関連付けられる第1の属性と、複数の会話に関連付けられる第2の属性とに基づく。メッセージング装置は、複数の会話に関連する属性の再編成を示す入力をユーザによって提供することができるインターフェースを表示することができる。メッセージング装置は、入力を受け取ることに応じて2次元表示を再編成することができる。 Unlike conventional messaging systems that organize messages in a single dimension, e.g., the timing of the messages, the messaging service 220 and/or messaging application 240 of the present disclosure can organize conversations in multiple dimensions. Optionally, the messaging application 240 can generate an interface that includes a two-dimensional representation associated with the multiple conversations. The two dimensions in the two-dimensional representation are based on a first attribute associated with the multiple conversations and a second attribute associated with the multiple conversations. The messaging device can display an interface in which a user can provide input indicating a reorganization of the attributes associated with the multiple conversations. The messaging device can reorganize the two-dimensional representation in response to receiving the input.

限定ではなく、一例として、図30は、2次元テーブル3002を含むインターフェース3000を示す。2次元テーブル3002は、縦軸3004と横軸3006とを備える。一例において、縦軸3004は、ユーザが関わっている会話に関連付けられるトピックの全部またはサブセットをリストアップすることができる。横軸3006は、ユーザとの会話を有するユーザまたはグループ(例えば、会話中にメンションされ、@記号で始まるユーザまたはグループすなわち「メンション」)の全部またはサブセットをリストアップすることができる。別の例において、縦軸は、ユーザとの会話を有するユーザまたはグループの全部または一部をリストアップすることができ、横軸は、ユーザが関わっている会話に関連付けられるトピックの全部または一部をリストアップすることができる。 30 illustrates an interface 3000 that includes a two-dimensional table 3002. The two-dimensional table 3002 includes a vertical axis 3004 and a horizontal axis 3006. In one example, the vertical axis 3004 can list all or a subset of topics associated with conversations in which the user is involved. The horizontal axis 3006 can list all or a subset of users or groups that have conversations with the user (e.g., users or groups that are mentioned in a conversation and begin with the @ symbol, i.e., "mentions"). In another example, the vertical axis can list all or a subset of users or groups that have conversations with the user, and the horizontal axis can list all or a subset of topics associated with conversations in which the user is involved.

ユーザは、縦軸3004にリストアップされた特定のトピックまたは横軸3006にリストアップされた特定のメンションをドラッグし、該特定のトピックまたはメンションを異なる行または異なる列にドロップすることにより、2次元テーブル3002を再編成することができる。一例において、2次元テーブル3002は、会話に関連付けられる属性の優先度に基づいて、メッセージングアプリケーション240によって再編成することができる。縦軸3004にリストアップされたトピックおよび/または横軸3006にリストアップされたメンションは、それぞれの優先度を反映するように、任意の方法で編成されて表示されてもよい。限定ではなく、一例として、最も重要な属性を2次元テーブル3002の左上隅に移動させることができる。一例において、ユーザは、ユーザにとって最も重要なトピック(例えば、トピック「bugs」)をドラッグし、トピック「bugs」を縦軸3004の上にドロップすることができる。同様に、ユーザは、ユーザにとって最も重要なメンション(例えば、メンション「Boss」)をドラッグし、メンション「Boss」を横軸3006の一番左のセルにドロップすることができる。2次元テーブル3002は、それぞれ上から下へおよび左から右へリストアップされた属性の重要度の低下を示す、グレースケールまたは色の変更を有する一番左の列3008および最上部の行3010を含むことができる。別の実施形態において、最も重要な属性を2次元テーブル3002の右下隅に移動させることができる。グレースケールまたは色の変更を有する一番左の列3008および最上部の行3010は、それぞれ上から下へおよび左から右へリストされた属性の重要度の増加を示してもよい。 A user may reorganize the two-dimensional table 3002 by dragging a particular topic listed on the vertical axis 3004 or a particular mention listed on the horizontal axis 3006 and dropping the particular topic or mention on a different row or column. In one example, the two-dimensional table 3002 may be reorganized by the messaging application 240 based on the priority of the attributes associated with the conversation. The topics listed on the vertical axis 3004 and/or the mentions listed on the horizontal axis 3006 may be organized and displayed in any manner to reflect their respective priorities. By way of example and not limitation, the most important attribute may be moved to the top left corner of the two-dimensional table 3002. In one example, a user may drag the topic that is most important to the user (e.g., the topic "bugs") and drop the topic "bugs" onto the vertical axis 3004. Similarly, the user can drag the mention that is most important to the user (e.g., the mention "Boss") and drop the mention "Boss" into the leftmost cell of the horizontal axis 3006. The two-dimensional table 3002 can include a leftmost column 3008 and a topmost row 3010 with a grayscale or color change that indicates a decrease in importance of the listed attributes from top to bottom and left to right, respectively. In another embodiment, the most important attribute can be moved to the bottom right corner of the two-dimensional table 3002. The leftmost column 3008 and the topmost row 3010 with a grayscale or color change may indicate an increase in importance of the listed attributes from top to bottom and left to right, respectively.

2次元テーブル3002は、テーブル3002の列および行によって定義される複数のセル(交差)を含む。2次元テーブル3002内の各セルは、対応する属性(例えば、トピックやメンション属性)に基づいて会話をフィルタリングすることができる選択可能なボタンである。複数の交差のそれぞれは、対応する属性を有する1つ又は複数の会話に関連付けられる。一例において、2次元テーブル3002のセルに未読会話数を表示することができる。例えば、セル3014に数字「2」3012が表示され、これは、対応する属性(すなわち、Topic1 3016およびUserA3018)を有する会話の中に、未読メッセージを有する2つの会話が存在することを示す。別の例において、異なるセルは、異なる色または任意の他の適切なインジケータを有することができる。セルに含まれる異なる色または他のインジケータは、対応する属性を有する会話に関連付けられるタスクの異なるステータスを示すことができる。 The two-dimensional table 3002 includes a number of cells (intersections) defined by the columns and rows of the table 3002. Each cell in the two-dimensional table 3002 is a selectable button that allows filtering of conversations based on a corresponding attribute (e.g., topic or mention attribute). Each of the multiple intersections is associated with one or more conversations having the corresponding attribute. In one example, the number of unread conversations can be displayed in the cells of the two-dimensional table 3002. For example, the number "2" 3012 is displayed in the cell 3014, indicating that there are two conversations with unread messages in the conversation with the corresponding attribute (i.e., Topic1 3016 and UserA 3018). In another example, different cells can have different colors or any other suitable indicator. Different colors or other indicators included in the cells can indicate different statuses of tasks associated with the conversations with the corresponding attribute.

いくつかの実施形態において、UI3000は、「Operator」オプション2526の有効状態と無効状態との間で切り替えることができる「Enable」ボタン3019を含むことができる。他の実施形態において、UI3000は、属性、例えば、トピック(例えば、ハッシュタグ)属性、メンション属性、およびタスクステータス属性の有効状態と無効状態との間で切り替えるためのスライド可能なボタン3018、3020、3022をさらに含むことができる。トピック属性またはメンション属性のどちらかが無効になっている場合、UI3000は2次元テーブル3002の代わりに1次元テーブルを含む。タスクステータス属性が無効である場合、2次元テーブル3002は、異なる色または他の方法でタスクのステータスを示さない。 In some embodiments, the UI 3000 can include an "Enable" button 3019 that can toggle between enabled and disabled states of the "Operator" option 2526. In other embodiments, the UI 3000 can further include slideable buttons 3018, 3020, 3022 for toggling between enabled and disabled states of attributes, such as topic (e.g., hashtag) attributes, mention attributes, and task status attributes. If either the topic or mention attributes are disabled, the UI 3000 includes a one-dimensional table instead of the two-dimensional table 3002. If the task status attribute is disabled, the two-dimensional table 3002 does not indicate the status of the task in a different color or otherwise.

図29に戻り、2908において、メッセージングアプリケーション240は、別のユーザインターフェースの上にサイズを縮小された2次元表示を重ねることができる。図30に示す2次元テーブル3002は、会話に関連付けられる有用な情報および属性をユーザに提示し、ユーザが会話の属性を再編成することを可能にする。しかしながら、2次元テーブル3002は比較的大きく、スクリーンスペースを過度に占有する可能性がある。したがって、メッセージングアプリケーション240は、ユーザ入力に応じて、2次元テーブル3002のサイズを縮小されたバージョンを提供することができる。ユーザ入力は、図25に示すようにアイコン2530を選択することによって提供することができる。 Returning to FIG. 29, at 2908, the messaging application 240 can overlay a reduced-size two-dimensional display on top of another user interface. The two-dimensional table 3002 shown in FIG. 30 presents the user with useful information and attributes associated with a conversation and allows the user to reorganize the attributes of the conversation. However, the two-dimensional table 3002 can be relatively large and take up excessive screen space. Thus, the messaging application 240 can provide a reduced-size version of the two-dimensional table 3002 in response to user input. The user input can be provided by selecting an icon 2530 as shown in FIG. 25.

図31は、2次元テーブル3002の縮小されたバージョン3102を示す。図31に示されるように、縮小されたテーブル3102は、別のユーザインターフェース3104上に重ねられた。2次元テーブル3002と同様に、縮小されたテーブル3102は、セル内に未読会話を示す数を含むことができる。縮小されたテーブル3102は、関連付けられるタスクの異なるステータスを示す異なるセル内で異なる色を有することもできる。縮小されたテーブル3102内の各セルも、2次元テーブル3002内のセルと同様に、対応するトピックおよびメンション属性に基づいて会話をフィルタリングすることができる選択可能なボタンである。縮小された2次元テーブルは、ユーザがUIを使用するときにテーブルを参照できるように、UI上にテーブルを重ねることを可能にする。縮小されたサイズは、画面サイズに基づいて予め決定されてもよいし、例えばテーブルを直接選択してサイズ変更することによって、またはフォームにサイズ範囲を入れることによって、ユーザによって定義されてもよい。 31 shows a reduced version 3102 of the two-dimensional table 3002. As shown in FIG. 31, the reduced table 3102 has been overlaid on another user interface 3104. Like the two-dimensional table 3002, the reduced table 3102 can include numbers in the cells indicating unread conversations. The reduced table 3102 can also have different colors in different cells indicating different statuses of the associated task. Each cell in the reduced table 3102 is also a selectable button that can filter conversations based on the corresponding topic and mention attributes, like the cells in the two-dimensional table 3002. The reduced two-dimensional table allows the table to be overlaid on the UI so that the user can refer to the table when using the UI. The reduced size may be predetermined based on the screen size or may be defined by the user, for example by directly selecting and resizing the table or by entering a size range in a form.

図29に戻り、2910において、メッセージングアプリケーション240は、2次元表示内の交差の選択を示す情報を受信する。一例において、図30に示すように、ユーザは2次元テーブル3002内のセルを選択することができる。別の例において、図31に示すように、ユーザは縮小されたテーブル3102内のセルを選択することができる。2912において、メッセージングアプリケーション240は、2次元テーブル3002または縮小されたテーブル3102のどちらか内のセルの選択に応じて会話をフィルタリングすることができる。会話は、選択されたセルに対応する特定の属性に基づいて、メッセージングアプリケーションによってフィルタリングされる。例えば、2次元テーブル3002内のセル3036または縮小されたテーブル3102内のセル3106の選択に応じて、メッセージングアプリケーション240は、対応する属性、すなわち、トピック「bugs」およびメンション「Boss」に基づいて会話をフィルタリングする。図32はフィルタリングされた結果を示す。限定ではなく、一例として、トピック「bugs」3202とメンション「Boss」3204という属性を有する会話の要約3206、3208、3210、および3212が、UI3200に表示される。 Returning to FIG. 29, at 2910, messaging application 240 receives information indicating a selection of an intersection in a two-dimensional display. In one example, as shown in FIG. 30, a user may select a cell in two-dimensional table 3002. In another example, as shown in FIG. 31, a user may select a cell in collapsed table 3102. At 2912, messaging application 240 may filter conversations in response to the selection of a cell in either two-dimensional table 3002 or collapsed table 3102. The conversations are filtered by the messaging application based on the particular attributes corresponding to the selected cell. For example, in response to the selection of cell 3036 in two-dimensional table 3002 or cell 3106 in collapsed table 3102, messaging application 240 filters the conversations based on the corresponding attributes, i.e., topic "bugs" and mention "Boss". FIG. 32 shows the filtered results. By way of example and not limitation, summaries 3206, 3208, 3210, and 3212 of a conversation having attributes of topic "bugs" 3202 and mention "Boss" 3204 are displayed in UI 3200.

本開示の上述した態様は、いくつかの例および実施形態に関して説明されたが、これらは本開示を例示することを意図しており、限定することを意図しているわけではない。本明細書で提示された要旨は、コンピュータプロセス、コンピュータ制御の装置またはコンピュータシステム、またはコンピュータ可読記憶媒体のような製品として実現することが可能であることを理解すべきである。 The above-described aspects of the present disclosure have been described with respect to certain examples and embodiments, which are intended to illustrate, but not to limit, the present disclosure. It should be understood that the subject matter presented herein may be embodied as a computer process, a computer-controlled apparatus or system, or as an article of manufacture, such as a computer-readable storage medium.

当業者であれば、本明細書に記載された要旨は、本明細書に説明されたもの以外の、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な消費家電、ミニコンピュータ、メインフレームコンピュータ、手持ち式コンピュータ、携帯情報端末、電子リーダ、セルラー電話装置、専用ハードウェア装置、ネットアプライアンスなどを含む他のコンピュータシステム構成上で、または他のコンピュータシステム構成に関連して実装することができる。本明細書に記載された実施形態は、通信ネットワークを通じてリンクされる遠隔プロセッシング装置によってタスクを実行する分散型コンピューティング環境において実装することもできる。分散型コンピューティング環境では、プログラムモジュールは、ローカルメモリ記憶装置およびリモートメモリ記憶装置の両方内に位置することが可能である。 Those skilled in the art will appreciate that the subject matter described herein may be implemented on or in connection with other computer system configurations other than those described herein, including multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, handheld computers, personal digital assistants, electronic readers, cellular telephone devices, special purpose hardware devices, network appliances, and the like. The embodiments described herein may also be implemented in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

インターネットおよび/または他のネットワークを介してアクセス可能な1つまたは複数のサービスを1組の分散クライアントに提供するために、企業や公共部門機関などのエンティティによって構築されるネットワークを、プロバイダネットワークと呼ぶことができる。このようなプロバイダネットワークは、プロバイダネットワークによって提供されるインフラストラクチャおよびサービスを実装および配信するために必要な物理的および/または仮想化されたコンピュータサーバ、記憶装置、ネットワーク設備などの集合体のような様々なリソースプールをホストする、複数のデータセンターを含むことができる。いくつかの実施形態において、リソースは、仮想的または物理的なコンピューティングインスタンスまたは記憶装置インスタンスなどのインスタンスと呼ばれる単位でクライアントに提供されてもよい。例えば、仮想コンピューティングインスタンスは、規定されたコンピューティング能力(CPUのタイプおよび数、主メモリのサイズなどを示すことによって規定できる)を有する1つまたは複数のサーバと、規定されたソフトウェアスタック(例えば、ハイパーバイザ上で動作できる特定バージョンのオペレーティングシステム)とを含むことができる。 A network built by an entity, such as a business or public sector agency, to provide one or more services accessible via the Internet and/or other networks to a set of distributed clients can be referred to as a provider network. Such a provider network can include multiple data centers that host various resource pools, such as a collection of physical and/or virtualized computer servers, storage devices, network equipment, etc., necessary to implement and deliver the infrastructure and services provided by the provider network. In some embodiments, resources may be provided to clients in units called instances, such as virtual or physical computing instances or storage instances. For example, a virtual computing instance can include one or more servers having a defined computing capability (which can be specified by indicating the type and number of CPUs, the size of main memory, etc.) and a defined software stack (e.g., a particular version of an operating system that can run on a hypervisor).

汎用または専用のコンピュータサーバ、記憶装置、ネットワーク装置などを含む、複数の異なるタイプのコンピューティング装置を個別にまたは組み合わせて使用して、異なる実施形態におけるリソースおよびサービスを実現することができる。少なくともいくつかの実施形態において、メッセージングサービス220およびメッセージングアプリケーション240の機能を実装する技術を含む、本明細書で説明された技術のうちの1つまたは複数の技術の少なくとも一部を実装するサーバまたはコンピューティング装置は、1つまたは複数のデータベースおよび/またはコンピュータアクセス可能媒体を含む、またはそれらにアクセスするように構成された汎用コンピュータシステムを含むことができる。 A number of different types of computing devices, including general purpose or special purpose computer servers, storage devices, network devices, and the like, may be used individually or in combination to provide the resources and services in different embodiments. In at least some embodiments, a server or computing device implementing at least a portion of one or more of the technologies described herein, including technologies implementing the functionality of messaging service 220 and messaging application 240, may include a general purpose computer system that includes or is configured to access one or more databases and/or computer-accessible media.

図33は、このような汎用コンピューティング装置3300を示す。コンピューティング装置3300は、図1の環境100のような仮想環境で動作することができる。コンピューティング装置3300は、メッセージングサービスまたはメッセージングアプリケーションをホストするために使用することができる。コンピューティング装置3300は、メッセージングアプリケーションのユーザの装置と通信するように構成することができる。コンピューティング装置3300は、汎用コンピューティング装置とすることができる。コンピューティング装置3300は、ユーザのデータセンター内で動作する分散型システムのノードなどのオンプレミス装置とすることができる。コンピューティング装置3300のコンポーネントは、1つ又は複数のプロセッサまたはプロセッシングユニット3316と、システムメモリ3328と、システムメモリ3328を含む様々なシステムコンポーネントをプロセッサ3316に結合するバス3318とを含むことができるが、これらに限定されるわけではない。 Figure 33 illustrates such a general-purpose computing device 3300. The computing device 3300 can operate in a virtual environment, such as the environment 100 of Figure 1. The computing device 3300 can be used to host a messaging service or messaging application. The computing device 3300 can be configured to communicate with devices of users of the messaging application. The computing device 3300 can be a general-purpose computing device. The computing device 3300 can be an on-premise device, such as a node of a distributed system operating in a user's data center. Components of the computing device 3300 can include, but are not limited to, one or more processors or processing units 3316, a system memory 3328, and a bus 3318 that couples various system components, including the system memory 3328, to the processor 3316.

図33の例におけるバス3318は、メモリバスまたはメモリコントローラ、周辺バス、アクセラレーテッドグラフィックスポート、および様々なバスアーキテクチャのうちのいずれを使用するプロセッサまたはローカルバスを含む、いくつかのタイプのバス構造のうちの1つまたは複数を表す。限定ではなく、一例として、このようなアーキテクチャは、工業標準アーキテクチャ(「ISA」)バス、マイクロチャネルアーキテクチャ(「MCA」)バス、拡張ISA(「EISA」)バス、ビデオエレクトロニクス標準協会(「VESA」)ローカルバス、および周辺機器相互接続(「PCI」)バスを含む。 The bus 3318 in the example of FIG. 33 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example and not limitation, such architectures include an Industry Standard Architecture ("ISA") bus, a MicroChannel Architecture ("MCA") bus, an Enhanced ISA ("EISA") bus, a Video Electronics Standards Association ("VESA") local bus, and a Peripheral Component Interconnect ("PCI") bus.

コンピューティング装置3300は、様々なコンピュータシステム可読媒体を含むことができる。このような媒体は、コンピューティング装置3300がアクセス可能な任意の利用可能なメディアであってもよく、揮発性メディアおよび不揮発性メディア、取り外し可能なメディアおよび取り外し不可能なメディアの両方を含む。コンピューティング装置3300はシステムメモリ3328を含むことができ、システムメモリ3328は、ランダムアクセスメモリ(「RAM」)3330および/またはキャッシュメモリ3332のような揮発性メモリの形態のコンピュータシステム可読媒体を含むことができる。コンピューティング装置3300はさらに、他の取り外し可能/取り外し不可能な揮発性/不揮発性コンピュータシステム記憶媒体を含むことができる。ほんの一例として、格納システム3334は、取り外し不可能な不揮発性磁気媒体(図示せず、通常「ハードドライブ」と称される)に対する読み取りおよび書き込みのために提供することがある。図示しないが、「フロッピーディスク」などの取り外し可能な不揮発性磁気ディスクに対して読み取りおよび書き込みするための磁気ディスクドライブと、CD-ROM、DVD-ROMなどの取り外し可能な不揮発性光ディスクまたは他の光学媒体に対して読み取りおよび書き込みするための光ディスクドライブとを提供してもよい。この場合、それぞれ1つ又は複数のデータ媒体インターフェースを介してバス3318に接続することができる。以下でさらに記述および説明されるように、メモリ3328は、本発明の実施形態の機能を実行するように構成されたプログラムモジュールのうちの一セット、例えば少なくとも1つを有する、少なくとも1つのプログラム製品を含むことができる。 The computing device 3300 may include a variety of computer system readable media. Such media may be any available media accessible to the computing device 3300, including both volatile and nonvolatile, removable and non-removable media. The computing device 3300 may include a system memory 3328, which may include computer system readable media in the form of volatile memory, such as random access memory ("RAM") 3330 and/or cache memory 3332. The computing device 3300 may further include other removable/non-removable, volatile/non-volatile computer system storage media. By way of example only, the storage system 3334 may provide for reading from and writing to a non-removable, non-volatile magnetic medium (not shown, typically referred to as a "hard drive"). Although not shown, a magnetic disk drive may be provided for reading from and writing to a removable, non-volatile magnetic disk, such as a "floppy disk", and an optical disk drive may be provided for reading from and writing to a removable, non-volatile optical disk, such as a CD-ROM, DVD-ROM, or other optical medium. In this case, each may be connected to the bus 3318 via one or more data medium interfaces. As will be further described and illustrated below, the memory 3328 may include at least one program product having a set, for example at least one, of program modules configured to perform the functions of an embodiment of the present invention.

コンピューティング装置3300は、メモリ3328に記憶可能なプログラムモジュール3342のうちの一セット(少なくとも1つ)を有するプログラム/ユーティリティ3340を含むことができる。図33のコンピューティング装置3300は、オペレーティングシステム、1つまたは複数のメッセージングアプリケーション、他のメッセージングアプリケーションモジュール、およびメッセージングアプリケーションデータをさらに含むことができる。オペレーティングシステム、1つまたは複数のメッセージングアプリケーション、他のメッセージングアプリケーションモジュール、およびメッセージングアプリケーションデータ、またはそれらのいくつかの組み合わせのそれぞれは、図1のクラウドコンピューティングシステム100のようなネットワーク環境の実現を含むことができる。プログラムモジュール3342は、一般に、本明細書に記載された本発明の実施形態の機能および/または方法を実行する。 The computing device 3300 may include a program/utility 3340 having a set (at least one) of program modules 3342 storable in the memory 3328. The computing device 3300 of FIG. 33 may further include an operating system, one or more messaging applications, other messaging application modules, and messaging application data. Each of the operating system, one or more messaging applications, other messaging application modules, and messaging application data, or some combination thereof, may include an implementation of a network environment, such as the cloud computing system 100 of FIG. 1. The program modules 3342 generally perform the functions and/or methods of the embodiments of the present invention described herein.

図33のコンピューティング装置3300は、ユーザがコンピューティング装置3300と会話することを可能にするキーボード、ポインティング装置、ディスプレイ3324など、1つまたは複数の外部装置3314と通信することもできる。コンピューティング装置3300は、コンピューティング装置3300が1つまたは複数の他のコンピューティング装置と通信することを可能にする任意の装置、例えば、ネットワークカード、モデムなどを含むこともできる。このような通信は、例えば、I/Oインターフェース3321を介して行うことができる。なお、コンピューティング装置3300は、ネットワークアダプタ3320を介して、ローカルエリアネットワーク(「LAN」)、汎用ワイドエリアネットワーク(「WAN」)、および/または公衆ネットワーク(例えば、インターネット)など、1つまたは複数のネットワークと通信することができる。図示するように、ネットワークアダプタ3320は、バス3318を介してコンピューティング装置3300の他のコンポーネントと通信する。図示されていないが、他のハードウェアおよび/またはソフトウェアコンポーネントも、コンピューティング装置3300と組み合わせて使用することができることを理解すべきである。例えば、マイクロコード、装置ドライバ、冗長プロセッシングユニット、外部ディスクドライブアレイ、RAIDシステム、テープドライブ、およびデータアーカイバル格納システムなどが挙げられるが、これらに限定されない。 The computing device 3300 of FIG. 33 may also communicate with one or more external devices 3314, such as a keyboard, pointing device, display 3324, that allow a user to interact with the computing device 3300. The computing device 3300 may also include any device that allows the computing device 3300 to communicate with one or more other computing devices, such as a network card, modem, etc. Such communication may occur, for example, via an I/O interface 3321. It should be noted that the computing device 3300 may communicate with one or more networks, such as a local area network ("LAN"), a general-purpose wide area network ("WAN"), and/or a public network (e.g., the Internet), via a network adapter 3320. As shown, the network adapter 3320 communicates with other components of the computing device 3300 via a bus 3318. It should be understood that other hardware and/or software components, not shown, may also be used in combination with the computing device 3300. Examples include, but are not limited to, microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archival storage systems.

前節で説明されたプロセス、方法、およびアルゴリズムのそれぞれは、1つまたは複数のコンピュータまたはコンピュータプロセッサによって実行されるコードモジュールで実現されてもよく、それによって完全にまたは部分的に自動化されてもよい。コードモジュールは、ハードドライブ、ソリッドステートメモリ、光ディスクなど、任意のタイプの非一時的なコンピュータ可読媒体またはコンピュータ記憶装置に記憶することができる。プロセスおよびアルゴリズムは、特定用途向け回路において部分的にまたは全体的に実装することが可能である。開示されたプロセスおよびプロセスステップの結果は、揮発性または不揮発性記憶装置など、任意のタイプの非一時的なコンピュータ記憶装置に持続的にまたは他の方法で記憶することが可能である。 Each of the processes, methods, and algorithms described in the preceding paragraphs may be realized in code modules executed by one or more computers or computer processors, and may thereby be fully or partially automated. The code modules may be stored in any type of non-transitory computer-readable medium or computer storage device, such as a hard drive, solid-state memory, optical disk, etc. The processes and algorithms may be implemented in part or in whole in application-specific circuits. The results of the disclosed processes and process steps may be stored persistently or otherwise in any type of non-transitory computer storage device, such as volatile or non-volatile storage device.

上述した様々な特性およびプロセスは、互いに独立して使用されてもよく、または様々な方法で組み合わされてもよい。すべての可能な組み合わせおよびサブ組み合わせは、本開示の範囲内に入ることを意図している。さらに、いくつかの実施において、一部の方法またはプロセスブロックを省略してもよい。本明細書で説明される方法およびプロセスは、任意の特定の順序に限定されるものではなく、それに関連するブロックまたは状態は、適切な他の順序で実行されてもよい。例えば、説明されたブロックまたは状態は、特別に開示された順番以外の順番で実行されてもよく、あるいは、複数のブロックまたは状態は、単一のブロックまたは状態内で結合されてもよい。例示的なブロックまたは状態は、連続的に、並列に、または何らかの他の方法で実行することができる。ブロックまたは状態は、開示された例示的な実施形態に追加されてもよいし、開示された例示的な実施形態から削除されてもよい。本明細書に記載された例示的なシステムおよびコンポーネントは、説明されたものとは異なるように構成されてもよい。例えば、開示された例示的な実施形態と比較して、要素を追加したり、削除したり、または再配置したりすることができる。 The various features and processes described above may be used independently of one another or may be combined in various ways. All possible combinations and subcombinations are intended to fall within the scope of the present disclosure. Furthermore, in some implementations, some method or process blocks may be omitted. The methods and processes described herein are not limited to any particular order, and the blocks or states associated therewith may be performed in other orders as appropriate. For example, the described blocks or states may be performed in an order other than the order specifically disclosed, or multiple blocks or states may be combined within a single block or state. The example blocks or states may be performed sequentially, in parallel, or in some other manner. Blocks or states may be added to or deleted from the disclosed example embodiments. The example systems and components described herein may be configured differently than described. For example, elements may be added, deleted, or rearranged as compared to the disclosed example embodiments.

また、様々なアイテムは、使用中にメモリ内または記憶装置上に記憶されるように示されており、これらのアイテムまたはその一部は、メモリ管理およびデータ完全性の目的のために、メモリと他の記憶装置との間で移転されてもよいことも理解されるであろう。代替として、他の実施形態において、ソフトウェアモジュールおよび/またはシステムの一部または全部を別の装置上でメモリ内で実行し、コンピュータ間通信を介して図示のコンピューティングシステムと通信することができる。さらに、いくつかの実施形態において、システムおよび/またはモジュールの一部または全部は、他の方法で、例えば少なくとも部分的にファームウェアおよび/またはハードウェアで実装または提供されてもよく、ハードウェアは、1つ又は複数の特定用途向け集積回路(ASIC)、標準集積回路、コントローラ(例えば、適切な指令を実行することにより、また、マイクロコントローラおよび/または埋め込みコントローラを含む)、フィールドプログラマブルゲートアレイ、複合プログラマブル論理装置などを含むが、これらに限定されない。モジュール、システム、およびデータ構造の一部または全部は、適切なドライブによってまたは適切な接続を介して読み取るために、ハードディスク、メモリ、ネットワーク、またはポータブルメディア製品などのコンピュータ可読媒体上に(例えば、ソフトウェア指令または構造化データとして)記憶することもできる。システム、モジュール、およびデータ構造は、無線ベースの媒体および有線/ケーブルベースの媒体を含む、様々なコンピュータ可読伝送媒体上で、生成されたデータ信号として(例えば、搬送波または他のアナログまたはデジタル伝搬信号の一部として)送信することもでき、様々な形態をとる(例えば、単一または多重化アナログ信号の一部として、または複数の離散デジタルパケットまたはフレームとする)ことができる。他の実施形態において、そのようなコンピュータプログラム製品は、他の形態をとることもできる。したがって、本発明は、他のコンピュータシステム構成で実施することができる。 It will also be understood that while various items are shown as being stored in memory or on a storage device during use, these items or portions thereof may be transferred between memory and other storage devices for purposes of memory management and data integrity. Alternatively, in other embodiments, some or all of the software modules and/or systems may be executed in memory on another device and communicate with the illustrated computing system via computer-to-computer communications. Furthermore, in some embodiments, some or all of the systems and/or modules may be implemented or provided in other ways, such as at least partially in firmware and/or hardware, including, but not limited to, one or more application specific integrated circuits (ASICs), standard integrated circuits, controllers (e.g., by executing appropriate instructions, and including microcontrollers and/or embedded controllers), field programmable gate arrays, complex programmable logic devices, and the like. Some or all of the modules, systems, and data structures may also be stored (e.g., as software instructions or structured data) on a computer-readable medium, such as a hard disk, memory, network, or portable media product, for reading by an appropriate drive or via an appropriate connection. The systems, modules, and data structures may be transmitted as generated data signals (e.g., as part of a carrier wave or other analog or digital propagated signal) over a variety of computer-readable transmission media, including wireless-based media and wire/cable-based media, and may take a variety of forms (e.g., as part of a single or multiplexed analog signal, or as multiple discrete digital packets or frames). In other embodiments, such computer program products may take other forms. Thus, the invention may be practiced with other computer system configurations.

本明細書で使用される条件付き言語は、例えば、特に「可能である」、「できる」、「してもよい」、「ことができる」、「例えば」などは、特に明記しない限り、または使用されるコンテキストで他に理解されない限り、全体として、いつくかの実施形態がいくつかの特性、要素、および/またはステップを含むが、他の実施形態がいくつかの特性、要素、および/またはステップを含まないことを伝えることを意図している。したがって、このような条件付き言語は全体として、特性、要素、および/またはステップが1つまたは複数の実施形態によって任意の方法で必要とされること、または1つまたは複数の実施形態は、作成者の入力またはプロンプトがある又はない状態で、これらの特性、要素、および/またはステップが任意の特定の実施形態に含まれているか、または実行されるかを判定するためのロジックを必然的に含むことを意味するものではない。用語「備える」、「含む」、「有する」等は同義であり、包括的に、制限のない方法で使用され、追加の要素、特性、作動、動作等を除外しない。また、「または」という用語は、(排他的な意味ではなく)包含的な意味で使用されるので、「または」という用語を用いて要素リストを連結する場合、「または」という用語は、リスト内の要素のうちの1つ、一部、または全部を意味する。 Conditional language used herein, for example, particularly "can," "can," "may," "could," "for example," etc., is intended to convey that some embodiments include certain features, elements, and/or steps while other embodiments do not include certain features, elements, and/or steps, unless otherwise specified or understood in the context in which it is used. Thus, such conditional language does not imply that features, elements, and/or steps are required in any way by one or more embodiments, or that one or more embodiments necessarily include logic for determining whether those features, elements, and/or steps are included or performed in any particular embodiment, with or without author input or prompting. The terms "comprise," "include," "have," etc. are synonymous and are used in an inclusive, open-ended manner and do not exclude additional elements, features, operations, actions, etc. Additionally, the term "or" is used in an inclusive (not exclusive) sense, such that when the term "or" is used to connect a list of elements, the term "or" means one, some, or all of the elements in the list.

いくつかの例示的な実施形態を説明してきたが、これらの実施形態は例として提示されただけであって、本明細書に開示された本発明の範囲を限定することを意図していない。したがって、前述の説明のいかなる部分も、特定の特性、特徴、ステップ、モジュール、またはブロックが必須または不可欠であることを意味するものではない。実際、本明細書に説明された新規な方法およびシステムは、様々な他の形態で実現することができる。さらに、本明細書に開示された本発明の要旨から逸脱することなく、本明細書に説明された方法およびシステムの形態には、様々な省略、置換、および変更が可能である。添付の特許請求の範囲およびその均等物は、本明細書に開示されたいくつかの発明の範囲および要旨内にあるそのような形態または改変をカバーすることを意図している。 Although several exemplary embodiments have been described, these embodiments are presented by way of example only and are not intended to limit the scope of the invention disclosed herein. Thus, nothing in the foregoing description is intended to imply that any particular characteristic, feature, step, module, or block is essential or essential. Indeed, the novel methods and systems described herein may be embodied in a variety of other forms. Moreover, various omissions, substitutions, and changes may be made in the form of the methods and systems described herein without departing from the spirit of the invention disclosed herein. The appended claims and their equivalents are intended to cover such forms or modifications within the scope and spirit of any invention disclosed herein.

要約すると、本開示の実施形態は、以下の技術案を提供することができる。In summary, the embodiments of the present disclosure can provide the following technical solutions:
[技術案1][Technical proposal 1]
システムであって、1. A system comprising:
少なくとも1つのデータベースと、At least one database;
前記少なくとも1つのデータベースと通信する少なくとも1つのコンピューティング装置であって、at least one computing device in communication with the at least one database,
第1の会話内の複数のメッセージを受信することと、Receiving a plurality of messages in a first conversation;
前記第1の会話内のユーザ入力が、トピックを示す情報を含むと判定することと、determining that a user input in the first conversation includes information indicative of a topic;
前記トピックを示す前記情報と前記第1の会話との間の関連付けを、前記少なくとも1つのデータベースに格納することと、storing an association between the information indicative of the topic and the first conversation in the at least one database;
を含む動作を実行するように構成された少なくとも1つのコンピューティング装置と、At least one computing device configured to perform operations including:
を備えるシステム。A system comprising:
[技術案2][Technical proposal 2]
前記動作はThe above operation is
前記第1の会話の第1の参加者に関連付けられるメッセージングアプリケーションから前記トピックの選択を示す入力を受け取ることに応じて、前記第1の会話の少なくともサブセットを、前記複数のメッセージの前記少なくともサブセットを表示させるために、前記メッセージングアプリケーションに送信することをさらに含む、and in response to receiving an input indicating a selection of the topic from a messaging application associated with a first participant of the first conversation, transmitting at least a subset of the first conversation to the messaging application for displaying the at least a subset of the plurality of messages.
技術案1に記載のシステム。The system described in technical proposal 1.
[技術案3][Technical proposal 3]
前記動作は、The operation includes:
トピックに関連する情報を含む前記少なくとも1つのデータベースを検索することによって、前記トピックが新しいと判定することと、determining that the topic is new by searching the at least one database containing information related to the topic;
前記トピックが新しいという判定に基づいて、前記トピックを示す情報を前記少なくとも1つのデータベースに格納することと、storing information indicative of the topic in the at least one database based on a determination that the topic is new;
をさらに含む技術案1に記載のシステム。The system according to technical solution 1, further comprising:
[技術案4][Technical proposal 4]
前記動作は、The operation includes:
前記第1の会話内の第2のメッセージを解析することと、Analyzing a second message in the first conversation;
前記第2のメッセージがユーザを識別する情報を含むと判定することと、determining that the second message includes information identifying a user;
少なくとも前記第1の会話内の前記複数のメッセージにアクセスすることによって前記ユーザが前記第1の会話に参加することを許可することと、permitting the user to participate in the first conversation by accessing at least the plurality of messages in the first conversation;
をさらに含む技術案1に記載のシステム。The system according to technical solution 1, further comprising:
[技術案5][Technical proposal 5]
前記トピックを示す前記情報を1つまたは複数のメッセージングアプリケーションに送信することをさらに含み、前記1つまたは複数のメッセージングアプリケーションは、前記許可されたユーザに関連付けられる第2のメッセージングアプリケーションを含む、sending the information indicating the topic to one or more messaging applications, the one or more messaging applications including a second messaging application associated with the authorized user.
技術案4に記載のシステム。The system described in technical proposal 4.
[技術案6][Technical proposal 6]
前記少なくとも1つのデータベースは、前記第1の会話を含む複数の会話を含み、前記少なくとも1つのデータベースはさらに、前記複数の会話に関連付けられる属性としての複数のトピックと前記複数の会話の参加者に関連付けられる情報とをさらに格納する、the at least one database includes a plurality of conversations including the first conversation, the at least one database further storing a plurality of topics as attributes associated with the plurality of conversations and information associated with participants of the plurality of conversations;
技術案1に記載のシステム。The system described in technical proposal 1.
[技術案7][Technical proposal 7]
第1のメッセージがトピックを示す情報を含むと判定することは、前記第1のメッセージが所定のキャラクタを含むと判定することを含む、determining that the first message includes information indicative of a topic includes determining that the first message includes a predetermined character;
技術案1に記載のシステム。The system described in technical proposal 1.
[技術案8][Technical proposal 8]
システムであって、1. A system comprising:
少なくとも1つのデータベースと、At least one database;
前記少なくとも1つのデータベースと通信する少なくとも1つのコンピューティング装置であって、at least one computing device in communication with the at least one database,
第1の会話の第1の参加者に関連付けられるメッセージングアプリケーションから、複数のトピックの中からトピックを選択することを示す入力を受け取ることと、receiving an input from a messaging application associated with a first participant of the first conversation indicating a selection of a topic from among a plurality of topics;
前記第1の会話内の複数のメッセージの少なくともサブセットを表示させるために、前記第1の会話の少なくとも一部を前記メッセージングアプリケーションに送信することと、sending at least a portion of the first conversation to the messaging application for displaying at least a subset of messages in the first conversation;
を含む動作を実行するように構成された少なくとも1つのコンピューティング装置と、を備え、and at least one computing device configured to perform operations including:
前記トピックを示す情報と前記第1の会話との間の関連付けは、前記少なくとも1つのデータベースに格納される、an association between the information indicative of the topic and the first conversation is stored in the at least one database;
システム。system.
[技術案9][Technical proposal 9]
前記動作は、The operation includes:
前記選択されたトピックに関連付けられる別の会話内の複数のメッセージの少なくともサブセットを表示させるために、前記別の会話を、前記メッセージングアプリケーションに送信すること、sending another conversation associated with the selected topic to the messaging application for displaying at least a subset of messages in the another conversation;
をさらに含む技術案8に記載のシステム。The system according to technical proposal 8, further comprising:
[技術案10][Technical proposal 10]
方法であって、1. A method comprising:
会話内の複数のメッセージを受信することと、Receiving multiple messages in a conversation;
前記会話内のユーザ入力が、トピックを示す情報を含むと判定することと、determining that a user input in the conversation includes information indicative of a topic;
前記トピックを示す情報と前記会話との間の関連付けを格納することと、storing an association between the information indicative of the topic and the conversation;
を含む方法。The method includes:
[技術案11][Technical proposal 11]
前記トピックに関連付けられる選択を示す第1のユーザからの入力を受け取ることに応じて、前記第1のユーザからの前記入力に応じて前記複数のメッセージの少なくともサブセットを表示させるために、前記複数のメッセージの前記少なくともサブセットを前記第1のユーザに関連付けられる第1のユーザ装置に送信することをさらに含む、and in response to receiving input from a first user indicating a selection associated with the topic, transmitting the at least a subset of the plurality of messages to a first user device associated with the first user for displaying the at least a subset of the plurality of messages in response to the input from the first user.
技術案10に記載の方法。The method according to technical proposal 10.
[技術案12][Technical proposal 12]
トピックに関連する情報を含むデータベースを検索することによって、前記トピックが新しいと判定することと、determining that the topic is new by searching a database containing information related to the topic;
前記トピックが新しいと判定すると、前記トピックを示す情報を前記データベースに格納することと、if the topic is determined to be new, storing information indicative of the topic in the database;
をさらに含む技術案10に記載の方法。The method according to technical proposal 10, further comprising:
[技術案13][Technical proposal 13]
前記トピックを示す前記情報は、前記トピックを示す文字列の少なくとも一部を含む、the information indicating the topic includes at least a part of a character string indicating the topic;
技術案12に記載の方法。The method according to technical proposal 12.
[技術案14][Technical proposal 14]
第2のメッセージを解析することに基づいて、前記第2のメッセージが第2のユーザを識別する情報を含むと判定することと、determining, based on analyzing a second message, that the second message includes information identifying a second user;
前記第2のユーザに前記会話へのアクセスを許可することと、granting the second user access to the conversation;
をさらに含む技術案10に記載の方法。The method according to technical proposal 10, further comprising:
[技術案15][Technical proposal 15]
前記トピックの指示を表示させるために、前記トピックを示す情報を、前記第2のユーザに関連付けられる第2のユーザ装置に送信することをさらに含む、transmitting information indicative of the topic to a second user device associated with the second user to cause an indication of the topic to be displayed.
技術案14に記載の方法。The method according to technical proposal 14.
[技術案16][Technical proposal 16]
前記第2のユーザから第3のメッセージを受信することと、receiving a third message from the second user;
前記第3のメッセージを前記複数のメッセージに追加することと、appending the third message to the plurality of messages;
をさらに含む技術案14に記載の方法。The method according to technical proposal 14, further comprising:
[技術案17][Technical proposal 17]
前記第2のユーザが前記複数のメッセージにアクセスする前記許可を示す通知を、前記第1のユーザ装置に送信することをさらに含む、sending a notification to the first user device indicating the permission of the second user to access the plurality of messages.
技術案14に記載の方法。The method according to technical proposal 14.
[技術案18][Technical proposal 18]
前記会話と前記会話の複数の参加者との間の関連付けを格納することをさらに含むand storing an association between the conversation and a plurality of participants of the conversation.
技術案10に記載の方法。The method according to technical proposal 10.
[技術案19][Technical proposal 19]
前記会話内の第3のメッセージを受信することと、receiving a third message in the conversation;
前記会話の前記複数の参加者を識別することと、identifying the plurality of participants in the conversation;
前記第3のメッセージを表示させるために、前記第3のメッセージを、前記複数の参加者に関連付けられる複数のユーザ装置に送信することと、transmitting the third message to a plurality of user devices associated with the plurality of participants for displaying the third message;
をさらに含む技術案18に記載の方法。The method according to technical proposal 18, further comprising:
[技術案20][Technical proposal 20]
文字列は、前記文字列が前記トピックを示すと判定するための識別子を含む、the character string includes an identifier for determining that the character string indicates the topic;
技術案10に記載の方法。The method according to technical proposal 10.
[技術案21][Technical proposal 21]
方法であって、1. A method comprising:
第1の会話の第1の参加者に関連付けられるメッセージングアプリケーションから、複数のトピックの中からトピックを選択することを示す入力を受け取ることと、receiving an input from a messaging application associated with a first participant of the first conversation indicating a selection of a topic from among a plurality of topics;
前記第1の会話内の複数のメッセージの少なくともサブセットを表示させるために、前記第1の会話の少なくとも一部を前記メッセージングアプリケーションに送信することと、を含み、sending at least a portion of the first conversation to the messaging application to cause display of at least a subset of messages in the first conversation;
前記トピックを示す情報と前記第1の会話との間の関連付けは、前記少なくとも1つのデータベースに格納される、an association between the information indicative of the topic and the first conversation is stored in the at least one database;
方法。Method.
[技術案22][Technical proposal 22]
前記選択されたトピックに関連付けられる別の会話内の複数のメッセージの少なくともサブセットを表示させるために、前記別の会話を、前記メッセージングアプリケーションに送信することをさらに含む、sending the other conversation associated with the selected topic to the messaging application for displaying at least a subset of messages in the other conversation.
技術案21に記載の方法。The method according to technical proposal 21.
[技術案23][Technical proposal 23]
コンピュータ可読指令が記憶されている非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ可読指令は、コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、A non-transitory computer-readable storage medium having computer-readable instructions stored thereon, the computer-readable instructions, when executed on a computing device, causing the computing device to at least:
複数のメッセージを受信することと、Receiving a plurality of messages;
前記複数のメッセージのうちの第1のメッセージを解析することに基づいて、前記第1のメッセージがトピックを示す文字列を含むと判定することと、determining, based on analyzing a first message of the plurality of messages, that the first message includes a string indicative of a topic;
前記トピックを示す前記文字列の少なくとも一部と前記複数のメッセージとの間の関連付けを格納することと、storing an association between at least a portion of the string indicating the topic and the plurality of messages;
を行わせる非一時的なコンピュータ可読記憶媒体。A non-transitory computer-readable storage medium for causing
[技術案24][Technical proposal 24]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、When executed on the computing device, the computing device is provided with at least
前記トピックに関連付けられる選択を示す第1のユーザからの入力を受け取ることに応じて、前記第1のユーザからの前記入力に応じて前記複数のメッセージの少なくともサブセットを表示させるために、前記複数のメッセージの前記少なくともサブセットを前記第1のユーザに関連付けられる第1のユーザ装置に送信することを行わせる、in response to receiving input from a first user indicating a selection associated with the topic, transmitting at least a subset of the plurality of messages to a first user device associated with the first user for displaying at least a subset of the plurality of messages in response to the input from the first user.
コンピュータ可読指令をさらに記憶している技術案23に記載の非一時的なコンピュータ可読記憶媒体。The non-transitory computer-readable storage medium according to technical proposal 23, further storing computer-readable instructions.
[技術案25][Technical proposal 25]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、When executed on the computing device, the computing device is provided with at least
トピックに関連する情報を含むデータベースを検索することによって、前記トピックが新しいと判定することと、determining that the topic is new by searching a database containing information related to the topic;
前記トピックが新しいと判定すると、前記トピックを示す情報を前記データベースに格納することと、を行わせる、if the topic is determined to be new, storing information indicating the topic in the database;
コンピュータ可読指令をさらに記憶している技術案23に記載の非一時的なコンピュータ可読記憶媒体。The non-transitory computer-readable storage medium according to technical proposal 23, further storing computer-readable instructions.
[技術案26][Technical proposal 26]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、When executed on the computing device, the computing device is provided with at least
前記第2のメッセージを解析することに基づいて、前記第2のメッセージが第2のユーザを識別する情報を含むと判定することと、determining, based on analyzing the second message, that the second message includes information identifying a second user;
前記複数のメッセージにアクセスし、前記複数のメッセージに1つ又は複数の新しいメッセージを追加することを前記第2のユーザに許可することと、を行わせる、and permitting the second user to access the plurality of messages and to add one or more new messages to the plurality of messages.
コンピュータ可読指令をさらに記憶している技術案23に記載の非一時的なコンピュータ可読記憶媒体。The non-transitory computer-readable storage medium according to technical proposal 23, further storing computer-readable instructions.
[技術案27][Technical proposal 27]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、When executed on the computing device, the computing device is provided with at least
前記トピックと、前記トピックに関連付けられる会話の複数の参加者との間の関連付けを格納することと、storing an association between the topic and a number of participants in a conversation associated with the topic;
前記トピックに関連付けられる前記会話内の第3のメッセージを受信することと、receiving a third message in the conversation associated with the topic;
前記第3のメッセージおよび前記トピックを、前記複数の参加者に関連付けられる複数のユーザ装置に送信することと、を行わせる、transmitting the third message and the topic to a plurality of user devices associated with the plurality of participants.
コンピュータ可読指令をさらに含み、further comprising computer readable instructions,
前記複数の参加者のうちの第1の参加者に関連付けられる第1のユーザ装置は、前記第1のユーザ装置が以前に前記トピックに関連付けられる任意のメッセージを受信したという判定に応じて、前記トピックを表示せずに前記第3のメッセージのみを表示するように構成されている、a first user device associated with a first participant of the plurality of participants configured to, in response to determining that the first user device has previously received any messages associated with the topic, display only the third message without displaying the topic.
技術案23に記載の非一時的なコンピュータ可読記憶媒体。A non-transitory computer-readable storage medium according to technical proposal 23.
[技術案28][Technical proposal 28]
コンピュータ可読指令が記憶されている非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ可読指令は、コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、A non-transitory computer-readable storage medium having computer-readable instructions stored thereon, the computer-readable instructions, when executed on a computing device, causing the computing device to at least:
第1の会話の第1の参加者に関連付けられるメッセージングアプリケーションから、複数のトピックの中からトピックを選択することを示す入力を受け取ることと、receiving an input from a messaging application associated with a first participant of the first conversation indicating a selection of a topic from among a plurality of topics;
前記第1の会話内の複数のメッセージの少なくともサブセットを表示させるために、前記第1の会話の少なくとも一部を前記メッセージングアプリケーションに送信することと、を行わせて、transmitting at least a portion of the first conversation to the messaging application to cause the messaging application to display at least a subset of the messages in the first conversation;
前記トピックを示す情報と前記第1の会話との間の関連付けは、前記少なくとも1つのデータベースに格納されるAn association between the information indicative of the topic and the first conversation is stored in the at least one database.
非一時的なコンピュータ可読記憶媒体。A non-transitory computer-readable storage medium.
[技術案29][Technical proposal 29]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、When executed on the computing device, the computing device is provided with at least
前記選択されたトピックに関連付けられる別の会話内の複数のメッセージの少なくともサブセットを表示させるために、前記別の会話を、前記メッセージングアプリケーションに送信することを行わせる、sending another conversation associated with the selected topic to the messaging application to cause the messaging application to display at least a subset of messages in the another conversation;
コンピュータ可読指令をさらに記憶している技術案28に記載の非一時的なコンピュータ可読記憶媒体。The non-transitory computer-readable storage medium according to technical proposal 28, further storing computer-readable instructions.
[技術案30][Technical proposal 30]
システムであって、1. A system comprising:
少なくとも1つのデータベースと、At least one database;
前記少なくとも1つのデータベースと通信する少なくとも1つのコンピューティング装置であって、at least one computing device in communication with the at least one database,
第1の会話内の複数のメッセージを受信することと、Receiving a plurality of messages in a first conversation;
前記第1の会話内のユーザ入力が複数のユーザからなる第1のグループを識別する情報を含むと判定し、前記第1のグループに第1の会話に参加することを許可することと、determining that the user input in the first conversation includes information identifying a first group of users and allowing the first group to participate in the first conversation;
前記第1のグループと前記第1の会話との間の関連付けを前記少なくとも1つのデータベースに格納することと、storing an association between the first group and the first conversation in the at least one database;
前記第1のグループを識別する前記情報に基づいて前記少なくとも1つのデータベースから、前記第1のグループ内の前記複数のユーザを識別する情報を含む、前記第1のグループに関連付けられるデータを取り戻すことと、retrieving data associated with the first group from the at least one database based on the information identifying the first group, the data including information identifying the users in the first group;
前記第1のグループに関連付けられる前記取り戻されたデータに少なくとも部分的に基づいて、前記複数のメッセージの少なくともサブセットを表示させるために、前記第1の会話の前記少なくともサブセットを、前記第1のグループ内の前記複数のユーザに関連付けられる複数のメッセージングアプリケーションに送信することと、transmitting at least a subset of the first conversation to a plurality of messaging applications associated with the plurality of users in the first group for displaying at least a subset of the plurality of messages based at least in part on the retrieved data associated with the first group;
を含む動作を実行するように構成された少なくとも1つのコンピューティング装置と、At least one computing device configured to perform operations including:
を備えるシステム。A system comprising:
[技術案31][Technical proposal 31]
前記動作は、The operation includes:
少なくとも部分的に検索インデックスに基づいて、前記第1の会話を、前記第1のグループ内の前記複数のユーザのそれぞれに関連付けることをさらに含む、and associating the first conversation with each of the plurality of users in the first group based at least in part on a search index.
技術案30に記載のシステム。The system described in technical proposal 30.
[技術案32][Technical proposal 32]
前記動作は、The operation includes:
前記第1のグループに第1のユーザを追加するか、または前記第1のグループから前記第1のユーザを削除することを示す情報と、前記第1のユーザを識別する情報とを受信することに応じて、前記第1のグループに関連付けられる前記データを更新することをさらに含む、updating the data associated with the first group in response to receiving information indicating adding or removing a first user from the first group and information identifying the first user.
技術案31に記載のシステム。The system described in technical proposal 31.
[技術案33][Technical proposal 33]
前記動作は、The operation includes:
第2の会話で第2のメッセージを受信することと、前記第2のメッセージが前記第1のグループを識別する情報を含むと判定することに応じて、前記第1のグループに前記第2の会話に参加することを許可することと、receiving a second message in a second conversation and, in response to determining that the second message includes information identifying the first group, allowing the first group to participate in the second conversation;
前記第1のグループと前記第2の会話との間の関連付けを前記少なくとも1つのデータベースに格納することと、storing an association between the first group and the second conversation in the at least one database;
をさらに含む技術案30に記載のシステム。The system according to technical proposal 30, further comprising:
[技術案34][Technical proposal 34]
前記動作は、The operation includes:
第2のユーザを前記第1のグループに追加することを示す情報と、前記第2のユーザを識別する情報とを受信することと、receiving information indicating adding a second user to the first group and information identifying the second user;
前記第1のグループに関連付けられるデータを更新することと、updating data associated with the first group;
をさらに含む技術案33に記載のシステム。The system according to technical proposal 33, further comprising:
[技術案35][Technical proposal 35]
前記動作は、The operation includes:
前記少なくとも1つのデータベースを検索することによって、前記第1の会話内の前記複数のメッセージおよび前記第2の会話内の第2の複数のメッセージを識別することと、identifying the plurality of messages in the first conversation and a second plurality of messages in the second conversation by searching the at least one database;
前記第1の会話内の前記複数のメッセージおよび前記第2の会話内の前記第2の複数のメッセージを、前記第2のユーザに関連付けられるメッセージングアプリケーションに送信することと、sending the plurality of messages in the first conversation and the second plurality of messages in the second conversation to a messaging application associated with the second user;
をさらに含む技術案34に記載のシステム。The system according to technical proposal 34, further comprising:
[技術案36][Technical proposal 36]
前記動作は、The operation includes:
前記第2のユーザが前記第1のグループに追加されたことを示す通知を、前記第1のグループ内の前記複数のユーザに関連付けられる前記複数のメッセージングアプリケーションに送信すること、sending a notification to the plurality of messaging applications associated with the plurality of users in the first group indicating that the second user has been added to the first group;
をさらに含む技術案34に記載のシステム。The system according to technical proposal 34, further comprising:
[技術案37][Technical proposal 37]
前記第1のグループ内の前記複数のユーザを識別する前記情報は、登録ユーザのユーザ名と、前記複数のユーザのうちの1つに関連付けられるエンティティ内のアカウントと、前記複数のユーザのうちの1つに関連付けられる前記複数のユーザのうちの1つに関連付けられる電子メールアドレスと、のうちの少なくとも1つを含む、The information identifying the plurality of users in the first group includes at least one of: a username of a registered user; an account within an entity associated with one of the plurality of users; and an email address associated with one of the plurality of users associated with one of the plurality of users.
技術案30に記載のシステム。The system described in technical proposal 30.
[技術案38][Technical proposal 38]
前記第1のグループに関連付けられる前記データはさらに、前記第1のグループがプライベートグループであることを示す情報を含み、前記プライベートグループは、前記プライベートグループ内の複数のユーザのみにアクセス可能である、the data associated with the first group further includes information indicating that the first group is a private group, the private group being accessible only to a plurality of users within the private group.
技術案30に記載のシステム。The system described in technical proposal 30.
[技術案39][Technical proposal 39]
方法であって、1. A method comprising:
第1の会話内の複数のメッセージを受信することと、Receiving a plurality of messages in a first conversation;
前記第1の会話内の第1のメッセージが複数のユーザからなる第1のグループを識別する情報を含むと判定し、前記第1のグループに第1の会話に参加することを許可することと、determining that a first message in the first conversation includes information identifying a first group of users and allowing the first group to participate in the first conversation;
前記第1のグループと前記第1の会話との間の関連付けを前記少なくとも1つのデータベースに格納することと、storing an association between the first group and the first conversation in the at least one database;
前記第1のグループを識別する前記情報に基づいて前記少なくとも1つのデータベースから、前記第1のグループ内の前記複数のユーザを識別する情報を含む、前記第1のグループに関連付けられるデータを取り戻すことと、retrieving data associated with the first group from the at least one database based on the information identifying the first group, the data including information identifying the users in the first group;
前記第1のグループに関連付けられる取り戻されたデータに少なくとも部分的に基づいて、前記複数のメッセージの少なくともサブセットを表示させるために、前記第1の会話の前記少なくともサブセットを、前記第1のグループ内の前記複数のユーザに関連付けられる複数のメッセージングアプリケーションに送信することと、transmitting at least a subset of the first conversation to a plurality of messaging applications associated with the plurality of users in the first group for displaying at least a subset of the plurality of messages based at least in part on the retrieved data associated with the first group;
を含む方法。The method includes:
[技術案40][Technical proposal 40]
少なくとも部分的に検索インデックスに基づいて、前記第1の会話を、前記第1のグループ内の前記複数のユーザのそれぞれに関連付けることをさらに含む、and associating the first conversation with each of the plurality of users in the first group based at least in part on a search index.
技術案39に記載の方法。The method according to technical proposal 39.
[技術案41][Technical proposal 41]
前記第1のグループに第1のユーザを追加するか、または前記第1のグループから前記第1のユーザを削除することを示す情報と、前記第1のユーザを識別する情報とを受信することに応じて、前記第1のグループに関連付けられる前記データ及び前記検索インデックスを更新することをさらに含むand updating the data associated with the first group and the search index in response to receiving information indicating adding or removing a first user from the first group and information identifying the first user.
技術案40に記載の方法。The method according to technical proposal 40.
[技術案42][Technical proposal 42]
第2の会話で第2のメッセージを受信することと、前記第2のメッセージが前記第1のグループを識別する情報を含むと判定することに応じて、前記第1のグループに前記第2の会話に参加することを許可することと、receiving a second message in a second conversation and, in response to determining that the second message includes information identifying the first group, allowing the first group to participate in the second conversation;
前記第1のグループと前記第2の会話との間の関連付けを前記少なくとも1つのデータベースに格納することと、storing an association between the first group and the second conversation in the at least one database;
をさらに含む技術案39に記載の方法。The method according to technical proposal 39, further comprising:
[技術案43][Technical proposal 43]
前記第1のグループに第2のユーザを追加するか、または前記第1のグループから前記第2のユーザを削除することを示す情報と、前記第2のユーザを識別する情報とを受信することと、receiving information indicating adding or removing a second user to the first group and information identifying the second user;
前記第1のグループに関連付けられるデータを更新することと、updating data associated with the first group;
をさらに含む技術案39に記載の方法。The method according to technical proposal 39, further comprising:
[技術案44][Technical proposal 44]
前記少なくとも1つのデータベースを検索することによって、前記第1の会話内の前記複数のメッセージおよび前記第2の会話内の第2の複数のメッセージを識別することと、identifying the plurality of messages in the first conversation and a second plurality of messages in the second conversation by searching the at least one database;
前記第1の会話内の前記複数のメッセージおよび前記第2の会話内の前記第2の複数のメッセージを、前記第2のユーザに関連付けられるメッセージングアプリケーションに送信することと、sending the plurality of messages in the first conversation and the second plurality of messages in the second conversation to a messaging application associated with the second user;
をさらに含む技術案43に記載の方法。The method according to technical proposal 43, further comprising:
[技術案45][Technical proposal 45]
既に前記第1のグループから削除された第3のユーザが前記第1のグループから削除される前に、前記第3のユーザが前記第1の会話に能動的に参加したか、別のユーザによって前記第1の会話に招待されたという判定に基づいて、前記第3のユーザにいくらかの新しいメッセージを送信すると決定することをさらに含む、determining to send a number of new messages to a third user who has already been removed from the first group based on a determination that the third user actively participated in the first conversation or was invited to the first conversation by another user before the third user was removed from the first group.
技術案39に記載の方法。The method according to technical proposal 39.
[技術案46][Technical proposal 46]
コンピュータ可読指令が記憶されている非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ可読指令は、コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、A non-transitory computer-readable storage medium having computer-readable instructions stored thereon, the computer-readable instructions, when executed on a computing device, causing the computing device to at least:
第1の会話内の複数のメッセージを受信することと、Receiving a plurality of messages in a first conversation;
前記第1の会話内の第1のメッセージが複数のユーザからなる第1のグループを識別する情報を含むと判定し、前記第1のグループに第1の会話に参加することを許可することと、determining that a first message in the first conversation includes information identifying a first group of users and allowing the first group to participate in the first conversation;
前記第1のグループと前記第1の会話との間の関連付けを前記少なくとも1つのデータベースに格納することと、storing an association between the first group and the first conversation in the at least one database;
前記第1のグループを識別する前記情報に基づいて前記少なくとも1つのデータベースから、前記第1のグループ内の前記複数のユーザを識別する情報を含む、前記第1のグループに関連付けられるデータを取り戻すことと、retrieving data associated with the first group from the at least one database based on the information identifying the first group, the data including information identifying the users in the first group;
前記第1のグループに関連付けられる前記取り戻されたデータに少なくとも部分的に基づいて、前記複数のメッセージの少なくともサブセットを表示させるために、前記第1の会話の前記少なくともサブセットを、前記第1のグループ内の前記複数のユーザに関連付けられる複数のメッセージングアプリケーションに送信することと、transmitting at least a subset of the first conversation to a plurality of messaging applications associated with the plurality of users in the first group for displaying at least a subset of the plurality of messages based at least in part on the retrieved data associated with the first group;
を行わせる非一時的なコンピュータ可読記憶媒体。A non-transitory computer-readable storage medium for causing
[技術案47][Technical proposal 47]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、When executed on the computing device, the computing device is provided with at least
前記第1のグループ内の前記複数のユーザを識別する前記情報に基づいて検索インデックスを生成することと、generating a search index based on the information identifying the users in the first group;
少なくとも部分的に前記検索インデックスに基づいて、前記第1の会話を、前記第1のグループ内の前記複数のユーザのそれぞれに関連付けることと、を行わせるand associating the first conversation with each of the plurality of users in the first group based at least in part on the search index.
コンピュータ可読指令をさらに記憶している技術案46に記載の非一時的なコンピュータ可読記憶媒体。The non-transitory computer-readable storage medium according to technical proposal 46, further storing computer-readable instructions.
[技術案48][Technical proposal 48]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、When executed on the computing device, the computing device is provided with at least
第2の会話で第2のメッセージを受信することと、前記第2のメッセージが前記第1のグループを識別する情報を含むと判定することに応じて、前記第1のグループに前記第2の会話に参加することを許可することと、receiving a second message in a second conversation and, in response to determining that the second message includes information identifying the first group, allowing the first group to participate in the second conversation;
前記第1のグループと前記第2の会話との間の関連付けを前記少なくとも1つのデータベースに格納することと、を行わせる、storing an association between the first group and the second conversation in the at least one database.
コンピュータ可読指令をさらに記憶している技術案46に記載の非一時的なコンピュータ可読記憶媒体。The non-transitory computer-readable storage medium according to technical proposal 46, further storing computer-readable instructions.
[技術案49][Technical proposal 49]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、When executed on the computing device, the computing device is provided with at least
第1のユーザを前記第1のグループに追加することを示す情報と、前記第1のユーザを識別する情報とを受信することと、receiving information indicating adding a first user to the first group and information identifying the first user;
前記少なくとも1つのデータベースを検索することによって、前記第1の会話内の前記複数のメッセージおよび前記第2の会話内の第2の複数のメッセージを識別することと、identifying the plurality of messages in the first conversation and a second plurality of messages in the second conversation by searching the at least one database;
前記第1の会話内の前記複数のメッセージおよび前記第2の会話内の前記第2の複数のメッセージを、前記第1のユーザに関連付けられるメッセージングアプリケーションに送信することと、を行わせる、sending the plurality of messages in the first conversation and the second plurality of messages in the second conversation to a messaging application associated with the first user.
コンピュータ可読指令をさらに記憶している技術案48に記載の非一時的なコンピュータ可読記憶媒体。The non-transitory computer-readable storage medium according to technical proposal 48, further storing computer-readable instructions.
[技術案50][Technical proposal 50]
システムであって、1. A system comprising:
少なくとも1つのデータベースと、At least one database;
前記少なくとも1つのデータベースと通信する少なくとも1つのコンピューティング装置であって、at least one computing device in communication with the at least one database,
前記会話内の、第1のユーザに関連付けられる第1のメッセージングアプリケーションから送信された第1のメッセージを含む複数のメッセージを受信することと、receiving a plurality of messages in the conversation, including a first message sent from a first messaging application associated with a first user;
前記第1のメッセージが第2のユーザを識別する情報を含むと判定することと、determining that the first message includes information identifying a second user;
前記第1のメッセージに関連付けられる日付を示す情報を受信することと、receiving information indicative of a date associated with the first message;
少なくとも前記第1のメッセージと、前記第2のユーザと、前記日付との間の関連付けを、前記少なくとも1つのデータベースに格納することと、storing an association between at least the first message, the second user, and the date in the at least one database;
を含む動作を実行するように構成された少なくとも1つのコンピューティング装置と、At least one computing device configured to perform operations including:
を備えるシステム。A system comprising:
[技術案51][Technical proposal 51]
前記動作は、The operation includes:
少なくとも部分的に前記第1のメッセージに関連付けられる前記日付に基づいて、前記日付が前記少なくとも1つのデータベースにおいて依然として有効であることを示すリマインダを、前記第2のユーザに関連付けられる第2のメッセージングアプリケーションに送信すること、sending a reminder to a second messaging application associated with the second user indicating that the date is still valid in the at least one database based at least in part on the date associated with the first message;
をさらに含む技術案50に記載のシステム。The system according to technical proposal 50, further comprising:
[技術案52][Technical proposal 52]
前記第1のメッセージは、前記第1のユーザによって前記第2のユーザに割り当てられたタスクを示す、the first message indicating a task assigned by the first user to the second user;
技術案50に記載のシステム。The system described in technical proposal 50.
[技術案53][Technical proposal 53]
前記第1のメッセージに関連付けられる前記日付は、前記タスクの期限日を含む、the date associated with the first message includes a deadline date for the task;
技術案52に記載のシステム。The system described in technical proposal 52.
[技術案54][Technical proposal 54]
前記動作は、The operation includes:
少なくとも部分的に前記タスクの期限日に基づいて前記タスクのステータスを決定することと、determining a status of the task based at least in part on a deadline date of the task;
前記タスクのステータスおよび期限日を表示させるために、前記会話の複数の参加者に関連付けられる複数のメッセージングアプリケーションに、前記タスクのステータスと期限日を示す情報を送信することと、sending information indicative of a status and a due date of the task to a plurality of messaging applications associated with a plurality of participants of the conversation to cause the status and due date of the task to be displayed;
をさらに含む技術案53に記載のシステム。The system described in technical proposal 53 further includes:
[技術案55][Technical proposal 55]
前記動作は、The operation includes:
前記第1のメッセージングアプリケーションまたは前記第2のメッセージングアプリケーションから、前記タスクの期限日またはステータスの変更を示す情報を受信することと、receiving information from the first messaging application or the second messaging application indicating a change in a due date or status of the task;
前記タスクの期限日またはステータスの変更を示す前記情報に基づいて、前記タスクのステータスを更新することと、updating a status of the task based on the information indicating a change in due date or status of the task;
をさらに含む技術案54に記載のシステム。The system described in technical proposal 54 further includes:
[技術案56][Technical proposal 56]
前記動作は、The operation includes:
前記タスクの更新されたステータスを表示させるために、前記タスクの更新されたステータスを示す情報を前記複数のメッセージングアプリケーションに送信すること、sending information indicating an updated status of the task to the plurality of messaging applications to cause the plurality of messaging applications to display the updated status of the task;
をさらに含む技術案55に記載のシステム。The system described in technical proposal 55 further includes:
[技術案57][Technical proposal 57]
前記動作は、The operation includes:
前記タスクのステータス、前記タスクの期限日、またはリマインダ日付を示す情報の受信のうちの少なくとも1つに基づいて、少なくとも前記第2のメッセージングアプリケーションに前記リマインダを送信すること、sending the reminder to at least the second messaging application based on at least one of receiving information indicative of a status of the task, a due date of the task, or a reminder date;
をさらに含む技術案56に記載のシステム。The system described in technical proposal 56 further includes:
[技術案58][Technical proposal 58]
前記動作は、The operation includes:
前記第1のメッセージおよび前記第1のメッセージに関連付けられる日付を表示させるために、前記第1のメッセージおよび前記第1のメッセージに関連付けられる日付を示す情報を、前記会話の複数の参加者に関連付けられる複数のメッセージングアプリケーションに送信すること、sending information indicative of the first message and a date associated with the first message to a plurality of messaging applications associated with a plurality of participants of the conversation to cause the plurality of messaging applications to display the first message and a date associated with the first message;
をさらに含む技術案50に記載のシステム。The system according to technical proposal 50, further comprising:
[技術案59][Technical proposal 59]
方法であって、1. A method comprising:
メッセージングサービスによって維持される会話内の、第1のユーザに関連付けられる第1のメッセージングアプリケーションから送信された第1のメッセージを含む複数のメッセージを受信することと、receiving a plurality of messages in a conversation maintained by the messaging service, the plurality of messages including a first message sent from a first messaging application associated with the first user;
前記第1のメッセージが第2のユーザを識別する情報を含むと判定することと、determining that the first message includes information identifying a second user;
前記第1のメッセージに関連付けられる日付を示す情報を受信することと、receiving information indicative of a date associated with the first message;
少なくとも前記第1のメッセージと、前記第2のユーザと、前記日付との間の関連付けを、少なくとも1つのデータベースに格納することと、storing an association between at least the first message, the second user, and the date in at least one database;
を含む方法。The method includes:
[技術案60][Technical proposal 60]
前記日付が前記少なくとも1つのデータベースにおいて依然として有効であることを示す情報を、前記第2のユーザに関連付けられる第2のメッセージングアプリケーションに送信することをさらに含む、sending information to a second messaging application associated with the second user indicating that the date is still valid in the at least one database.
技術案59に記載の方法。The method described in technical proposal 59.
[技術案61][Technical proposal 61]
前記第1のメッセージは、前記第1のユーザによって前記第2のユーザに割り当てられたタスクを示す、the first message indicating a task assigned by the first user to the second user;
技術案59に記載の方法。The method described in technical proposal 59.
[技術案62][Technical proposal 62]
前記第1のメッセージに関連付けられる前記日付は、前記タスクの期限日を含む、the date associated with the first message includes a deadline date for the task;
技術案59に記載の方法。The method described in technical proposal 59.
[技術案63][Technical proposal 63]
少なくとも部分的に前記タスクの期限日に基づいて前記タスクのステータスを決定することと、determining a status of the task based at least in part on a deadline date of the task;
前記タスクのステータスおよび期限日を表示させるために、前記会話内の複数の参加者に関連付けられる複数のメッセージングアプリケーションに、前記タスクのステータスと期限日を示す情報を送信することと、sending information indicative of a status and a due date of the task to a plurality of messaging applications associated with a plurality of participants in the conversation to cause the status and due date of the task to be displayed;
をさらに含む技術案62に記載の方法。The method according to technical proposal 62, further comprising:
[技術案64][Technical proposal 64]
前記タスクのステータス、前記タスクの期限日、またはリマインダ日付を示す情報の受信のうちの少なくとも1つに基づいて、前記第1のメッセージングアプリケーションおよび前記第2のメッセージングアプリケーションにリマインダを送信することをさらに含む、and sending a reminder to the first messaging application and the second messaging application based on at least one of receiving information indicating a status of the task, a due date of the task, or a reminder date.
技術案53に記載の方法。The method according to technical proposal 53.
[技術案65][Technical proposal 65]
前記第1のメッセージングアプリケーションまたは前記第2のメッセージングアプリケーションから、前記タスクの期限日またはステータスの変更を示す情報を受信することと、receiving information from the first messaging application or the second messaging application indicating a change in a due date or status of the task;
前記タスクの期限日またはステータスの変更を示す前記情報に基づいて、前記タスクのステータスを更新することと、updating a status of the task based on the information indicating a change in due date or status of the task;
前記タスクの更新されたステータスを表示させるために、前記タスクの更新されたステータスを示す情報を前記複数のメッセージングアプリケーションに送信することをさらに含む、sending information indicating an updated status of the task to the plurality of messaging applications to cause the plurality of messaging applications to display the updated status of the task.
技術案63に記載の方法。The method according to technical proposal 63.
[技術案66][Technical proposal 66]
コンピュータ可読指令が記憶されている非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ可読指令は、コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、A non-transitory computer-readable storage medium having computer-readable instructions stored thereon, the computer-readable instructions, when executed on a computing device, causing the computing device to at least:
メッセージングサービスによって維持される会話内の、第1のユーザに関連付けられる第1のメッセージングアプリケーションから送信された第1のメッセージを含む複数のメッセージを受信することと、receiving a plurality of messages in a conversation maintained by the messaging service, the plurality of messages including a first message sent from a first messaging application associated with the first user;
前記第1のメッセージが第2のユーザを識別する情報を含むと判定することと、determining that the first message includes information identifying a second user;
前記第1のメッセージに関連付けられる日付を示す情報を受信することと、receiving information indicative of a date associated with the first message;
少なくとも前記第1のメッセージと、前記第2のユーザと、前記日付との間の関連付けを、少なくとも1つのデータベースに格納することと、storing an association between at least the first message, the second user, and the date in at least one database;
を行わせる非一時的なコンピュータ可読記憶媒体。A non-transitory computer-readable storage medium for causing
[技術案67][Technical proposal 67]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、When executed on the computing device, the computing device is provided with at least
少なくとも部分的に前記第1のメッセージに関連付けられる前記日付に基づいて、前記日付が前記少なくとも1つのデータベースにおいて依然として有効であることを示すリマインダを、前記第2のユーザに関連付けられる第2のメッセージングアプリケーションに送信することを行わせる、sending a reminder to a second messaging application associated with the second user indicating that the date is still valid in the at least one database based at least in part on the date associated with the first message.
コンピュータ可読指令をさらに記憶している技術案66に記載の非一時的なコンピュータ可読記憶媒体。The non-transitory computer-readable storage medium according to technical proposal 66, further storing computer-readable instructions.
[技術案68][Technical proposal 68]
前記第1のメッセージは、前記第1のユーザによって前記第2のユーザに割り当てられたタスクを示し、前記第1のメッセージに関連付けられる前記日付は、前記タスクの期限日を含む、the first message indicates a task assigned by the first user to the second user, and the date associated with the first message includes a deadline for the task.
技術案66に記載の非一時的なコンピュータ可読記憶媒体。A non-transitory computer-readable storage medium according to technical proposal 66.
[技術案69][Technical proposal 69]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、When executed on the computing device, the computing device is provided with at least
少なくとも部分的に前記タスクの期限日に基づいて前記タスクのステータスを決定することと、determining a status of the task based at least in part on a deadline date of the task;
前記タスクのステータスおよび期限日を表示させるために、前記会話の複数の参加者に関連付けられる複数のメッセージングアプリケーションに、前記タスクのステータスと期限日を示す情報を送信することと、を行わせる、sending information indicative of the status and due date of the task to a plurality of messaging applications associated with a plurality of participants of the conversation to cause the messaging applications to display the status and due date of the task;
コンピュータ可読指令をさらに記憶している技術案66に記載の非一時的なコンピュータ可読記憶媒体。The non-transitory computer-readable storage medium according to technical proposal 66, further storing computer-readable instructions.
[技術案70][Technical proposal 70]
システムであって、1. A system comprising:
少なくとも1つのデータベースと、At least one database;
前記少なくとも1つのデータベースと通信する少なくとも1つのコンピューティング装置であって、at least one computing device in communication with the at least one database,
会話で第1の入力を受け取ることと、Receiving a first input in a conversation;
前記第1の入力を解析することに基づいて、前記第1の入力が第1の電子メールアドレスを示す情報を含むと判定することと、determining, based on analyzing the first input, that the first input includes information indicative of a first email address;
前記会話を識別するための第1の識別子を生成することと、generating a first identifier for identifying the conversation;
前記第1の識別子を、前記第1の電子メールアドレスに関連付けられる第1の外部電子メールサービスに送信することと、sending the first identifier to a first external email service associated with the first email address;
を含む動作を実行するように構成された少なくとも1つのコンピューティング装置と、At least one computing device configured to perform operations including:
を備えるシステム。A system comprising:
[技術案71][Technical proposal 71]
前記第1の識別子は、前記会話に対応する第1の返送電子メールアドレスである、the first identifier is a first return email address corresponding to the conversation;
技術案70に記載のシステム。The system described in technical proposal 70.
[技術案72][Technical proposal 72]
前記第1の返送電子メールアドレスは、少なくとも部分的にランダムに選ばれたテキスト列を含む、the first return email address includes an at least partially randomly selected string of text;
技術案71に記載のシステム。The system described in technical proposal 71.
[技術案73][Technical proposal 73]
前記動作は、The operation includes:
前記第1の電子メールアドレス及び前記第1の識別子を含む第1のセットのデータを、前記第1の外部電子メールサービスから受信すること、receiving a first set of data from the first external email service, the first set of data including the first email address and the first identifier;
をさらに含む技術案70に記載のシステム。The system according to technical proposal 70, further comprising:
[技術案74][Technical proposal 74]
前記動作は、The operation includes:
前記第1のセットのデータに含まれる前記第1の識別子に基づいて、前記第1のセットのデータが前記会話に関連付けられていると判定することと、前記第1のセットのデータに基づいて第2のメッセージを生成することと、前記第2のメッセージを表示させるために、前記第2のメッセージを前記会話の複数の参加者に関連付けられる複数のメッセージングアプリケーションに送信すること、determining that the first set of data is associated with the conversation based on the first identifier included in the first set of data; generating a second message based on the first set of data; and sending the second message to a plurality of messaging applications associated with a plurality of participants of the conversation for displaying the second message.
をさらに含む技術案73に記載のシステム。The system according to technical proposal 73, further comprising:
[技術案75][Technical proposal 75]
前記動作は、The operation includes:
前記第1の電子メールアドレスと前記会話との間の関連付けを、前記少なくとも1つのデータベースに格納すること、storing an association between the first email address and the conversation in the at least one database;
をさらに含む技術案70に記載のシステム。The system according to technical proposal 70, further comprising:
[技術案76][Technical proposal 76]
前記動作は、The operation includes:
第1の電子メールアドレスが前記会話に参加する第1の外部エンティティに関連付けられていることを示す通知を、前記会話の前記複数の参加者に関連付けられる複数のメッセージングアプリケーションに送信すること、sending notifications to a plurality of messaging applications associated with the plurality of participants of the conversation indicating that a first email address is associated with a first external entity participating in the conversation;
をさらに含む技術案70に記載のシステム。The system according to technical proposal 70, further comprising:
[技術案77][Technical proposal 77]
前記動作は、The operation includes:
前記第1の電子メールアドレスを識別する情報を含む第3のメッセージを、前記会話の第1の参加者に関連付けられる第1のメッセージングアプリケーションから受信することと、receiving a third message from a first messaging application associated with a first participant of the conversation, the third message including information identifying the first email address;
第1の電子メールプロトコルに従って、前記第1の電子メールアドレスと、前記第2のメッセージの内容と、前記第1の識別子とを含む第1の電子メールメッセージを生成することと、generating a first email message according to a first email protocol, the first email address, the second message content, and the first identifier;
前記第1の電子メールメッセージを、第1の電子メール受信ボックスに配信するために、前記第1の電子メールアドレスに関連付けられる前記第1の外部電子メールサービスに送信すること、sending the first email message to the first external email service associated with the first email address for delivery to a first email inbox;
をさらに含む技術案70に記載のシステム。The system according to technical proposal 70, further comprising:
[技術案78][Technical proposal 78]
前記動作は、The operation includes:
前記第1の識別子と、前記第3のメッセージに対する返信を示す情報と、前記返信の内容とを含む第2のセットのデータを、前記第1の外部電子メールサービスから受信することと、receiving a second set of data from the first external email service, the second set of data including the first identifier, information indicative of a reply to the third message, and content of the reply;
前記第2のセットのデータに含まれる前記第1の識別子に基づいて、前記第2のセットのデータが前記会話に関連付けられていると判定することと、determining, based on the first identifier included in the second set of data, that the second set of data is associated with the conversation;
前記第2のセットのデータに基づいて第4のメッセージを生成することと、generating a fourth message based on the second set of data; and
前記第4のメッセージを表示させるために、前記第4のメッセージを前記会話の複数の参加者に関連付けられる複数のメッセージングアプリケーションに送信すること、sending the fourth message to a plurality of messaging applications associated with a plurality of participants of the conversation for displaying the fourth message;
をさらに含む技術案77に記載のシステム。The system described in technical proposal 77 further includes:
[技術案79][Technical proposal 79]
第2の電子メールアドレスに関連付けられる第2の外部エンティティが、前記会話に参加することを許可されている、a second external entity associated with a second email address is permitted to participate in the conversation;
技術案78記載のシステム。The system described in technical proposal 78.
[技術案80][Technical proposal 80]
前記動作は、The operation includes:
第2の電子メールプロトコルに従って、前記第2の電子メールアドレスと、前記第4のメッセージの内容と、前記会話を識別するために前記第2の電子メールアドレスに関連付けられる第2の外部電子メールサービスのための、前記メッセージングサービスによって生成される第2の識別子とを含む第2の電子メールメッセージを生成することと、generating a second email message according to a second email protocol, the second email message including the second email address, content of the fourth message, and a second identifier generated by the messaging service for a second external email service that is associated with the second email address to identify the conversation;
前記第2の電子メールメッセージを、第2の電子メール受信ボックスに配信するために、前記第2の電子メールアドレスに関連付けられる前記第2の外部電子メールサービスに送信することと、sending the second email message to the second external email service associated with the second email address for delivery to a second email inbox;
をさらに含む技術案79に記載のシステム。The system according to technical proposal 79, further comprising:
[技術案81][Technical proposal 81]
方法であって、1. A method comprising:
会話で第1のメッセージを受信することと、Receiving a first message in the conversation;
前記第1のメッセージが第1の電子メールアドレスを示す情報を含むと判定することと、determining that the first message includes information indicative of a first email address;
前記第1の電子メールアドレスと前記会話との間の関連付けを、少なくとも1つのデータベースに格納することと、storing an association between the first email address and the conversation in at least one database;
前記会話を識別するための第1の識別子を生成することと、generating a first identifier for identifying the conversation;
前記第1の識別子を、前記第1の電子メールアドレスに関連付けられる前記第1の外部電子メールサービスに送信することと、sending the first identifier to the first external email service associated with the first email address;
を含む方法。The method includes:
[技術案82][Technical proposal 82]
前記第1の識別子は、前記会話に対応する第1の返送電子メールアドレスである、the first identifier is a first return email address corresponding to the conversation;
技術案81に記載の方法。The method according to technical proposal 81.
[技術案83][Technical proposal 83]
前記第1の識別子を含む第1のセットのデータを、前記第1の外部電子メールサービスから受信することと、receiving a first set of data from the first external email service, the first set of data including the first identifier;
前記第1のセットのデータに含まれる前記第1の識別子に基づいて、前記第1のセットのデータが前記会話に関連付けられていると判定することと、determining, based on the first identifier included in the first set of data, that the first set of data is associated with the conversation;
前記第1のセットのデータに基づいて第2のメッセージを生成することと、generating a second message based on the first set of data;
前記第2のメッセージを表示させるために、前記第2のメッセージを前記会話の複数の参加者に関連付けられる複数のメッセージングアプリケーションに送信することと、sending the second message to a plurality of messaging applications associated with a plurality of participants of the conversation for displaying the second message;
をさらに含む技術案81に記載の方法。The method according to technical proposal 81, further comprising:
[技術案84][Technical proposal 84]
前記第1の電子メールアドレスを識別する情報を含む第3のメッセージを、前記会話の第1の参加者に関連付けられる第1のメッセージングアプリケーションから受信することと、receiving a third message from a first messaging application associated with a first participant of the conversation, the third message including information identifying the first email address;
第1の電子メールプロトコルに従って、前記第1の電子メールアドレスと、前記第2のメッセージの内容と、前記第1の識別子とを含む第1の電子メールメッセージを生成することと、generating a first email message according to a first email protocol, the first email address, the second message content, and the first identifier;
前記第1の電子メールメッセージを、第1の電子メール受信ボックスに配信するために、前記第1の電子メールアドレスに関連付けられる前記第1の外部電子メールサービスに送信することと、sending the first email message to the first external email service associated with the first email address for delivery to a first email inbox;
をさらに含む技術案81に記載の方法。The method according to technical proposal 81, further comprising:
[技術案85][Technical proposal 85]
前記第1の識別子と、前記第3のメッセージに対する返信を示す情報と、前記返信の内容とを含む第2のセットのデータを、前記第1の外部電子メールサービスから受信することと、receiving a second set of data from the first external email service, the second set of data including the first identifier, information indicative of a reply to the third message, and content of the reply;
前記第2のセットのデータに含まれる前記第1の識別子に基づいて、前記第2のセットのデータが前記会話に関連付けられていると判定することと、determining, based on the first identifier included in the second set of data, that the second set of data is associated with the conversation;
前記第2のセットのデータに基づいて第4のメッセージを生成することと、generating a fourth message based on the second set of data; and
前記第4のメッセージを表示させるために、前記第4のメッセージを前記会話の複数の参加者に関連付けられる複数のメッセージングアプリケーションに送信することと、sending the fourth message to a plurality of messaging applications associated with a plurality of participants of the conversation for displaying the fourth message;
をさらに含む技術案84に記載の方法。The method according to technical proposal 84, further comprising:
[技術案86][Technical proposal 86]
第2の電子メールアドレスに関連付けられる第2の外部エンティティが、前記会話に参加することを許可されており、前記方法は、A second external entity associated with a second email address is permitted to participate in the conversation, the method comprising:
第2の電子メールプロトコルに従って、前記第2の電子メールアドレスと、前記第4のメッセージの内容と、前記会話を識別するための第2の識別子とを含む第2の電子メールメッセージを生成することと、generating a second email message according to a second email protocol, the second email message including the second email address, content of the fourth message, and a second identifier for identifying the conversation;
前記第2の電子メールメッセージを、第2の電子メール受信ボックスに配信するために、前記第2の電子メールアドレスに関連付けられる前記第2の外部電子メールサービスに送信することと、sending the second email message to the second external email service associated with the second email address for delivery to a second email inbox;
をさらに含む技術案85に記載の方法。The method according to technical proposal 85, further comprising:
[技術案87][Technical proposal 87]
コンピュータ可読指令が記憶されている非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ可読指令は、コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、A non-transitory computer-readable storage medium having computer-readable instructions stored thereon, the computer-readable instructions, when executed on a computing device, causing the computing device to at least:
会話で第1のメッセージを受信することと、Receiving a first message in the conversation;
前記第1のメッセージが、電子メール参加者に関連付けられる電子メールアドレスを示す情報を含むことと判定することと、determining that the first message includes information indicative of an email address associated with an email participant;
前記電子メールアドレスと前記会話との間の関連付けを、少なくとも1つのデータベースに格納することと、storing an association between the email address and the conversation in at least one database;
前記電子メールアドレスに関連付けられる外部電子メールサービスによって前記会話を識別するための識別子を生成することと、generating an identifier for identifying the conversation by an external email service associated with the email address;
前記識別子を、前記電子メールアドレスに関連付けられる前記外部電子メールサービスに送信することと、を行わせる、sending the identifier to the external email service associated with the email address.
非一時的なコンピュータ可読記憶媒体。A non-transitory computer-readable storage medium.
[技術案88][Technical proposal 88]
前記識別子は、前記会話に対応する第1の返送電子メールアドレスであるThe identifier is a first return email address corresponding to the conversation.
技術案85に記載の非一時的なコンピュータ可読記憶媒体。A non-transitory computer-readable storage medium according to technical proposal 85.
[技術案89][Technical proposal 89]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、When executed on the computing device, the computing device is provided with at least
前記識別子を含むセットのデータを、前記外部電子メールサービスから受信することと、receiving a set of data from the external email service, the set including the identifier;
前記セットのデータに含まれる前記識別子に基づいて、前記セットのデータが前記会話に関連付けられていると判定することと、determining that the set of data is associated with the conversation based on the identifier included in the set of data;
前記第1のセットのデータに基づいて第2のメッセージを生成することと、generating a second message based on the first set of data;
前記第2のメッセージを表示させるために、前記第2のメッセージを前記会話の複数の参加者に関連付けられる複数のメッセージングアプリケーションに送信することと、を行わせるsending the second message to a plurality of messaging applications associated with a plurality of participants of the conversation for displaying the second message.
コンピュータ可読指令をさらに記憶している技術案85に記載の非一時的なコンピュータ可読記憶媒体。The non-transitory computer-readable storage medium according to technical proposal 85, further storing computer-readable instructions.
[技術案90][Technical proposal 90]
システムであって、1. A system comprising:
複数の会話を含むメッセージスレッドデータベースと、A message thread database containing multiple conversations;
前記複数の会話に関連付けられる属性を含む複数の属性データベースと、a plurality of attribute databases containing attributes associated with the plurality of conversations;
前記メッセージスレッドデータベースおよび前記複数の属性データベースと通信する少なくとも1つのコンピューティング装置であって、at least one computing device in communication with the message thread database and the plurality of attribute databases,
前記複数の会話のうちの第1の会話内の複数のメッセージを受信することと、receiving a plurality of messages in a first conversation of the plurality of conversations;
前記複数のメッセージを前記メッセージスレッドデータベースに格納することと、storing said plurality of messages in said message thread database;
前記第1の会話内のユーザ入力を受け取ることと、receiving a user input within the first conversation;
前記ユーザ入力が、前記第1の会話に関連付けられる少なくとも1つの属性を含むと判定することと、determining that the user input includes at least one attribute associated with the first conversation;
前記少なくとも1つの属性のタイプの判定に基づいて、前記複数の属性データベースのうちの少なくとも1つに情報を格納することと、storing information in at least one of the plurality of attribute databases based on the determination of a type of the at least one attribute;
前記少なくとも1つの属性と前記第1の会話との間の関連付けを格納することと、storing an association between the at least one attribute and the first conversation;
を含む動作を実行するように構成された少なくとも1つのコンピューティング装置と、At least one computing device configured to perform operations including:
を備えるシステム。A system comprising:
[技術案91][Technical proposal 91]
前記メッセージスレッドデータベースは、前記複数の会話のそれぞれに関連付けられるメタデータおよび内容を含む、the message thread database includes metadata and content associated with each of the plurality of conversations;
技術案90に記載のシステム。The system described in technical proposal 90.
[技術案92][Technical proposal 92]
前記メッセージスレッドデータベースは、前記複数の会話のそれぞれに関連付けられるスレッド識別情報と、前記複数の会話のそれぞれに含まれる少なくとも1つのメッセージの少なくとも1つのメッセージ識別情報と、前記複数の会話のそれぞれに含まれる前記少なくとも1つのメッセージとをさらに含む、the message thread database further includes thread identification information associated with each of the plurality of conversations, at least one message identification information of at least one message included in each of the plurality of conversations, and the at least one message included in each of the plurality of conversations;
技術案91に記載のシステム。The system described in technical proposal 91.
[技術案93][Technical proposal 93]
前記少なくとも1つのメッセージの内容は、テキストデータ、ビデオ内容、またはオーディオ内容を含む、the content of the at least one message includes text data, video content, or audio content;
技術案92に記載のシステム。The system described in technical proposal 92.
[技術案94][Technical proposal 94]
前記複数の属性データベースは、前記複数の会話に関連付けられるトピックを示す情報を格納する第1の属性データベースと、前記複数の会話に関連付けられるユーザの情報を格納する第2の属性データベースと、前記複数の会話に関連付けられるグループの情報を格納する第3の属性データベースと、前記複数の会話に関連付けられるタスクの割り当てを示す情報を格納する第4の属性データベースと、前記複数の会話に含まれる1つ又は複数の電子メールアドレスに関連付けられる情報を格納する第5の属性データベースとのうちの少なくとも一つを備える、The plurality of attribute databases include at least one of a first attribute database storing information indicative of topics associated with the plurality of conversations, a second attribute database storing information on users associated with the plurality of conversations, a third attribute database storing information on groups associated with the plurality of conversations, a fourth attribute database storing information indicative of task assignments associated with the plurality of conversations, and a fifth attribute database storing information associated with one or more email addresses included in the plurality of conversations.
技術案90に記載のシステム。The system described in technical proposal 90.
[技術案95][Technical proposal 95]
前記複数の属性データベースのそれぞれは、前記複数の会話のそれぞれに関連付けられる1つ又は複数の属性を識別するための、前記複数の会話に対応する複数のスレッド識別情報をさらに含む、each of the plurality of attribute databases further comprising a plurality of thread identification information corresponding to the plurality of conversations for identifying one or more attributes associated with each of the plurality of conversations;
技術案90に記載のシステム。The system described in technical proposal 90.
[技術案96][Technical proposal 96]
前記動作は、The operation includes:
前記新しいメッセージに基づいて、前記複数の属性データベースのうちの前記少なくとも1つを更新することと、updating the at least one of the plurality of attribute databases based on the new message;
前記新しいメッセージに関連付けられる情報を、前記第1の会話に関連付けられる1つ又は複数のメッセージングアプリケーションに送信することと、sending information associated with the new message to one or more messaging applications associated with the first conversation;
をさらに含む技術案90に記載のシステム。The system according to technical proposal 90, further comprising:
[技術案97][Technical proposal 97]
前記動作は、The operation includes:
前記複数の会話のうちの少なくとも1つを示す要求を前記第1のメッセージングアプリケーションから受信することと、receiving a request from the first messaging application indicating at least one of the plurality of conversations;
前記複数の会話のうちの前記少なくとも1つを示す情報に基づいて前記メッセージスレッドデータベースにクエリすることと、querying the message thread database based on information indicative of the at least one of the plurality of conversations;
前記複数の会話のうちの前記少なくとも1つ内のメッセージの少なくともサブセットを決定するために、クエリ結果を処理することと、processing the query results to determine at least a subset of messages in the at least one of the plurality of conversations;
前記要求に応じて、前記複数の会話のうちの前記少なくとも1つ内のメッセージの前記少なくともサブセットを、前記第1のメッセージングアプリケーションに送信することと、in response to the request, transmitting at least the subset of messages in the at least one of the plurality of conversations to the first messaging application;
をさらに含む技術案90に記載のシステム。The system according to technical proposal 90, further comprising:
[技術案98][Technical proposal 98]
前記動作は、The operation includes:
前記複数の会話のうちの少なくとも1つに関連付けられる第2のメッセージングアプリケーションから要求を受信することと、receiving a request from a second messaging application associated with at least one of the plurality of conversations;
前記要求に基づいて前記複数の属性データベースにクエリすることと、Querying the plurality of attribute databases based on the request; and
少なくとも1つの属性が前記複数の会話のうちの前記少なくとも1つに関連付けられていると判定するために、クエリ結果を処理することと、processing a query result to determine that at least one attribute is associated with the at least one of the plurality of conversations;
前記少なくとも1つの属性の少なくとも1つのインジケータを表示させるために、前記少なくとも1つの属性を示す情報を、前記第2のメッセージングアプリケーションに送信することと、sending information indicative of the at least one attribute to the second messaging application to cause the second messaging application to display at least one indicator of the at least one attribute;
をさらに含む技術案90に記載のシステム。The system according to technical proposal 90, further comprising:
[技術案99][Technical proposal 99]
前記動作は、The operation includes:
前記複数の会話のうちの前記少なくとも1つに関連付けられる前記少なくとも1つの属性の前記少なくとも1つのインジケータの選択を示す入力を受け取ることと、receiving an input indicating a selection of the at least one indicator of the at least one attribute associated with the at least one of the plurality of conversations;
前記入力に基づいて前記メッセージスレッドデータベースにクエリすることと、querying the message thread database based on the input;
前記複数のメッセージを表示させるために、前記複数の会話のうちの前記少なくとも1つ内の複数のメッセージを識別して送信することと、identifying and transmitting a plurality of messages in the at least one of the plurality of conversations for display;
をさらに含む技術案98に記載のシステム。The system described in technical proposal 98 further includes:
[技術案100][Technical proposal 100]
方法であって、1. A method comprising:
複数の会話のうちの第1の会話内の複数のメッセージを受信することであって、会話データベースが前記複数の会話を含み、複数の属性データベースが前記複数の会話に関連付けられる属性を含むことと、receiving a plurality of messages in a first conversation of a plurality of conversations, a conversation database including the plurality of conversations, and a plurality of attribute databases including attributes associated with the plurality of conversations;
前記複数のメッセージを前記会話データベースに格納することと、storing said plurality of messages in said conversation database;
前記第1の会話内のユーザ入力を受け取ることと、receiving a user input within the first conversation;
前記ユーザ入力が、前記第1の会話に関連付けられる少なくとも1つの属性を含むと判定することと、determining that the user input includes at least one attribute associated with the first conversation;
前記少なくとも1つの属性のタイプの判定に基づいて、前記複数の属性データベースのうちの少なくとも1つに情報を格納することと、storing information in at least one of the plurality of attribute databases based on the determination of a type of the at least one attribute;
前記少なくとも1つの属性と前記第1の会話との間の関連付けを格納することと、storing an association between the at least one attribute and the first conversation;
を含む方法。The method includes:
[技術案101][Technical proposal 101]
前記複数の会話のうちの少なくとも1つを示す要求を前記第1のメッセージングアプリケーションから受信することと、receiving a request from the first messaging application indicating at least one of the plurality of conversations;
前記複数の会話のうちの前記少なくとも1つを示す情報に基づいて前記会話データベースにクエリすることと、querying the conversation database based on information indicative of the at least one of the plurality of conversations;
前記複数の会話のうちの前記少なくとも1つ内のメッセージの少なくともサブセットを決定するために、クエリ結果を処理することと、processing the query results to determine at least a subset of messages in the at least one of the plurality of conversations;
前記要求に応じて、前記複数の会話のうちの前記少なくとも1つ内のメッセージの前記少なくともサブセットを、前記第1のメッセージングアプリケーションに送信することと、in response to the request, transmitting at least the subset of messages in the at least one of the plurality of conversations to the first messaging application;
をさらに含む技術案100に記載の方法。The method according to the technical solution 100, further comprising:
[技術案102][Technical proposal 102]
前記複数の会話のうちの少なくとも1つに関連付けられる第2のメッセージングアプリケーションから要求を受信することと、receiving a request from a second messaging application associated with at least one of the plurality of conversations;
前記要求に基づいて前記複数の属性データベースにクエリすることと、Querying the plurality of attribute databases based on the request; and
少なくとも1つの属性が前記複数の会話のうちの前記少なくとも1つに関連付けられていると判定するために、クエリ結果を処理することと、processing a query result to determine that at least one attribute is associated with the at least one of the plurality of conversations;
前記少なくとも1つの属性の少なくとも1つのインジケータを表示させるために、前記少なくとも1つの属性を示す情報を、前記第2のメッセージングアプリケーションに送信することと、sending information indicative of the at least one attribute to the second messaging application to cause the second messaging application to display at least one indicator of the at least one attribute;
をさらに含む技術案90に記載の方法。The method according to technical proposal 90, further comprising:
[技術案103][Technical proposal 103]
前記複数の会話のうちの前記少なくとも1つに関連付けられる前記少なくとも1つの属性の前記少なくとも1つのインジケータの選択を示す入力を受け取ることと、receiving an input indicating a selection of the at least one indicator of the at least one attribute associated with the at least one of the plurality of conversations;
前記入力に基づいて前記会話データベースにクエリすることと、Querying the conversation database based on the input; and
前記複数のメッセージを表示させるために、前記複数の会話のうちの前記少なくとも1つ内の複数のメッセージを識別して送信することと、identifying and transmitting a plurality of messages in the at least one of the plurality of conversations for display;
をさらに含む技術案102に記載の方法。The method according to technical proposal 102, further comprising:
[技術案104][Technical proposal 104]
前記会話データベースは、少なくとも1つのメッセージを含む前記複数の会話のそれぞれに関連付けられるスレッド識別情報と、前記複数の会話のそれぞれに含まれる前記少なくとも1つのメッセージの少なくとも1つのメッセージ識別情報と、前記複数の会話のそれぞれに含まれる前記少なくとも1つのメッセージの内容と、を含む、the conversation database includes thread identification information associated with each of the plurality of conversations including at least one message, at least one message identification information of the at least one message included in each of the plurality of conversations, and content of the at least one message included in each of the plurality of conversations;
技術案100に記載の方法。The method according to technical solution 100.
[技術案105][Technical proposal 105]
前記複数の属性データベースのそれぞれはさらに、前記複数の会話のそれぞれに関連付けられる1つ又は複数の属性を識別するための、前記複数の会話に対応する複数のスレッド識別情報を含む、each of the plurality of attribute databases further comprising a plurality of thread identification information corresponding to the plurality of conversations for identifying one or more attributes associated with each of the plurality of conversations;
技術案100に記載の方法。The method according to technical solution 100.
[技術案106][Technical proposal 106]
コンピュータ可読指令が記憶されている非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ可読指令は、コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、A non-transitory computer-readable storage medium having computer-readable instructions stored thereon, the computer-readable instructions, when executed on a computing device, causing the computing device to at least:
複数の会話のうちの第1の会話内の複数のメッセージを受信することであって、会話データベースが前記複数の会話を含み、複数の属性データベースが前記複数の会話に関連付けられる属性を含むことと、receiving a plurality of messages in a first conversation of a plurality of conversations, a conversation database including the plurality of conversations, and a plurality of attribute databases including attributes associated with the plurality of conversations;
前記複数のメッセージを前記会話データベースに格納することと、storing said plurality of messages in said conversation database;
前記第1の会話内の新しいメッセージを受信することと、receiving a new message in the first conversation;
前記新しいメッセージを解析して、前記新しいメッセージが、前記第1の会話に関連付けられる少なくとも1つの属性を含むと判定することと、parsing the new message to determine that the new message includes at least one attribute associated with the first conversation;
前記少なくとも1つの属性のタイプの判定に基づいて、前記複数の属性データベースのうちの少なくとも1つに情報を格納することと、storing information in at least one of the plurality of attribute databases based on the determination of a type of the at least one attribute;
前記少なくとも1つの属性と前記第1の会話との間の関連付けを格納することと、storing an association between the at least one attribute and the first conversation;
を行わせる非一時的なコンピュータ可読記憶媒体。A non-transitory computer-readable storage medium for causing
[技術案107][Technical proposal 107]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、When executed on the computing device, the computing device is provided with at least
前記複数の会話のうちの少なくとも1つを示す要求を第1のメッセージングアプリケーションから受信することと、receiving a request from a first messaging application indicating at least one of the plurality of conversations;
前記複数の会話のうちの前記少なくとも1つを示す情報に基づいて前記会話データベースにクエリすることと、querying the conversation database based on information indicative of the at least one of the plurality of conversations;
前記複数の会話のうちの前記少なくとも1つ内のメッセージの少なくともサブセットを決定するために、クエリ結果を処理することと、processing the query results to determine at least a subset of messages in the at least one of the plurality of conversations;
前記要求に応じて、前記複数の会話のうちの前記少なくとも1つ内のメッセージの前記少なくともサブセットを、前記第1のメッセージングアプリケーションに送信することと、を行わせる、in response to the request, transmitting at least the subset of messages in the at least one of the plurality of conversations to the first messaging application.
コンピュータ可読指令をさらに記憶している技術案106に記載の非一時的なコンピュータ可読記憶媒体。The non-transitory computer-readable storage medium according to technical solution 106, further storing computer-readable instructions.
[技術案108][Technical proposal 108]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、When executed on the computing device, the computing device is provided with at least
前記複数の会話のうちの少なくとも1つに関連付けられる第2のメッセージングアプリケーションから要求を受信することと、receiving a request from a second messaging application associated with at least one of the plurality of conversations;
前記要求に基づいて前記複数の属性データベースにクエリすることと、Querying the plurality of attribute databases based on the request; and
少なくとも1つの属性が前記複数の会話のうちの前記少なくとも1つに関連付けられていると判定するために、クエリ結果を処理することと、processing a query result to determine that at least one attribute is associated with the at least one of the plurality of conversations;
前記少なくとも1つの属性の少なくとも1つのインジケータを表示させるために、前記少なくとも1つの属性を示す情報を、前記第2のメッセージングアプリケーションに送信することと、を行わせる、sending information indicative of the at least one attribute to the second messaging application to cause the second messaging application to display at least one indicator of the at least one attribute.
コンピュータ可読指令をさらに記憶している技術案106に記載の非一時的なコンピュータ可読記憶媒体。The non-transitory computer-readable storage medium according to technical solution 106, further storing computer-readable instructions.
[技術案109][Technical proposal 109]
前記会話データベースは、前記複数の会話のそれぞれに関連付けられるスレッド識別情報と、前記複数の会話のそれぞれに含まれる1つまたは複数のメッセージの内容とを含み、前記複数の属性データベースのそれぞれはさらに、前記複数の会話のそれぞれに関連付けられる1つ又は複数の属性を識別するための、前記複数の会話に対応する複数のスレッド識別情報を含む、The conversation database includes thread identification information associated with each of the plurality of conversations and the contents of one or more messages included in each of the plurality of conversations, and each of the plurality of attribute databases further includes a plurality of thread identification information corresponding to the plurality of conversations for identifying one or more attributes associated with each of the plurality of conversations.
技術案106に記載の非一時的なコンピュータ可読記憶媒体。A non-transitory computer-readable storage medium according to technical proposal 106.
[技術案110][Technical proposal 110]
コンピューティング装置であって、1. A computing device comprising:
少なくとも1つのプロセッサと、At least one processor;
前記少なくとも1つのプロセッサに通信可能に結合され、指令を記憶している少なくとも1つのメモリであって、前記指令が前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、at least one memory communicatively coupled to the at least one processor and storing instructions that, when executed by the at least one processor, cause the client computing device to:
第1の会話を開始することを示す第1の入力をユーザインターフェースから受け取ることと、Receiving a first input from a user interface indicating starting a first conversation;
第1のユーザによる第2の入力を受け取ることと、receiving a second input by a first user;
前記第2の入力が前記第1の会話に関連付けられる少なくとも1つの属性を示すと判定することと、determining that the second input is indicative of at least one attribute associated with the first conversation;
新しい会話の開始を示す情報と、前記少なくとも1つの属性が前記第1の会話に関連付けられていることを示す情報とを含む情報を、メッセージサービスに送信することと、を行わせる少なくとも1つのメモリと、sending information to a message service, the information including information indicating a start of a new conversation and information indicating that the at least one attribute is associated with the first conversation; and
を備えるコンピューティング装置。1. A computing device comprising:
[技術案111][Technical proposal 111]
前記少なくとも1つのメモリは、The at least one memory includes:
前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、When executed by the at least one processor, the client computing device:
前記メッセージングサービスに情報の要求を送信することと、sending a request for information to the messaging service;
前記要求に応じて受信された、複数の会話に関連付けられる複数の属性を示す情報を含む情報を格納することであって、前記複数の会話は対応するスレッドIDを有することと、storing information received in response to the request, the information including information indicative of a plurality of attributes associated with a plurality of conversations, the plurality of conversations having corresponding thread IDs;
前記受信された情報に基づいて、前記複数の会話に関連付けられる複数のインジケータを表示することと、を行わせる、and displaying a plurality of indicators associated with the plurality of conversations based on the received information.
指令をさらに記憶している技術案110に記載のコンピューティング装置。The computing device according to the technical solution 110, further storing instructions.
[技術案112][Technical proposal 112]
前記少なくとも1つのメモリはさらに、前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、The at least one memory further comprises, when executed by the at least one processor, causing the client computing device to:
前記複数の会話から選択された第2の会話内の複数のメッセージに対する要求を送信することと、sending a request for a plurality of messages in a second conversation selected from the plurality of conversations;
前記要求に応じて受信された、前記第2の会話内の前記複数のメッセージに関連付けられる内容を表示することと、を行わせる、displaying content associated with the plurality of messages in the second conversation received in response to the request.
指令をさらに記憶している技術案111に記載のコンピューティング装置。The computing device of technical solution 111, further storing instructions.
[技術案113][Technical proposal 113]
前記少なくとも1つのメモリはさらに、前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、The at least one memory further comprises, when executed by the at least one processor, causing the client computing device to:
前記複数の会話を示す情報の要求を送信することと、transmitting a request for information indicative of the plurality of conversations;
前記受信された情報に基づいて、前記複数の会話のうちの少なくともいくつかの要約を表示することと、を行わせる、and displaying summaries of at least some of the plurality of conversations based on the received information.
指令をさらに記憶している技術案110に記載のコンピューティング装置。The computing device according to the technical solution 110, further storing instructions.
[技術案114][Technical proposal 114]
前記少なくとも1つのメモリはさらに、前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、The at least one memory further comprises, when executed by the at least one processor, causing the client computing device to:
第2の複数の会話の属性に基づいてインターフェースを生成させる指令をさらに記憶しており、further storing instructions for generating an interface based on attributes of the second plurality of conversations;
前記インターフェースは前記第2の複数の会話に関連付けられる2次元表示を含み、前記2次元表示における2つの次元は、前記第2の複数の会話に関連付けられる第1の属性と、前記第2の複数の会話に関連付けられる第2の属性とに基づく、the interface includes a two-dimensional representation associated with the second plurality of conversations, two dimensions of the two-dimensional representation based on a first attribute associated with the second plurality of conversations and a second attribute associated with the second plurality of conversations.
技術案110に記載のコンピューティング装置。The computing device according to technical solution 110.
[技術案115][Technical proposal 115]
前記少なくとも1つのメモリはさらに、前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、The at least one memory further comprises, when executed by the at least one processor, causing the client computing device to:
第2のユーザが、前記第2の複数の会話に関連付けられる属性を再編成することを示す入力を提供するインターフェースを表示することと、displaying an interface providing an input indicating that a second user wishes to rearrange attributes associated with the second plurality of conversations;
前記入力の受け取りに応じて、前記2次元表示を再編成することと、を行わせる、reorganizing the two-dimensional representation in response to receiving the input.
指令をさらに記憶している技術案114に記載のコンピューティング装置。The computing device of the technical solution 114, further storing instructions.
[技術案116][Technical proposal 116]
前記2次元表示内の少なくとも1つの交差は、At least one intersection in the two-dimensional representation comprises:
前記第2の複数の会話のうちの少なくとも1つの会話に関連付けられる少なくとも1つのタスクのステータスを示すインジケータと、an indicator indicating a status of at least one task associated with at least one conversation of the second plurality of conversations;
前記第2の複数の会話のうち未読メッセージを有する会話を示す数と、a number indicating conversations among the second plurality of conversations that have unread messages; and
を含む技術案114に記載のコンピューティング装置。The computing device according to technical solution 114, comprising:
[技術案117][Technical proposal 117]
前記少なくとも1つのメモリはさらに、前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、The at least one memory further comprises, when executed by the at least one processor, causing the client computing device to:
前記2次元表現内の交差の選択を示す情報を受信することと、receiving information indicative of a selection of intersections within the two-dimensional representation;
前記選択された交差に対応する属性に基いて、前記情報を受信することに応じて、前記第2の複数の会話をフィルタリングすることと、を行わせる、and in response to receiving the information, filtering the second plurality of conversations based on an attribute corresponding to the selected intersection.
指令をさらに記憶している技術案114に記載のコンピューティング装置。The computing device of the technical solution 114, further storing instructions.
[技術案118][Technical proposal 118]
前記第2の入力は、前記少なくとも1つの属性の既存のインジケータを選択することによって提供される、the second input is provided by selecting an existing indicator of the at least one attribute.
技術案110に記載のコンピューティング装置。The computing device according to technical solution 110.
[技術案119][Technical proposal 119]
前記第2の入力は、前記少なくとも1つの属性のタイプを示す所定のキャラクタを含むメッセージを入れることによって提供される、the second input is provided by entering a message including predetermined characters indicative of a type of the at least one attribute.
技術案110に記載のコンピューティング装置。The computing device according to technical solution 110.
[技術案120][Technical proposal 120]
前記少なくとも1つの属性は、トピック属性と、ユーザ属性と、グループ属性と、タスク属性と、電子メールメッセージ属性とのうちの少なくとも1つを含む、the at least one attribute includes at least one of a topic attribute, a user attribute, a group attribute, a task attribute, and an email message attribute;
技術案110に記載のコンピューティング装置。The computing device according to technical solution 110.
[技術案121][Technical proposal 121]
前記少なくとも1つのメモリはさらに、前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、The at least one memory further comprises, when executed by the at least one processor, causing the client computing device to:
前記第2の入力が所定のキャラクタに関連付けられているという判定に基づいて、前記第2の入力が少なくとも1つの属性を示すと判定することを行わせる、determining that the second input is indicative of at least one attribute based on a determination that the second input is associated with a predetermined character.
指令をさらに記憶している技術案110に記載のコンピューティング装置。The computing device of the technical solution 110, further storing instructions.
[技術案122][Technical proposal 122]
前記少なくとも1つのメモリはさらに、前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、The at least one memory further comprises, when executed by the at least one processor, causing the client computing device to:
第3の入力を受け取ることに応じて、1つ又は複数の会話に参加する少なくとも1つのグループに関連付けられる情報を含む第3のユーザインターフェースを表示することを行わせる、in response to receiving the third input, displaying a third user interface including information associated with at least one group participating in the one or more conversations.
指令をさらに記憶している技術案110に記載のコンピューティング装置。The computing device according to the technical solution 110, further storing instructions.
[技術案123][Technical proposal 123]
前記少なくとも1つのメモリはさらに、前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、The at least one memory further comprises, when executed by the at least one processor, causing the client computing device to:
前記第1の会話内のメッセージを受信することと、receiving a message in the first conversation;
前記メッセージが第2のユーザを識別する情報を含むと判定することと、determining that the message includes information identifying a second user;
前記メッセージに関連付けられる日付を示す情報を受信することと、receiving information indicative of a date associated with the message;
前記第2のユーザに割り当てられたタスクを示す前記メッセージと、前記メッセージに関連付けられる日付を示す前記情報とを、メッセージサービスに送信することと、を行わせる、sending the message indicating a task assigned to the second user and the information indicating a date associated with the message to a message service.
指令をさらに記憶している技術案110に記載のコンピューティング装置。The computing device of the technical solution 110, further storing instructions.
[技術案124][Technical proposal 124]
前記少なくとも1つのメモリはさらに、前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、The at least one memory further comprises, when executed by the at least one processor, causing the client computing device to:
前記複数の会話のうち第3の会話に関連付けられるタスクのステータスを表示させる、displaying a status of a task associated with a third conversation of the plurality of conversations;
指令をさらに記憶している技術案110に記載のコンピューティング装置。The computing device of the technical solution 110, further storing instructions.
[技術案125][Technical proposal 125]
方法であって、1. A method comprising:
第1の会話を開始することを示す第1の入力をユーザインターフェースから受け取ることと、Receiving a first input from a user interface indicating starting a first conversation;
第1のユーザによる第2の入力を受け取ることと、receiving a second input by a first user;
前記第2の入力が前記第1の会話に関連付けられる少なくとも1つの属性を示すと判定することと、determining that the second input is indicative of at least one attribute associated with the first conversation;
新しい会話の開始を示す情報と、前記少なくとも1つの属性が前記第1の会話に関連付けられていることを示す情報とを含む情報を、メッセージサービスに送信することとを含み、前記メッセージングサービスは、前記第1の会話のスレッド識別子(ID)に関連付けられる前記少なくとも1つの属性を少なくとも1つのデータベースに格納する、sending information to a messaging service, the information including information indicating the start of a new conversation and information indicating that the at least one attribute is associated with the first conversation, the messaging service storing the at least one attribute associated with a thread identifier (ID) of the first conversation in at least one database;
方法。Method.
[技術案126][Technical proposal 126]
前記メッセージングサービスに情報の要求を送信することと、sending a request for information to the messaging service;
前記要求に応じて受信された、複数の会話に関連付けられる複数の属性を示す情報を含む情報を格納することであって、前記複数の会話のそれぞれは対応するスレッドIDを有することと、storing information received in response to the request, the information including information indicative of a plurality of attributes associated with a plurality of conversations, each of the plurality of conversations having a corresponding thread ID;
前記受信された情報に基づいて、前記複数の会話に関連付けられる複数のインジケータを表示することと、displaying a plurality of indicators associated with the plurality of conversations based on the received information; and
をさらに含む技術案125に記載の方法。The method according to technical proposal 125, further comprising:
[技術案127][Technical proposal 127]
前記複数の会話から選択された第2の会話内の複数のメッセージに対する要求を送信することと、sending a request for a plurality of messages in a second conversation selected from the plurality of conversations;
前記要求に応じて受信された、前記第2の会話内の前記複数のメッセージに関連付けられる内容を表示することと、displaying content associated with the plurality of messages in the second conversation received in response to the request; and
をさらに含む技術案126に記載の方法。The method according to technical proposal 126, further comprising:
[技術案128][Technical proposal 128]
前記複数の会話を示す情報の要求を送信することと、transmitting a request for information indicative of the plurality of conversations;
前記受信された情報に基づいて、前記複数の会話のうちの少なくともいくつかの要約を表示することと、displaying summaries of at least some of the plurality of conversations based on the received information; and
をさらに含む技術案125に記載の方法。The method according to technical proposal 125, further comprising:
[技術案129][Technical proposal 129]
第2の複数の会話の属性に基づいてインターフェースを生成することをさらに含み、generating an interface based on attributes of the second plurality of conversations;
前記インターフェースは前記第2の複数の会話に関連付けられる2次元表示を含み、前記2次元表示における2次元は、前記第2の複数の会話に関連付けられる第1の属性と、前記第2の複数の会話に関連付けられる第2の属性とに基づく、the interface includes a two-dimensional representation associated with the second plurality of conversations, a second dimension in the two-dimensional representation based on a first attribute associated with the second plurality of conversations and a second attribute associated with the second plurality of conversations.
技術案125に記載の方法。The method according to technical proposal 125.
[技術案130][Technical proposal 130]
さらに、moreover,
前記2次元表現内の交差の選択を示す情報を受信することと、receiving information indicative of a selection of intersections within the two-dimensional representation;
前記選択された交差に対応する属性に基いて、前記情報を受信することに応じて、前記第2の複数の会話をフィルタリングすることと、filtering the second plurality of conversations in response to receiving the information based on an attribute corresponding to the selected intersection; and
を含む技術案129に記載の方法。The method according to technical proposal 129, comprising:
[技術案131][Technical proposal 131]
コンピュータ可読指令が記憶されている非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ可読指令は、コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、A non-transitory computer-readable storage medium having computer-readable instructions stored thereon, the computer-readable instructions, when executed on a computing device, causing the computing device to at least:
第1の会話を開始することを示す第1の入力をユーザインターフェースから受け取ることと、Receiving a first input from a user interface indicating starting a first conversation;
第1のユーザによる第2の入力を受け取ることと、receiving a second input by a first user;
前記第2の入力が前記第1の会話に関連付けられる少なくとも1つの属性を示すと判定することと、determining that the second input is indicative of at least one attribute associated with the first conversation;
新しい会話の開始を示す情報と、前記少なくとも1つの属性が前記第1の会話に関連付けられていることを示す情報とを含むデータを、メッセージサービスに送信することと、を行わせ、前記メッセージングサービスは、前記第1の会話のスレッド識別子(ID)に関連付けられる前記少なくとも1つの属性を少なくとも1つのデータベースに格納する、sending data to a messaging service including information indicating the start of a new conversation and information indicating that the at least one attribute is associated with the first conversation, the messaging service storing the at least one attribute associated with a thread identifier (ID) of the first conversation in at least one database.
非一時的なコンピュータ可読記憶媒体。A non-transitory computer-readable storage medium.
[技術案132][Technical proposal 132]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、When executed on the computing device, the computing device is provided with at least
前記メッセージングサービスに情報の要求を送信することと、sending a request for information to the messaging service;
前記要求に応じて受信された、複数の会話に関連付けられる複数の属性を示す情報を含む情報を格納することであって、前記複数の会話のそれぞれは対応するスレッドIDを有することと、storing information received in response to the request, the information including information indicative of a plurality of attributes associated with a plurality of conversations, each of the plurality of conversations having a corresponding thread ID;
前記受信された情報に基づいて、前記複数の会話の複数のインジケータを表示することと、を行わせる、and displaying a plurality of indicators of the plurality of conversations based on the received information.
コンピューティング可読指令をさらに記憶している技術案131に記載の非一時的なコンピュータ可読記憶媒体。The non-transitory computer-readable storage medium according to technical proposal 131, further storing computing-readable instructions.
[技術案133][Technical proposal 133]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、When executed on the computing device, the computing device is provided with at least
前記複数の会話から選択された第2の会話内の複数のメッセージに対する要求を送信することと、sending a request for a plurality of messages in a second conversation selected from the plurality of conversations;
前記要求に応じて受信された、前記第2の会話内の前記複数のメッセージに関連付けられる内容を表示することと、を行わせる、displaying content associated with the plurality of messages in the second conversation received in response to the request.
コンピュータ可読指令をさらに記憶している技術案132に記載の非一時的なコンピュータ可読記憶媒体。The non-transitory computer-readable storage medium according to technical proposal 132, further storing computer-readable instructions.
[技術案134][Technical proposal 134]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、When executed on the computing device, the computing device is provided with at least
第2の複数の会話の属性に基づいてインターフェースを生成し表示させる指令をさらに記憶しており、前記インターフェースは前記第2の複数の会話に関連付けられる2次元表示を含み、前記2次元表示における2次元は、前記第2の複数の会話に関連付けられる第1の属性と、前記第2の複数の会話に関連付けられる第2の属性とに基づく、and further storing instructions for generating and displaying an interface based on attributes of a second plurality of conversations, the interface including a two-dimensional representation associated with the second plurality of conversations, a second dimension in the two-dimensional representation being based on a first attribute associated with the second plurality of conversations and a second attribute associated with the second plurality of conversations.
技術案131に記載の非一時的なコンピュータ可読記憶媒体。A non-transitory computer-readable storage medium according to technical proposal 131.

Claims (15)

方法であって、
会話内の複数のメッセージを受信することと、
前記会話内のユーザ入力が、トピックを示す情報を含むと判定することと、
前記トピックを示す情報と前記会話との間の関連付けを格納することであって、前記トピックは前記会話に関連付けられた属性として格納されることと、
前記会話の複数の参加者に関連付けられた複数のメッセージングアプリケーションに前記トピックの指示をプッシュして、前記トピックの前記指示を表示することと、
前記トピックの前記指示に関連付けられる選択を示す、前記複数の参加者における第1の参加者からの入力を受け取ることに応じて、前記複数のメッセージの少なくともサブセットを表示させるために、前記複数のメッセージの前記少なくともサブセットを前記第1の参加者に関連付けられる第1のメッセージングアプリケーションに送信すること、
を含む、方法。
1. A method comprising:
Receiving multiple messages in a conversation;
determining that a user input in the conversation includes information indicative of a topic;
storing an association between information indicative of the topic and the conversation , the topic being stored as an attribute associated with the conversation ;
pushing an indication of the topic to a plurality of messaging applications associated with a plurality of participants of the conversation to display the indication of the topic;
in response to receiving an input from a first participant in the plurality of participants indicating a selection associated with the indication of the topic, sending at least the subset of the plurality of messages to a first messaging application associated with the first participant for displaying at least the subset of the plurality of messages;
A method comprising:
前記トピックを示す情報と前記会話との間の前記関連付けが少なくとも1つのデータベースに格納され、前記少なくとも1つのデータベースが会話中心のものであり、the association between the information indicative of the topic and the conversation is stored in at least one database, the at least one database being conversation-centric;
前記会話の前記複数の参加者を決定するために、前記少なくとも1つのデータベースにクエリすることによるルックアップを実行する、performing a lookup by querying the at least one database to determine the plurality of participants of the conversation;
請求項1に記載の方法。The method of claim 1.
トピックに関連する情報を含むデータベースを検索することによって、前記トピックが新しいと判定することと、
前記トピックが新しいと判定すると、前記トピックを示す情報を前記データベースに格納することと、
をさらに含み、
前記トピックを示す前記情報は、前記トピックを示す文字列の少なくとも一部を含む、
請求項1に記載の方法。
determining that the topic is new by searching a database containing information related to the topic;
if the topic is determined to be new, storing information indicative of the topic in the database;
Further comprising:
the information indicating the topic includes at least a part of a character string indicating the topic;
The method of claim 1.
前記複数のメッセージングアプリケーションにおける第2のメッセージを解析することに基づいて、前記第2のメッセージが第2のユーザを識別する情報を含むと判定することと、
前記第2のユーザに前記会話へのアクセスを許可することと、
をさらに含む請求項1に記載の方法。
determining, based on analyzing a second message in the plurality of messaging applications , that the second message includes information identifying a second user;
granting the second user access to the conversation;
The method of claim 1 further comprising:
前記トピックの指示を表示させるために、前記トピックを示す情報を、前記第2のユーザに関連付けられる第2のメッセージングアプリケーションに送信することをさらに含む、
請求項4に記載の方法。
sending information indicative of the topic to a second messaging application associated with the second user to cause an indication of the topic to be displayed.
The method according to claim 4.
前記第2のユーザから第3のメッセージを受信することと、
前記第3のメッセージを前記複数のメッセージに追加することと、
をさらに含む請求項4に記載の方法。
receiving a third message from the second user;
appending the third message to the plurality of messages;
The method of claim 4 further comprising:
前記第2のユーザが前記複数のメッセージにアクセスする前記許可を示す通知を、第1のユーザ装置に送信することをさらに含む、
請求項4に記載の方法。
and transmitting a notification to a first user device indicating the permission for the second user to access the plurality of messages.
The method according to claim 4.
前記会話と前記会話の複数の参加者との間の関連付けを格納することをさらに含む
請求項1に記載の方法。
The method of claim 1 , further comprising storing an association between the conversation and multiple participants of the conversation.
前記会話内の第3のメッセージを受信することと、
前記会話の前記複数の参加者を識別することと、
前記第3のメッセージを表示させるために、前記第3のメッセージを、前記複数の参加者に関連付けられる複数のメッセージングアプリケーションに送信することと、
をさらに含む請求項8に記載の方法。
receiving a third message in the conversation;
identifying the plurality of participants in the conversation;
sending the third message to a plurality of messaging applications associated with the plurality of participants for displaying the third message;
The method of claim 8 further comprising:
文字列は、前記文字列が前記トピックを示すと判定するための識別子を含む、
請求項1に記載の方法。
the character string includes an identifier for determining that the character string indicates the topic;
The method of claim 1.
方法であって、
第1の会話の複数の参加者に関連付けられた複数のメッセージングアプリケーションにトピックの指示をプッシュして、前記トピックの前記指示を表示することであって、前記トピックを示す情報と前記第1の会話との間の関連付けが格納され、前記トピックは前記第1の会話に関連付けられた属性として格納されることと、
前記第1の会話の第1の参加者に関連付けられるメッセージングアプリケーションから、複数のトピックの中から前記トピックを選択することを示す入力を受け取ることと、
前記第1の会話内の複数のメッセージの少なくともサブセットを表示させるために、前記第1の会話の少なくとも一部を前記メッセージングアプリケーションに送信することと
を含む、方法。
1. A method comprising:
pushing an indication of a topic to a plurality of messaging applications associated with a plurality of participants of a first conversation to display the indication of the topic, wherein an association between information indicative of the topic and the first conversation is stored, and the topic is stored as an attribute associated with the first conversation;
receiving an input from a messaging application associated with a first participant of the first conversation indicating a selection of the topic from among a plurality of topics;
sending at least a portion of the first conversation to the messaging application for displaying at least a subset of the messages in the first conversation;
A method comprising :
前記選択されたトピックに関連付けられる別の会話内の複数のメッセージの少なくともサブセットを表示させるために、前記別の会話を、前記メッセージングアプリケーションに送信することをさらに含む、
請求項11に記載の方法。
sending the other conversation associated with the selected topic to the messaging application for displaying at least a subset of messages in the other conversation.
The method of claim 11.
システムであって、
少なくとも1つのデータベースと、
前記少なくとも1つのデータベースと通信する少なくとも1つのコンピューティング装置であって、
話内の複数のメッセージを受信することと、
前記話内のユーザ入力が、トピックを示す情報を含むと判定することと、
前記トピックを示す情報と前記話との間の関連付けを納することであって、前記トピックは前記会話に関連付けられた属性として格納されることと、
前記会話の複数の参加者に関連付けられた複数のメッセージングアプリケーションに前記トピックの指示をプッシュして、前記トピックの前記指示を表示することと、
前記トピックの前記指示に関連付けられる選択を示す、前記複数の参加者における第1の参加者からの入力を受け取ることに応じて、前記複数のメッセージの少なくともサブセットを表示させるために、前記複数のメッセージの前記少なくともサブセットを前記第1の参加者に関連付けられる第1のメッセージングアプリケーションに送信すること、
を含む動作を実行するように構成された少なくとも1つのコンピューティング装置と、
を備えるシステム。
1. A system comprising:
At least one database;
at least one computing device in communication with the at least one database,
Receiving multiple messages in a conversation ;
determining that a user input in the conversation includes information indicative of a topic;
storing an association between information indicative of the topic and the conversation , the topic being stored as an attribute associated with the conversation ;
pushing an indication of the topic to a plurality of messaging applications associated with a plurality of participants of the conversation to display the indication of the topic;
in response to receiving an input from a first participant in the plurality of participants indicating a selection associated with the indication of the topic, sending at least the subset of the plurality of messages to a first messaging application associated with the first participant for displaying at least the subset of the plurality of messages;
At least one computing device configured to perform operations including:
A system comprising:
システムであって、
少なくとも1つのデータベースと、
前記少なくとも1つのデータベースと通信する少なくとも1つのコンピューティング装置であって、
第1の会話の複数の参加者に関連付けられた複数のメッセージングアプリケーションにトピックの指示をプッシュして、前記トピックの前記指示を表示することであって、前記トピックを示す情報と前記第1の会話との間の関連付けが格納され、前記トピックは前記第1の会話に関連付けられた属性として格納されることと、
前記第1の会話の第1の参加者に関連付けられるメッセージングアプリケーションから、複数のトピックの中から前記トピックを選択することを示す入力を受け取ることと、
前記第1の会話内の複数のメッセージの少なくともサブセットを表示させるために、前記第1の会話の少なくとも一部を前記メッセージングアプリケーションに送信することと、
を含む動作を実行するように構成された少なくとも1つのコンピューティング装置と、
を備えるシステム。
1. A system comprising:
At least one database;
at least one computing device in communication with the at least one database,
pushing an indication of a topic to a plurality of messaging applications associated with a plurality of participants of a first conversation to display the indication of the topic, wherein an association between information indicative of the topic and the first conversation is stored, and the topic is stored as an attribute associated with the first conversation;
receiving an input from a messaging application associated with a first participant of the first conversation indicating a selection of the topic from among a plurality of topics;
sending at least a portion of the first conversation to the messaging application for displaying at least a subset of messages in the first conversation;
At least one computing device configured to perform operations including:
A system comprising :
コンピュータ可読指令が記憶されている非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ可読指令は、コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、請求項1から12のいずれかに記載の方法を実行させる非一時的なコンピュータ可読記憶媒体。 A non-transitory computer-readable storage medium having stored thereon computer-readable instructions that, when executed on a computing device, cause the computing device to perform at least one of the methods described in any one of claims 1 to 12.
JP2023504037A 2020-07-27 2021-07-16 Messaging Services Active JP7478898B2 (en)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
US16/939,489 2020-07-27
US16/939,306 2020-07-27
US16/939,634 2020-07-27
US16/939,569 US11343114B2 (en) 2020-07-27 2020-07-27 Group management in a messaging service
US16/939,279 US11539648B2 (en) 2020-07-27 2020-07-27 Data model of a messaging service
US16/939,489 US11645466B2 (en) 2020-07-27 2020-07-27 Categorizing conversations for a messaging service
US16/939,569 2020-07-27
US16/939,491 US11922345B2 (en) 2020-07-27 2020-07-27 Task management via a messaging service
US16/939,634 US11349800B2 (en) 2020-07-27 2020-07-27 Integration of an email, service and a messaging service
US16/939,306 US11290409B2 (en) 2020-07-27 2020-07-27 User device messaging application for interacting with a messaging service
US16/939,491 2020-07-27
US16/939,279 2020-07-27
PCT/CN2021/106945 WO2022022305A1 (en) 2020-07-27 2021-07-16 Messaging service

Publications (2)

Publication Number Publication Date
JP2023535173A JP2023535173A (en) 2023-08-16
JP7478898B2 true JP7478898B2 (en) 2024-05-07

Family

ID=80037554

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023504037A Active JP7478898B2 (en) 2020-07-27 2021-07-16 Messaging Services

Country Status (4)

Country Link
EP (1) EP4176576A4 (en)
JP (1) JP7478898B2 (en)
CN (1) CN116235483A (en)
WO (1) WO2022022305A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116319643B (en) * 2023-02-17 2024-07-19 北京奇艺世纪科技有限公司 Message storage and message display method and device, electronic equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050262199A1 (en) 2004-05-20 2005-11-24 International Business Machines Corporation System and method for in-context, topic-oriented instant messaging
JP2014099146A (en) 2012-10-19 2014-05-29 Konami Digital Entertainment Co Ltd Reservation support device, method for controlling reservation support device, and program of reservation support device
US20150261773A1 (en) 2012-07-04 2015-09-17 Qatar Foundation System and Method for Automatic Generation of Information-Rich Content from Multiple Microblogs, Each Microblog Containing Only Sparse Information

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030126089A1 (en) * 2001-12-28 2003-07-03 Fujitsu Limited Conversation method, device, program and computer-readable recording medium on which conversation program is recorded
US10050918B2 (en) * 2015-03-27 2018-08-14 International Business Machines Corporation Dynamic thread management for online conversations
CN106202085B (en) * 2015-04-30 2019-08-20 阿里巴巴集团控股有限公司 The method, apparatus and electronic equipment of information search are carried out according to specific subject
US10021059B1 (en) * 2016-05-09 2018-07-10 Sanjay K. Rao Messaging content and ad insertion in channels, group chats, and social networks
US10585956B2 (en) * 2017-09-20 2020-03-10 International Business Machines Corporation Media selection and display based on conversation topics
US10951566B2 (en) 2017-11-10 2021-03-16 International Business Machines Corporation Management of communications based on topic drift
CN109873745B (en) * 2017-12-01 2021-08-24 腾讯科技(深圳)有限公司 Communication control method, communication control device and storage medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050262199A1 (en) 2004-05-20 2005-11-24 International Business Machines Corporation System and method for in-context, topic-oriented instant messaging
US20150261773A1 (en) 2012-07-04 2015-09-17 Qatar Foundation System and Method for Automatic Generation of Information-Rich Content from Multiple Microblogs, Each Microblog Containing Only Sparse Information
JP2014099146A (en) 2012-10-19 2014-05-29 Konami Digital Entertainment Co Ltd Reservation support device, method for controlling reservation support device, and program of reservation support device

Also Published As

Publication number Publication date
EP4176576A1 (en) 2023-05-10
CN116235483A (en) 2023-06-06
JP2023535173A (en) 2023-08-16
WO2022022305A1 (en) 2022-02-03
EP4176576A4 (en) 2024-01-03

Similar Documents

Publication Publication Date Title
US11366838B1 (en) System and method of context-based predictive content tagging for encrypted data
US10462087B2 (en) Tags in communication environments
US8793324B1 (en) Discussion-topic, social network systems
US10896191B2 (en) Creation of real-time conversations based on social location information
US9299060B2 (en) Automatically suggesting groups based on past user interaction
JP5905017B2 (en) Content sharing interface for sharing content within social networks
WO2018166361A1 (en) Session filtering method and device
US9800529B2 (en) Organizing conversation threads based on social information
US20230394395A1 (en) Conversation-based messaging method and system
US11343114B2 (en) Group management in a messaging service
CA2999572A1 (en) Systems and methods for converting emails to chat conversations
US11722856B2 (en) Identifying decisions and rendering decision records in a group-based communication interface
JP4826177B2 (en) Program, method, and apparatus for collaborative workplace creation support
US11290409B2 (en) User device messaging application for interacting with a messaging service
US11645466B2 (en) Categorizing conversations for a messaging service
JP7478898B2 (en) Messaging Services
US11349800B2 (en) Integration of an email, service and a messaging service
WO2016106279A1 (en) System and method of personalized message threading for a multi-format, multi-protocol communication system
US11539648B2 (en) Data model of a messaging service
US11876771B2 (en) Message display method and apparatus, computer device, storage medium, and program product
US11755629B1 (en) System and method of context-based predictive content tagging for encrypted data

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230119

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240221

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240422

R150 Certificate of patent or registration of utility model

Ref document number: 7478898

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150