JP2023535173A - messaging service - Google Patents
messaging service Download PDFInfo
- Publication number
- JP2023535173A JP2023535173A JP2023504037A JP2023504037A JP2023535173A JP 2023535173 A JP2023535173 A JP 2023535173A JP 2023504037 A JP2023504037 A JP 2023504037A JP 2023504037 A JP2023504037 A JP 2023504037A JP 2023535173 A JP2023535173 A JP 2023535173A
- Authority
- JP
- Japan
- Prior art keywords
- conversation
- message
- user
- conversations
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/216—Handling 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)
Abstract
メッセージングシステムは、会話中に複数のメッセージを受信することができる。メッセージのうちの1つ又は複数がトピックを示す情報を含むと判定することができる。トピックを示す情報と会話との関連付けをデータベースに格納することができる。トピックの選択を示す入力を受け取ることができる。この入力の受け取りに応じて、少なくとも該会話のサブセット、例えばメッセージのうちの1つまたは複数のメッセージを、メッセージングアプリケーションに送信することができる。メッセージングアプリケーションは、会話のサブセットを表示することができる。【選択図】図5A messaging system can receive multiple messages during a conversation. It can be determined that one or more of the messages contain information indicative of the topic. Information indicative of topics and associations with conversations can be stored in a database. An input can be received that indicates a topic selection. In response to receiving this input, at least a subset of the conversation, eg, one or more of the messages, can be sent to the messaging application. A messaging application can display a subset of conversations. [Selection drawing] Fig. 5
Description
仕事場や社交の場での交流は、インターネットに基づくツールを使って行われることが増えている。インターネットに基づくツールは、任意のソフトウェアまたはプラットフォームとすることができる。電子メールのような従来の通信ツールは、内部通信及び外部通信を容易にすることができる。しかし、従来の通信ツールでは、さまざまな制約から、ユーザのニーズに応えられないことがある。通信機器の高性能化につれ、通信の効率と通信の効果を改善するために、新たなツールが次々と発見されている。 Interactions in the workplace and social settings 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, conventional communication tools may not be able to meet user needs due to various restrictions. With the increasing sophistication of communication equipment, new tools are continually being discovered to improve the efficiency and effectiveness of communication.
以下の詳細な説明は、添付図面と合わせて読むとよりよく理解できる。説明のために、本開示の様々な態様の例示的な実施形態が添付図面に示されているが、本発明は、開示されている特定の方法および手段に限定されない。 The following detailed description is better understood when read in conjunction with the accompanying drawings. For purposes of explanation, illustrative embodiments of various aspects of this disclosure are shown in the accompanying drawings, but the invention is not limited to the specific methods and instrumentalities disclosed.
図1はクラウドコンピューティングシステム100の例示的なコンポーネントを示す図である。限定ではなく、一例として、クラウドコンピューティングシステム100を使用して、開示された発明対象の態様を実行することができる。クラウドベースのコンピューティングとは、一般的に、アプリケーション実行、サービス提供、及びデータ格納を、クライアントとクラウドコンピューティング装置との間で、ある程度分割することができるネットワークコンピュータアーキテクチャを指す。「クラウド」とは、ネットワーク(例えば、インターネット)を介して、例えばクライアント、サーバ装置、及びその他のクラウドコンピューティングシステムによって、アクセス可能なサービスまたはサービスグループを指すことができる。
FIG. 1 is a diagram illustrating exemplary components of a
一例において、クラウドに接続された複数のコンピューティング装置は、コンピューティングパワー、サービス、アプリケーション、記憶装置、及びファイルの共有プールにアクセスして、使用することができる。したがって、クラウドコンピューティングにより、最小限の管理努力又はインタラクションでクラウドサービスプロバイダによって提供および解放することができる、ネットワーク、サーバ、記憶装置、アプリケーション、及びサービスなどの、構成可能なコンピューティングリソースの共有プールを可能にする。 In one example, multiple cloud-connected computing devices can access and use a shared pool of computing power, services, applications, storage, and files. Cloud computing thus allows a shared pool of composable computing resources, such as networks, servers, storage devices, applications, and services, that can be provided and released by cloud service providers with minimal administrative effort or interaction. enable
一例として、クラウドベースのアプリケーションは、データおよび/または実行可能なプログラムコードのコピーをクラウドコンピューティングシステムに格納するとともに、クライアント装置での実行のために必要な場合、クライアント装置によるこのデータおよびプログラムコードの少なくとも一部のダウンロードを許可することができる。いくつかの例において、ダウンロードされたデータおよびプログラムコードは、クラウドベースのアプリケーションにアクセスする特定のクライアント装置(例えば、パーソナルコンピュータ、タブレットコンピュータ、携帯電話および/またはスマートフォン)の機能に応じて調整することが可能である。追加として、クライアント装置とクラウドコンピューティングシステムとの間でアプリケーション実行と格納を分割することにより、クラウドコンピューティングシステムがより多くの処理を実行することが可能となるため、クラウドコンピューティングシステムのプロセッシング能力や機能をうまく利用することができる。 As an example, a cloud-based application may store a copy of data and/or executable program code on the cloud computing system and, if necessary for execution on the client device, copy this data and program code by the client device. may allow the download of at least a portion of the In some instances, the downloaded data and program code may be tailored according to the capabilities of the particular client device (e.g., personal computer, tablet computer, mobile phone and/or smart phone) accessing the cloud-based application. is possible. Additionally, by splitting application execution and storage between the client device and the cloud computing system, the processing power of the cloud computing system is reduced, as it allows the cloud computing system to perform more processing. and functions can be used effectively.
クラウドベースのコンピューティングはまた、クラウドベースのアプリケーションのためのデータおよびプログラムコードが、1つ又は複数のクライアント装置および/またはクラウドコンピューティング装置の間でほぼリアルタイムに共有される分散型のコンピューティングアーキテクチャを指すことができる。このデータおよびプログラムコードの一部は、必要に応じて、またはその他の状況に応じて、クラウドベースのアプリケーションにアクセス中のさまざまなクライアントに動的に配布することが可能である。クラウドベースのコンピューティングアーキテクチャの詳細は、クライアント装置のユーザにはほとんど透過的であってもよい。限定ではなく、一例として、クラウドベースのアプリケーションにアクセスするPCユーザ装置は、PCがクラウドコンピューティングシステムからプログラムロジックおよび/またはデータをダウンロードすること、またはPCが処理機能または記憶機能をクラウドコンピューティングシステムにオフロードしていることを知らなくてもよい。 Cloud-based computing is also a distributed computing architecture in which data and program code for cloud-based applications are shared in near real-time among one or more client devices and/or cloud computing devices. can point to Portions of this data and program code can be dynamically distributed to various clients accessing the cloud-based application as needed or otherwise. The details of the cloud-based computing architecture may be largely transparent to users of client devices. By way of example, and not by way of limitation, a PC user device accessing a cloud-based application may assume that the PC downloads program logic and/or data from the cloud computing system or that the PC transfers processing or storage functions to the cloud computing system. without knowing that you are offloading to
図1において、クラウドコンピューティングシステム100は、1つ又は複数のクラウドサービス104と、1つ又は複数のクラウドプラットフォーム106と、クラウドインフラストラクチャコンポーネント108と、クラウド知識ベース110とを備える。クラウドコンピューティングシステム100は、より多いまたは少ないコンポーネントを含むことができ、クラウドサービス104、クラウドプラットフォーム106、クラウドインフラストラクチャコンポーネント108、およびクラウド知識ベース110のそれぞれは、さらに、複数のコンピューティング要素および記憶要素を含むことができる。したがって、クラウドコンピューティングシステム100の前述機能のうちの1つまたは複数を、追加の機能コンポーネントまたは物理コンポーネントに分割するか、またはより少ない機能コンポーネントまたは物理コンポーネントに結合することができる。いくつかの別の例において、図1に示された例に追加の機能および/または物理的コンポーネントを追加することができる。クラウドコンピューティングベースのサービスの配布には、ウェブサービスや多層アーキテクチャなどのアプリケーションプログラミングインターフェースを介して相互に通信する複数のクラウドコンポーネントが関与する場合がある。
In FIG. 1, a
図1に示す例示的なクラウドコンピューティングシステム100は、ネットワークコンピューティングアーキテクチャである。クラウドサービス104は、クライアント装置からの要求を処理するためのキューを表すことができる。クラウドプラットフォーム106は、クラウドコンピューティングシステム100のためのクライアントインターフェースフロントエンド、例えばメッセージングサービスのクライアントインターフェースフロントエンドを含むことができる。クラウドプラットフォーム106は、クライアント装置とインタラクションするための機能を実行するために、クラウドサービス104に結合することができる。クラウドインフラストラクチャ108は、クラウドコンピューティングシステム100のサービス、支払、および他の動作コンポーネントおよびインフラストラクチャコンポーネントを含むことができる。クラウド知識ベース110がクラウドコンピューティングシステム100に使用されるデータを格納するように構成されているため、クラウド知識ベース110は、クラウドサービス104、クラウドプラットフォーム106、および/またはクラウドインフラストラクチャコンポーネント108のいずれかによってアクセス可能である。
The exemplary
多くの異なるタイプのクライアント装置、例えばメッセージングサービスのユーザの装置は、データにアクセスし、クラウドコンピューティングシステム100によって提供されるアプリケーションを実行するために、クラウドコンピューティングシステム100のコンポーネントと通信するように構成されることが可能である。例えば、コンピュータ112、モバイル装置114、およびホスト116は、クラウドコンピューティングシステム100と通信するように構成可能なタイプのクライアント装置の例として示されている。もちろん、より多いまたは少ないクライアント装置がクラウドコンピューティングシステム100と通信してもよい。さらに、他のタイプのクライアント装置がクラウドコンピューティングシステム100と通信するように構成されてもよい。
Many different types of client devices, such as those of messaging service users, may communicate with components of
図1に示すコンピュータ112は、任意のタイプのコンピューティング装置、例えば、PC、ラップトップコンピュータ、タブレットコンピュータなどとすることができ、モバイル装置114は、クラウドコンピューティングシステム100へデータを送信し、且つ/又はクラウドコンピューティングシステム100からデータを受信するように構成された、任意のタイプのモバイルコンピューティング装置、例えば、ラップトップコンピュータ、スマートフォン、携帯電話、セルラーホン、タブレットコンピュータなどとすることができる。同様に、ホスト116は、クラウドコンピューティングシステム100へデータを送信し、且つ/又はクラウドコンピューティングシステム100からデータを受信するように構成された、ラップトップコンピュータ、携帯電話、スマートフォン、タブレットコンピュータなどを含む、送信機/受信機を有する任意のタイプのコンピューティング装置とすることができる。
The
図1において、クライアント装置とクラウド100との間の通信リンクは有線接続、例えば、シリアルバスまたはパラレルバス、イーサネット、光接続、または他のタイプの有線接続を備えることができる。通信リンクはまた、無線リンク、例えば、ブルートゥース(登録商標)、IEEE802.11(IEEE802.11は、IEEE802.11-2007、IEEE802.11n-2009、または任意の他のIEEE802.11リビジョンを指すことができる)、CDMA、3G、GSM、WiMAX、または他の無線ベースのデータ通信リンクとすることができる。
In FIG. 1, communication links between client devices and
他の例において、クライアント装置は、無線アクセスポイントを介してクラウドコンピューティングシステム100と通信するように構成されてもよい。アクセスポイントは様々な形態をとることができる。例えば、アクセスポイントは、無線アクセスポイント(WAP)または無線ルータの形態をとることができる。別の例として、クライアント装置がCDMA、GSM、3G、または4Gなどのセルラーエアインターフェースプロトコルを使用して接続する場合、アクセスポイントは、セルラーネットワークを介してインターネット接続を提供するセルラーネットワーク内の基地局とすることができる。
In other examples, client devices may be configured to communicate with
したがって、クライアント装置は、有線ネットワークインターフェースまたは無線ネットワークインターフェースを含むことができるが、該有線ネットワークインターフェースまたは無線ネットワークインターフェースを通して、クライアント装置は、直接またはアクセスポイントを介してクラウドコンピューティングシステム100に接続することができる。一例として、クライアント装置は、802.11、802.16(WiMAX)、LTE、GSM、GPRS、CDMA、EV-DO、および/またはHSPDAなどの1つまたは複数のプロトコルを使用するように構成されることが可能である。さらに、クライアント装置は、セルラー通信プロトコル(例えば、CDMA、GSM、またはWiMAX)を使用する「3G」または「4G」データ接続、および802.11を使用する「WiFi」接続など、複数の有線プロトコルおよび/または無線プロトコルを使用するように構成することが可能である。他のタイプの通信インターフェースおよびプロトコルを使用することも可能である。
Accordingly, a client device may include a wired network interface or a wireless network interface, through which the client device may connect to the
図2は、開示された技術を実行するための例示的なメッセージングサービス220を示す。限定ではなく、一例として、メッセージングサービス220は、図1のクラウドネットワーク100上で動作することができる。メッセージングサービス220は、クラウドネットワーク装置とローカル装置との組み合わせを含むことができる。メッセージングサービス220は、チャットサービス222を含むことができる。チャットサービス222は、メッセージングサービス220の装置上で動作する装置および/またはプログラムとすることができる。
FIG. 2 shows an
チャットサービス222は、ユーザ210から入力を受け取るように構成されてもよい。ユーザ210は、メッセージングサービス220内で互いにメッセージを交換するために、メッセージングサービス220のユーザとして登録することができる。ユーザ210は、ユーザ装置242上で動作するメッセージングアプリケーション240のユーザであってもよい。ユーザ入力は、会話を開始する要求を含むことができる。会話は、任意のユーザ装置242上で動作するメッセージングアプリケーション240のユーザインターフェース(UI)内の「Start Conversation」アイコンを選択することによって開始することができる。会話は、会話の任意の他の参加者が識別されていない状態で、作成者ユーザによって開始することができる。会話の参加者には、任意の方法で会話に参加することが許可されている任意のエンティティが含まれる。例えば、会話の参加者は、作成者ユーザ、会話に加入するように招待されたグループ、タスクを別の参加者(被割当者ユーザ)に割り当てることができる割当者ユーザ、被割当者ユーザ、会話に招待された電子メール参加者などであってもよい。
チャットサービス222は、会話を生成および/または管理することができる。例えば、チャットサービス222は、会話を分類することができる。チャットサービス222は、会話データベース230、トピックデータベース236、グループデータベース232、ユーザデータベース234、検索インデックスデータベース252、タスクデータベース256、電子メールユーザデータベース237、電子メールメッセージデータベース238などの1つまたは複数のデータベース260に、会話、会話との任意の関連付け、および/または会話メタデータを格納することができる。入力は、既存の会話や新規会話に追加するメッセージなどのメッセージを含むことができる。チャットサービス222は、メッセージを会話に追加することができる。チャットサービス222は、メッセージおよび/またはメッセージの関連付けを、データベース、例えば会話データベース230に格納することができる。
メッセージングサービス220は、メッセージが、ユーザ名、ハンドル(すなわち、@で始まるユーザ名)、アカウントなど、ユーザを識別する情報を含むと判定することができる。メッセージングサービス220は、識別されたユーザを会話に追加することができる。メッセージングサービス220は、例えば、会話データベース230、グループデータベース232、ユーザデータベース234、および/または検索インデックスデータベース252に、ユーザと会話との関連付けを格納することができる。例えば会話内で以前に通信されたメッセージのフィードを表示するために、ユーザに会話へのアクセス許可を付与することができる。
The
メッセージングサービス220は、メッセージがトピックを示す情報を含むと判定することができる。トピックは、対応する会話に関連付けられることが可能である。メッセージングサービス220は、1つまたは複数のデータベース、例えばトピックデータベース236にトピックを追加することができる。メッセージングサービス220は、例えば、会話データベース230および/またはトピックデータベース236にトピックと会話との関連付けを格納することができる。
メッセージングサービス220は、メッセージがグループを識別する情報を含むと判定することができる。グループはユーザグループであってもよい。メッセージングサービス220は、グループを会話に追加することができる。メッセージングサービス220は、例えば、会話データベース230、グループデータベース232、ユーザデータベース234、および/または検索インデックスデータベース252に、グループと会話との関連付けを格納することができる。
メッセージングサービス220は、メッセージがユーザに割り当てられたタスクを示す情報を含むと判定することができる。メッセージングサービス220はまた、タスクの期限日を示す情報を受信することができる。タスクと期限日をユーザと会話に関連付けることができる。メッセージングサービス220は、タスクおよび期限日をデータベース260、例えばタスクデータベース256に追加することができる。メッセージングサービス220はタスク、期限日、ユーザおよび会話の関連付けを、例えば会話データベース230、ユーザデータベース234、およびタスクデータベース256に、格納することができる。
The
メッセージングサービス220は、メッセージが電子メールアドレスを含むことができると決定することができる。電子メールアドレスは、会話に関連付けることができる。電子メールアドレスは、会話中のメッセージの対象とする受信者であってもよい。メッセージングサービス220は、電子メールアドレスを会話に追加することができる。メッセージングサービス220は、電子メールアドレスと会話との関連付けを、例えば、会話データベース230、電子メールユーザデータベース237、および/または電子メールメッセージデータベース238に、格納することができる。
メッセージングサービス220は、プッシュサービス224を含むことができる。プッシュサービス224は、メッセージングサービス220の装置上で動作する装置および/またはプログラムとすることができる。プッシュサービス224は、ユーザ入力の指示などのデータをチャットサービス222から受信することができる。プッシュサービス224は、データベース260にデータを格納し、且つ/またはデータベース260内のデータにアクセスすることができる。プッシュサービス224は、例えばメッセージングアプリケーション240を介して、ユーザ入力の指示などのデータをユーザ装置にプッシュ(例えば、送信、表示など)することができる。プッシュサービス224は、メッセージングサービス220の外部の電子メールアドレスにデータをプッシュすることができる。
メッセージングサービス220は、他のサービスを含むことができる。他のサービスは、グループサービス251を含むことができる。グループサービス251は、ユーザグループを管理することができる。グループサービス251は、格納されたグループの関連付けを管理することができる。グループサービス251は、検索インデックスデータベース252を検索することにより、グループに含まれるメンバを識別することができる。他のサービスは、リマインダ/スケジューラサービス253を含むことができる。リマインダ/スケジューラサービス253は、期限日とタスクとの関連付けを決定することができる。リマインダ/スケジューラサービス253は、期限日および/またはタスクに関連付けられるリマインダを送信することができる。リマインダ/スケジューラサービス253は、格納された期限日および/またはタスクを管理することができる。
他のサービスは、電子メールサービス254を含むことができる。電子メールサービス254は、電子メールメッセージを生成し、電子メールメッセージをメッセージングサービス220の外部の電子メールアドレスに送信することができる。電子メールサービス254は、メッセージングサービス220の外部の電子メールアドレスからデータを受信することができる。電子メールサービス254は、電子メールアドレスから受信したデータに関連付けられる会話を判定し、会話内のユーザに送信される対応のメッセージを生成することができる。他のサービスは、認証サービス226をさらに含むことができる。認証サービス226は、様々な会話へのアクセスを許可および検証することができる。認証サービス226は、会話の参加者に階層化権限を付与することができる。たとえば、あるレベルの権限を持つ参加者にのみ、他の参加者の追加やタスクの割り当てなどが許可される。
Other services may include email service 254 . Email service 254 can generate email messages and send email messages to email addresses outside of
図2のメッセージングサービス220は単に例示的なものであり、他の実施態様を使用することができることを理解すべきである。本明細書で開示される機能は、1つまたは複数のサーバまたはコンピューティング装置によって実装することが可能であることも理解すべきである。さらに、本明細書で開示される機能は、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアとの組み合わせで実装することが可能であることを理解すべきである。
It should be appreciated that the
図3は、メッセージングサービス220の一例を示す。メッセージングサービス220は、ネットワーク301と通信することができる。ネットワーク301は、インターネットを含むことができる。ネットワーク301は、1つまたは複数のクラウドネットワークコンポーネントを含むことができる。ネットワーク301は、ネットワークを介して1つまたは複数のデータベース260と通信することができる。データベース260は、図2のデータベース230~238と同じであってもよいし、類似していてもよい。例として、データベース260は、トピックデータベース、会話データベース、ユーザデータベース、および/またはタグデータベースを含むことができる。メッセージングサービス220は、属性および/または関連付けをデータベース260に格納することができる。メッセージングサービス220は、属性、関連付け、または他のデータについて、データベース260にアクセス(例えば、クエリ)することができる。
FIG. 3 shows an
メッセージングサービス220は、ネットワーク301を介して1つまたは複数のユーザ装置242と通信することができる。メッセージングサービス220は、ユーザ装置242上で動作するメッセージングアプリケーション240を介して装置302と通信することができる。メッセージングアプリケーション240は、データおよび権限、例えば会話、会話トピックタグ、ユーザ、グループ、プライバシなどを管理するように構成されてもよい。
メッセージングサービス220は、ネットワーク301を介して接続されたユーザ210と通信することができる。接続されたユーザ210は、メッセージングサービス220および/またはメッセージングアプリケーション240の会話の参加者であるユーザとすることができる。例えば、接続されたユーザ210は、外部電子メールアドレスを介して会話に関連付けられるメッセージを受信することができる。接続されたユーザ210は、外部電子メールアドレスから、メッセージングサービス220、メッセージングアプリケーション240、会話、および/または他のユーザにメッセージを送信することができる。
図4は、メッセージング技術400を示す。技術400は、メッセージングサービス(例えば、図2および図3のメッセージングサービス220)、メッセージングアプリケーション(例えば、図2および図3のメッセージングアプリケーション240)、1つまたは複数のユーザ210、および/または1つまたは複数のユーザ装置242によって実行することができる。401において、会話を開始することができる。会話は、メッセージングアプリケーションを介して会話の開始を要求する入力を入れることによって、作成者ユーザ(すなわち、会話の作成を引き起こすユーザ)によって開始することができる。例えば、ユーザは、ユーザ装置上に表示されたメッセージングアプリケーションのUI内の「Start a conversation」アイコンを選択することができる。チャットサービス(例えば、図2のチャットサービス222)は、入力を受け取り、会話を生成することができる。会話は、会話の任意の他の参加者が識別されていない状態で開始することができる。
FIG. 4 shows
402において、メッセージを入れることができる。メッセージは、メッセージングアプリケーションを介してユーザによって入れることができる。メッセージは、例えばメッセージングアプリケーションのUIに表示される入力フィールドを介して、会話中に入れることができる。このメッセージは、会話への任意の他の参加者が識別される前に入れることができる。メッセージはテキストを含むことができる。チャットサービスは、メッセージを受信することができる。このメッセージは、会話に追加することができる。メッセージは、会話に関連付けられる1つまたは複数のユーザに送信することができる。このメッセージは、1つ又は複数の外部ユーザ、例えば会話に追加済みの外部電子メールアドレスに送信することができる。メッセージと会話との関連付けは、データベース(例えば、図2~3のデータベース260)に格納することができる。
At 402, a message can be entered. Messages can be put in by users via messaging applications. Messages can be entered into conversations, for example, via input fields displayed on the UI of the messaging application. This message can be entered before any other participants in the conversation are identified. A message can contain text. A chat service can receive messages. This message can be added to the conversation. A message can be sent to one or more users associated with the conversation. This message can be sent to one or more external users, eg, external email addresses that have been added to the conversation. Associations between messages and conversations can be stored in a database (eg,
403において、メッセージを解析して、内容および/または属性を決定することができる。メッセージは、メッセージングアプリケーション(例えば、図2~3のメッセージングアプリケーション240)および/またはメッセージングサービス(例えば、図2~3のメッセージングサービス220)によって解析することができる。例えば、メッセージングアプリケーションは、メッセージの属性、例えばメッセージ内の特殊文字によって識別される属性を決定し、その属性の指示をメッセージングサービスに送信することができる。
At 403, the message can be parsed to determine content and/or attributes. The message may be parsed by a messaging application (eg, messaging application 240 of FIGS. 2-3) and/or a messaging service (eg,
404において、メッセージの内容は、内容データベース(例えば、図2~3のデータベース260)に格納することができる。内容と1つ又は複数のユーザ(例えばメッセージ内のタグ付きユーザ)との関連付けは、ユーザデータベース234、グループデータベース232、検索インデックスデータベース252などのデータベースに格納することができる。内容および/または関連付けは、メッセージングサービス(例えば、図2~3のメッセージングサービス220)によってデータベースに格納することができる。
At 404, the content of the message can be stored in a content database (eg,
405において、メッセージの属性は、トピックデータベース236、ユーザデータベース234、グループデータベース232、検索インデックスデータベース252、電子メールユーザデータベース237、およびタスクデータベース256などの属性データベースに格納することができる。属性とメッセージ内容の関連付けも、属性データベースおよび任意の他のデータベースに格納することができる。例えば、図2~3に示すように、属性および/または関連付けは、メッセージングサービス220によってデータベース260に格納することができる。
At 405 , attributes of the message can be stored in attribute databases such as
406において、メッセージの属性を処理することができる。例えば、メッセージの内容は、会話に関連付けられるトピックによってタグ付けされることが可能である。別の例として、検索は、内容に関連付けられるすべてのユーザについて実行することができる。メッセージの属性は、メッセージングサービスによって処理することができる。 At 406, attributes of the message can be processed. For example, message content can be tagged with the topic associated with the conversation. As another example, a search can be performed for all users associated with content. Message attributes 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 content and the user is an attribute of the content. For example, the techniques of this disclosure need not identify recipients or subscribers of a conversation. Instead, the messaging system allows a conversation, e.g., a series of messages, to be created by a creator user (e.g., the user who initiates creation of the conversation) without any other participants being identified. do. Conversation participants are the creator users, not just the recipients. Author users can post messages, label conversation topics, add other participants to the conversation, assign tasks to other participants, and so on.
会話作成後、他の参加者を会話に追加することができる。会話の参加者が会話の開始時に定義されるほとんどのメッセージングシステムとは異なり、本メッセージングシステムはいつでも参加者を会話に参加させることができる。会話内で本メッセージングサービスのユーザのユーザ名、グループ名、または電子メールアドレスを入れることにより、参加者を既存の会話に参加させることができる。そうすると、参加者は、会話に追加され、会話内で伝達される過去と未来のメッセージ、例えばフィードまたは通知で受信することができる。追加された参加者は、例えば、会話内でメッセージを投稿すること、会話のトピックにラベルを付けること、タスクを割り当てること、および/または会話に他の参加者を追加することによって、会話に参加することができる。 After creating a conversation, other participants can be added to the conversation. Unlike most messaging systems where conversation participants are defined at the beginning of the conversation, our messaging system allows participants to join the conversation at any time. Participants can join an existing conversation by including the username, group name, or email address of a user of the messaging service within the conversation. Participants can then receive past and future messages, such as feeds or notifications, that are added to and conveyed within the conversation. Added participants participate in the conversation by, for example, posting messages within the conversation, labeling topics of the conversation, assigning tasks, and/or adding other participants to the conversation. can do.
図5は本開示にかかるデータモデルの例示的な実施形態を示す図である。図5の例示的なデータモデルは単に例示的なものであり、他の構成を使用することができることを理解すべきである。図に示すように、データモデルは会話中心である。言い換えれば、会話はデータベース内の1次データ(primary data)である。ユーザデータ、トピックデータ、タスクデータなどの他のデータは、会話の属性である。図に示すように、メッセージングサービスの会話データベース230は、複数の会話を含む。会話データベース230は、複数のテーブルを含む。例えば、スレッドテーブル502、メッセージテーブル504、および内容テーブル506は、すべて会話データベース230に格納される。
FIG. 5 is a diagram illustrating an exemplary embodiment of a data model consistent with this disclosure. It should be appreciated that the exemplary data model of FIG. 5 is merely exemplary and that other configurations can 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 are attributes of the conversation. As shown, the messaging
スレッドテーブル502は、Thread_ID、User_ID、およびCreated_Timeなどの項目を含む。Thread_IDは、他のデータと属性を参照する主キーである。例えば、Thread_IDは、特定のThread_IDに関連付けられるメッセージをルックアップするために使用される。Thread_IDは、以下でより全面的に説明されるように、Thread_IDで識別されるスレッドに関連する属性データベース内の属性をルックアップするためにも使用される。属性データベースを説明する前に、会話データベース230に格納されるレコードをより詳細に説明する。
Thread table 502 includes items such as Thread_ID, User_ID, and Created_Time. Thread_ID is the primary key that references other data and attributes. For example, 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 the attribute database associated with the thread identified by the Thread_ID, as described more fully below. Before describing the attribute database, the records stored in the
会話データベース230について、ユーザによって新しいスレッド(例えば、新しい会話)が作成されるたびに、メッセージサービスは、新しいThread_IDを生成して割り当て、スレッドを作成したユーザのUser_ID及びスレッドが作成された時刻(Created_Time)と共にスレッドテーブルに新しいレコードを作成する。さらに、特定のスレッド(例えば、特定の会話)内の各メッセージに関連付けられる情報は、Thread_ID、User_ID(メッセージを作成したユーザの場合)、各メッセージを識別するMessage_ID、メッセージが作成された時刻(Created_Time)、および会話中にメンション(言及)され追加された可能性のある他のユーザまたはグループを識別するエントリ(Is_Mentioned)と共にメッセージテーブル504に格納される。会話中にメンションされた(例えば、@記号で始まる)ユーザまたはグループは、以下では「メンション」と称される。各メッセージの内容は、内容テーブル506に個別に格納され、対応するメッセージIDによって参照されることが可能である。これは、メッセージが短い文字列か、JPEGやビデオなどの何らかの形式のメディアを含むかによって、メッセージの格納サイズ大きく異なる可能性があるからである。
For
前述したように、各スレッド(会話)は、関連付けられる属性を有することができる。これらの属性は、会話のThread_IDによって参照される。たとえば、Thread_IDは各属性データベースに含まれるキーであり、特定の会話に関連付けられるすべての属性をルックアップするために使用できる。図5に示すように、ユーザは会話の属性である。特定の会話に関連付けられるユーザは、ユーザデータベース234において、特定の会話に対応する特定のThread_IDに関連付けられるすべてのユーザを検索することによって決定することができる。検索によって、一致するすべてのUser_IDが返される。
As previously mentioned, each thread (conversation) can have attributes associated with it. These attributes are referenced by the conversation's Thread_ID. For example, Thread_ID is a key included in each attribute database and can be used to look up all attributes associated with a particular conversation. As shown in Figure 5, the user is an attribute of the conversation. The users associated with a particular conversation can be determined by searching the
同様に、電子メールメッセージデータベース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 e-mail message database 238 returns all User_IDs of users associated with the thread via e-mail. That is, each time an email address is added to a conversation, a new record is created in 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 (eg, messaging service 220 ) and stored in email message database 238 . Each email participant (participant added by email address) is assigned a Mail_Box_User_ID that can be used to look up the associated Email_Address. The e-mail address is stored with the Message_ID of the message containing this e-mail address. The message content of each e-mail message is also stored in the e-mail message database 238 (e.g., e-mail 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 (eg, group database 232).
一実施形態において、属性データベースは、会話に関連付けられるタスク割り当てを示す情報(例えば、タスク属性)を格納するタスクデータベース(例えば、タスクデータベース256)を含む。タスクデータベース256に格納されたタスク属性も、各会話のThread_IDによって参照される。タスクデータベース256に格納されるデータおよび情報の一部には、期限(実質的には期限日)、割当者および被割当者のユーザID(Assignor_User_IDおよびAssignee_User_ID)、および状態(例えば、ステータス)が含まれる。作成された時刻、検証された時刻、および最後に更新された時刻を、タスクのために格納されたレコードに関連付けることもできる。 In one embodiment, the attribute database includes a task database (eg, task database 256) that stores information (eg, task attributes) indicative of task assignments associated with conversations. Task attributes stored in the task database 256 are also referenced by the Thread_ID of each conversation. Some of the data and information stored in the task database 256 includes due dates (effectively due dates), assignee and assignee user IDs (Assignor_User_ID and Assignee_User_ID), and states (eg, status). be Created time, verified time, and last updated time can also be associated with records stored for a 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 (eg, topic database 236) that stores information (eg, topic attributes) indicative of topics associated with the conversation. The topic database is referenced by each conversation's Thread_ID, is associated with the conversation, and generally includes the user ID, Topic_ID, and time created associated with each topic. Topic_ID is used to refer to the topic name (Topic_Name). Each time a new topic is added to a conversation, e.g., by an entry into a message that begins with a hashtag within the conversation, the messaging service (e.g., messaging service 220) stores an entry in
上述したように、これらの様々な属性はすべて、メッセージングサービス(例えば、メッセージングサービス220)において新しいスレッド(例えば、新しい会話)が作成されたときに生成されるThread_IDに関連付けられる。したがって、メッセージングサービス220は、会話に関連付けられる様々な属性を検索し、取り戻すことができる。本明細書では、会話とスレッドはある程度交換可能に使用される。一例において、メッセージスレッドデータベース230および複数の属性データベース(例えば、トピックデータベース236、タスクデータベース256、グループデータベース232、電子メールメッセージデータベース238、およびユーザデータベース234)は、同じサーバまたは装置に格納することが可能である。別の例において、メッセージスレッドデータベース230および複数の属性データベースは、それぞれ異なるサーバまたは装置に格納されてもよい。メッセージスレッドデータベース230および複数の属性データベースは、1つまたは複数の物理サーバまたは1つまたは複数の仮想サーバ上でホストされることができる。
As noted above, all of these various attributes are associated with a Thread_ID that is generated when a new thread (eg, new conversation) is created in a messaging service (eg, messaging service 220). Accordingly, the
図6は、図5に示されるデータモデルに関連して、メッセージングサービス(例えば、メッセージングサービス220)によって実行される例示的なプロセス600を示す。図6では一連の動作として説明されているが、当業者であれば、様々な実施形態において、説明された動作を追加、除去、並べ替え、または修正することができることを理解するはずである。
FIG. 6 shows an
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 ,
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 ,
いくつかの実施形態において、メッセージングアプリケーション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,
一実施形態において、メッセージングアプリケーション240とメッセージングサービス220との間で追加的なインタラクションが行われてもよい。例えば、610において、メッセージングサービス220は、メッセージングアプリケーション240から、メッセージングアプリケーション240が属性(例えば図12の一番左の列に示される表示されたトピックリストのうちのトピック)を既に選択したことを示す入力を受け取る。これに応じて、612において、メッセージングサービス220は、選択された属性(例えば、トピック)に関連付けられるメッセージをメッセージスレッドデータベース230にクエリする。その後、メッセージングサービス220は、メッセージをユーザ装置242上に表示させるために、メッセージをメッセージングアプリケーション240に送信する。例えば、図12に示すように、UI1200の一番右の列1204上には、選択されたトピックに関連付けられるメッセージが表示される。
In one embodiment, additional interactions may occur between messaging application 240 and
図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
いくつかの実施形態において、710において、メッセージングサービス220は、メッセージングアプリケーション240が要約のうちの1つを選択したことを示す要求を受信することができる。この場合、また、これに応じて、712において、メッセージングサービス220は、対応する会話内の全部または複数のメッセージを取り戻すために、会話データベース230に再度クエリすることができる。実施形態において、メッセージングサービス220は、対応する会話内のすべてのメッセージを取り戻すことができる。他の実施形態において、メッセージングサービスは、対応する会話内のメッセージのサブセットを取り戻すことができる。例えば、メッセージの数及びメッセージの内容について、ユーザ装置(例えば、ユーザ装置242)がメッセージを格納するのに必要とする格納量が閾値を上回る場合、メッセージングサービス220にとって、ユーザ装置242に送信されるメッセージのサブセットのみを取り戻すことが有利であることがある。非限定的な例において、メッセージングサービス220は、対応する会話内の最新のメッセージのみを取り戻してもよい。714において、メッセージングアプリケーション240がユーザ装置242上にメッセージを表示できるように、メッセージングサービス220は、少なくとも会話内で取り戻したメッセージのサブセットをメッセージングアプリケーション240に送信する。
In some embodiments, at 710,
図8はメッセージング技術を示す図である。技術は、メッセージングサービス(例えば、図2および図3のメッセージングサービス220)、メッセージングアプリケーション(例えば、図2および図3のメッセージングアプリケーション240)、1つまたは複数のユーザ210、および/または1つまたは複数のユーザ装置242によって実行することができる。801において、会話を開始することができる。会話は、メッセージングアプリケーションを介して会話の開始を要求する入力を入れることによって、作成者ユーザによって開始することができる。例えば、ユーザは、ユーザ装置上に表示されたメッセージングアプリケーションのUI内の「Start a conversation」アイコンを選択することができる。メッセージングサービスのチャットサービス(例えば、図2のチャットサービス222)は、入力を受け取り、会話を生成することができる。会話は、会話の任意の他の参加者が識別されていない状態で、作成者ユーザによって開始することができる。
FIG. 8 is a diagram illustrating a messaging technique. A technology may be a messaging service (eg,
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
803において、会話に関連付けられるトピックを決定することができる。トピックは、メッセージングサービス220、例えばチャットサービス222によって決定することが可能である。メッセージングサービス220は、メッセージを解析し、メッセージに含まれる所定のキャラクタを識別することに基づいて、メッセージがトピックを示す情報を含むと判定することができる。限定ではなく、一例として、所定の文字はハッシュ記号#としてもよい。メッセージングサービス220は、データベース260(例えば、トピックデータベース236)に格納された既存のトピックを検索することによって、既に受信された会話に関連付けられるいずれかのメッセージが新しいトピックを含むか否かを判定することができる。新しいトピックであると判定すると、メッセージングサービス220は、該新しいトピックをデータベース260(例えば、トピックデータベース236)に格納することができる。会話とトピックとの関連付けを決定し、会話データベース230およびトピックデータベース236などのデータベース260に格納することもできる。
At 803, topics associated with the conversation can be determined. Topics may be determined by
804において、メッセージおよび新しいトピックの指示を出力(例えば、プッシュ、送信)することができる。新しいトピックの指示(例えば、新しいトピックタグ)は、表示のために、プッシュサービス(例えば、プッシュサービス224)によって、会話の参加者に関連付けられるメッセージングアプリケーション(例えば、メッセージングアプリケーション240)に送信することができる。トピックの選択を示すユーザ入力が受け取られると、トピックに関連付けられるメッセージを、メッセージングサービス220のプッシュサービス224によって出力することができる。メッセージおよびトピックタグは、例えば、ユーザ装置242上で動作するメッセージングアプリケーション240のUI内の会話を介して、メッセージアプリケーションのユーザに出力することができる。メッセージおよびトピックタグは、ユーザ装置(例えば、ユーザ装置242)に送信することができる。メッセージおよびトピックタグは、会話に追加済みの外部電子メールアドレスに送信することができる。
At 804, the message and indication of the new topic can be output (eg, pushed, sent). The new topic indication (eg, new topic tag) can be sent by a push service (eg, push service 224) to a messaging application (eg, messaging application 240) associated with the conversation participant for display. can. A message associated with the topic may be output by
805において、新しい参加者Aを会話に加入するように招待することができる。新しい参加者Aは、既存の参加者によって、例えば会話の入力フィールドに、該新しい参加者Aに関連付けられるユーザ名、グループ名、または電子メールアドレスを入れることによって、招待することができる。メッセージングサービス220(例えば、チャットサービス222)は、該新しい参加者Aを会話に追加することができる。メッセージングサービス(例えば、チャットサービス222)は、新しい参加者Aと会話との関連付けを、データベース260に、例えば会話データベース230およびユーザデータベース234に格納することができる。
At 805, new participant A can be invited to join the conversation. A 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. Messaging service 220 (eg, chat service 222) can add the new participant A to the conversation. The messaging service (eg, chat service 222 ) may store the association of new participant A with the conversation in
806において、会話内の既存の参加者のルックアップを実行することができる。このルックアップは、メッセージングサービス220、例えば、チャットサービス222によって実行することができる。チャットサービス222は、会話内の決定された参加者の指示をプッシュサービス224に送信することができる。
At 806, a lookup of existing participants in the conversation can be performed. This lookup can be performed by
807において、会話内の既存の参加者に、新しい参加者Aが会話に追加されたことを通知することができる。プッシュサービス224によって、既存の参加者に通知することができる。既存の参加者に通知することは、既存の参加者のユーザ装置(例えば、ユーザ装置242)に通知を送信することを含むことができる。既存の参加者には、それら装置上で動作するメッセージングアプリケーションの会話および/またはUIを介して通知することができる。
At 807, existing participants in the conversation can be notified that new participant A has been added to the conversation. A
808において、会話に関連付けられるメッセージの内容を決定することができる。内容は、チャットサービス222などのメッセージングサービス220によって解析することが可能である。内容を解析することは、メッセージの内容の1つまたは複数の属性を決定することを含んでもよい。例えば、メッセージに新しい参加者Aのような属性を表す特殊キャラクタからなるテキストが含まれていると判定することがある。限定ではなく、一例として、新しいユーザ(つまり、新しい参加者)を表す所定の特殊キャラクタは、@記号であってもよい。会話のルックアップは、例えば、会話データベース230やトピックデータベース236などのデータベース260にクエリすることによって実行することができる。会話のルックアップを実行して、該会話に関連付けられるユーザ、メッセージ、トピック、および他の属性を決定することができる。チャットサービス222は、解析および/または会話ルックアップの結果の指示をプッシュサービス224に送信することができる。
At 808, the content of messages associated with the conversation can be determined. The content can be parsed by a
809において、会話ルックアップの結果、例えばメッセージおよびトピックタグを、新しい参加者Aに出力(例えば、プッシュ)することができる。メッセージおよびトピックタグは、プッシュサービス224によって出力することができる。メッセージおよびトピックタグを出力することは、例えば、ユーザ装置(例えば、ユーザ装置242)上で動作するメッセージングアプリケーション(例えば、メッセージングアプリケーション240)のUI内の会話を介して、メッセージおよびトピックタグを新しい参加者に送信することを含むことができる。メッセージおよびトピックタグは、新しい参加者Aに関連付けられるユーザ装置(例えば、ユーザ装置242)に送信することができる。会話内のメッセージは、新しい参加者Aに関連付けられる外部電子メールアドレスに送信することができる。本開示にかかるメッセージングサービスは、会話に関連付けられるトピックの属性に基づいて会話を分類し、参加者が関心を持つ会話のトピックを示すトピックタグの選択に応じて、該参加者に会話の内容を提供することができる。これにより、本メッセージサービスは、ユーザが関心を持つ内容をより効率的に提供することができる。
At 809, conversation lookup results, eg, messages and topic tags, can be output (eg, pushed) to the new participant A. Messages and topic tags can be output by
図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, in conjunction with FIG. 8, illustrates starting a new conversation and adding users to the new conversation. As described with respect to Figure 4, the user initiates a new conversation. A user may initiate a new conversation by selecting the “Start a conversation”
図8を再び参照し、会話の作成者ユーザは、新しいユーザ(すなわち、新しい参加者)を会話に参加するように招待することができる。いくつかの実施形態において、メッセージングサービスは、説明した複数のデータベース260と通信して、前述したチャットサービス222およびプッシュサービス224を使用する。この例を続けると、810において、ユーザは、1つまたは複数のメッセージを含む会話を開始することができる。メッセージは、複数のキャラクタ、記号を含み、テキスト文字列、または他のタイプの内容とすることができる。新しいメッセージが会話に追加された場合、チャットサービス222は、どのユーザが会話の属性であるか、すなわち、会話に関連付けられるユーザであるかを判定する。これらの属性は、1つ又は複数のデータベースに格納される。このようなデータベースは、会話データベース(例えば、会話データベース230)、グループデータベース(例えば、グループデータベース232)、トピックデータベース(例えば、トピックデータベース236)、および電子メールユーザデータベース(例えば、電子メールユーザデータベース237)を含むが、これらに限定されない。会話の参加者が識別され、会話を通知されることができる。
Referring back to FIG. 8, a conversation creator user can invite new users (ie, new participants) to join the conversation. In some embodiments, the messaging service communicates with the
会話中にメッセージが受信されると、メッセージングサービス(例えば、メッセージングサービス220)は、会話を形成するメッセージ中に新しいトピックが含まれているか否かを判定してもよく、トピックデータベース236のような1つ又は複数のデータベース内で既存のトピックを検索してもよい。したがって、会話の属性、例えばトピック、ユーザ、グループ等によって、会話が例えばトピックに基づいて適切に分類されること、新しい会話が参加者にプッシュアウトされることを保証する。プッシュサービス224は、メッセージ、既存のトピックタグ、および新しいトピックタグを対象とする参加者に出力することを支援する。いくつかの実施形態において、これは、会話の対象とする参加者に関連付けられる装置上のユーザインターフェースまたはユーザディスプレイにメッセージをプッシュすることによって発生することができる。
As messages are received during a conversation, the messaging service (e.g., messaging service 220) may determine whether new topics are included in the messages that form the conversation, such as
別の例において、ユーザは会話に加入するように招待されてもよい。例えば、805において、新しい参加者Aを既存の会話に加入するように招待することができ、これにより、メッセージングサービス(例えば、メッセージングサービス220)は、会話に関連する情報を新しい参加者Aと共有することを許可される。チャットサービス222は、この作動を処理し、506において、先の例と同様に、会話に関連付けられるすべての既存の参加者をルックアップし、必要に応じて1つ又は複数のデータベース260(例えば、データベース230~236)と通信して、関連情報を取得する。参加者が識別されると、プッシュサービス224は、807において、会話に新しい参加者が追加されたことを既存の参加者に示すために、会話に関連付けられる識別された既存の参加者に通知する。
In another example, the user may be invited to join the conversation. For example, at 805, a new Participant A can be invited to join an existing conversation, whereby the messaging service (eg, messaging service 220) shares information related to the conversation with the new Participant A. allowed to do. The
新しい参加者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, the message, content, and/or metadata associated with the Conversation can be sent to the new Participant so that the push service can send relevant aspects of the Conversation to the new Participant, e.g. Retrieve from
一実施形態において、ユーザが「Send」ボタン907を選択した後、メッセージはメッセージングサービス(例えば、メッセージングサービス220)に送信される。メッセージングサービスはそれから、例えば図4に示すように、メッセージを解析して、メッセージが所定の@記号905を含むと判定し、メッセージの後続のテキスト906を、ユーザ識別情報として解釈する。次に、メッセージングサービスは、このメッセージをユーザAの、識別されたユーザC(すなわち、新しい参加者)を会話に追加することをシステムに許可する要求として解釈する。他の実施形態も想定されており、例えば、ユーザ装置上のメッセージングアプリケーションは、メッセージを解析し、識別されたユーザC(すなわち、新しい参加者)に会話への加入を許可することをユーザが望んでいることを示すインジケータをメッセージングサービスに送信することができる。言い換えれば、メッセージの処理は部分的にユーザ装置上で行うことができ、処理の一部はメッセージングサービスによって行うことができる。
In one embodiment, after the user selects the "Send"
特定のイベントにおいて、一旦許可されると、クラウドサービスは、会話の属性として、新しい参加者を識別する情報(例えば、新しい参加者のユーザ名)を追加することができる。このために、ユーザは会話901に関連付けられ、該関連付けはデータベース260に格納される。特定のユーザを識別することに関連付けられるインジケータとして、複数の記号、テキスト、キャラクタなどを定義することができることを理解すべきである。この特定の例において、@符号は、新しいユーザを追加するための所定の記号であり、ユーザは新しいユーザ名を「@UserC」として入れ、「@UserC」はメッセージングサービスによって会話901への新しい参加者として認識される。
At a particular event, once authorized, the cloud service can add information identifying the new participant (eg, the new participant's username) as an attribute of the conversation. To this end, the user is associated with
図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に関連付けられることを示すためにハッシュタグ#を使用することができる。追加の属性を会話に追加するために、他のシンボルを使用することができることが考えられる。
FIG. 10 shows aspects of the properties from the
図9~図10はまた、例えば一番左の列909、1009によって示されるように、会話が、トピックでソートすることができることを示している。図示された例は、会話がトピック属性などの属性でソートされる「Feed」ビュー908、1008としてラベル付けされたものを示している。フィードを選択すると、会話の選択されたトピックに関連付けられる要約バージョンで、1つまたは複数の会話のリストが表示される。一実施形態において、会話の要約バージョンを選択すると、選択された会話に関連付けられる1つまたは複数のメッセージが表示される。ここで、例えば、会話の要約バージョン(または要約、サマリー)が表示され、会話の作成者が一番上にリストアップされ、その後に会話内の最初のメッセージ「UserB Hello」910、1010が続き、次に会話内の最後のメッセージ、つまり第2のトピックを追加するためのメッセージ「#tag-patent1」911、1011が続く。会話の要約バージョン(または要約、サマリー)は、ユーザに会話のプレビューを表示し、これにより、ユーザは、自分が会話に関心を持つか否か、会話の要約を選択することによって、会話の全体の内容を概観したいか否かを判定することができる。トピック(UI上のトピックタグとして示される)は、会話の内容の短い記述子として機能する。
Figures 9-10 also show that conversations can be sorted by topic, as indicated by the
他の実施形態において、以下で説明されるように、会話は、1つ又は複数の他のカテゴリおよび分類、「Groups」ビュー912、1012によってソートされてもよく、会話およびメッセージは、それらの会話およびメッセージのそれぞれが対象とあるグループに基づいて編成される。これらは、以下に他の実施形態でさらに説明される。 In other embodiments, as described below, conversations may be sorted by one or more other categories and classifications, Groups views 912, 1012, and conversations and messages may be and each of the messages is organized based on a group of subjects. 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 topic tags to conversations and adding new messages to conversations. As previously mentioned, topic tags that correspond to topics are attributes of conversations that are used, for example, in feed views 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 the topic. In this embodiment, the hash sign or "#" is a predetermined character recognized by the messaging service to represent a topic. A user (ie, a participant) can initiate a conversation. In this example, the user also adds a topic to the conversation at 1110 . The
一旦、関連ユーザ(すなわち、会話の参加者)が識別されると、840において、様々なデータベースに格納され追跡されたすべての参加者のトピックタグ分類に、該会話は追加される。言い換えれば、新しい会話と指定されたトピックタグとの間の関連付けを格納することができ、トピックタグに関連付けられ、会話にも関連付けられるすべてのユーザを関連付けるように、関連付けを格納することができる。したがって、会話は、トピックタグに関連して、すべての参加者1150について要約される。たとえば、ユーザが会話に追加された場合、ユーザは最初と最後のメッセージからなるトピックの要約バージョンを受信することができる。プッシュサービス224は、このようなメッセージをさらに処理し、1152において、メッセージを例えばユーザディスプレイ上に出力し、それぞれのユーザに送信し、既存のタグおよび新しいタグのそれぞれのビューを、例えばこのようなタグでソートされた会話のフィードビュー内で、更新することを可能にすることができる。
Once the relevant users (ie, participants in the conversation) are identified, at 840 the conversation is added to the topic tag taxonomy of all tracked participants stored 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 who are associated with the topic tag and who are also associated with the conversation. Conversations are therefore summarized for all
図11に示す別の実施形態において、トピックタグ特性は既存の会話に組み込まれる。例えば、1115において、トピック指示を含む新しいメッセージを既存の会話に追加することができる。先に説明されたプロセスと同様に、トピックを示す情報を含むメッセージの受信により、1135において、会話内のすべての参加者のルックアップを引き起こす。トピックと会話との間の関連付け、および参加者とトピックとの間の関連付けは、会話データベース230、トピックデータベース236、ユーザデータベース234、グループデータベース232、および電子メールユーザデータベース237などのデータベース260に格納することができる。1145において、他の既存のトピックタグのルックアップを行うことで、例えば、会話内に存在し、会話に関連付けられている複数のトピックタグがある場合、そのトピックが新しいトピックであるか否かを判定することができる。1156において、メッセージングサービス220、例えば、プッシュサービス224は、次に、メッセージおよび新しいトピックに対応する新しいトピックタグをそれぞれの参加者にプッシュする。
In another embodiment, shown in FIG. 11, topic tag properties are incorporated into existing conversations. For example, at 1115 a new message with a topic indication can be added to an existing conversation. Similar to the process described above, receipt of a message containing information indicative of a topic causes a lookup of all participants in the conversation at 1135 . Associations between topics and conversations and between participants and topics are stored in
これらの技術の一例を、図12~図13のユーザインターフェースの例を用いて説明する。図12は、トピックタグのリスト1215を提供するメッセージングアプリケーションの一例のフィードビュー1208を示す。この例において、会話1201には、所定のキャラクタ「#」で始まるトピックを含むメッセージ「#tag-patent」が含まれる。前述したように、トピックを表す所定のキャラクタは、%記号などの任意の他の特殊キャラクタであってもよい。メッセージングサービスによって、メッセージが所定のキャラクタ#を含むと判定することと、データベース260を検索することとに基づいて、メッセージが新しいトピックを含むと判定した場合、会話は、該新しいトピックに関連付けられる会話リストに追加される。したがって、メッセージングアプリケーション(例えば、メッセージングアプリケーション240)のUIを介してフィードビュー1208から対応するトピックタグが選択された場合、現在の会話1201および新しいトピックに関連付けられる他のすべての会話は、会話のすべての参加者によって容易に閲覧、編成することができる。
An example of these techniques will be described using the example user interfaces of FIGS. 12-13. FIG. 12 shows a
図13は、この構想、およびトピックに基づいて会話をソートする能力をさらに示す。ここで、ユーザは、UI1300の一番左の列1315内でトピックタグ「#tag-patent」1316を選択している。これによって、メッセージングサービスは、ユーザおよび選択されたトピックに関連する各会話の要約バージョンをプッシュする。トピックタグ「#tag-patent」1316が選択されると、メッセージングサービスはまた、UI1300の一番右のエリア1325に、対応する会話内のメッセージを表示させるために、該会話の内容をプッシュする。そして、関連性のない他の会話を表示せずに、これらの会話をフィードビュー1308に表示させる。フィードビュー1308に表示されるトピックタグの順序は、各トピックの優先度や重要度などのユーザプリファレンスに応じて配置することができる。各トピックタグに関連付けられる会話は、1つまたは複数の変数、例えば時間、最後に受信したメッセージ、優先度、ユーザプリファレンスなどに基づいて、ソートすることもできる。同様に、各会話は複数のメッセージを含み、特定の会話に関連付けられるユーザは、メッセージを閲覧し、メッセージを送信し、本明細書で説明される追加のユーザ、トピック、グループなどの属性を追加することができる。
FIG. 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
様々な実施形態において、ユーザは、属性を含むことができる1つまたは複数のメッセージからなる会話を生成することができる。メッセージを解析し、1つ又は複数のメッセージが解析されたことに基づいて、メッセージが属性、例えばユーザ、トピック、グループなどを示す文字列を含むと判定することができる。属性は、トピックを示す情報と会話との間の関連付けとして、少なくとも1つのデータベースに格納することができる。メッセージングアプリケーション(例えば、メッセージングアプリケーション240)からトピックの選択を示す入力を受け取ることに応じて、メッセージングサービス(例えば、メッセージングサービス220)によって、該トピックに関連付けられる会話の少なくともサブセットを、表示用にメッセージングアプリケーション240に送信する。 In various embodiments, a user can generate a conversation consisting of one or more messages that can include attributes. The message may be parsed and based on which one or more messages are parsed, it may be determined that the message includes strings that indicate attributes, such as users, topics, groups, and the like. Attributes can be stored in at least one database as associations between information indicative of topics and conversations. 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) renders at least a subset of the conversations associated with that topic to the messaging application for display. 240.
追加の実施形態において、メッセージングサービスはさらに、トピックに関連する情報を含む少なくとも1つのデータベースを検索することによって、トピックが新しいと判定し、トピックが新しいという判定に基づいて、該トピックを示す情報を該少なくとも1つのデータベースに格納することができる。別の例において、会話内の第2のメッセージを解析することができる。第2のメッセージが第2のユーザを識別する情報を含むと判定し、その結果、第2のユーザにメッセージを会話に追加することを許可することができる。トピックを示す情報は、例えば、1つ又は複数の他のユーザによって操作される1つ又は複数のメッセージングアプリケーションに送信されてもよく、データベースは、各会話に関連付けられるトピックのような複数の属性に加えて、複数の会話を格納してもよい。 In additional embodiments, the messaging service further determines that the topic is new by searching at least one database containing information related to the topic, and based on determining that the topic is new, provides information indicative of the topic. Stored in the at least one database. In another example, a second message within the conversation can be parsed. It may be determined that the second message contains information identifying the second user, thereby allowing the second user to add the message to the conversation. The information indicative of the topic may be sent, for example, to one or more messaging applications operated by one or more other users, and the database stores a plurality of attributes, such as topic, associated with each conversation. Additionally, multiple conversations may be stored.
少なくとも1つのデータベースと、該少なくとも1つのデータベースと通信し、動作を実行するように構成された少なくとも1つのコンピューティング装置とを含むことができるメッセージングサービスを使用することによって、1つ又は複数の特性および機能を実現することができる。さらに、処理の様々な態様は、メッセージングアプリケーションとメッセージングサービスとの間で分割することができる。いくつかの実施形態において、メッセージングアプリに動作を実行させることが好ましく、他の実施形態において、サービスによって同じ動作を実行させてもよい。 By using a messaging service that can include at least one database and at least one computing device in communication with the at least one database and configured to perform operations, one or more characteristics and functions can be realized. Further, various aspects of processing may be split between messaging applications and messaging services. In some embodiments, it is preferable to have the messaging app perform the actions, and in other embodiments the same actions may be performed by the service.
フィードビュー1308において、例えば、アイコン、例えば「Start a Conversation」アイコン1317を選択することによって、会話を開始することができる。他のメッセージングアプリケーションとは異なり、会話はユーザだけではなく、トピックで編成されてもよい。トピックは、会話の最初にユーザによって定義することができる。例えば、会話1301を開始する作成者ユーザは、会話1301にトピックを割り当てることができる。トピックは、会話の他の段階で他の参加者によって定義することもできる。トピックは、「#」記号などの特殊キャラクタやタグで表すことができる。作成者ユーザは、それから、会話に追加の参加者を追加してもよく、または、会話を独りで続行してもよい。
In feed view 1308, a conversation can be started, for example, by selecting an icon, eg, “Start a Conversation”
「Feed」ビュー1308には、1つまたは複数のパネル1315、1318、1320を表示することが可能である。パネルは、開かれた(例えば、展開された)会話パネル1318を含むことができる。参加者は、例えば、入力フィールド1304内でメッセージを入れることによって、開かれた会話パネル1318内で通信することができる。入れられたメッセージは、例えばそれらが送信された順序、入れられた順序、または受信された順序で、会話1301のログまたはフィード1319として表示することができる。メッセージが送信され、入れられ、または受信された時刻を示すために、タイムスタンプを会話1301内でメッセージの近くに表示させてもよい。メッセージを入れた参加者のユーザ名は、会話内でメッセージの横に表示されてもよい。
One or
パネルは、折り畳まれた会話パネル1320を含むことができる。折り畳まれた会話パネル1320は、開かれた会話パネル1318に隣接することができる。折り畳まれた会話パネル1320は、会話のプレビュー1321a、1321b、例えば会話の最初のメッセージ、会話のタイトル、会話の最後のメッセージ、および/または会話内の未読メッセージ数など、を示すことができる。
The panels can include a folded
図14~図19は、グループ(例えば、ユーザグループ)のコンテキストにおける参加者間のインタラクションの態様、およびメッセージングサービスおよびアプリケーションがグループに関連するメッセージおよび会話を分類、編成、および出力することができる様々な技術および実施形態を示す。図14~図19は単に例示的なものであり、他の適切な方法でグループを作成し、会話に加入することができることを理解すべきである。 14-19 illustrate aspects of interactions between participants in the context of groups (eg, user groups) and the various ways in which messaging services and applications can categorize, organize, and output group-related messages and conversations. techniques and embodiments. It should be understood that Figures 14-19 are merely exemplary and that groups can be created and joined into conversations in other suitable ways.
図14は既存のグループまたは新たに作成されたグループを会話に招待し、新しいグループを作成するための態様を示す。1405において、既存のグループまたは新たに作成されたグループを任意の会話に加入するように招待することができる。限定ではなく、一例として、属性として、複数のメンバを含むグループを複数の会話に参加するように招待し、許可することができる。グループ属性も、同一の会話に複数のグループ参加者を有することを可能にする。追加として、会話のグループ参加者は、会話の内容をグループのすべてのメンバに一度にプッシュすることを可能にする。したがって、本メッセージングサービスは、従来のメッセージングシステムと比較して、より高い柔軟性と効率を提供する。 FIG. 14 illustrates aspects for inviting an existing group or a newly created group into a conversation and creating a new group. At 1405, existing groups or newly created groups can be invited to join any conversation. As an example and not by way of limitation, an attribute may be to invite and allow a group containing multiple members to participate in multiple conversations. Group attributes also allow having multiple group participants in the same conversation. Additionally, group participants in a conversation will be able to push the content of the conversation to all members of the group at once. Thus, the present messaging service offers greater flexibility and efficiency compared to traditional messaging systems.
任意の会話の参加者によって、グループのグループ名を検索することで、該グループを招待することができる。限定ではなく、一例として、グループを会話に招待するように示すユーザ入力を受け取ることに応じて、メッセージングサービスは、グループと会話との間の関連付けを、会話データベース230およびグループデータベース232などのデータベース260に格納する。
A group can be invited by any conversation participant by searching for the group name of the group. By way of example and not limitation, in response to receiving user input indicating to invite a group to a conversation, the messaging service creates an association between the group and the conversation in a
1406において、会話に関連付けられる情報は、グループデータベース232および検索インデックスデータベース252などのデータベース260において、グループのすべてのメンバについて記録することができる。会話に関連付けられる情報は、会話内のメッセージ、会話の属性、および会話に関連付けられる任意の他の情報を含むことができる。会話に関連付けられる情報は、プッシュサービス224に送信することができる。
At 1406 , information associated with the conversation can be recorded for all members of the group in
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. Messages can be pushed by a
図16は、メッセージングアプリケーションのUI内のグループビュー1600の態様を示す。グループビュー1600において、ユーザが属するグループがユーザに表示される。図16には、ユーザが属する8つのグループがリストアップされている。実施形態によれば、グループはリストに表示される。グループ表示は、グループの属性と、1つ又は複数の選択可能なインターフェースエレメント(例えば「Edit」および「Delete」などの選択可能なボタン)を表示する。属性には、グループ名1601が含まれる。図16は、「Group1」、「Group2」、「Group3」等を含むグループ名を示している。グループに関連付けられる情報は、メッセージングサービス(例えば、メッセージングサービス220)に送信され、メッセージングサービス220によってデータベース260(例えば、グループデータベース232、検索インデックスデータベース252等)内で維持される。
FIG. 16 illustrates aspects of a
一旦、グループが会話への参加を許可されると、グループと会話との間の関連付けがデータベース260に格納される。例えば、メッセージングサービス220は、会話のスレッド識別情報(ID)とグループのグループ識別情報(ID)とをグループデータベース232に格納する。限定ではなく、一例として、グループと会話との間の関連付けは、会話のスレッドIDおよびグループIDに基づいて識別することができる。メッセージングサービスは、グループに関連付けられる情報に基づいて検索インデックスを生成し、該検索インデックスを検索インデックスデータベース252などのデータベース260に格納することができる。グループのすべてのメンバと会話との間の関連付けは、検索インデックスに基づいて判定されてもよく、関連付けはデータベース260に格納されてもよい。グループおよびグループのメンバに関連付けられる情報は、データベース260から取り戻すことができるため、取り戻された情報に基づいて、グループ(すなわち、会話のグループ参加者)のすべてのメンバに関連付けられた表示のために、会話内のメッセージをメッセージングアプリケーションに送信することができる。
Once a group is admitted to participate in a conversation, the association between the group and the conversation is stored in
グループが会話に参加するように(つまり、グループ参加者として)招待された後、任意の特定の個別メンバが他の参加者によって会話に招待され、または会話に直接参加しない限り(例えば、会話にメッセージを投稿しない限り)、グループの個別メンバの識別情報は、表示のために会話の参加者に関連付けられるメッセージングアプリケーションに送信されないようにしてもよい。グループの任意の特定の個別メンバが、他の参加者によって会話に招待された場合、または会話に直接参加する場合、該特定の個別メンバの識別情報を、会話参加者に関連付けられるメッセージングアプリケーションに送信して、該特定の個別メンバの識別情報を表示させる。さらに、該特定の個別メンバは、グループが会話から削除された後であっても、引き続き個別参加者として会話に参加することができる。他の参加者によって会話に招待されていない、または会話に直接参加していないグループの任意の他のメンバは、グループが会話から削除された後、または個別のメンバがグループから削除された後、会話内のそれ以上のメッセージを受信することはない。 After a group has been invited to participate in a conversation (i.e., as a group participant), unless any particular individual member is invited to the conversation by another participant or directly participates in the conversation (e.g., posting a message), the identity of individual members of the group may not be sent to the messaging application associated with the conversation participant for display. When any particular individual member of the group is invited to a conversation by another participant or joins the conversation directly, the identity of that particular individual member is sent to the messaging application associated with the conversation participant. to display the identification information of the specific individual member. Additionally, the particular individual member may continue to participate in the conversation as an individual participant even after the group has been removed from the conversation. Any other member of the group who has not been invited to the conversation by another participant or who has not directly participated in the conversation shall No further messages in the conversation will be received.
以下でさらに説明するように、メンバをグループに追加したり、グループから削除したりすることができる。グループの編集(例えば、メンバの追加または削除)を示す情報を受信すると、メッセージングサービス(例えば、メッセージングサービス220)は、データベース260(例えば、グループデータベース232および検索インデックスデータベース252)を更新する。メッセージングサービス220は、データベース260を検索して、どのメンバが現在のグループに含まれているかを決定し、該グループがグループ参加者として参加している会話内の任意のメッセージを、現在の該グループ内のメンバに送信する。該グループの任意の以前の個別メンバが、該個別メンバがグループから削除される前に、既に他のメンバによって該会話に招待された、又は該会話に直接参加した場合、以前の個別メンバは、個別参加者として引き続き会話に参加することができる。メッセージングサービス220は、現在個別参加者として以前の個別メンバに、会話内のメッセージを引き続き送信することができる。
Members can be added to and removed from groups, as described further below. Upon receiving information indicating group edits (eg, adding or removing members), the messaging service (eg, messaging service 220) updates databases 260 (eg,
グループの属性は、グループプライバシ設定1602を含むことができる。図16に示すように、グループ「Group1」はプライベートである。グループ「Group2」もプライベートである。プライバシ設定も、グループデータベース232などのデータベース260内で維持することができる。任意のプライベートグループについても、プライベートグループのメンバのみ、該プライベートグループにアクセスすることが可能である。プライベートグループとは異なり、パブリックグループはグループ内のメンバに限定されない。代わりに、パブリックグループは、会話の任意の参加者、または少なくともメッセージングサービス(例えば、メッセージングサービス220)に登録されている他のユーザのサブセットによってアクセスすることが可能である。
Group attributes can include
グループの属性は、人1603(例えば、グループのメンバ)を含むこともできる。図16は10人のメンバを有するグループ「Group1」を示す。「Group2」は3人のメンバを有する。グループビューにおいて、各グループのメンバは、例として、ユーザ装置(例えば、ユーザ装置242)および/またはメッセージングサービス220のデータベース260に維持することができる、メンバのプロファイル画像、アカウントアバタ、ユーザ名、および/またはハンドルによって表すことが可能である。
Group attributes may also include persons 1603 (eg, members of the group). FIG. 16 shows a group "Group1" with ten members. "Group2" has three members. In the group view, members of each group may have their profile image, account avatar, username, and user device (e.g., user device 242) and/or
グループビューには、ユーザがそれらのグループを管理するための機能が含まれている。上述した、特に図15に示された、新しいグループを作成する特性に加えて、これらの特性は、作動1605を含むことができる。作動1605は、ユーザが属性、例えば名前、プライバシ設定、およびグループのメンバ(例えば、メンバの追加または除去)などを変更することを可能にする「edit」オプションを含む。ユーザが編集オプションを選択することに応じて、図12のウィンドウ1203のようなウィンドウが表示される。このウィンドウには、メンバを追加または削除するオプションが含まれる。作動1605は、さらに、ユーザがグループを削除することを可能にする「delete」オプションを含むことができる。
The group view contains functionality for users to manage their groups. In addition to the create new group properties described above, and specifically shown in FIG.
限定ではなく、一例として、1401において、新しいグループを作成することができる。新しいグループは複数のメンバを含む。グループは、メッセージングサービス220のグループサービス251によって作成することができる。メッセージングサービス220はまた、該新しいグループのためのグループIDを作成することができる。グループは、ユーザ入力に基づいて作成することができる。ユーザ入力は、メッセージングアプリケーションのUIのグループビュー、例えば図15のグループビュー1501を介して受け取ることができる。ユーザは、フィードビュー1502からグループビュー1501に切り替えることができる。グループビューにおいて、会話の参加者は「New Group」アイコン1507を選択できる。ユーザがアイコン1507を選択することに応じて、新しいグループを作成するためのオプションを有するUI(例えば、ウィンドウ1503)が表示される。新しいグループは、UI(例えば、ウィンドウ1503)を介して作成することができる。
As an example and not by way of limitation, at 1401 a new group can be created. The new group contains multiple members. Groups can be created by the
オプションにはプライバシ設定1504が含まれる。プライバシ設定1504は、スライド可能なアイコンや切り替え可能なアイコンなどのプライバシオプションを有するアイコン1508の選択によって選択される。一実施形態において、プライベートグループは、メッセージングプラットフォーム全体にわたって他のユーザによって検索不可能である。他の実施形態において、非プライベートグループが発見され、そのため属性などに関連付けられる様々な会話に追加される。
Options include
オプションには、グループ名1505が含まれる。入力フィールド1509にテキストの文字列を入れることで、グループ名1505を入れる。図15に示すように、入力フィールド1509には、グループ名「Patent Team」が入れられる。グループ名1505は、グループを他のグループから区別する。グループのグループ名1505で該グループを検索することができる。 Options include group name 1505 . A group name 1505 is entered by entering a string of text in the input field 1509 . As shown in FIG. 15, input field 1509 contains the group name "Patent Team". Group name 1505 distinguishes the group from other groups. The group can be searched by the group name 1505 of the group.
オプションには、グループ内のユーザ(つまり、メンバ)1506が含まれる。図15は、5つのメンバを有するPatent Teamグループを示す。グループ内のメンバ1506を識別する情報を検索することにより、メンバ1506を招待(例えば、追加)する。限定ではなく、一例として、グループのメンバ1506を識別する情報は、任意のメンバに関連付けられるユーザ名、任意のメンバに関連付けられるエンティティ内のアカウント、任意のメンバに関連付けられる電子メールアドレス、または任意のメンバに関連付けられる電話番号を含むことができる。グループメンバの識別情報を受信すると、メッセージングサービス220は、グループデータベース232と検索インデックスデータベース252などのデータベース260にメンバの識別情報を格納することができる。
Options include users (ie, members) 1506 in groups. FIG. 15 shows a Patent Team group with five members. A
入力フィールド1510にテキスト文字列を入れることにより、メンバ1506を追加する。例えば、図15は、「Patent Team」グループに招待するために、「UserC」という名前のメンバを検索することを示している。ウィンドウには、グループへの招待対象として選択されたメンバの数1511が示されている。ウィンドウで選択されるオプションは、グループの属性及び/又は関連付けである。
Add a
グループは、UI内の「Cancel」ボタン1507を選択することによりキャンセルすることができる。グループは、UI内の「Save」ボタン1508を選択することにより保存することができる。グループが保存されたことに応じて、グループの属性および関連付けをデータベースに保存することができる。
A group can be canceled by selecting the "Cancel"
図14に戻り、1402において、グループ情報(例えば、属性、関連付け)を、図2のグループデータベース232などの1つまたは複数のデータベース260に記録(例えば、保存、格納)する。グループ情報は、グループサービス251によって記録することができる。データベースは、会話データベース230、グループデータベース232、ユーザデータベース234、および/または検索インデックスデータベース252を含むことができる。
Returning to FIG. 14, at 1402, group information (eg, attributes, associations) is recorded (eg, saved, stored) in one or
1403において、検索情報のインデックスを格納するために、検索インデックスを構築する。検索インデックスは、グループサービス251によって構築することができる。検索インデックスは、会話データベース230、トピックデータベース236、グループデータベース232、およびユーザデータベース234などの他のデータベースと関連して動作することができる。検索インデックスは、メッセージングサービスがメッセージおよび会話に関連付けられる属性(例えば、グループ属性)を検索することを可能にする。検索インデックスにより、アクセス許可の管理が可能になる。検索インデックスに基づいて、グループメンバは特定の会話とメッセージにアクセスできる。
At 1403, a search index is constructed to store an index of search information. A search index may be built by
1404において、グループに関連付けられる情報を、表示のために、会話の参加者に関連付けられるメッセージングアプリケーションに出力することができる。グループ情報を出力することは、グループの指示を参加者に、例えば、参加者の装置に送信することを含むことができる。図16に示すように、グループ情報を出力することは、メッセージングアプリケーションのUIを介してグループ情報を表示させることを含むことができる。 At 1404, information associated with the group can be output to a messaging application associated with the conversation participant for display. Outputting group information can include transmitting an indication of the group to the participant, eg, to the participant's device. As shown in FIG. 16, outputting the group information can include causing the group information to be displayed via a UI of the messaging application.
図17は、既存のグループに新しいメンバを追加するための態様1700を示す。1701において、新しいメンバを既存のグループに追加する。ユーザ入力の受け取りに応じて、新しいメンバを既存のグループに追加することができる。ユーザは、UIのグループビューで「edit」アイコンのうちの1つを選択することにより、入力を入れることができる。グループの現在メンバのリストをウィンドウに表示させることができる。ユーザは、グループのメンバではないユーザの名前を検索し、新しいメンバをグループに招待するように選択することができる。
FIG. 17 shows an
メッセージングサービスのグループサービス251は、既存のグループに新しいメンバを追加することができる。グループサービス251は、ユーザ入力の受け取りに基づいて、新しいメンバを追加することができる。グループサービス251は、新しいメンバとグループとの関連付けを1つまたは複数のデータベース260に保存することができる。例として、データベース260は、会話データベース230、グループデータベース232、ユーザデータベース234、トピックデータベース236、および/または検索インデックスデータベース252を含むことができる。
The messaging service's
1702において、関連付けられる会話、トピックタグなど、グループに関連する情報のルックアップを実行する。グループ属性には、既存のグループメンバなどが含まれる。ルックアップは、1つまたは複数のデータベース260にクエリを送信することによって実行する。新しいメンバについて属性をインポートする。属性をインポートすることは、属性をローカルに、例えばグループサービス251のメモリに格納することと、新しいメンバ属性をグループデータベース232に格納することとを含むことができる。
At 1702, a lookup of information related to the group, such as associated conversations, topic tags, etc. is performed. Group attributes include existing group members and the like. A lookup is performed by sending a query to one or
1703において、グループに関連付けられる会話を新しいメンバに出力する。会話は、プッシュサービス224によって出力することができる。会話を出力することは、グループに関連付けられる様々な会話に含まれるメッセージを新しいメンバに、例えば、新しいメンバの装置に送信することを含むことができる。会話を出力することは、メッセージングアプリケーションのUIを介して新しいメンバに会話を表示させることを含むことができる。
At 1703, conversations associated with the group are output to new members. Conversations can be output by
1704において、グループのメンバを発見する。グループのメンバは、グループサービス251および/またはプッシュサービス224によって発見することができる。グループのメンバは、データベース260にクエリすることにより発見することができる。グループサービス251は、グループのメンバを決定し、メンバの指示をプッシュサービス224に送信することができる。
At 1704, members of the group are discovered. Group members can be discovered by
1705において、決定されたグループメンバを、グループの決定されたメンバに通知する。プッシュサービス224によって、メンバに通知してもよい。新しいメンバが追加されたことをメンバに通知できる。メンバに通知することは、メンバに、例えば、メンバの装置に通知を送信することを含むことができる。メンバに通知することは、メッセージングアプリケーションのUIを介して、例えばグループビュー内で、メンバへグループメンバを表示させることを含むことができる。
At 1705, the determined group members are communicated to the determined members of the group. Members may be notified by
いくつかの実施形態において、メッセージングサービス220および/またはメッセージングアプリケーション240は、複数のメンバを含むグループを特定するための情報を含む、会話内のメッセージを受信することができる。この情報の受信に応じて、メッセージングサービス220は、データベース260にクエリして、会話内のメッセージの少なくともサブセットを、会話内のメッセージの該少なくともサブセット表示するために、グループメンバに関連付けられるメッセージングアプリケーション240に送信することができる。一例において、メッセージングサービス220および/またはメッセージングアプリケーション240は、グループに関連付けられるデータを分析することによって、グループのメンバに関連付けられる情報を取得することができる。一例において、グループに関連付けられるデータは、グループのメンバおよび属性の情報を含む。別の例において、グループに関連付けられるデータは、グループが参加する会話の内容の少なくとも一部をさらに含むことができる。
In some embodiments,
別の態様によれば、期限日に関連付けられるタスクが一人の参加者(割当者ユーザ)によって作成され、会話内の別の参加者(被割当者ユーザ)に割り当てられることが可能である。図18および図19は、会話内で期限日に関連付けられるタスクを割り当てるための技術を示す。メッセージングサービスは、チャットサービス222を含む。チャットサービス222は、装置またはプログラム、例えば図1のクラウドコンピューティングネットワーク100内の装置またはプログラムによって提供することができる。チャットサービス222は、メッセージングサービスのユーザが会話内でメッセージを交換し、且つ/または会話を生成することを可能にする。
According to another aspect, a task associated with a due date can be created by one participant (assignee user) and assigned to another participant (assignee user) in the conversation. 18 and 19 illustrate techniques for assigning tasks associated with due dates within a conversation. Messaging services include
チャットサービス222がユーザからの入力を受け取ると、タスクが開始される。いくつかの実施形態において、まず、メッセージングアプリケーション(例えば、メッセージングアプリケーション240)を介して、割当者ユーザによってタスクを編集し、次に、被割当者ユーザに該タスクを割り当てるために、被割当者ユーザを会話に加入するように招待することができる。他の実施形態において、タスクを編集することおよびタスクを割り当てるために被割当者ユーザを招待することは、割当者ユーザに関連付けられるメッセージングアプリケーションの同じUI上で同時に実行することができる。チャットサービス222は、会話を介して、例えば、ユーザ装置上のメッセージングアプリケーションのUI内の会話の入力フィールドを介して、入力を受け取ることができる。
Tasks are initiated when the
例示のために、図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 purposes of illustration, FIG. 19 shows a
入力には、メッセージに関連付けられる日付が含まれてもよい。この日付は、タスクの期限日であってもよい。この日付は、タスクに関するリマインダを送信する必要がある日付であってもよい。この日付は、ユーザ装置上のメッセージングアプリケーションのUIを介して出力されるアイコンの選択を含むことができる。アイコンは、例えば図16のアイコン1601のようなカレンダを表すことができる。
The input may include a date associated with the message. This date may be the due date of the task. This date may be the date when a reminder about the task should be sent. This date may include a selection of icons output via the UI of the messaging application on the user device. The icon can represent a calendar, such as
図18に戻り、1802において、入力に基づいて割当情報を生成する。チャットサービス222は、割当情報を生成することができる。割当情報は、タスクを割り当てるユーザ、タスクが割り当てられたユーザ、メッセージおよび/またはタスク、および/または期限日の間の関連付けを含むことができる。割当情報は、タスクデータベース256、会話データベース230、およびユーザデータベース234などの1つ又は複数のデータベース260に格納される。チャットサービス222は、割当情報を格納することができる。
Returning to FIG. 18, at 1802 allocation information is generated based on the input.
1803において、割当情報に基づいて、割当者属性および/または被割当者属性を会話に追加する。チャットサービス222は、属性を追加することができる。属性を追加することには、割当者ユーザ、被割当者ユーザ、メッセージおよび/またはタスク、期限日、および/または会話の間の関連付けを格納することを含むことができる。属性は、会話データベース230、タスクデータベース256、ユーザデータベース234、およびグループデータベース232などのデータベース260に格納される。
At 1803, assignor attributes and/or assignee attributes are added to the conversation based on the assignment information.
実施形態によれば、タスクはステータスを有する。ステータスは、タスクの期限日及び/又はタスクがどんな完了段階にあることを示す属性に基づく。たとえば、タスクおよび/または期限日が生成された場合、ステータスを「オープン」、「未完了」、および/または「未検証」に設定できる。ステータスの説明的な属性は、選択可能なアイコンや選択可能なアイコンのリストなど、UI内の事前に記入された選択可能な入力とすることができる。説明的な属性は、例えばメッセージングアプリケーションのUIの入力フィールドに、ユーザによって入力されるテキスト文字列とすることができる。 According to embodiments, a task has a status. The status is based on the task's due date and/or attributes indicating what stage of completion the task is in. For example, when tasks and/or due dates are created, the status can be set to "open," "incomplete," and/or "unverified." A status descriptive attribute can be a prefilled selectable input in the UI, such as a selectable icon or a list of selectable icons. A descriptive attribute can be, for example, a text string entered by the user into an input field in the UI of the messaging application.
割当者ユーザおよび/または被割当者ユーザは、ステータスを例えば「クローズ」、「完成」、および/または「検証済み」に変更できる。ステータスは、タスクが完了したか否かに基づいて変更することが可能である。たとえば、タスクが完了した場合、ステータスを「完了」に変更できる。ステータスは、タスクおよび/または期限日と関連付けてデータベース260に保存される。ステータスの変更に応じて、新しいステータスをデータベース260に保存する。メッセージングサービス220(例えば、チャットサービス222)は、ステータス、タイムスタンプ(例えば、検証された時刻、最後に更新された時刻など)、および他の情報を決定し、データベース260(例えば、タスクデータベース256)に格納することができる。ステータスの変更に応じて、通知をユーザに送信する。一実施形態によれば、ステータスは、例えばユーザ装置上のメッセージングアプリケーションのUI内の会話内で、割当者ユーザ、被割当者ユーザ、および/または会話の参加者に表示される。タスクのステータスおよび期限日を示す情報を受信すると、メッセージングアプリケーションは、タスクのステータスおよび期限日を表示することができる。
The assignor user and/or assignee user can change the status to, for example, "closed," "completed," and/or "verified." Status can change based on whether the task is completed or not. For example, if a task is completed, the status can be changed to "completed". Statuses are stored in
1804において、会話のすべての参加者を発見する。チャットサービス222は、参加者を発見することができる。データベース260にクエリすることによって、会話内の参加者を決定することができる。メッセージングサービスのプッシュサービス224に参加者を送信することができる。プッシュサービス224は、メッセージングサービスの装置またはプログラムとすることができる。
At 1804, all participants in the conversation are discovered.
1806において、タスクのステータスを、会話の決定された参加者にプッシュする。プッシュサービス224は、ステータスをプッシュすることができる。ステータスをプッシュすることは、ステータスを参加者の装置(例えば、ユーザ装置242)に送信することを含むことができる。ステータスをプッシュすることは、ユーザ装置(メッセージングアプリケーション242)上のメッセージングアプリケーション(例えば、メッセージングアプリケーション240)のUIを介して会話内でステータスを表示することを含むことができる。メッセージングサービス(例えば、メッセージングサービス220)は、タスクの期限日またはステータスへの変更を示す情報を、例えば、割当者ユーザおよび被割当者ユーザから受信すると、タスクのステータスを更新することができる。すると、メッセージングサービスは、タスクの更新ステータスを表示させるために、タスクの更新されたステータスを示す情報を、参加者に関連付けられるユーザ装置に送信することができる。
At 1806, the status of the task is pushed to the determined participants of the conversation. A
一実施形態によれば、メッセージングサービスは、リマインダスケジューラサービス253を含む。リマインダスケジューラサービス253は、メッセージングサービスの装置またはプログラムとすることができる。リマインダスケジューラサービス253は、メッセージングサービスのデータベース260にアクセスできる。リマインダスケジューラサービス253は、割り当てられたタスク、該タスクに関連付けられる会話、および該タスクに関連付けられる1つまたは複数のユーザを決定する。
According to one embodiment, the messaging service includes
ユーザ(例えば、ユーザA)は、リマインダ日付を示す入力を入れることができる。図19に示すように、ユーザは、メッセージングアプリケーションのUI1900を介して、リマインダを送信する期限日を示す入力を入れることができる。例えば、ユーザAは、日付選択アイコン1902を選択する。日付選択アイコン1902の選択に基づいて、選択可能な日付のあるウィンドウ1901が表示される。ウィンドウ1901は、1年の日と月を示すカレンダを表すことができる。ユーザAは、ウィンドウ1901内で2020年4月28日のリマインダ日付を選択する。ユーザがリマインダ日付を入力することに基づいて、リマインダ日付はデータベース260に送信され、例えばメッセージングサービス220のリマインダスケジューラサービス253によって、タスクおよび/または期限日に関連付けられて図15に示すようなタスクデータベース256などのデータベース260に格納される。
A user (eg, User A) can enter an entry indicating a reminder date. As shown in FIG. 19, the user may enter an input via the
リマインダスケジューラサービス253は、タスクのステータスおよび/または期限日が変更されたか否かを判定することができる。リマインダスケジューラサービス253は、データベース260にクエリすることによって、タスクに割り当てられた現在の説明的な属性および/または期限日を決定することと、期限日が過ぎたか否かを判定することにより、タスクのステータスが変更したか否かを判定することができる。ステータスが「クローズ」、「完成」、および/または「検証済み」ステータスに変更したことに基づいて、リマインダスケジューラサービス253は、リマインダを送信しない。1811において、タスクのステータスが変更しないか、「オープン」、「未完了」、または「未検証」のままであることに基づいて、タスクおよび/または期限日のリマインダを、リマインダスケジューラサービス253によって送信する。このリマインダは、割当者ユーザ、被割当者ユーザ、および会話の別の参加者に送信される。メッセージは、プッシュサービス224に送信することができる。ステータス変更の指示は、プッシュサービス224に送信される。
The
1812において、プッシュサービス224は、リマインダスケジューラサービス253からメッセージを受信する。メッセージングサービス220(例えば、プッシュサービス224)は、期限日および/またはタスクを、割当者ユーザおよび/または被割当者ユーザに通知および/またはリマインドする。メッセージングサービスはまた、期限日および/またはタスクを他の参加者に通知またはリマインドすることもできる。プッシュサービス224は、リマインダ、および/または期限日および/またはタスクに対するステータス変更を、割当者ユーザ、被割当者ユーザ、および他の参加者に通知する。いくつかの実施形態によれば、プッシュサービス224は、ユーザに関連付けられる装置にメッセージを送信することによって参加者に通知する。一態様によれば、プッシュサービス224は、例えば、期限日の1週間前、期限日の2週間前、期限日の前日、期限日の1時間前など、所定の時間周期でリマインダを送信することができる。プッシュサービス224は、参加者の装置を介して出力されるUIにリマインダを表示させることによって参加者に通知することができる。プッシュサービス224は、期限日および/またはタスクのステータス変更に基づいて、リマインダの提供を停止することができる。タスク割り当ておよびタスクリマインドの特性は、本開示に従ったメッセージングサービスが従来のメッセージングシステムよりも多い機能を提供することを可能にする。
At 1812 ,
ユーザは、別のユーザによるステータス変更に応じることができる。たとえば、割当者ユーザは、被割当者ユーザがタスクを「完了」とマークしたことに応じて、タスクを「検証済み」とマークすることで、タスクの完了がユーザにより検証されたことを示す。割当者ユーザは、たとえば、タスクが満足に実行されていないことにユーザが気づいた場合や、別の作業が必要であるとユーザが判断した場合に、「完了」とマークされたタスクを再度開くことができる。実施形態によれば、ステータス変更に基づいて、UIに表示される期限日および/またはタスクの色または他のインジケータは変更する。ステータス変更に基づいて、変更の指示は、例えばプッシュサービス224によって、会話の参加者に送信される。
A user can respond to a status change by another user. For example, the assignee user marks the task as "verified" in response to the assignee user marking the task as "completed" to indicate that the completion of the task has been verified by the user. Assignor users may reopen tasks marked as "completed", for example, if the user notices that the task is not being satisfactorily performed, or if the user determines that further work is required. be able to. According to embodiments, the due date and/or the color or other indicator of the task displayed in the UI changes based on the status change. Based on the status change, an indication of the change is sent to the conversation participants, for example by
いくつかの実施形態において、メッセージングアプリケーション240は、会話内でタスクに関連付けられる情報を受信することができる。この情報には、ユーザ(例えば、被割当者)を識別するための識別子、タスクの内容、日付を示す情報が含まれる。メッセージングアプリケーション240は、タスクに関連付けられる情報をメッセージングサービス220に送信することができる。メッセージングアプリケーション240から情報を受信すると、メッセージングサービス220は、識別されたユーザ(例えば、被割当者)に該情報を送信することができる。メッセージングアプリケーション240はさらに、タスクステータスの更新を示す情報を受信し、更新されたタスクステータスを表示することができる。タスクの内容は、会話の内容の少なくとも一部を含むことができる。
In some embodiments, messaging application 240 may receive information associated with a task within a conversation. This information includes an identifier for identifying the user (for example, the assignee), the content of the task, and information indicating the date. Messaging application 240 can send information associated with the task to
一実施形態によれば、メッセージングサービス220は、電子メール統合機能でチャットおよび電子メールの特性を融合させる。図20はメッセージングサービスのチャットおよび電子メール統合処理の一例を示す。本開示にかかるメッセージングサービスは、電子メールとメッセージングサービスの統合を実現することにより、情報交換の効率を向上させる。図示されるように、メッセージングサービス(例えば、メッセージングサービス220)は、チャットサービス222を含む。チャットサービス222は、独立のサービスであってもよく、またはメッセージングサービス220の特性として組み込まれていてもよい。チャットサービス222は、メッセージングサービス220における会話を管理する。
According to one embodiment,
2002において、チャットサービス222は、例えばユーザ装置から入力を受け取る。具体的には、チャットサービス222は、ユーザ装置上で動作するメッセージングアプリケーションを介して、例えば、メッセージングアプリケーション240のUIの入力フィールドを介して、メッセージ形式の入力を受け取る。図21は、電子メール参加者を会話2101に招待し、電子メール参加者宛てのメッセージを入れる例示的なUIの説明図を提供する。外部電子メール参加者Aを会話2101に入れるために、ユーザは電子メールアドレス等の外部アドレスの形式でメッセージを入れる。図21に示すUI2100の特定例において、ユーザは電子メールアドレスUserF@gmail.com 2105を入れた。したがって、チャットサービスは、メッセージを解析し、該メッセージをメッセージングサービスの外部のエンティティ(すなわち、電子メール参加者A)に関連付けられる電子メールアドレスとして認識する。電子メールアドレスは、電子メールサービス254にも関連付けられる。この例は、ユーザがドメイン「gmail.com」を含む電子メールアドレスを入れたことを示す。他の実施形態は、例えば、事前定義されたキャラクタによって表される、メッセージングサービスによって以前から知られている電子メールエイリアスを使用することができる。
At 2002,
図20に戻り、2008において、チャットサービス222は、電子メールアドレスと会話との関連付けを、例えば、会話メタデータ230および電子メールユーザデータベース237に格納する。一旦電子メール参加者Aが招待され、会話へのアクセスを許可されると、メッセージングサービス(例えば、メッセージングサービス220)は、会話を識別するための識別子を生成することができる。識別子は、メッセージングサービス220の外部の電子メールサービスによって会話を識別するために使用され、電子メール参加者の電子メールアドレスに関連付けられることが可能である。別の例において、任意の電子メール参加者を会話に招待する前に、メッセージングサービス220は、外部電子メールサービスに使用される会話を識別するための識別子を生成することができる。メッセージングサービスは、電子メール参加者に関連付けられる外部電子メールサービスに識別子を送信することができる。限定ではなく、一例として、会話を識別するための識別子は、会話に対応する返送電子メールアドレスであってもよい。外部電子メールサービスは、その後、会話に関連付けられる返送電子メールアドレスに電子メールを送信することができる。会話に関連付けられる電子メールアドレスから電子メールを受信したという判定に応じて、メッセージングサービスは、該電子メールに基づいてメッセージを生成し、電子メールに基づいて生成されたメッセージを表示させるために、会話の参加者に関連付けられるメッセージングアプリケーション(例えば、メッセージングアプリケーション240)に該メッセージを送信することができる。一方、電子メールが会話に関連付けられる電子メールアドレスからのものではないと判定したことに応じて、メッセージングサービスは、電子メールを破棄し、且つ/又は、会話に対応する返送電子メールアドレスへの電子メール送信が禁止されている旨の通知を返信する。
Returning to FIG. 20, at 2008
図21は、メッセージングアプリケーション(例えば、メッセージングアプリケーション240)の例示的なUI2100を示す。UI2100は、会話2101を含むことができる。会話2101は、入力フィールド2102を含むことができる。ユーザ入力は、入力フィールド2102を介して受け取ることができる。電子メール参加者宛ての例示的な入力2104は、「Hi,external User F.」という内容が含まれている。例示的な入力(すなわち、会話2101内のメッセージ)2104は、電子メールアドレスであるUserF@gmail.comを含む。電子メールアドレス及び内容を入力フィールド2102に入れることができる。
FIG. 21 shows an
2009において、チャットサービス222は、会話内の既存の参加者を発見する。既存の参加者は、メッセージングサービスのユーザおよび/または既存の外部電子メールユーザとすることができる。チャットサービス222は、会話メタデータに基づいて参加者を発見する。このために、チャットサービス222は、会話に関連付けられるユーザをユーザデータベース234にクエリし、参加者であるユーザを電子メールユーザデータベース237にクエリすることによって、参加者を発見する。電子メール参加者が会話に追加されたという指示を受信した後、後続のメッセージを会話に追加することができ、電子メールメッセージが生成され、電子メール参加者Aに関連付けられる電子メールアドレスに、以下でより全面的に説明されるように送信される。
At 2009,
いくつかの実施形態において、メッセージングサービス220は、電子メール参加者Aを識別する情報(例えば、電子メール参加者Aに関連する電子メールアドレス)を含む、会話内のメッセージを受信すると、電子メールメッセージを生成することができる。電子メールメッセージは、電子メールサービス254に関連付けられる電子メールプロトコルに従って生成される。生成された電子メールメッセージは、受信されたメッセージの少なくともサブセット及び電子メールアドレスを含む。いくつかの実施形態において、生成された電子メールメッセージはさらに、メッセージングサービス220によって生成され、会話に対応する返送電子メールアドレスを含むことができる。別の例において、メッセージングサービス220は、複数の会話にそれぞれ対応する複数の返送電子メールアドレスを生成することができる。電子メール参加者Aの電子メール受信ボックスに配信するために、生成された電子メールメッセージをメッセージングサービス220(例えば、電子メールサービス254)によって、電子メールアドレスに関連付けられる外部電子メールサービスに送信することができる。他の実施形態において、外部電子メール参加者は、単一の後続メッセージまたは後続メッセージの少なくともサブセットを受信する。他の実施形態において、会話内のすべての後続のメッセージは、外部電子メール参加者Aに送信される。
In some embodiments, when messaging
チャットサービス222は、新しいメッセージを会話参加者の指示と共にメッセージングアプリケーションのプッシュサービス224に送信する。2011において、プッシュサービス224は、外部電子メールアドレスを含むメッセージを既存の参加者に通知する。既存の参加者に通知することは、メッセージおよび/または電子メールアドレスの指示を会話の参加者に送信することを含むことができる。既存の参加者に通知することは、メッセージおよび/または電子メールアドレスを会話に表示させることを含むことができる。
The
プッシュサービス224は、メッセージの指示をメッセージングアプリケーションの電子メールサービス254に送信することができる。電子メールサービス254は、メッセージングサービスの一部であるサービスとしてもよい。一実施形態において、電子メールサービス254は、SMTPなどの電子メールプロトコルに従って、1つまたは複数のメッセージを電子メールの形式にフォーマットする。これにより、電子メールサービスは、生成された電子メールメッセージのヘッダフィールドに電子メール参加者Aに関連付けられる外部電子メールアドレスを追加し、生成された電子メールメッセージの本文にメッセージ内容を追加することができる。さらに、いくつかの実施形態において、電子メールサービス254は、メッセージ内容に起因する、会話を示す情報、例えば、会話に対応し且つメッセージングサービス220によって生成された返送電子メールアドレスを、電子メールメッセージに追加する。
The
具体的には、例えば電子メールサービス254を介してメッセージングサービスによって受信された電子メールメッセージに対する返信は、会話との関連付け(例えば、会話に対応する返送電子メールアドレス)を示す情報を含む。返信に関連付けられる情報を、電子メールメッセージに対する返信の少なくとも1つの内容を表示させるために、会話の参加者に関連付けられるメッセージングアプリケーションにプッシュすることができる。したがって、電子メールメッセージに追加され、且つ、電子メールメッセージに対する任意の返信にも含まれる情報(例えば、会話に対応する返送電子メールアドレス)は、電子メールメッセージに対する該返信に関連付けられる情報を会話の参加者に関連付けられるメッセージングアプリケーションにプッシュするために、対応する会話を識別するのに役立つ。 Specifically, replies to e-mail messages received by the messaging service, eg, via e-mail service 254, include information indicating an association with the conversation (eg, the return e-mail address corresponding to the conversation). Information associated with the reply can be pushed to a messaging application associated with the conversation participant to cause display of at least one content of the reply to the email message. Thus, information added to an email message and included in any reply to an email message (e.g., a return email address corresponding to a conversation) may change the information associated with the reply to the email message to that of the conversation. Helps identify corresponding conversations to push to messaging applications associated with participants.
上述したように、この関連付けの一例は、メッセージングサービス220(例えば、電子メールサービス254)が、各会話に関連付けられる対応する返送電子メールアドレスを生成することである。限定ではなく、一例として、生成された返送電子メールは、少なくとも部分的にランダムに選ばれたテキスト文字列を含むことができる。たとえば、図22に示すように、メッセージングサービスは電子メール参加者であるUserF@gmail.com2220に、返送電子メールアドレスcalendar-kZNnYBkbywE@feishugroups.com2221で電子メールを送信した。図21に示すように、返送電子メールアドレスは、外部電子メールアドレス2220に送信されるべきメッセージを作り出した特定の会話に関連付けられる。返送電子メールアドレス2221は、電子メールメッセージの送信者フィールドで電子メールヘッダに追加される。すると、メッセージングサービス(例えば、メッセージングサービス220)は、返送電子メールアドレス2221に対する返信を使用して、返送電子メールを特定の会話に関連付けることができる。
As noted above, one example of this association is messaging service 220 (eg, email service 254) generating a corresponding return email address associated with each conversation. By way of example, and not limitation, the generated return email may include at least partially randomly selected text strings. For example, as shown in FIG. 22, the messaging service has email participants UserF@gmail. com 2220 with a return email address calendar-kZNnYBkbywE@feishugroups.com 2220.
この方法は、返信電子メールおよびジャンク電子メールによるメッセージングサービスに対するなりすましを防止するために使用することができる。例えば、返送電子メールアドレスは、ランダム電子メールアドレス生成器のフォームで生成することができる。本例において、返送電子メールアドレス2221には「kZNnYBkbywE」が含まれているが、「kZNnYBkbywE」はランダムに選択されており、容易に予測やなりすましできるものではない。したがって、会話が不要なスパムを受信する事象を減らすのに役立つ。他の例において、電子メールヘッダは、会話を識別するために使用される特定の情報を、例えば件名または他のヘッダフィールドに含むことができる。このような識別子は、スパムの防止または制御を支援するためにメッセージングサービスによって使用されることができるランダムまたは予測困難なキャラクタシーケンスを含むことができる。上述したデータのいずれかまたは全部は、返信電子メールメッセージを後で関連付けおよび分類するために、電子メールメッセージデータベース238などのデータベースに格納することができる。
This method can be used to prevent spoofing of messaging services by return email and junk email. For example, a return email address can be generated in the form of a random email address generator. In this example, the
したがって、2013において、電子メールサービス254は、電子メール参加者Aに関連付けられる電子メールアドレスにフォーマットされた電子メールメッセージを送信することができる。電子メールアドレスに電子メールメッセージを送信することは、電子メールアドレスに関連付けられるドメインに電子メールメッセージを送信することを含むことができる。上述したように、電子メールアドレスに電子メールメッセージを送信することは、会話からの他の情報を電子メールアドレスに送信することを含むことができる。図22は、電子メールの参加者(例えば、UserF@gmail.com2220)によって電子メールメッセージが受信されることを示している。その後、電子メール参加者は、「Hi,there.I am happy!」というテキストを含む返信電子メール2222を作成し、返信電子メール2222を、メッセージングサービスに関連付けられ且つ特定の会話に対応する返送電子メールアドレスに送信する。 Accordingly, at 2013, e-mail service 254 can send a formatted e-mail message to the e-mail address associated with e-mail 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 noted above, sending an e-mail message to the e-mail address may include sending other information from the conversation to the e-mail address. FIG. 22 shows an email message being received by an email participant (eg, UserF@gmail.com 2220). The e-mail participant then composes a reply e-mail 2222 containing the text "Hi, there. I am happy!" Send to your email address.
電子メールサービス254は、該電子メールアドレスから、該メッセージに対する返信を受信することができる。返信は、会話に対応する生成された返送電子メールアドレスで電子メールサービス254によって受信することができる。電子メールサービス254は、例えば返信電子メールに含まれる情報を利用して、例えばデータベース260(例えば、電子メールメッセージデータベース238)にクエリすることによって、返送電子メールアドレスを対応する会話に関連付けるとともに、電子メールメッセージに対する返信に関連付けられる会話を決定する。一実施形態において、メッセージングサービス220(例えば、電子メールサービス254)は、返信をメッセージの形式にフォーマットし、チャットサービス222を介してプッシュサービス224にメッセージを送信する。プッシュサービス224はそれから、返信に対応するメッセージを、会話内の参加者に関連付けられるメッセージングアプリケーションに送信することができる。いくつかの実施形態において、会話は、電子メール参加者Aに加えて、他の電子メール参加者(例えば、電子メール参加者B)を含むことができる。この場合、メッセージングサービス220は、さらに、電子メール参加者Aからの返信に対応する、メッセージングサービス220によってフォーマットされたメッセージに基づいて、電子メールメッセージを生成することができ、メッセージングサービス220はそれから、生成された電子メールメッセージを他の電子メール参加者(例えば、電子メール参加者B)に送信する。
Email service 254 can receive replies to the message from the email address. Replies can be received by email service 254 at the generated return email address corresponding to the conversation. The e-mail service 254 associates the return e-mail address with the corresponding conversation, e.g., by querying a database 260 (e.g., e-mail message database 238), e.g., using information contained in the reply e-mail, and Determine the conversation associated with a reply to an email message. In one embodiment, messaging service 220 (eg, email service 254 ) formats the reply into a message and sends the message to push
図23は、メッセージングアプリケーション(例えば、メッセージングアプリケーション240)の例示的なUI2300を示す。UI2300は、図21のUI2100と同じであってもよいし、類似していてもよい。UI2300は、図21からの会話の継続を含む。電子メールアドレスおよび外部電子メールシステム(例えば、図22の外部電子メールサービス2200)から返信電子メール2222を受信することに基づいて、メッセージングサービス(例えば、メッセージングサービス220)は、メッセージを生成して、該メッセージを会話に追加し、そして、返信電子メール2222に対応するメッセージ2304を表示させるために、会話の参加者に関連付けられるメッセージングアプリケーションに該メッセージを送信することができる。示された例において、外部電子メールアドレスUserF@email.comはメッセージ2304とともに表示される。他のメタデータ、例えば、会話の参加者に関連付けられるメッセージングアプリケーションにメッセージが送信された時刻を表示することもできる。
FIG. 23 shows an
いくつかの実施形態において、メッセージングアプリケーション240は、会話中にユーザによって入れられた情報を受信することができる。この情報は、電子メールアドレスと、該電子メールアドレスに送信される内容とを含むことができる。メッセージングアプリケーション240はそれから、情報をメッセージングサービス220に送信することができる。この情報を受信すると、メッセージングサービス220は、会話および内容を識別するための識別子を、メッセージングサービス220の外部の、電子メールアドレスに関連付けられる電子メールサービスに送信することができる。他の実施形態において、メッセージングサービス220は、外部電子メールサービスから電子メールを受信することができる。この場合、メッセージングサービス220は、電子メールが会話を識別するための識別子を含むという判定に基づいて、電子メールが会話に関連付けられていると判断することができる。メッセージングサービス220はそれから、電子メール内容を含むメッセージを生成し、生成されたメッセージを表示させるために、該生成されたメッセージをメッセージングアプリケーション240に送信することができる。
In some embodiments, messaging application 240 may receive information entered by the user during a conversation. This information can include an e-mail address and the content sent to the e-mail address. Messaging application 240 can then send the information to
図24は、本開示にかかるメッセージングアプリケーション(例えば、メッセージングアプリケーション240)によって実行される例示的なプロセス2400を示す。一連の動作として説明されているが、当業者であれば、様々な実施形態において、説明された動作を追加、除去、並べ替え、または修正することができることを理解するはずである。
FIG. 24 illustrates an
2402において、メッセージングアプリケーション240は、メッセージングサービス(例えば、メッセージングサービス220)のユーザに関連付けられる装置(例えば、ユーザ装置242)上で動作し始める。2404において、メッセージングアプリケーション240は、ユーザが関わっている会話(すなわち、メッセージスレッド)に関連付けられる情報の要求をメッセージングサービス220に送信する。いくつかの実施形態において、要求された情報は、会話に関連付けられるメタデータ、例えば、会話のそれぞれに対応するスレッド識別情報(ID)を含む。要求された情報はさらに、会話に関連付けられる属性、例えば会話に関連付けられるトピック、ユーザ、グループ、タスクなどを示す情報を含む。他の実施形態において、要求された情報はさらに、会話の要約を示すデータ、例えば、各会話のメッセージのサブセットを含むことができる。一例において、各会話のメッセージのサブセットは、会話内の最初のメッセージと最後のメッセージであってもよい。 At 2402, messaging application 240 begins running on a device (eg, user device 242) associated with a user of a messaging service (eg, messaging service 220). At 2404, messaging application 240 sends to messaging service 220 a request for information associated with the conversation (ie, message thread) in which the user is engaged. In some embodiments, the requested information includes metadata associated with the conversations, eg, thread identification information (ID) corresponding to each of the conversations. The requested information further includes information indicating attributes associated with the conversation, such as topics, users, groups, tasks, etc. associated with the conversation. In other embodiments, the requested information may further include data indicative of summaries of conversations, eg, a subset of messages for each conversation. In one example, the subset of messages in each conversation may be the first and last messages in the conversation.
2406において、メッセージングアプリケーション240は、要求された情報を受信し、要求された情報をローカルに、例えばユーザ装置242内に格納する。いくつかの実施形態において、会話のスレッドIDおよび属性を含む受信された情報は、ブラウザキャッシュなどのローカルメモリに格納されてもよい。他の実施形態において、会話のスレッドIDおよび属性をローカルデータベースに格納することができる。2408において、メッセージアプリケーション240は、会話のインジケータを表示する。会話のインジケータは、会話に関連付けられる所定のキャラクタ(例えば、ハッシュタグ#)で始まるトピックを含むことができる。会話のインジケータはさらに、会話に関連付けられる他の所定のキャラクタ(例えば、@符号)で始まるユーザまたはグループを含むことができる。会話のインジケータはさらに、会話の要約を含むことができる。
At 2406 , messaging application 240 receives the requested information and stores the requested information locally, eg, within
図25は、メッセージングアプリケーション240のユーザインターフェース(UI)2500の一例を示す。この例において、トピック(例えば、「patent」2502)によって分類され、ユーザ(例えば、「UserA」2503)またはグループ(例えば、「Group1」2504)によって分類された会話のインジケータが、一番左の列2506に表示される。会話の要約は、一番左の列2506の隣のエリア2508に表示される。会話のタスク属性は、会話の要約とともに表示することもできる。例えば、図25に示すように、タスクのステータス2512およびタスク期限日の変更2514は、それぞれ要約2516および2518とともに表示される。図25のUI2500は例示的なものにすぎず、他の表示配置を使用してもよいことを理解すべきである。
FIG. 25 shows an example user interface (UI) 2500 for 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 in the leftmost column. 2506. A summary of the conversation is displayed in area 2508 next to
図24に戻り、メッセージングアプリケーション240は、複数の会話のうちの会話のインジケータまたは要約の選択を示すユーザ入力を受け取ることができる。2410において、ユーザ入力を受け取ると、メッセージングアプリケーション240は、選択された会話内のメッセージの要求をメッセージングサービスに送信する。要求には、選択された会話のスレッドIDが含まれる。2412において、メッセージングアプリケーション240は、選択された会話のメッセージを受信し、選択された会話のメッセージを表示させる。限定ではなく、一例として、図25に示すように、選択された会話のメッセージは、メッセージングアプリケーションのUI2500の一番右のエリア2520に表示することができる。一例において、メッセージングアプリケーション240は、要約を利用して、複数の会話の中から選択された会話内の複数のメッセージの要求を送信することができる。メッセージアプリケーション240はそれから、要求に応じて受信された、該選択された会話内の該複数のメッセージに関連付けられる内容を表示することができる。
Returning to FIG. 24, messaging application 240 may receive user input indicating selection of a conversation indicator or summary of a plurality of conversations. At 2410, upon receiving the user input, messaging application 240 sends a request for messages in the selected conversation to the messaging service. The request contains the thread ID of the selected conversation. At 2412, 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, the messages of the selected conversation may be displayed in the
図26は、本開示にかかるメッセージングアプリケーション(例えば、メッセージングアプリケーション240)によって実行される別の例示的なプロセス2600を示す。一連の動作として説明されているが、当業者であれば、様々な実施形態において、説明された動作を追加、除去、並べ替え、または修正することができることを理解するはずである。
FIG. 26 illustrates another
2602において、メッセージングアプリケーション240は、新しい会話の開始を示す入力を受け取る。例えば、ユーザは、図25に示すように、UI2500の「New Conversation」ボタン2526を選択して、新しい会話を開始することができる。いくつかの実施形態において、メッセージングアプリケーション240は、新しい会話のスレッドIDを生成することができる。他の実施形態において、メッセージングアプリケーション240から送信された新しい会話を示す情報を受信すると、メッセージングサービス220によって、新しい会話のためのスレッドIDを生成することができる。
At 2602, messaging application 240 receives input indicating the start of a new conversation. For example, a user can select a "New Conversation"
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, user input can be entered via
ウィンドウ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にタイピングすることができる。
他の実施形態において、メッセージングアプリケーション240は、ユーザによって入れられたメッセージを示すデータを受信することができる。このメッセージは、図25に示すように、例えばUI2500の入力エリア2522を介して、新規または既存の会話内でユーザによって入れることができる。
In other embodiments, messaging application 240 may receive data indicative of messages submitted by users. This message may be entered by the user within a new or existing conversation, eg, via
2606において、メッセージングアプリケーション240は、ユーザ入力が、会話に関連付けられる1つまたは複数の属性を示す情報を含むと判定することができる。メッセージングアプリケーション240は、入力が所定のキャラクタに関連付けられているという判定に基づいて、ユーザ入力が少なくとも1つの属性を示すと判定することができる。例えば、メッセージングアプリケーション240は、所定のキャラクタ(例えば、#、@、または任意の他の所定のキャラクタ)を識別することに基づいて、ユーザ入力が属性(例えば、トピック、ユーザ、またはグループ)を示す情報を含むと判定することができる。各所定のキャラクタ(または所定の複数のキャラクタ)は、属性、例えばトピック、ユーザ、またはグループを表すことができる。他の実施形態において、メッセージングアプリケーション240から情報を受信すると、メッセージングサービス220は、ユーザ入力が会話に関連付けられる1つまたは複数の属性を含むか否かを判定することができる。
At 2606, messaging application 240 can 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 given character. For example, messaging application 240 may determine that user input indicates an attribute (eg, topic, user, or group) based on identifying a predetermined character (eg, #, @, or any other predetermined character). It can be determined to contain information. Each predefined character (or predefined characters) can represent an attribute, eg, a topic, a user, or a group. In other embodiments, upon receiving information from messaging application 240,
一例において、#記号で始まるテキスト文字列が、会話に関連付けられるトピックとして判定される。別の例において、@記号で始まるテキスト文字列が、会話に招待されたユーザまたはグループとして判定される。別の例において、メッセージングアプリケーション240またはメッセージングサービス220は、電子メールアドレスの構造、例えばテキスト文字列(mailbox)+@+ドメインを認識して、ユーザ入力が会話に関連付けられる電子メールアドレスを含むと判定することができる。
In one example, text strings beginning with the # symbol are determined as topics to be associated with the conversation. In another example, text strings beginning with the @ symbol are determined as users or groups invited to the conversation. In another example, messaging application 240 or
2608において、メッセージングアプリケーション240は、会話に関連付けられる少なくとも1つの属性を示す情報をメッセージングサービス220に送信する。属性を示す情報を受信すると、メッセージングサービス220は、その属性を、会話のスレッドIDに関連付けられる対応する属性データベースに格納する。この属性は、会話に関連付けられるトピック、ユーザまたはグループ、電子メールアドレスなどとすることができる。メッセージを入れることによってユーザ入力を提供するいくつかの実施形態において、メッセージングアプリケーション240は、メッセージの内容およびメッセージに関連付けられるメタデータをメッセージングサービス220に送信することもできる。メッセージの内容は、テキスト、画像、ビデオ、または音声内容であってもよい。メタデータは、(メッセージを作成したユーザのための)ユーザID、メッセージが作成された時刻を示すタイムスタンプなどを含むことができる。メッセージの内容及びメタデータを受信すると、メッセージングサービス220は、メッセージの内容及びメタデータを会話(メッセージスレッド)データベース230に格納する。
At 2608, messaging application 240 sends information to
図29は、本開示にかかるメッセージングアプリケーション(例えば、メッセージングアプリケーション240)によって実行される別の例示的なプロセス2900を示す。一連の動作として説明されているが、当業者であれば、様々な実施形態において、説明された動作を追加、除去、並べ替え、または修正することができることを理解するはずである。
FIG. 29 illustrates another
2902において、メッセージングアプリケーション240は、ユーザから入力を受け取る。一例において、図25に示すように、UI2500の「Operator」オプション2526を選択することによって、ユーザ入力を提供することができる。2904において、ユーザ入力に応じて、メッセージングアプリケーション240は、ユーザが関わっている会話の属性に基づいてインターフェースを生成する。2906において、メッセージングアプリケーション240はさらに、ユーザが会話の優先度の属性に基づいて会話の属性を整列することができるインターフェースを表示させる。
At 2902, messaging application 240 receives input from the user. In one example, user input can be provided by selecting the "Operator"
単一の次元で、例えばメッセージのタイミングで、メッセージを編成する従来のメッセージングシステムとは異なり、本開示にかかるメッセージングサービス220および/またはメッセージングアプリケーション240は、多次元で会話を編成することができる。オプションとして、メッセージングアプリケーション240は、複数の会話に関連付けられる2次元表示を含むインターフェースを生成することができる。2次元表示における2つの次元は、複数の会話に関連付けられる第1の属性と、複数の会話に関連付けられる第2の属性とに基づく。メッセージング装置は、複数の会話に関連する属性の再編成を示す入力をユーザによって提供することができるインターフェースを表示することができる。メッセージング装置は、入力を受け取ることに応じて2次元表示を再編成することができる。
Unlike conventional messaging systems that organize messages in a single dimension, eg, by message timing,
限定ではなく、一例として、図30は、2次元テーブル3002を含むインターフェース3000を示す。2次元テーブル3002は、縦軸3004と横軸3006とを備える。一例において、縦軸3004は、ユーザが関わっている会話に関連付けられるトピックの全部またはサブセットをリストアップすることができる。横軸3006は、ユーザとの会話を有するユーザまたはグループ(例えば、会話中にメンションされ、@記号で始まるユーザまたはグループすなわち「メンション」)の全部またはサブセットをリストアップすることができる。別の例において、縦軸は、ユーザとの会話を有するユーザまたはグループの全部または一部をリストアップすることができ、横軸は、ユーザが関わっている会話に関連付けられるトピックの全部または一部をリストアップすることができる。
By way of example, and not limitation, FIG. 30 shows interface 3000 including two-dimensional table 3002 . Two-dimensional table 3002 comprises
ユーザは、縦軸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 can drag a specific topic listed on the
2次元テーブル3002は、テーブル3002の列および行によって定義される複数のセル(交差)を含む。2次元テーブル3002内の各セルは、対応する属性(例えば、トピックやメンション属性)に基づいて会話をフィルタリングすることができる選択可能なボタンである。複数の交差のそれぞれは、対応する属性を有する1つ又は複数の会話に関連付けられる。一例において、2次元テーブル3002のセルに未読会話数を表示することができる。例えば、セル3014に数字「2」3012が表示され、これは、対応する属性(すなわち、Topic1 3016およびUserA3018)を有する会話の中に、未読メッセージを有する2つの会話が存在することを示す。別の例において、異なるセルは、異なる色または任意の他の適切なインジケータを有することができる。セルに含まれる異なる色または他のインジケータは、対応する属性を有する会話に関連付けられるタスクの異なるステータスを示すことができる。
A two-dimensional table 3002 includes a plurality of cells (intersections) defined by the columns and rows of table 3002 . Each cell in the two-dimensional table 3002 is a selectable button that allows conversations to be filtered based on the corresponding attribute (eg, topic or mention attribute). Each of the multiple intersections is associated with one or more conversations with corresponding attributes. In one example, a cell of the two-dimensional table 3002 can display the number of unread conversations. For example, the number "2" 3012 is displayed in cell 3014, indicating that there are two conversations with unread messages among the conversations with corresponding attributes (ie,
いくつかの実施形態において、UI3000は、「Operator」オプション2526の有効状態と無効状態との間で切り替えることができる「Enable」ボタン3019を含むことができる。他の実施形態において、UI3000は、属性、例えば、トピック(例えば、ハッシュタグ)属性、メンション属性、およびタスクステータス属性の有効状態と無効状態との間で切り替えるためのスライド可能なボタン3018、3020、3022をさらに含むことができる。トピック属性またはメンション属性のどちらかが無効になっている場合、UI3000は2次元テーブル3002の代わりに1次元テーブルを含む。タスクステータス属性が無効である場合、2次元テーブル3002は、異なる色または他の方法でタスクのステータスを示さない。
In some embodiments, the
図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 the reduced size two-dimensional representation over another user interface. The two-dimensional table 3002 shown in Figure 30 presents useful information and attributes associated with conversations to the user and allows the user to reorganize the attributes of the conversations. However, the two-dimensional table 3002 is relatively large and can occupy too much screen space. Accordingly, messaging application 240 can provide a reduced size version of two-dimensional table 3002 in response to user input. User input may be provided by selecting
図31は、2次元テーブル3002の縮小されたバージョン3102を示す。図31に示されるように、縮小されたテーブル3102は、別のユーザインターフェース3104上に重ねられた。2次元テーブル3002と同様に、縮小されたテーブル3102は、セル内に未読会話を示す数を含むことができる。縮小されたテーブル3102は、関連付けられるタスクの異なるステータスを示す異なるセル内で異なる色を有することもできる。縮小されたテーブル3102内の各セルも、2次元テーブル3002内のセルと同様に、対応するトピックおよびメンション属性に基づいて会話をフィルタリングすることができる選択可能なボタンである。縮小された2次元テーブルは、ユーザがUIを使用するときにテーブルを参照できるように、UI上にテーブルを重ねることを可能にする。縮小されたサイズは、画面サイズに基づいて予め決定されてもよいし、例えばテーブルを直接選択してサイズ変更することによって、またはフォームにサイズ範囲を入れることによって、ユーザによって定義されてもよい。
FIG. 31 shows a reduced
図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 selection of an intersection within the two-dimensional representation. In one example, a user can select a cell within a two-dimensional table 3002, as shown in FIG. In another example, as shown in FIG. 31, the user can select a cell within the collapsed table 3102 . At 2912 , messaging application 240 can filter conversations according to selection of cells within either two-dimensional table 3002 or reduced table 3102 . Conversations are filtered by the messaging application based on certain attributes corresponding to the selected cell. For example, in response to selection of
本開示の上述した態様は、いくつかの例および実施形態に関して説明されたが、これらは本開示を例示することを意図しており、限定することを意図しているわけではない。本明細書で提示された要旨は、コンピュータプロセス、コンピュータ制御の装置またはコンピュータシステム、またはコンピュータ可読記憶媒体のような製品として実現することが可能であることを理解すべきである。 While the above aspects of the disclosure have been described with respect to several examples and embodiments, these are intended to be illustrative of the disclosure and not intended to be limiting. It should be understood that the subject matter presented herein can be embodied as a computer process, computer controlled device or computer system, or product such as a computer readable storage medium.
当業者であれば、本明細書に記載された要旨は、本明細書に説明されたもの以外の、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な消費家電、ミニコンピュータ、メインフレームコンピュータ、手持ち式コンピュータ、携帯情報端末、電子リーダ、セルラー電話装置、専用ハードウェア装置、ネットアプライアンスなどを含む他のコンピュータシステム構成上で、または他のコンピュータシステム構成に関連して実装することができる。本明細書に記載された実施形態は、通信ネットワークを通じてリンクされる遠隔プロセッシング装置によってタスクを実行する分散型コンピューティング環境において実装することもできる。分散型コンピューティング環境では、プログラムモジュールは、ローカルメモリ記憶装置およびリモートメモリ記憶装置の両方内に位置することが可能である。 One of ordinary skill in the art will recognize that the subject matter described herein will apply to multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, handhelds, other than those described herein. It can be implemented on or in connection with other computer system configurations, including computers, personal digital assistants, electronic readers, cellular telephone devices, dedicated hardware devices, net 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 can be located in both local and remote memory storage devices.
インターネットおよび/または他のネットワークを介してアクセス可能な1つまたは複数のサービスを1組の分散クライアントに提供するために、企業や公共部門機関などのエンティティによって構築されるネットワークを、プロバイダネットワークと呼ぶことができる。このようなプロバイダネットワークは、プロバイダネットワークによって提供されるインフラストラクチャおよびサービスを実装および配信するために必要な物理的および/または仮想化されたコンピュータサーバ、記憶装置、ネットワーク設備などの集合体のような様々なリソースプールをホストする、複数のデータセンターを含むことができる。いくつかの実施形態において、リソースは、仮想的または物理的なコンピューティングインスタンスまたは記憶装置インスタンスなどのインスタンスと呼ばれる単位でクライアントに提供されてもよい。例えば、仮想コンピューティングインスタンスは、規定されたコンピューティング能力(CPUのタイプおよび数、主メモリのサイズなどを示すことによって規定できる)を有する1つまたは複数のサーバと、規定されたソフトウェアスタック(例えば、ハイパーバイザ上で動作できる特定バージョンのオペレーティングシステム)とを含むことができる。 A network built by an entity, such as a corporation or public sector agency, to provide one or more services accessible over the Internet and/or other networks to a set of distributed clients is called a provider network. be able to. Such Provider Network is 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. It can contain multiple data centers that host different resource pools. 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 is one or more servers with specified computing power (which can be defined by indicating the type and number of CPUs, size of main memory, etc.) and a specified software stack (e.g. , a specific version of an operating system capable of running 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, etc., may be used individually or in combination to implement the resources and services in different embodiments. In at least some embodiments, a server or A computing device 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とを含むことができるが、これらに限定されるわけではない。
FIG. 33 depicts such a general purpose computing device 3300 . Computing device 3300 can operate in a virtual environment, such as
図33の例におけるバス3318は、メモリバスまたはメモリコントローラ、周辺バス、アクセラレーテッドグラフィックスポート、および様々なバスアーキテクチャのうちのいずれを使用するプロセッサまたはローカルバスを含む、いくつかのタイプのバス構造のうちの1つまたは複数を表す。限定ではなく、一例として、このようなアーキテクチャは、工業標準アーキテクチャ(「ISA」)バス、マイクロチャネルアーキテクチャ(「MCA」)バス、拡張ISA(「EISA」)バス、ビデオエレクトロニクス標準協会(「VESA」)ローカルバス、および周辺機器相互接続(「PCI」)バスを含む。 Bus 3318 in the example of FIG. 33 is some type of bus structure, 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. represents one or more of By way of example, and not limitation, such architectures include the Industry Standard Architecture (“ISA”) bus, the Micro Channel Architecture (“MCA”) bus, the Enhanced ISA (“EISA”) bus, the Video Electronics Standards Association (“VESA”) bus. ) local bus, and Peripheral Component Interconnect (“PCI”) bus.
コンピューティング装置3300は、様々なコンピュータシステム可読媒体を含むことができる。このような媒体は、コンピューティング装置3300がアクセス可能な任意の利用可能なメディアであってもよく、揮発性メディアおよび不揮発性メディア、取り外し可能なメディアおよび取り外し不可能なメディアの両方を含む。コンピューティング装置3300はシステムメモリ3328を含むことができ、システムメモリ3328は、ランダムアクセスメモリ(「RAM」)3330および/またはキャッシュメモリ3332のような揮発性メモリの形態のコンピュータシステム可読媒体を含むことができる。コンピューティング装置3300はさらに、他の取り外し可能/取り外し不可能な揮発性/不揮発性コンピュータシステム記憶媒体を含むことができる。ほんの一例として、格納システム3334は、取り外し不可能な不揮発性磁気媒体(図示せず、通常「ハードドライブ」と称される)に対する読み取りおよび書き込みのために提供することがある。図示しないが、「フロッピーディスク」などの取り外し可能な不揮発性磁気ディスクに対して読み取りおよび書き込みするための磁気ディスクドライブと、CD-ROM、DVD-ROMなどの取り外し可能な不揮発性光ディスクまたは他の光学媒体に対して読み取りおよび書き込みするための光ディスクドライブとを提供してもよい。この場合、それぞれ1つ又は複数のデータ媒体インターフェースを介してバス3318に接続することができる。以下でさらに記述および説明されるように、メモリ3328は、本発明の実施形態の機能を実行するように構成されたプログラムモジュールのうちの一セット、例えば少なくとも1つを有する、少なくとも1つのプログラム製品を含むことができる。 Computing device 3300 can include a variety of computer system readable media. Such media can be any available media that can be accessed by computing device 3300 and includes both volatile and nonvolatile media, removable and non-removable media. Computing device 3300 can include system memory 3328 , which includes computer system-readable media in the form of volatile memory, such as random access memory (“RAM”) 3330 and/or cache memory 3332 . can be done. Computing device 3300 may also include other removable/non-removable, volatile/non-volatile computer system storage media. By way of example only, storage system 3334 may provide for reading from and writing to non-removable, nonvolatile magnetic media (not shown and commonly referred to as a "hard drive"). Not shown are magnetic disk drives for reading from and writing to removable non-volatile magnetic disks such as "floppy disks" and removable non-volatile optical disks such as CD-ROMs, DVD-ROMs or other optical An optical disc drive for reading from and writing to the medium may be provided. In this case, each may be connected to bus 3318 via one or more data media interfaces. Memory 3328 includes at least one program product having a set, eg, at least one, of program modules configured to perform the functions of embodiments of the present invention, as further described and explained below. can include
コンピューティング装置3300は、メモリ3328に記憶可能なプログラムモジュール3342のうちの一セット(少なくとも1つ)を有するプログラム/ユーティリティ3340を含むことができる。図33のコンピューティング装置3300は、オペレーティングシステム、1つまたは複数のメッセージングアプリケーション、他のメッセージングアプリケーションモジュール、およびメッセージングアプリケーションデータをさらに含むことができる。オペレーティングシステム、1つまたは複数のメッセージングアプリケーション、他のメッセージングアプリケーションモジュール、およびメッセージングアプリケーションデータ、またはそれらのいくつかの組み合わせのそれぞれは、図1のクラウドコンピューティングシステム100のようなネットワーク環境の実現を含むことができる。プログラムモジュール3342は、一般に、本明細書に記載された本発明の実施形態の機能および/または方法を実行する。
Computing device 3300 may include programs/
図33のコンピューティング装置3300は、ユーザがコンピューティング装置3300と会話することを可能にするキーボード、ポインティング装置、ディスプレイ3324など、1つまたは複数の外部装置3314と通信することもできる。コンピューティング装置3300は、コンピューティング装置3300が1つまたは複数の他のコンピューティング装置と通信することを可能にする任意の装置、例えば、ネットワークカード、モデムなどを含むこともできる。このような通信は、例えば、I/Oインターフェース3321を介して行うことができる。なお、コンピューティング装置3300は、ネットワークアダプタ3320を介して、ローカルエリアネットワーク(「LAN」)、汎用ワイドエリアネットワーク(「WAN」)、および/または公衆ネットワーク(例えば、インターネット)など、1つまたは複数のネットワークと通信することができる。図示するように、ネットワークアダプタ3320は、バス3318を介してコンピューティング装置3300の他のコンポーネントと通信する。図示されていないが、他のハードウェアおよび/またはソフトウェアコンポーネントも、コンピューティング装置3300と組み合わせて使用することができることを理解すべきである。例えば、マイクロコード、装置ドライバ、冗長プロセッシングユニット、外部ディスクドライブアレイ、RAIDシステム、テープドライブ、およびデータアーカイバル格納システムなどが挙げられるが、これらに限定されない。 Computing device 3300 in FIG. 33 may also communicate with one or more external devices 3314 such as keyboards, pointing devices, displays 3324 that allow a user to interact with computing device 3300 . Computing device 3300 may also include any device, such as a network card, modem, etc., that enables computing device 3300 to communicate with one or more other computing devices. Such communication may occur, for example, via I/O interface 3321 . It should be noted that computing device 3300 may be connected via network adapter 3320 to one or more networks, such as a local area network (“LAN”), a general wide area network (“WAN”), and/or a public network (eg, the Internet). can communicate with any network. As shown, network adapter 3320 communicates with other components of computing device 3300 via bus 3318 . Although not shown, it should be understood that other hardware and/or software components may also be used in conjunction with 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 section may be implemented in code modules executed by one or more computers or computer processors, and may thereby be fully or partially automated. . Code modules may be stored in any type of non-transitory computer readable medium or computer storage device such as hard drives, solid state memory, optical disks, or the like. The processes and algorithms may be implemented partially or wholly in application specific circuits. The results of the disclosed processes and process steps can be stored persistently or otherwise in any type of non-transitory computer storage, such as volatile or nonvolatile storage.
上述した様々な特性およびプロセスは、互いに独立して使用されてもよく、または様々な方法で組み合わされてもよい。すべての可能な組み合わせおよびサブ組み合わせは、本開示の範囲内に入ることを意図している。さらに、いくつかの実施において、一部の方法またはプロセスブロックを省略してもよい。本明細書で説明される方法およびプロセスは、任意の特定の順序に限定されるものではなく、それに関連するブロックまたは状態は、適切な他の順序で実行されてもよい。例えば、説明されたブロックまたは状態は、特別に開示された順番以外の順番で実行されてもよく、あるいは、複数のブロックまたは状態は、単一のブロックまたは状態内で結合されてもよい。例示的なブロックまたは状態は、連続的に、並列に、または何らかの他の方法で実行することができる。ブロックまたは状態は、開示された例示的な実施形態に追加されてもよいし、開示された例示的な実施形態から削除されてもよい。本明細書に記載された例示的なシステムおよびコンポーネントは、説明されたものとは異なるように構成されてもよい。例えば、開示された例示的な実施形態と比較して、要素を追加したり、削除したり、または再配置したりすることができる。 The various features and processes described above may be used independently of each other or combined in various ways. All possible combinations and subcombinations are intended to fall within the scope of this disclosure. Additionally, 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 any other suitable order. For example, blocks or states illustrated may be executed in an order other than the order specifically disclosed, or multiple blocks or states may be combined within a single block or state. Exemplary blocks or states may execute serially, in parallel, or in some other manner. Blocks or states may be added or deleted from the disclosed exemplary embodiments. The example systems and components described herein may be configured differently than described. For example, elements may be added, deleted, or rearranged compared to the disclosed exemplary embodiments.
また、様々なアイテムは、使用中にメモリ内または記憶装置上に記憶されるように示されており、これらのアイテムまたはその一部は、メモリ管理およびデータ完全性の目的のために、メモリと他の記憶装置との間で移転されてもよいことも理解されるであろう。代替として、他の実施形態において、ソフトウェアモジュールおよび/またはシステムの一部または全部を別の装置上でメモリ内で実行し、コンピュータ間通信を介して図示のコンピューティングシステムと通信することができる。さらに、いくつかの実施形態において、システムおよび/またはモジュールの一部または全部は、他の方法で、例えば少なくとも部分的にファームウェアおよび/またはハードウェアで実装または提供されてもよく、ハードウェアは、1つ又は複数の特定用途向け集積回路(ASIC)、標準集積回路、コントローラ(例えば、適切な指令を実行することにより、また、マイクロコントローラおよび/または埋め込みコントローラを含む)、フィールドプログラマブルゲートアレイ、複合プログラマブル論理装置などを含むが、これらに限定されない。モジュール、システム、およびデータ構造の一部または全部は、適切なドライブによってまたは適切な接続を介して読み取るために、ハードディスク、メモリ、ネットワーク、またはポータブルメディア製品などのコンピュータ可読媒体上に(例えば、ソフトウェア指令または構造化データとして)記憶することもできる。システム、モジュール、およびデータ構造は、無線ベースの媒体および有線/ケーブルベースの媒体を含む、様々なコンピュータ可読伝送媒体上で、生成されたデータ信号として(例えば、搬送波または他のアナログまたはデジタル伝搬信号の一部として)送信することもでき、様々な形態をとる(例えば、単一または多重化アナログ信号の一部として、または複数の離散デジタルパケットまたはフレームとする)ことができる。他の実施形態において、そのようなコンピュータプログラム製品は、他の形態をとることもできる。したがって、本発明は、他のコンピュータシステム構成で実施することができる。 Also, various items are shown to be stored in memory or on a storage device during use, and these items, or portions thereof, may be stored in memory or on a storage device for purposes of memory management and data integrity. It will also be appreciated that it may be transferred to and from other storage devices. Alternatively, in other embodiments, some or all of the software modules and/or system may execute in memory on separate devices and communicate with the illustrated computing system via inter-computer communications. Moreover, in some embodiments, some or all of the systems and/or modules may be implemented or provided in other ways, for example, at least partially in firmware and/or hardware, where the hardware includes: 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, Composite Including, but not limited to, programmable logic devices and the like. Some or all of the modules, systems and data structures may be placed on a computer readable medium such as a hard disk, memory, network or portable media product (e.g., software) for reading by a suitable drive or via a suitable connection. instructions or structured data). Systems, modules, and data structures may be transmitted as data signals (e.g., carrier waves or other analog or digital propagated signals) over various computer-readable transmission media, including wireless-based media and wire/cable-based media. ) and can take various forms (eg, as part of a single or multiplexed analog signal, or as a plurality of discrete digital packets or frames). In other embodiments, such computer program products may take other forms. Accordingly, the invention may be practiced with other computer system configurations.
本明細書で使用される条件付き言語は、例えば、特に「可能である」、「できる」、「してもよい」、「ことができる」、「例えば」などは、特に明記しない限り、または使用されるコンテキストで他に理解されない限り、全体として、いつくかの実施形態がいくつかの特性、要素、および/またはステップを含むが、他の実施形態がいくつかの特性、要素、および/またはステップを含まないことを伝えることを意図している。したがって、このような条件付き言語は全体として、特性、要素、および/またはステップが1つまたは複数の実施形態によって任意の方法で必要とされること、または1つまたは複数の実施形態は、作成者の入力またはプロンプトがある又はない状態で、これらの特性、要素、および/またはステップが任意の特定の実施形態に含まれているか、または実行されるかを判定するためのロジックを必然的に含むことを意味するものではない。用語「備える」、「含む」、「有する」等は同義であり、包括的に、制限のない方法で使用され、追加の要素、特性、作動、動作等を除外しない。また、「または」という用語は、(排他的な意味ではなく)包含的な意味で使用されるので、「または」という用語を用いて要素リストを連結する場合、「または」という用語は、リスト内の要素のうちの1つ、一部、または全部を意味する。 Conditional language as used herein, e.g., "can", "could", "may", "could", "for example", etc., unless otherwise specified, or Generally, some embodiments include some features, elements and/or steps, while other embodiments generally include some features, elements and/or steps, unless otherwise understood in the context of use. It is meant to convey that it does not contain steps. Such conditional language as a whole thus means that a property, element, and/or step is required in any way by one or more embodiments, or that one or more embodiments logic for determining whether these features, elements, and/or steps are included or performed in any particular embodiment, with or without human input or prompting. It is not meant to include The terms "comprising," "including," "having," etc. are synonymous and are used inclusively and in an open-ended manner and do not exclude additional elements, features, acts, operations, and the like. Also, the term "or" is used in an inclusive (rather than exclusive) sense, so that when the term "or" is used to concatenate element lists, the term "or" means one, some, or all of the elements within.
いくつかの例示的な実施形態を説明してきたが、これらの実施形態は例として提示されただけであって、本明細書に開示された本発明の範囲を限定することを意図していない。したがって、前述の説明のいかなる部分も、特定の特性、特徴、ステップ、モジュール、またはブロックが必須または不可欠であることを意味するものではない。実際、本明細書に説明された新規な方法およびシステムは、様々な他の形態で実現することができる。さらに、本明細書に開示された本発明の要旨から逸脱することなく、本明細書に説明された方法およびシステムの形態には、様々な省略、置換、および変更が可能である。添付の特許請求の範囲およびその均等物は、本明細書に開示されたいくつかの発明の範囲および要旨内にあるそのような形態または改変をカバーすることを意図している。 Although several exemplary embodiments have been described, these embodiments have been presented by way of example only and are not intended to limit the scope of the inventions disclosed herein. Thus, no part of the above description should be construed as implying that any particular feature, feature, step, module, or block is essential or essential. Indeed, the novel methods and systems described herein can be embodied in various other forms. Moreover, various omissions, substitutions, and modifications may be made in the form of the methods and systems described herein without departing from the spirit of the inventions disclosed herein. The appended claims and their equivalents are intended to cover any such forms or modifications that fall within the scope and spirit of any invention disclosed herein.
仕事場や社交の場での交流は、インターネットに基づくツールを使って行われることが増えている。インターネットに基づくツールは、任意のソフトウェアまたはプラットフォームとすることができる。電子メールのような従来の通信ツールは、内部通信及び外部通信を容易にすることができる。しかし、従来の通信ツールでは、さまざまな制約から、ユーザのニーズに応えられないことがある。通信機器の高性能化につれ、通信の効率と通信の効果を改善するために、新たなツールが次々と発見されている。 Interactions in the workplace and social settings 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, conventional communication tools sometimes fail to meet user needs due to various restrictions. With the increasing sophistication of communication equipment, new tools are constantly being discovered to improve the efficiency and effectiveness of communication.
以下の詳細な説明は、添付図面と合わせて読むとよりよく理解できる。説明のために、本開示の様々な態様の例示的な実施形態が添付図面に示されているが、本発明は、開示されている特定の方法および手段に限定されない。 The following detailed description is better understood when read in conjunction with the accompanying drawings. For purposes of explanation, illustrative embodiments of various aspects of this disclosure are shown in the accompanying drawings, but the invention is not limited to the specific methods and instrumentalities disclosed.
図1はクラウドコンピューティングシステム100の例示的なコンポーネントを示す図である。限定ではなく、一例として、クラウドコンピューティングシステム100を使用して、開示された発明対象の態様を実行することができる。クラウドベースのコンピューティングとは、一般的に、アプリケーション実行、サービス提供、及びデータ格納を、クライアントとクラウドコンピューティング装置との間で、ある程度分割することができるネットワークコンピュータアーキテクチャを指す。「クラウド」とは、ネットワーク(例えば、インターネット)を介して、例えばクライアント、サーバ装置、及びその他のクラウドコンピューティングシステムによって、アクセス可能なサービスまたはサービスグループを指すことができる。
FIG. 1 is a diagram illustrating exemplary components of a
一例において、クラウドに接続された複数のコンピューティング装置は、コンピューティングパワー、サービス、アプリケーション、記憶装置、及びファイルの共有プールにアクセスして、使用することができる。したがって、クラウドコンピューティングにより、最小限の管理努力又はインタラクションでクラウドサービスプロバイダによって提供および解放することができる、ネットワーク、サーバ、記憶装置、アプリケーション、及びサービスなどの、構成可能なコンピューティングリソースの共有プールを可能にする。 In one example, multiple cloud-connected computing devices can access and use a shared pool of computing power, services, applications, storage, and files. Cloud computing thus allows a shared pool of composable computing resources, such as networks, servers, storage devices, applications, and services, that can be provided and released by cloud service providers with minimal administrative effort or interaction. enable
一例として、クラウドベースのアプリケーションは、データおよび/または実行可能なプログラムコードのコピーをクラウドコンピューティングシステムに格納するとともに、クライアント装置での実行のために必要な場合、クライアント装置によるこのデータおよびプログラムコードの少なくとも一部のダウンロードを許可することができる。いくつかの例において、ダウンロードされたデータおよびプログラムコードは、クラウドベースのアプリケーションにアクセスする特定のクライアント装置(例えば、パーソナルコンピュータ、タブレットコンピュータ、携帯電話および/またはスマートフォン)の機能に応じて調整することが可能である。追加として、クライアント装置とクラウドコンピューティングシステムとの間でアプリケーション実行と格納を分割することにより、クラウドコンピューティングシステムがより多くの処理を実行することが可能となるため、クラウドコンピューティングシステムのプロセッシング能力や機能をうまく利用することができる。 As an example, a cloud-based application may store a copy of data and/or executable program code on the cloud computing system and, if necessary for execution on the client device, copy this data and program code by the client device. may allow the download of at least a portion of the In some instances, the downloaded data and program code may be tailored according to the capabilities of the particular client device (e.g., personal computer, tablet computer, mobile phone and/or smart phone) accessing the cloud-based application. is possible. Additionally, splitting application execution and storage between the client device and the cloud computing system allows the cloud computing system to perform more processing, thus increasing the processing power of the cloud computing system. and functions can be used effectively.
クラウドベースのコンピューティングはまた、クラウドベースのアプリケーションのためのデータおよびプログラムコードが、1つ又は複数のクライアント装置および/またはクラウドコンピューティング装置の間でほぼリアルタイムに共有される分散型のコンピューティングアーキテクチャを指すことができる。このデータおよびプログラムコードの一部は、必要に応じて、またはその他の状況に応じて、クラウドベースのアプリケーションにアクセス中のさまざまなクライアントに動的に配布することが可能である。クラウドベースのコンピューティングアーキテクチャの詳細は、クライアント装置のユーザにはほとんど透過的であってもよい。限定ではなく、一例として、クラウドベースのアプリケーションにアクセスするPCユーザ装置は、PCがクラウドコンピューティングシステムからプログラムロジックおよび/またはデータをダウンロードすること、またはPCが処理機能または記憶機能をクラウドコンピューティングシステムにオフロードしていることを知らなくてもよい。 Cloud-based computing is also a distributed computing architecture in which data and program code for cloud-based applications are shared in near real-time among one or more client devices and/or cloud computing devices. can point to Portions of this data and program code can be dynamically distributed to various clients accessing the cloud-based application as needed or otherwise. The details of the cloud-based computing architecture may be largely transparent to users of client devices. By way of example, and not by way of limitation, a PC user device accessing a cloud-based application may observe that the PC downloads program logic and/or data from the cloud computing system or that the PC transfers processing or storage functions to the cloud computing system. without knowing that you are offloading to
図1において、クラウドコンピューティングシステム100は、1つ又は複数のクラウドサービス104と、1つ又は複数のクラウドプラットフォーム106と、クラウドインフラストラクチャコンポーネント108と、クラウド知識ベース110とを備える。クラウドコンピューティングシステム100は、より多いまたは少ないコンポーネントを含むことができ、クラウドサービス104、クラウドプラットフォーム106、クラウドインフラストラクチャコンポーネント108、およびクラウド知識ベース110のそれぞれは、さらに、複数のコンピューティング要素および記憶要素を含むことができる。したがって、クラウドコンピューティングシステム100の前述機能のうちの1つまたは複数を、追加の機能コンポーネントまたは物理コンポーネントに分割するか、またはより少ない機能コンポーネントまたは物理コンポーネントに結合することができる。いくつかの別の例において、図1に示された例に追加の機能および/または物理的コンポーネントを追加することができる。クラウドコンピューティングベースのサービスの配布には、ウェブサービスや多層アーキテクチャなどのアプリケーションプログラミングインターフェースを介して相互に通信する複数のクラウドコンポーネントが関与する場合がある。
In FIG. 1, a
図1に示す例示的なクラウドコンピューティングシステム100は、ネットワークコンピューティングアーキテクチャである。クラウドサービス104は、クライアント装置からの要求を処理するためのキューを表すことができる。クラウドプラットフォーム106は、クラウドコンピューティングシステム100のためのクライアントインターフェースフロントエンド、例えばメッセージングサービスのクライアントインターフェースフロントエンドを含むことができる。クラウドプラットフォーム106は、クライアント装置とインタラクションするための機能を実行するために、クラウドサービス104に結合することができる。クラウドインフラストラクチャ108は、クラウドコンピューティングシステム100のサービス、支払、および他の動作コンポーネントおよびインフラストラクチャコンポーネントを含むことができる。クラウド知識ベース110がクラウドコンピューティングシステム100に使用されるデータを格納するように構成されているため、クラウド知識ベース110は、クラウドサービス104、クラウドプラットフォーム106、および/またはクラウドインフラストラクチャコンポーネント108のいずれかによってアクセス可能である。
The exemplary
多くの異なるタイプのクライアント装置、例えばメッセージングサービスのユーザの装置は、データにアクセスし、クラウドコンピューティングシステム100によって提供されるアプリケーションを実行するために、クラウドコンピューティングシステム100のコンポーネントと通信するように構成されることが可能である。例えば、コンピュータ112、モバイル装置114、およびホスト116は、クラウドコンピューティングシステム100と通信するように構成可能なタイプのクライアント装置の例として示されている。もちろん、より多いまたは少ないクライアント装置がクラウドコンピューティングシステム100と通信してもよい。さらに、他のタイプのクライアント装置がクラウドコンピューティングシステム100と通信するように構成されてもよい。
Many different types of client devices, such as those of messaging service users, may communicate with components of
図1に示すコンピュータ112は、任意のタイプのコンピューティング装置、例えば、PC、ラップトップコンピュータ、タブレットコンピュータなどとすることができ、モバイル装置114は、クラウドコンピューティングシステム100へデータを送信し、且つ/又はクラウドコンピューティングシステム100からデータを受信するように構成された、任意のタイプのモバイルコンピューティング装置、例えば、ラップトップコンピュータ、スマートフォン、携帯電話、セルラーホン、タブレットコンピュータなどとすることができる。同様に、ホスト116は、クラウドコンピューティングシステム100へデータを送信し、且つ/又はクラウドコンピューティングシステム100からデータを受信するように構成された、ラップトップコンピュータ、携帯電話、スマートフォン、タブレットコンピュータなどを含む、送信機/受信機を有する任意のタイプのコンピューティング装置とすることができる。
The
図1において、クライアント装置とクラウド100との間の通信リンクは有線接続、例えば、シリアルバスまたはパラレルバス、イーサネット、光接続、または他のタイプの有線接続を備えることができる。通信リンクはまた、無線リンク、例えば、ブルートゥース(登録商標)、IEEE802.11(IEEE802.11は、IEEE802.11-2007、IEEE802.11n-2009、または任意の他のIEEE802.11リビジョンを指すことができる)、CDMA、3G、GSM、WiMAX、または他の無線ベースのデータ通信リンクとすることができる。
In FIG. 1, communication links between client devices and
他の例において、クライアント装置は、無線アクセスポイントを介してクラウドコンピューティングシステム100と通信するように構成されてもよい。アクセスポイントは様々な形態をとることができる。例えば、アクセスポイントは、無線アクセスポイント(WAP)または無線ルータの形態をとることができる。別の例として、クライアント装置がCDMA、GSM、3G、または4Gなどのセルラーエアインターフェースプロトコルを使用して接続する場合、アクセスポイントは、セルラーネットワークを介してインターネット接続を提供するセルラーネットワーク内の基地局とすることができる。
In other examples, client devices may be configured to communicate with
したがって、クライアント装置は、有線ネットワークインターフェースまたは無線ネットワークインターフェースを含むことができるが、該有線ネットワークインターフェースまたは無線ネットワークインターフェースを通して、クライアント装置は、直接またはアクセスポイントを介してクラウドコンピューティングシステム100に接続することができる。一例として、クライアント装置は、802.11、802.16(WiMAX)、LTE、GSM、GPRS、CDMA、EV-DO、および/またはHSPDAなどの1つまたは複数のプロトコルを使用するように構成されることが可能である。さらに、クライアント装置は、セルラー通信プロトコル(例えば、CDMA、GSM、またはWiMAX)を使用する「3G」または「4G」データ接続、および802.11を使用する「WiFi」接続など、複数の有線プロトコルおよび/または無線プロトコルを使用するように構成することが可能である。他のタイプの通信インターフェースおよびプロトコルを使用することも可能である。
Accordingly, a client device may include a wired network interface or a wireless network interface, through which the client device may connect to the
図2は、開示された技術を実行するための例示的なメッセージングサービス220を示す。限定ではなく、一例として、メッセージングサービス220は、図1のクラウドネットワーク100上で動作することができる。メッセージングサービス220は、クラウドネットワーク装置とローカル装置との組み合わせを含むことができる。メッセージングサービス220は、チャットサービス222を含むことができる。チャットサービス222は、メッセージングサービス220の装置上で動作する装置および/またはプログラムとすることができる。
FIG. 2 shows an
チャットサービス222は、ユーザ210から入力を受け取るように構成されてもよい。ユーザ210は、メッセージングサービス220内で互いにメッセージを交換するために、メッセージングサービス220のユーザとして登録することができる。ユーザ210は、ユーザ装置242上で動作するメッセージングアプリケーション240のユーザであってもよい。ユーザ入力は、会話を開始する要求を含むことができる。会話は、任意のユーザ装置242上で動作するメッセージングアプリケーション240のユーザインターフェース(UI)内の「Start Conversation」アイコンを選択することによって開始することができる。会話は、会話の任意の他の参加者が識別されていない状態で、作成者ユーザによって開始することができる。会話の参加者には、任意の方法で会話に参加することが許可されている任意のエンティティが含まれる。例えば、会話の参加者は、作成者ユーザ、会話に加入するように招待されたグループ、タスクを別の参加者(被割当者ユーザ)に割り当てることができる割当者ユーザ、被割当者ユーザ、会話に招待された電子メール参加者などであってもよい。
チャットサービス222は、会話を生成および/または管理することができる。例えば、チャットサービス222は、会話を分類することができる。チャットサービス222は、会話データベース230、トピックデータベース236、グループデータベース232、ユーザデータベース234、検索インデックスデータベース252、タスクデータベース256、電子メールユーザデータベース237、電子メールメッセージデータベース238などの1つまたは複数のデータベース260に、会話、会話との任意の関連付け、および/または会話メタデータを格納することができる。入力は、既存の会話や新規会話に追加するメッセージなどのメッセージを含むことができる。チャットサービス222は、メッセージを会話に追加することができる。チャットサービス222は、メッセージおよび/またはメッセージの関連付けを、データベース、例えば会話データベース230に格納することができる。
メッセージングサービス220は、メッセージが、ユーザ名、ハンドル(すなわち、@で始まるユーザ名)、アカウントなど、ユーザを識別する情報を含むと判定することができる。メッセージングサービス220は、識別されたユーザを会話に追加することができる。メッセージングサービス220は、例えば、会話データベース230、グループデータベース232、ユーザデータベース234、および/または検索インデックスデータベース252に、ユーザと会話との関連付けを格納することができる。例えば会話内で以前に通信されたメッセージのフィードを表示するために、ユーザに会話へのアクセス許可を付与することができる。
The
メッセージングサービス220は、メッセージがトピックを示す情報を含むと判定することができる。トピックは、対応する会話に関連付けられることが可能である。メッセージングサービス220は、1つまたは複数のデータベース、例えばトピックデータベース236にトピックを追加することができる。メッセージングサービス220は、例えば、会話データベース230および/またはトピックデータベース236にトピックと会話との関連付けを格納することができる。
メッセージングサービス220は、メッセージがグループを識別する情報を含むと判定することができる。グループはユーザグループであってもよい。メッセージングサービス220は、グループを会話に追加することができる。メッセージングサービス220は、例えば、会話データベース230、グループデータベース232、ユーザデータベース234、および/または検索インデックスデータベース252に、グループと会話との関連付けを格納することができる。
メッセージングサービス220は、メッセージがユーザに割り当てられたタスクを示す情報を含むと判定することができる。メッセージングサービス220はまた、タスクの期限日を示す情報を受信することができる。タスクと期限日をユーザと会話に関連付けることができる。メッセージングサービス220は、タスクおよび期限日をデータベース260、例えばタスクデータベース256に追加することができる。メッセージングサービス220はタスク、期限日、ユーザおよび会話の関連付けを、例えば会話データベース230、ユーザデータベース234、およびタスクデータベース256に、格納することができる。
The
メッセージングサービス220は、メッセージが電子メールアドレスを含むことができると決定することができる。電子メールアドレスは、会話に関連付けることができる。電子メールアドレスは、会話中のメッセージの対象とする受信者であってもよい。メッセージングサービス220は、電子メールアドレスを会話に追加することができる。メッセージングサービス220は、電子メールアドレスと会話との関連付けを、例えば、会話データベース230、電子メールユーザデータベース237、および/または電子メールメッセージデータベース238に、格納することができる。
メッセージングサービス220は、プッシュサービス224を含むことができる。プッシュサービス224は、メッセージングサービス220の装置上で動作する装置および/またはプログラムとすることができる。プッシュサービス224は、ユーザ入力の指示などのデータをチャットサービス222から受信することができる。プッシュサービス224は、データベース260にデータを格納し、且つ/またはデータベース260内のデータにアクセスすることができる。プッシュサービス224は、例えばメッセージングアプリケーション240を介して、ユーザ入力の指示などのデータをユーザ装置にプッシュ(例えば、送信、表示など)することができる。プッシュサービス224は、メッセージングサービス220の外部の電子メールアドレスにデータをプッシュすることができる。
メッセージングサービス220は、他のサービスを含むことができる。他のサービスは、グループサービス251を含むことができる。グループサービス251は、ユーザグループを管理することができる。グループサービス251は、格納されたグループの関連付けを管理することができる。グループサービス251は、検索インデックスデータベース252を検索することにより、グループに含まれるメンバを識別することができる。他のサービスは、リマインダ/スケジューラサービス253を含むことができる。リマインダ/スケジューラサービス253は、期限日とタスクとの関連付けを決定することができる。リマインダ/スケジューラサービス253は、期限日および/またはタスクに関連付けられるリマインダを送信することができる。リマインダ/スケジューラサービス253は、格納された期限日および/またはタスクを管理することができる。
他のサービスは、電子メールサービス254を含むことができる。電子メールサービス254は、電子メールメッセージを生成し、電子メールメッセージをメッセージングサービス220の外部の電子メールアドレスに送信することができる。電子メールサービス254は、メッセージングサービス220の外部の電子メールアドレスからデータを受信することができる。電子メールサービス254は、電子メールアドレスから受信したデータに関連付けられる会話を判定し、会話内のユーザに送信される対応のメッセージを生成することができる。他のサービスは、認証サービス226をさらに含むことができる。認証サービス226は、様々な会話へのアクセスを許可および検証することができる。認証サービス226は、会話の参加者に階層化権限を付与することができる。たとえば、あるレベルの権限を持つ参加者にのみ、他の参加者の追加やタスクの割り当てなどが許可される。
Other services may include email service 254 . Email service 254 can generate email messages and send email messages to email addresses outside of
図2のメッセージングサービス220は単に例示的なものであり、他の実施態様を使用することができることを理解すべきである。本明細書で開示される機能は、1つまたは複数のサーバまたはコンピューティング装置によって実装することが可能であることも理解すべきである。さらに、本明細書で開示される機能は、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアとの組み合わせで実装することが可能であることを理解すべきである。
It should be appreciated that the
図3は、メッセージングサービス220の一例を示す。メッセージングサービス220は、ネットワーク301と通信することができる。ネットワーク301は、インターネットを含むことができる。ネットワーク301は、1つまたは複数のクラウドネットワークコンポーネントを含むことができる。ネットワーク301は、ネットワークを介して1つまたは複数のデータベース260と通信することができる。データベース260は、図2のデータベース230~238と同じであってもよいし、類似していてもよい。例として、データベース260は、トピックデータベース、会話データベース、ユーザデータベース、および/またはタグデータベースを含むことができる。メッセージングサービス220は、属性および/または関連付けをデータベース260に格納することができる。メッセージングサービス220は、属性、関連付け、または他のデータについて、データベース260にアクセス(例えば、クエリ)することができる。
FIG. 3 shows an
メッセージングサービス220は、ネットワーク301を介して1つまたは複数のユーザ装置242と通信することができる。メッセージングサービス220は、ユーザ装置242上で動作するメッセージングアプリケーション240を介して装置302と通信することができる。メッセージングアプリケーション240は、データおよび権限、例えば会話、会話トピックタグ、ユーザ、グループ、プライバシなどを管理するように構成されてもよい。
メッセージングサービス220は、ネットワーク301を介して接続されたユーザ210と通信することができる。接続されたユーザ210は、メッセージングサービス220および/またはメッセージングアプリケーション240の会話の参加者であるユーザとすることができる。例えば、接続されたユーザ210は、外部電子メールアドレスを介して会話に関連付けられるメッセージを受信することができる。接続されたユーザ210は、外部電子メールアドレスから、メッセージングサービス220、メッセージングアプリケーション240、会話、および/または他のユーザにメッセージを送信することができる。
図4は、メッセージング技術400を示す。技術400は、メッセージングサービス(例えば、図2および図3のメッセージングサービス220)、メッセージングアプリケーション(例えば、図2および図3のメッセージングアプリケーション240)、1つまたは複数のユーザ210、および/または1つまたは複数のユーザ装置242によって実行することができる。401において、会話を開始することができる。会話は、メッセージングアプリケーションを介して会話の開始を要求する入力を入れることによって、作成者ユーザ(すなわち、会話の作成を引き起こすユーザ)によって開始することができる。例えば、ユーザは、ユーザ装置上に表示されたメッセージングアプリケーションのUI内の「Start a conversation」アイコンを選択することができる。チャットサービス(例えば、図2のチャットサービス222)は、入力を受け取り、会話を生成することができる。会話は、会話の任意の他の参加者が識別されていない状態で開始することができる。
FIG. 4 shows
402において、メッセージを入れることができる。メッセージは、メッセージングアプリケーションを介してユーザによって入れることができる。メッセージは、例えばメッセージングアプリケーションのUIに表示される入力フィールドを介して、会話中に入れることができる。このメッセージは、会話への任意の他の参加者が識別される前に入れることができる。メッセージはテキストを含むことができる。チャットサービスは、メッセージを受信することができる。このメッセージは、会話に追加することができる。メッセージは、会話に関連付けられる1つまたは複数のユーザに送信することができる。このメッセージは、1つ又は複数の外部ユーザ、例えば会話に追加済みの外部電子メールアドレスに送信することができる。メッセージと会話との関連付けは、データベース(例えば、図2~3のデータベース260)に格納することができる。
At 402, a message can be entered. Messages can be put in by users via messaging applications. Messages can be entered into conversations, for example, via input fields displayed on the UI of the messaging application. This message can be entered before any other participants in the conversation are identified. A message can contain text. A chat service can receive messages. This message can be added to the conversation. A message can be sent to one or more users associated with the conversation. This message can be sent to one or more external users, eg, external email addresses that have been added to the conversation. Associations between messages and conversations can be stored in a database (eg,
403において、メッセージを解析して、内容および/または属性を決定することができる。メッセージは、メッセージングアプリケーション(例えば、図2~3のメッセージングアプリケーション240)および/またはメッセージングサービス(例えば、図2~3のメッセージングサービス220)によって解析することができる。例えば、メッセージングアプリケーションは、メッセージの属性、例えばメッセージ内の特殊文字によって識別される属性を決定し、その属性の指示をメッセージングサービスに送信することができる。
At 403, the message can be parsed to determine content and/or attributes. The message may be parsed by a messaging application (eg, messaging application 240 of FIGS. 2-3) and/or a messaging service (eg,
404において、メッセージの内容は、内容データベース(例えば、図2~3のデータベース260)に格納することができる。内容と1つ又は複数のユーザ(例えばメッセージ内のタグ付きユーザ)との関連付けは、ユーザデータベース234、グループデータベース232、検索インデックスデータベース252などのデータベースに格納することができる。内容および/または関連付けは、メッセージングサービス(例えば、図2~3のメッセージングサービス220)によってデータベースに格納することができる。
At 404, the content of the message can be stored in a content database (eg,
405において、メッセージの属性は、トピックデータベース236、ユーザデータベース234、グループデータベース232、検索インデックスデータベース252、電子メールユーザデータベース237、およびタスクデータベース256などの属性データベースに格納することができる。属性とメッセージ内容の関連付けも、属性データベースおよび任意の他のデータベースに格納することができる。例えば、図2~3に示すように、属性および/または関連付けは、メッセージングサービス220によってデータベース260に格納することができる。
At 405 , attributes of the message can be stored in attribute databases such as
406において、メッセージの属性を処理することができる。例えば、メッセージの内容は、会話に関連付けられるトピックによってタグ付けされることが可能である。別の例として、検索は、内容に関連付けられるすべてのユーザについて実行することができる。メッセージの属性は、メッセージングサービスによって処理することができる。 At 406, attributes of the message can be processed. For example, message content can be tagged with the topic associated with the conversation. As another example, a search can be performed for all users associated with content. Message attributes 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 content and the user is an attribute of the content. For example, the techniques of this disclosure need not identify recipients or subscribers of a conversation. Instead, the messaging system allows a conversation, e.g., a series of messages, to be created by a creator user (e.g., the user who initiates creation of the conversation) without any other participants being identified. do. Conversation participants are the creator users, not just the recipients. Author users can post messages, label conversation topics, add other participants to the conversation, assign tasks to other participants, and so on.
会話作成後、他の参加者を会話に追加することができる。会話の参加者が会話の開始時に定義されるほとんどのメッセージングシステムとは異なり、本メッセージングシステムはいつでも参加者を会話に参加させることができる。会話内で本メッセージングサービスのユーザのユーザ名、グループ名、または電子メールアドレスを入れることにより、参加者を既存の会話に参加させることができる。そうすると、参加者は、会話に追加され、会話内で伝達される過去と未来のメッセージ、例えばフィードまたは通知で受信することができる。追加された参加者は、例えば、会話内でメッセージを投稿すること、会話のトピックにラベルを付けること、タスクを割り当てること、および/または会話に他の参加者を追加することによって、会話に参加することができる。 After creating a conversation, other participants can be added to the conversation. Unlike most messaging systems where conversation participants are defined at the beginning of the conversation, our messaging system allows participants to join the conversation at any time. Participants can join an existing conversation by including the username, group name, or email address of a user of the messaging service within the conversation. Participants can then receive past and future messages, such as feeds or notifications, that are added to and conveyed within the conversation. Added participants participate in the conversation by, for example, posting messages within the conversation, labeling topics of the conversation, assigning tasks, and/or adding other participants to the conversation. can do.
図5は本開示にかかるデータモデルの例示的な実施形態を示す図である。図5の例示的なデータモデルは単に例示的なものであり、他の構成を使用することができることを理解すべきである。図に示すように、データモデルは会話中心である。言い換えれば、会話はデータベース内の1次データ(primary data)である。ユーザデータ、トピックデータ、タスクデータなどの他のデータは、会話の属性である。図に示すように、メッセージングサービスの会話データベース230は、複数の会話を含む。会話データベース230は、複数のテーブルを含む。例えば、スレッドテーブル502、メッセージテーブル504、および内容テーブル506は、すべて会話データベース230に格納される。
FIG. 5 is a diagram illustrating an exemplary embodiment of a data model consistent with this disclosure. It should be appreciated that the exemplary data model of FIG. 5 is merely exemplary and that other configurations can 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 are attributes of the conversation. As shown, the messaging
スレッドテーブル502は、Thread_ID、User_ID、およびCreated_Timeなどの項目を含む。Thread_IDは、他のデータと属性を参照する主キーである。例えば、Thread_IDは、特定のThread_IDに関連付けられるメッセージをルックアップするために使用される。Thread_IDは、以下でより全面的に説明されるように、Thread_IDで識別されるスレッドに関連する属性データベース内の属性をルックアップするためにも使用される。属性データベースを説明する前に、会話データベース230に格納されるレコードをより詳細に説明する。
Thread table 502 includes items such as Thread_ID, User_ID, and Created_Time. Thread_ID is the primary key that references other data and attributes. For example, 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 the attribute database associated with the thread identified by the Thread_ID, as described more fully below. Before describing the attribute database, the records stored in the
会話データベース230について、ユーザによって新しいスレッド(例えば、新しい会話)が作成されるたびに、メッセージサービスは、新しいThread_IDを生成して割り当て、スレッドを作成したユーザのUser_ID及びスレッドが作成された時刻(Created_Time)と共にスレッドテーブルに新しいレコードを作成する。さらに、特定のスレッド(例えば、特定の会話)内の各メッセージに関連付けられる情報は、Thread_ID、User_ID(メッセージを作成したユーザの場合)、各メッセージを識別するMessage_ID、メッセージが作成された時刻(Created_Time)、および会話中にメンション(言及)され追加された可能性のある他のユーザまたはグループを識別するエントリ(Is_Mentioned)と共にメッセージテーブル504に格納される。会話中にメンションされた(例えば、@記号で始まる)ユーザまたはグループは、以下では「メンション」と称される。各メッセージの内容は、内容テーブル506に個別に格納され、対応するメッセージIDによって参照されることが可能である。これは、メッセージが短い文字列か、JPEGやビデオなどの何らかの形式のメディアを含むかによって、メッセージの格納サイズ大きく異なる可能性があるからである。
For
前述したように、各スレッド(会話)は、関連付けられる属性を有することができる。これらの属性は、会話のThread_IDによって参照される。たとえば、Thread_IDは各属性データベースに含まれるキーであり、特定の会話に関連付けられるすべての属性をルックアップするために使用できる。図5に示すように、ユーザは会話の属性である。特定の会話に関連付けられるユーザは、ユーザデータベース234において、特定の会話に対応する特定のThread_IDに関連付けられるすべてのユーザを検索することによって決定することができる。検索によって、一致するすべてのUser_IDが返される。
As previously mentioned, each thread (conversation) can have attributes associated with it. These attributes are referenced by the conversation's Thread_ID. For example, Thread_ID is a key included in each attribute database that can be used to look up all attributes associated with a particular conversation. As shown in Figure 5, the user is an attribute of the conversation. The users associated with a particular conversation can be determined by searching the
同様に、電子メールメッセージデータベース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 e-mail message database 238 returns all User_IDs of users associated with the thread via e-mail. That is, each time an email address is added to a conversation, a new record is created in 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 (eg, messaging service 220 ) and stored in email message database 238 . Each email participant (participant added by email address) is assigned a Mail_Box_User_ID that can be used to look up the associated Email_Address. The e-mail address is stored with the Message_ID of the message containing this e-mail address. The message content of each e-mail message is also stored in the e-mail message database 238 (e.g., e-mail attribute tables 522 and 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 (eg, group database 232).
一実施形態において、属性データベースは、会話に関連付けられるタスク割り当てを示す情報(例えば、タスク属性)を格納するタスクデータベース(例えば、タスクデータベース256)を含む。タスクデータベース256に格納されたタスク属性も、各会話のThread_IDによって参照される。タスクデータベース256に格納されるデータおよび情報の一部には、期限(実質的には期限日)、割当者および被割当者のユーザID(Assignor_User_IDおよびAssignee_User_ID)、および状態(例えば、ステータス)が含まれる。作成された時刻、検証された時刻、および最後に更新された時刻を、タスクのために格納されたレコードに関連付けることもできる。 In one embodiment, the attribute database includes a task database (eg, task database 256) that stores information (eg, task attributes) indicative of task assignments associated with conversations. Task attributes stored in the 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 due dates (effectively due dates), assignee and assignee user IDs (Assignor_User_ID and Assignee_User_ID), and states (eg, status). be Created time, verified time, and last updated time can also be associated with records stored for a 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 (eg, topic database 236) that stores information (eg, topic attributes) indicative of topics associated with the conversation. The topic database is referenced by each conversation's Thread_ID, is associated with the conversation, and generally includes the user ID, Topic_ID, and time created associated with each topic. Topic_ID is used to refer to the topic name (Topic_Name). Each time a new topic is added to a conversation, e.g., by an entry into a message that begins with a hashtag within the conversation, the messaging service (e.g., messaging service 220) stores an entry in
上述したように、これらの様々な属性はすべて、メッセージングサービス(例えば、メッセージングサービス220)において新しいスレッド(例えば、新しい会話)が作成されたときに生成されるThread_IDに関連付けられる。したがって、メッセージングサービス220は、会話に関連付けられる様々な属性を検索し、取り戻すことができる。本明細書では、会話とスレッドはある程度交換可能に使用される。一例において、メッセージスレッドデータベース230および複数の属性データベース(例えば、トピックデータベース236、タスクデータベース256、グループデータベース232、電子メールメッセージデータベース238、およびユーザデータベース234)は、同じサーバまたは装置に格納することが可能である。別の例において、メッセージスレッドデータベース230および複数の属性データベースは、それぞれ異なるサーバまたは装置に格納されてもよい。メッセージスレッドデータベース230および複数の属性データベースは、1つまたは複数の物理サーバまたは1つまたは複数の仮想サーバ上でホストされることができる。
As noted above, all of these various attributes are associated with a Thread_ID that is generated when a new thread (eg, new conversation) is created in a messaging service (eg, messaging service 220). Accordingly, the
図6は、図5に示されるデータモデルに関連して、メッセージングサービス(例えば、メッセージングサービス220)によって実行される例示的なプロセス600を示す。図6では一連の動作として説明されているが、当業者であれば、様々な実施形態において、説明された動作を追加、除去、並べ替え、または修正することができることを理解するはずである。
FIG. 6 shows an
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 ,
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 ,
いくつかの実施形態において、メッセージングアプリケーション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,
一実施形態において、メッセージングアプリケーション240とメッセージングサービス220との間で追加的なインタラクションが行われてもよい。例えば、610において、メッセージングサービス220は、メッセージングアプリケーション240から、メッセージングアプリケーション240が属性(例えば図12の一番左の列に示される表示されたトピックリストのうちのトピック)を既に選択したことを示す入力を受け取る。これに応じて、612において、メッセージングサービス220は、選択された属性(例えば、トピック)に関連付けられるメッセージをメッセージスレッドデータベース230にクエリする。その後、メッセージングサービス220は、メッセージをユーザ装置242上に表示させるために、メッセージをメッセージングアプリケーション240に送信する。例えば、図12に示すように、UI1200の一番右の列1204上には、選択されたトピックに関連付けられるメッセージが表示される。
In one embodiment, additional interactions may occur between messaging application 240 and
図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
いくつかの実施形態において、710において、メッセージングサービス220は、メッセージングアプリケーション240が要約のうちの1つを選択したことを示す要求を受信することができる。この場合、また、これに応じて、712において、メッセージングサービス220は、対応する会話内の全部または複数のメッセージを取り戻すために、会話データベース230に再度クエリすることができる。実施形態において、メッセージングサービス220は、対応する会話内のすべてのメッセージを取り戻すことができる。他の実施形態において、メッセージングサービスは、対応する会話内のメッセージのサブセットを取り戻すことができる。例えば、メッセージの数及びメッセージの内容について、ユーザ装置(例えば、ユーザ装置242)がメッセージを格納するのに必要とする格納量が閾値を上回る場合、メッセージングサービス220にとって、ユーザ装置242に送信されるメッセージのサブセットのみを取り戻すことが有利であることがある。非限定的な例において、メッセージングサービス220は、対応する会話内の最新のメッセージのみを取り戻してもよい。714において、メッセージングアプリケーション240がユーザ装置242上にメッセージを表示できるように、メッセージングサービス220は、少なくとも会話内で取り戻したメッセージのサブセットをメッセージングアプリケーション240に送信する。
In some embodiments, at 710,
図8はメッセージング技術を示す図である。技術は、メッセージングサービス(例えば、図2および図3のメッセージングサービス220)、メッセージングアプリケーション(例えば、図2および図3のメッセージングアプリケーション240)、1つまたは複数のユーザ210、および/または1つまたは複数のユーザ装置242によって実行することができる。801において、会話を開始することができる。会話は、メッセージングアプリケーションを介して会話の開始を要求する入力を入れることによって、作成者ユーザによって開始することができる。例えば、ユーザは、ユーザ装置上に表示されたメッセージングアプリケーションのUI内の「Start a conversation」アイコンを選択することができる。メッセージングサービスのチャットサービス(例えば、図2のチャットサービス222)は、入力を受け取り、会話を生成することができる。会話は、会話の任意の他の参加者が識別されていない状態で、作成者ユーザによって開始することができる。
FIG. 8 is a diagram illustrating a messaging technique. A technology may be a messaging service (eg,
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
803において、会話に関連付けられるトピックを決定することができる。トピックは、メッセージングサービス220、例えばチャットサービス222によって決定することが可能である。メッセージングサービス220は、メッセージを解析し、メッセージに含まれる所定のキャラクタを識別することに基づいて、メッセージがトピックを示す情報を含むと判定することができる。限定ではなく、一例として、所定の文字はハッシュ記号#としてもよい。メッセージングサービス220は、データベース260(例えば、トピックデータベース236)に格納された既存のトピックを検索することによって、既に受信された会話に関連付けられるいずれかのメッセージが新しいトピックを含むか否かを判定することができる。新しいトピックであると判定すると、メッセージングサービス220は、該新しいトピックをデータベース260(例えば、トピックデータベース236)に格納することができる。会話とトピックとの関連付けを決定し、会話データベース230およびトピックデータベース236などのデータベース260に格納することもできる。
At 803, topics associated with the conversation can be determined. Topics can be determined by
804において、メッセージおよび新しいトピックの指示を出力(例えば、プッシュ、送信)することができる。新しいトピックの指示(例えば、新しいトピックタグ)は、表示のために、プッシュサービス(例えば、プッシュサービス224)によって、会話の参加者に関連付けられるメッセージングアプリケーション(例えば、メッセージングアプリケーション240)に送信することができる。トピックの選択を示すユーザ入力が受け取られると、トピックに関連付けられるメッセージを、メッセージングサービス220のプッシュサービス224によって出力することができる。メッセージおよびトピックタグは、例えば、ユーザ装置242上で動作するメッセージングアプリケーション240のUI内の会話を介して、メッセージアプリケーションのユーザに出力することができる。メッセージおよびトピックタグは、ユーザ装置(例えば、ユーザ装置242)に送信することができる。メッセージおよびトピックタグは、会話に追加済みの外部電子メールアドレスに送信することができる。
At 804, the message and indication of the new topic can be output (eg, pushed, sent). The new topic indication (eg, new topic tag) can be sent by a push service (eg, push service 224) to a messaging application (eg, messaging application 240) associated with the conversation participant for display. can. A message associated with the topic may be output by
805において、新しい参加者Aを会話に加入するように招待することができる。新しい参加者Aは、既存の参加者によって、例えば会話の入力フィールドに、該新しい参加者Aに関連付けられるユーザ名、グループ名、または電子メールアドレスを入れることによって、招待することができる。メッセージングサービス220(例えば、チャットサービス222)は、該新しい参加者Aを会話に追加することができる。メッセージングサービス(例えば、チャットサービス222)は、新しい参加者Aと会話との関連付けを、データベース260に、例えば会話データベース230およびユーザデータベース234に格納することができる。
At 805, new participant A can be invited to join the conversation. A 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. Messaging service 220 (eg, chat service 222) can add the new participant A to the conversation. The messaging service (eg, chat service 222 ) may store the association of new participant A with the conversation in
806において、会話内の既存の参加者のルックアップを実行することができる。このルックアップは、メッセージングサービス220、例えば、チャットサービス222によって実行することができる。チャットサービス222は、会話内の決定された参加者の指示をプッシュサービス224に送信することができる。
At 806, a lookup of existing participants in the conversation can be performed. This lookup can be performed by
807において、会話内の既存の参加者に、新しい参加者Aが会話に追加されたことを通知することができる。プッシュサービス224によって、既存の参加者に通知することができる。既存の参加者に通知することは、既存の参加者のユーザ装置(例えば、ユーザ装置242)に通知を送信することを含むことができる。既存の参加者には、それら装置上で動作するメッセージングアプリケーションの会話および/またはUIを介して通知することができる。
At 807, existing participants in the conversation can be notified that new participant A has been added to the conversation. A
808において、会話に関連付けられるメッセージの内容を決定することができる。内容は、チャットサービス222などのメッセージングサービス220によって解析することが可能である。内容を解析することは、メッセージの内容の1つまたは複数の属性を決定することを含んでもよい。例えば、メッセージに新しい参加者Aのような属性を表す特殊キャラクタからなるテキストが含まれていると判定することがある。限定ではなく、一例として、新しいユーザ(つまり、新しい参加者)を表す所定の特殊キャラクタは、@記号であってもよい。会話のルックアップは、例えば、会話データベース230やトピックデータベース236などのデータベース260にクエリすることによって実行することができる。会話のルックアップを実行して、該会話に関連付けられるユーザ、メッセージ、トピック、および他の属性を決定することができる。チャットサービス222は、解析および/または会話ルックアップの結果の指示をプッシュサービス224に送信することができる。
At 808, the content of messages associated with the conversation can be determined. The content can be parsed by a
809において、会話ルックアップの結果、例えばメッセージおよびトピックタグを、新しい参加者Aに出力(例えば、プッシュ)することができる。メッセージおよびトピックタグは、プッシュサービス224によって出力することができる。メッセージおよびトピックタグを出力することは、例えば、ユーザ装置(例えば、ユーザ装置242)上で動作するメッセージングアプリケーション(例えば、メッセージングアプリケーション240)のUI内の会話を介して、メッセージおよびトピックタグを新しい参加者に送信することを含むことができる。メッセージおよびトピックタグは、新しい参加者Aに関連付けられるユーザ装置(例えば、ユーザ装置242)に送信することができる。会話内のメッセージは、新しい参加者Aに関連付けられる外部電子メールアドレスに送信することができる。本開示にかかるメッセージングサービスは、会話に関連付けられるトピックの属性に基づいて会話を分類し、参加者が関心を持つ会話のトピックを示すトピックタグの選択に応じて、該参加者に会話の内容を提供することができる。これにより、本メッセージサービスは、ユーザが関心を持つ内容をより効率的に提供することができる。
At 809, conversation lookup results, eg, messages and topic tags, can be output (eg, pushed) to the new participant A. Messages and topic tags can be output by
図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, in conjunction with FIG. 8, illustrates starting a new conversation and adding users to the new conversation. As described with respect to Figure 4, the user initiates a new conversation. A user may initiate a new conversation by selecting the “Start a conversation”
図8を再び参照し、会話の作成者ユーザは、新しいユーザ(すなわち、新しい参加者)を会話に参加するように招待することができる。いくつかの実施形態において、メッセージングサービスは、説明した複数のデータベース260と通信して、前述したチャットサービス222およびプッシュサービス224を使用する。この例を続けると、810において、ユーザは、1つまたは複数のメッセージを含む会話を開始することができる。メッセージは、複数のキャラクタ、記号を含み、テキスト文字列、または他のタイプの内容とすることができる。新しいメッセージが会話に追加された場合、チャットサービス222は、どのユーザが会話の属性であるか、すなわち、会話に関連付けられるユーザであるかを判定する。これらの属性は、1つ又は複数のデータベースに格納される。このようなデータベースは、会話データベース(例えば、会話データベース230)、グループデータベース(例えば、グループデータベース232)、トピックデータベース(例えば、トピックデータベース236)、および電子メールユーザデータベース(例えば、電子メールユーザデータベース237)を含むが、これらに限定されない。会話の参加者が識別され、会話を通知されることができる。
Referring again to FIG. 8, a conversation creator user can invite new users (ie, new participants) to join the conversation. In some embodiments, the messaging service communicates with the
会話中にメッセージが受信されると、メッセージングサービス(例えば、メッセージングサービス220)は、会話を形成するメッセージ中に新しいトピックが含まれているか否かを判定してもよく、トピックデータベース236のような1つ又は複数のデータベース内で既存のトピックを検索してもよい。したがって、会話の属性、例えばトピック、ユーザ、グループ等によって、会話が例えばトピックに基づいて適切に分類されること、新しい会話が参加者にプッシュアウトされることを保証する。プッシュサービス224は、メッセージ、既存のトピックタグ、および新しいトピックタグを対象とする参加者に出力することを支援する。いくつかの実施形態において、これは、会話の対象とする参加者に関連付けられる装置上のユーザインターフェースまたはユーザディスプレイにメッセージをプッシュすることによって発生することができる。
As messages are received during a conversation, the messaging service (e.g., messaging service 220) may determine whether new topics are included in the messages that form the conversation, such as
別の例において、ユーザは会話に加入するように招待されてもよい。例えば、805において、新しい参加者Aを既存の会話に加入するように招待することができ、これにより、メッセージングサービス(例えば、メッセージングサービス220)は、会話に関連する情報を新しい参加者Aと共有することを許可される。チャットサービス222は、この作動を処理し、506において、先の例と同様に、会話に関連付けられるすべての既存の参加者をルックアップし、必要に応じて1つ又は複数のデータベース260(例えば、データベース230~236)と通信して、関連情報を取得する。参加者が識別されると、プッシュサービス224は、807において、会話に新しい参加者が追加されたことを既存の参加者に示すために、会話に関連付けられる識別された既存の参加者に通知する。
In another example, the user may be invited to join the conversation. For example, at 805, a new Participant A can be invited to join an existing conversation, whereby a messaging service (eg, messaging service 220) shares information related to the conversation with the new Participant A. allowed to do. The
新しい参加者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, the message, content, and/or metadata associated with the Conversation can be sent to the new Participant so that the push service can send relevant aspects of the Conversation to the new Participant, e.g. Retrieve from
一実施形態において、ユーザが「Send」ボタン907を選択した後、メッセージはメッセージングサービス(例えば、メッセージングサービス220)に送信される。メッセージングサービスはそれから、例えば図4に示すように、メッセージを解析して、メッセージが所定の@記号905を含むと判定し、メッセージの後続のテキスト906を、ユーザ識別情報として解釈する。次に、メッセージングサービスは、このメッセージをユーザAの、識別されたユーザC(すなわち、新しい参加者)を会話に追加することをシステムに許可する要求として解釈する。他の実施形態も想定されており、例えば、ユーザ装置上のメッセージングアプリケーションは、メッセージを解析し、識別されたユーザC(すなわち、新しい参加者)に会話への加入を許可することをユーザが望んでいることを示すインジケータをメッセージングサービスに送信することができる。言い換えれば、メッセージの処理は部分的にユーザ装置上で行うことができ、処理の一部はメッセージングサービスによって行うことができる。
In one embodiment, after the user selects the "Send"
特定のイベントにおいて、一旦許可されると、クラウドサービスは、会話の属性として、新しい参加者を識別する情報(例えば、新しい参加者のユーザ名)を追加することができる。このために、ユーザは会話901に関連付けられ、該関連付けはデータベース260に格納される。特定のユーザを識別することに関連付けられるインジケータとして、複数の記号、テキスト、キャラクタなどを定義することができることを理解すべきである。この特定の例において、@符号は、新しいユーザを追加するための所定の記号であり、ユーザは新しいユーザ名を「@UserC」として入れ、「@UserC」はメッセージングサービスによって会話901への新しい参加者として認識される。
At a particular event, once authorized, the cloud service can add information identifying the new participant (eg, the new participant's username) as an attribute of the conversation. To this end, the user is associated with
図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に関連付けられることを示すためにハッシュタグ#を使用することができる。追加の属性を会話に追加するために、他のシンボルを使用することができることが考えられる。
FIG. 10 shows aspects of the properties from the
図9~図10はまた、例えば一番左の列909、1009によって示されるように、会話が、トピックでソートすることができることを示している。図示された例は、会話がトピック属性などの属性でソートされる「Feed」ビュー908、1008としてラベル付けされたものを示している。フィードを選択すると、会話の選択されたトピックに関連付けられる要約バージョンで、1つまたは複数の会話のリストが表示される。一実施形態において、会話の要約バージョンを選択すると、選択された会話に関連付けられる1つまたは複数のメッセージが表示される。ここで、例えば、会話の要約バージョン(または要約、サマリー)が表示され、会話の作成者が一番上にリストアップされ、その後に会話内の最初のメッセージ「UserB Hello」910、1010が続き、次に会話内の最後のメッセージ、つまり第2のトピックを追加するためのメッセージ「#tag-patent1」911、1011が続く。会話の要約バージョン(または要約、サマリー)は、ユーザに会話のプレビューを表示し、これにより、ユーザは、自分が会話に関心を持つか否か、会話の要約を選択することによって、会話の全体の内容を概観したいか否かを判定することができる。トピック(UI上のトピックタグとして示される)は、会話の内容の短い記述子として機能する。
Figures 9-10 also show that conversations can be sorted by topic, as indicated by the
他の実施形態において、以下で説明されるように、会話は、1つ又は複数の他のカテゴリおよび分類、「Groups」ビュー912、1012によってソートされてもよく、会話およびメッセージは、それらの会話およびメッセージのそれぞれが対象とあるグループに基づいて編成される。これらは、以下に他の実施形態でさらに説明される。 In other embodiments, as described below, conversations may be sorted by one or more other categories and classifications, Groups views 912, 1012, and conversations and messages may be and each of the messages is organized based on a group of subjects. 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 topic tags to conversations and adding new messages to conversations. As previously mentioned, topic tags that correspond to topics are attributes of conversations that are used, for example, in feed views 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 the topic. In this embodiment, the hash sign or "#" is a predetermined character recognized by the messaging service to represent a topic. A user (ie, a participant) can initiate a conversation. In this example, the user also adds a topic to the conversation at 1110 . The
一旦、関連ユーザ(すなわち、会話の参加者)が識別されると、840において、様々なデータベースに格納され追跡されたすべての参加者のトピックタグ分類に、該会話は追加される。言い換えれば、新しい会話と指定されたトピックタグとの間の関連付けを格納することができ、トピックタグに関連付けられ、会話にも関連付けられるすべてのユーザを関連付けるように、関連付けを格納することができる。したがって、会話は、トピックタグに関連して、すべての参加者1150について要約される。たとえば、ユーザが会話に追加された場合、ユーザは最初と最後のメッセージからなるトピックの要約バージョンを受信することができる。プッシュサービス224は、このようなメッセージをさらに処理し、1152において、メッセージを例えばユーザディスプレイ上に出力し、それぞれのユーザに送信し、既存のタグおよび新しいタグのそれぞれのビューを、例えばこのようなタグでソートされた会話のフィードビュー内で、更新することを可能にすることができる。
Once the relevant users (ie, participants in the conversation) are identified, at 840 the conversation is added to the topic tag taxonomy of all tracked participants stored 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 who are associated with the topic tag and who are also associated with the conversation. Conversations are therefore summarized for all
図11に示す別の実施形態において、トピックタグ特性は既存の会話に組み込まれる。例えば、1115において、トピック指示を含む新しいメッセージを既存の会話に追加することができる。先に説明されたプロセスと同様に、トピックを示す情報を含むメッセージの受信により、1135において、会話内のすべての参加者のルックアップを引き起こす。トピックと会話との間の関連付け、および参加者とトピックとの間の関連付けは、会話データベース230、トピックデータベース236、ユーザデータベース234、グループデータベース232、および電子メールユーザデータベース237などのデータベース260に格納することができる。1145において、他の既存のトピックタグのルックアップを行うことで、例えば、会話内に存在し、会話に関連付けられている複数のトピックタグがある場合、そのトピックが新しいトピックであるか否かを判定することができる。1156において、メッセージングサービス220、例えば、プッシュサービス224は、次に、メッセージおよび新しいトピックに対応する新しいトピックタグをそれぞれの参加者にプッシュする。
In another embodiment, shown in FIG. 11, topic tag properties are incorporated into existing conversations. For example, at 1115 a new message with a topic indication can be added to an existing conversation. Similar to the process described above, receipt of a message containing information indicative of a topic causes a lookup of all participants in the conversation at 1135 . Associations between topics and conversations and between participants and topics are stored in
これらの技術の一例を、図12~図13のユーザインターフェースの例を用いて説明する。図12は、トピックタグのリスト1215を提供するメッセージングアプリケーションの一例のフィードビュー1208を示す。この例において、会話1201には、所定のキャラクタ「#」で始まるトピックを含むメッセージ「#tag-patent」が含まれる。前述したように、トピックを表す所定のキャラクタは、%記号などの任意の他の特殊キャラクタであってもよい。メッセージングサービスによって、メッセージが所定のキャラクタ#を含むと判定することと、データベース260を検索することとに基づいて、メッセージが新しいトピックを含むと判定した場合、会話は、該新しいトピックに関連付けられる会話リストに追加される。したがって、メッセージングアプリケーション(例えば、メッセージングアプリケーション240)のUIを介してフィードビュー1208から対応するトピックタグが選択された場合、現在の会話1201および新しいトピックに関連付けられる他のすべての会話は、会話のすべての参加者によって容易に閲覧、編成することができる。
An example of these techniques will be described using examples of user interfaces in FIGS. 12 and 13. FIG. FIG. 12 shows a
図13は、この構想、およびトピックに基づいて会話をソートする能力をさらに示す。ここで、ユーザは、UI1300の一番左の列1315内でトピックタグ「#tag-patent」1316を選択している。これによって、メッセージングサービスは、ユーザおよび選択されたトピックに関連する各会話の要約バージョンをプッシュする。トピックタグ「#tag-patent」1316が選択されると、メッセージングサービスはまた、UI1300の一番右のエリア1325に、対応する会話内のメッセージを表示させるために、該会話の内容をプッシュする。そして、関連性のない他の会話を表示せずに、これらの会話をフィードビュー1308に表示させる。フィードビュー1308に表示されるトピックタグの順序は、各トピックの優先度や重要度などのユーザプリファレンスに応じて配置することができる。各トピックタグに関連付けられる会話は、1つまたは複数の変数、例えば時間、最後に受信したメッセージ、優先度、ユーザプリファレンスなどに基づいて、ソートすることもできる。同様に、各会話は複数のメッセージを含み、特定の会話に関連付けられるユーザは、メッセージを閲覧し、メッセージを送信し、本明細書で説明される追加のユーザ、トピック、グループなどの属性を追加することができる。
FIG. 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
様々な実施形態において、ユーザは、属性を含むことができる1つまたは複数のメッセージからなる会話を生成することができる。メッセージを解析し、1つ又は複数のメッセージが解析されたことに基づいて、メッセージが属性、例えばユーザ、トピック、グループなどを示す文字列を含むと判定することができる。属性は、トピックを示す情報と会話との間の関連付けとして、少なくとも1つのデータベースに格納することができる。メッセージングアプリケーション(例えば、メッセージングアプリケーション240)からトピックの選択を示す入力を受け取ることに応じて、メッセージングサービス(例えば、メッセージングサービス220)によって、該トピックに関連付けられる会話の少なくともサブセットを、表示用にメッセージングアプリケーション240に送信する。 In various embodiments, a user can generate a conversation consisting of one or more messages that can include attributes. The message may be parsed and based on which one or more messages are parsed, it may be determined that the message includes strings that indicate attributes, such as users, topics, groups, and the like. Attributes can be stored in at least one database as associations between information indicative of topics and conversations. 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) renders at least a subset of the conversations associated with that topic to the messaging application for display. 240.
追加の実施形態において、メッセージングサービスはさらに、トピックに関連する情報を含む少なくとも1つのデータベースを検索することによって、トピックが新しいと判定し、トピックが新しいという判定に基づいて、該トピックを示す情報を該少なくとも1つのデータベースに格納することができる。別の例において、会話内の第2のメッセージを解析することができる。第2のメッセージが第2のユーザを識別する情報を含むと判定し、その結果、第2のユーザにメッセージを会話に追加することを許可することができる。トピックを示す情報は、例えば、1つ又は複数の他のユーザによって操作される1つ又は複数のメッセージングアプリケーションに送信されてもよく、データベースは、各会話に関連付けられるトピックのような複数の属性に加えて、複数の会話を格納してもよい。 In additional embodiments, the messaging service further determines that the topic is new by searching at least one database containing information related to the topic, and based on determining that the topic is new, provides information indicative of the topic. Stored in the at least one database. In another example, a second message within the conversation can be parsed. It may be determined that the second message contains information identifying the second user, thereby allowing the second user to add the message to the conversation. The information indicative of the topic may be sent, for example, to one or more messaging applications operated by one or more other users, and the database stores a plurality of attributes, such as topic, associated with each conversation. Additionally, multiple conversations may be stored.
少なくとも1つのデータベースと、該少なくとも1つのデータベースと通信し、動作を実行するように構成された少なくとも1つのコンピューティング装置とを含むことができるメッセージングサービスを使用することによって、1つ又は複数の特性および機能を実現することができる。さらに、処理の様々な態様は、メッセージングアプリケーションとメッセージングサービスとの間で分割することができる。いくつかの実施形態において、メッセージングアプリに動作を実行させることが好ましく、他の実施形態において、サービスによって同じ動作を実行させてもよい。 By using a messaging service that can include at least one database and at least one computing device in communication with the at least one database and configured to perform operations, one or more characteristics and functions can be realized. Further, various aspects of processing may be split between messaging applications and messaging services. In some embodiments, it is preferable to have the messaging app perform the actions, and in other embodiments the same actions may be performed by the service.
フィードビュー1308において、例えば、アイコン、例えば「Start a Conversation」アイコン1317を選択することによって、会話を開始することができる。他のメッセージングアプリケーションとは異なり、会話はユーザだけではなく、トピックで編成されてもよい。トピックは、会話の最初にユーザによって定義することができる。例えば、会話1301を開始する作成者ユーザは、会話1301にトピックを割り当てることができる。トピックは、会話の他の段階で他の参加者によって定義することもできる。トピックは、「#」記号などの特殊キャラクタやタグで表すことができる。作成者ユーザは、それから、会話に追加の参加者を追加してもよく、または、会話を独りで続行してもよい。
In feed view 1308, a conversation can be started, for example, by selecting an icon, eg, “Start a Conversation”
「Feed」ビュー1308には、1つまたは複数のパネル1315、1318、1320を表示することが可能である。パネルは、開かれた(例えば、展開された)会話パネル1318を含むことができる。参加者は、例えば、入力フィールド1304内でメッセージを入れることによって、開かれた会話パネル1318内で通信することができる。入れられたメッセージは、例えばそれらが送信された順序、入れられた順序、または受信された順序で、会話1301のログまたはフィード1319として表示することができる。メッセージが送信され、入れられ、または受信された時刻を示すために、タイムスタンプを会話1301内でメッセージの近くに表示させてもよい。メッセージを入れた参加者のユーザ名は、会話内でメッセージの横に表示されてもよい。
One or
パネルは、折り畳まれた会話パネル1320を含むことができる。折り畳まれた会話パネル1320は、開かれた会話パネル1318に隣接することができる。折り畳まれた会話パネル1320は、会話のプレビュー1321a、1321b、例えば会話の最初のメッセージ、会話のタイトル、会話の最後のメッセージ、および/または会話内の未読メッセージ数など、を示すことができる。
The panels can include a folded
図14~図19は、グループ(例えば、ユーザグループ)のコンテキストにおける参加者間のインタラクションの態様、およびメッセージングサービスおよびアプリケーションがグループに関連するメッセージおよび会話を分類、編成、および出力することができる様々な技術および実施形態を示す。図14~図19は単に例示的なものであり、他の適切な方法でグループを作成し、会話に加入することができることを理解すべきである。 14-19 illustrate aspects of interactions between participants in the context of groups (eg, user groups) and the various ways in which messaging services and applications can categorize, organize, and output group-related messages and conversations. techniques and embodiments. It should be understood that Figures 14-19 are merely exemplary and that groups can be created and joined into conversations in other suitable ways.
図14は既存のグループまたは新たに作成されたグループを会話に招待し、新しいグループを作成するための態様を示す。1405において、既存のグループまたは新たに作成されたグループを任意の会話に加入するように招待することができる。限定ではなく、一例として、属性として、複数のメンバを含むグループを複数の会話に参加するように招待し、許可することができる。グループ属性も、同一の会話に複数のグループ参加者を有することを可能にする。追加として、会話のグループ参加者は、会話の内容をグループのすべてのメンバに一度にプッシュすることを可能にする。したがって、本メッセージングサービスは、従来のメッセージングシステムと比較して、より高い柔軟性と効率を提供する。 FIG. 14 illustrates aspects for inviting an existing group or a newly created group into a conversation and creating a new group. At 1405, existing groups or newly created groups can be invited to join any conversation. As an example and not by way of limitation, an attribute may be to invite and allow a group containing multiple members to participate in multiple conversations. Group attributes also allow having multiple group participants in the same conversation. Additionally, group participants in a conversation will be able to push the content of the conversation to all members of the group at once. Thus, the present messaging service offers greater flexibility and efficiency compared to traditional messaging systems.
任意の会話の参加者によって、グループのグループ名を検索することで、該グループを招待することができる。限定ではなく、一例として、グループを会話に招待するように示すユーザ入力を受け取ることに応じて、メッセージングサービスは、グループと会話との間の関連付けを、会話データベース230およびグループデータベース232などのデータベース260に格納する。
A group can be invited by any conversation participant by searching for the group name of the group. By way of example and not limitation, in response to receiving user input indicating to invite a group to a conversation, the messaging service creates an association between the group and the conversation in a
1406において、会話に関連付けられる情報は、グループデータベース232および検索インデックスデータベース252などのデータベース260において、グループのすべてのメンバについて記録することができる。会話に関連付けられる情報は、会話内のメッセージ、会話の属性、および会話に関連付けられる任意の他の情報を含むことができる。会話に関連付けられる情報は、プッシュサービス224に送信することができる。
At 1406 , information associated with the conversation can be recorded for all members of the group in
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. Messages can be pushed by a
図16は、メッセージングアプリケーションのUI内のグループビュー1600の態様を示す。グループビュー1600において、ユーザが属するグループがユーザに表示される。図16には、ユーザが属する8つのグループがリストアップされている。実施形態によれば、グループはリストに表示される。グループ表示は、グループの属性と、1つ又は複数の選択可能なインターフェースエレメント(例えば「Edit」および「Delete」などの選択可能なボタン)を表示する。属性には、グループ名1601が含まれる。図16は、「Group1」、「Group2」、「Group3」等を含むグループ名を示している。グループに関連付けられる情報は、メッセージングサービス(例えば、メッセージングサービス220)に送信され、メッセージングサービス220によってデータベース260(例えば、グループデータベース232、検索インデックスデータベース252等)内で維持される。
FIG. 16 illustrates aspects of a
一旦、グループが会話への参加を許可されると、グループと会話との間の関連付けがデータベース260に格納される。例えば、メッセージングサービス220は、会話のスレッド識別情報(ID)とグループのグループ識別情報(ID)とをグループデータベース232に格納する。限定ではなく、一例として、グループと会話との間の関連付けは、会話のスレッドIDおよびグループIDに基づいて識別することができる。メッセージングサービスは、グループに関連付けられる情報に基づいて検索インデックスを生成し、該検索インデックスを検索インデックスデータベース252などのデータベース260に格納することができる。グループのすべてのメンバと会話との間の関連付けは、検索インデックスに基づいて判定されてもよく、関連付けはデータベース260に格納されてもよい。グループおよびグループのメンバに関連付けられる情報は、データベース260から取り戻すことができるため、取り戻された情報に基づいて、グループ(すなわち、会話のグループ参加者)のすべてのメンバに関連付けられた表示のために、会話内のメッセージをメッセージングアプリケーションに送信することができる。
Once a group is admitted to participate in a conversation, the association between the group and the conversation is stored in
グループが会話に参加するように(つまり、グループ参加者として)招待された後、任意の特定の個別メンバが他の参加者によって会話に招待され、または会話に直接参加しない限り(例えば、会話にメッセージを投稿しない限り)、グループの個別メンバの識別情報は、表示のために会話の参加者に関連付けられるメッセージングアプリケーションに送信されないようにしてもよい。グループの任意の特定の個別メンバが、他の参加者によって会話に招待された場合、または会話に直接参加する場合、該特定の個別メンバの識別情報を、会話参加者に関連付けられるメッセージングアプリケーションに送信して、該特定の個別メンバの識別情報を表示させる。さらに、該特定の個別メンバは、グループが会話から削除された後であっても、引き続き個別参加者として会話に参加することができる。他の参加者によって会話に招待されていない、または会話に直接参加していないグループの任意の他のメンバは、グループが会話から削除された後、または個別のメンバがグループから削除された後、会話内のそれ以上のメッセージを受信することはない。 After a group has been invited to participate in a conversation (i.e., as a group participant), unless any particular individual member is invited to the conversation by another participant or directly participates in the conversation (e.g., posting a message), the identity of individual members of the group may not be sent to the messaging application associated with the conversation participant for display. When any particular individual member of the group is invited to a conversation by another participant or joins the conversation directly, the identity of that particular individual member is sent to the messaging application associated with the conversation participant. to display the identification information of the specific individual member. Additionally, the particular individual member may continue to participate in the conversation as an individual participant even after the group has been removed from the conversation. Any other member of the Group who has not been invited to the Conversation by another participant or who has not directly participated in the Conversation will be removed from the Conversation after the Group has been removed from the Conversation, or after an individual member has been removed from the Group. No further messages in the conversation will be received.
以下でさらに説明するように、メンバをグループに追加したり、グループから削除したりすることができる。グループの編集(例えば、メンバの追加または削除)を示す情報を受信すると、メッセージングサービス(例えば、メッセージングサービス220)は、データベース260(例えば、グループデータベース232および検索インデックスデータベース252)を更新する。メッセージングサービス220は、データベース260を検索して、どのメンバが現在のグループに含まれているかを決定し、該グループがグループ参加者として参加している会話内の任意のメッセージを、現在の該グループ内のメンバに送信する。該グループの任意の以前の個別メンバが、該個別メンバがグループから削除される前に、既に他のメンバによって該会話に招待された、又は該会話に直接参加した場合、以前の個別メンバは、個別参加者として引き続き会話に参加することができる。メッセージングサービス220は、現在個別参加者として以前の個別メンバに、会話内のメッセージを引き続き送信することができる。
Members can be added to and removed from groups, as described further below. Upon receiving information indicating group edits (eg, adding or removing members), the messaging service (eg, messaging service 220) updates databases 260 (eg,
グループの属性は、グループプライバシ設定1602を含むことができる。図16に示すように、グループ「Group1」はプライベートである。グループ「Group2」もプライベートである。プライバシ設定も、グループデータベース232などのデータベース260内で維持することができる。任意のプライベートグループについても、プライベートグループのメンバのみ、該プライベートグループにアクセスすることが可能である。プライベートグループとは異なり、パブリックグループはグループ内のメンバに限定されない。代わりに、パブリックグループは、会話の任意の参加者、または少なくともメッセージングサービス(例えば、メッセージングサービス220)に登録されている他のユーザのサブセットによってアクセスすることが可能である。
Group attributes can include
グループの属性は、人1603(例えば、グループのメンバ)を含むこともできる。図16は10人のメンバを有するグループ「Group1」を示す。「Group2」は3人のメンバを有する。グループビューにおいて、各グループのメンバは、例として、ユーザ装置(例えば、ユーザ装置242)および/またはメッセージングサービス220のデータベース260に維持することができる、メンバのプロファイル画像、アカウントアバタ、ユーザ名、および/またはハンドルによって表すことが可能である。
Group attributes may also include persons 1603 (eg, members of the group). FIG. 16 shows a group "Group1" with ten members. "Group2" has three members. In the group view, members of each group may have their profile image, account avatar, username, and user device (e.g., user device 242) and/or
グループビューには、ユーザがそれらのグループを管理するための機能が含まれている。上述した、特に図15に示された、新しいグループを作成する特性に加えて、これらの特性は、作動1605を含むことができる。作動1605は、ユーザが属性、例えば名前、プライバシ設定、およびグループのメンバ(例えば、メンバの追加または除去)などを変更することを可能にする「edit」オプションを含む。ユーザが編集オプションを選択することに応じて、図12のウィンドウ1203のようなウィンドウが表示される。このウィンドウには、メンバを追加または削除するオプションが含まれる。作動1605は、さらに、ユーザがグループを削除することを可能にする「delete」オプションを含むことができる。
The group view contains functionality for users to manage their groups. In addition to the properties of creating a new group described above and specifically shown in FIG.
限定ではなく、一例として、1401において、新しいグループを作成することができる。新しいグループは複数のメンバを含む。グループは、メッセージングサービス220のグループサービス251によって作成することができる。メッセージングサービス220はまた、該新しいグループのためのグループIDを作成することができる。グループは、ユーザ入力に基づいて作成することができる。ユーザ入力は、メッセージングアプリケーションのUIのグループビュー、例えば図15のグループビュー1501を介して受け取ることができる。ユーザは、フィードビュー1502からグループビュー1501に切り替えることができる。グループビューにおいて、会話の参加者は「New Group」アイコン1507を選択できる。ユーザがアイコン1507を選択することに応じて、新しいグループを作成するためのオプションを有するUI(例えば、ウィンドウ1503)が表示される。新しいグループは、UI(例えば、ウィンドウ1503)を介して作成することができる。
As an example and not by way of limitation, at 1401 a new group can be created. The new group contains multiple members. Groups can be created by the
オプションにはプライバシ設定1504が含まれる。プライバシ設定1504は、スライド可能なアイコンや切り替え可能なアイコンなどのプライバシオプションを有するアイコン1508の選択によって選択される。一実施形態において、プライベートグループは、メッセージングプラットフォーム全体にわたって他のユーザによって検索不可能である。他の実施形態において、非プライベートグループが発見され、そのため属性などに関連付けられる様々な会話に追加される。
Options include
オプションには、グループ名1505が含まれる。入力フィールド1509にテキストの文字列を入れることで、グループ名1505を入れる。図15に示すように、入力フィールド1509には、グループ名「Patent Team」が入れられる。グループ名1505は、グループを他のグループから区別する。グループのグループ名1505で該グループを検索することができる。 Options include group name 1505 . A group name 1505 is entered by entering a string of text in the input field 1509 . As shown in FIG. 15, input field 1509 contains the group name "Patent Team". Group name 1505 distinguishes the group from other groups. The group can be searched by the group name 1505 of the group.
オプションには、グループ内のユーザ(つまり、メンバ)1506が含まれる。図15は、5つのメンバを有するPatent Teamグループを示す。グループ内のメンバ1506を識別する情報を検索することにより、メンバ1506を招待(例えば、追加)する。限定ではなく、一例として、グループのメンバ1506を識別する情報は、任意のメンバに関連付けられるユーザ名、任意のメンバに関連付けられるエンティティ内のアカウント、任意のメンバに関連付けられる電子メールアドレス、または任意のメンバに関連付けられる電話番号を含むことができる。グループメンバの識別情報を受信すると、メッセージングサービス220は、グループデータベース232と検索インデックスデータベース252などのデータベース260にメンバの識別情報を格納することができる。
Options include users (ie, members) 1506 in groups. FIG. 15 shows a Patent Team group with five members. A
入力フィールド1510にテキスト文字列を入れることにより、メンバ1506を追加する。例えば、図15は、「Patent Team」グループに招待するために、「UserC」という名前のメンバを検索することを示している。ウィンドウには、グループへの招待対象として選択されたメンバの数1511が示されている。ウィンドウで選択されるオプションは、グループの属性及び/又は関連付けである。
Add a
グループは、UI内の「Cancel」ボタン1507を選択することによりキャンセルすることができる。グループは、UI内の「Save」ボタン1508を選択することにより保存することができる。グループが保存されたことに応じて、グループの属性および関連付けをデータベースに保存することができる。
A group can be canceled by selecting the "Cancel"
図14に戻り、1402において、グループ情報(例えば、属性、関連付け)を、図2のグループデータベース232などの1つまたは複数のデータベース260に記録(例えば、保存、格納)する。グループ情報は、グループサービス251によって記録することができる。データベースは、会話データベース230、グループデータベース232、ユーザデータベース234、および/または検索インデックスデータベース252を含むことができる。
Returning to FIG. 14, at 1402, group information (eg, attributes, associations) is recorded (eg, saved, stored) in one or
1403において、検索情報のインデックスを格納するために、検索インデックスを構築する。検索インデックスは、グループサービス251によって構築することができる。検索インデックスは、会話データベース230、トピックデータベース236、グループデータベース232、およびユーザデータベース234などの他のデータベースと関連して動作することができる。検索インデックスは、メッセージングサービスがメッセージおよび会話に関連付けられる属性(例えば、グループ属性)を検索することを可能にする。検索インデックスにより、アクセス許可の管理が可能になる。検索インデックスに基づいて、グループメンバは特定の会話とメッセージにアクセスできる。
At 1403, a search index is constructed to store an index of search information. A search index may be built by
1404において、グループに関連付けられる情報を、表示のために、会話の参加者に関連付けられるメッセージングアプリケーションに出力することができる。グループ情報を出力することは、グループの指示を参加者に、例えば、参加者の装置に送信することを含むことができる。図16に示すように、グループ情報を出力することは、メッセージングアプリケーションのUIを介してグループ情報を表示させることを含むことができる。 At 1404, information associated with the group can be output to a messaging application associated with the conversation participant for display. Outputting group information can include transmitting an indication of the group to the participant, eg, to the participant's device. As shown in FIG. 16, outputting the group information can include causing the group information to be displayed via a UI of the messaging application.
図17は、既存のグループに新しいメンバを追加するための態様1700を示す。1701において、新しいメンバを既存のグループに追加する。ユーザ入力の受け取りに応じて、新しいメンバを既存のグループに追加することができる。ユーザは、UIのグループビューで「edit」アイコンのうちの1つを選択することにより、入力を入れることができる。グループの現在メンバのリストをウィンドウに表示させることができる。ユーザは、グループのメンバではないユーザの名前を検索し、新しいメンバをグループに招待するように選択することができる。
FIG. 17 shows an
メッセージングサービスのグループサービス251は、既存のグループに新しいメンバを追加することができる。グループサービス251は、ユーザ入力の受け取りに基づいて、新しいメンバを追加することができる。グループサービス251は、新しいメンバとグループとの関連付けを1つまたは複数のデータベース260に保存することができる。例として、データベース260は、会話データベース230、グループデータベース232、ユーザデータベース234、トピックデータベース236、および/または検索インデックスデータベース252を含むことができる。
The messaging service's
1702において、関連付けられる会話、トピックタグなど、グループに関連する情報のルックアップを実行する。グループ属性には、既存のグループメンバなどが含まれる。ルックアップは、1つまたは複数のデータベース260にクエリを送信することによって実行する。新しいメンバについて属性をインポートする。属性をインポートすることは、属性をローカルに、例えばグループサービス251のメモリに格納することと、新しいメンバ属性をグループデータベース232に格納することとを含むことができる。
At 1702, a lookup of information related to the group, such as associated conversations, topic tags, etc. is performed. Group attributes include existing group members and the like. A lookup is performed by sending a query to one or
1703において、グループに関連付けられる会話を新しいメンバに出力する。会話は、プッシュサービス224によって出力することができる。会話を出力することは、グループに関連付けられる様々な会話に含まれるメッセージを新しいメンバに、例えば、新しいメンバの装置に送信することを含むことができる。会話を出力することは、メッセージングアプリケーションのUIを介して新しいメンバに会話を表示させることを含むことができる。
At 1703, conversations associated with the group are output to new members. Conversations can be output by
1704において、グループのメンバを発見する。グループのメンバは、グループサービス251および/またはプッシュサービス224によって発見することができる。グループのメンバは、データベース260にクエリすることにより発見することができる。グループサービス251は、グループのメンバを決定し、メンバの指示をプッシュサービス224に送信することができる。
At 1704, members of the group are discovered. Group members can be discovered by
1705において、決定されたグループメンバを、グループの決定されたメンバに通知する。プッシュサービス224によって、メンバに通知してもよい。新しいメンバが追加されたことをメンバに通知できる。メンバに通知することは、メンバに、例えば、メンバの装置に通知を送信することを含むことができる。メンバに通知することは、メッセージングアプリケーションのUIを介して、例えばグループビュー内で、メンバへグループメンバを表示させることを含むことができる。
At 1705, the determined group members are communicated to the determined members of the group. Members may be notified by
いくつかの実施形態において、メッセージングサービス220および/またはメッセージングアプリケーション240は、複数のメンバを含むグループを特定するための情報を含む、会話内のメッセージを受信することができる。この情報の受信に応じて、メッセージングサービス220は、データベース260にクエリして、会話内のメッセージの少なくともサブセットを、会話内のメッセージの該少なくともサブセット表示するために、グループメンバに関連付けられるメッセージングアプリケーション240に送信することができる。一例において、メッセージングサービス220および/またはメッセージングアプリケーション240は、グループに関連付けられるデータを分析することによって、グループのメンバに関連付けられる情報を取得することができる。一例において、グループに関連付けられるデータは、グループのメンバおよび属性の情報を含む。別の例において、グループに関連付けられるデータは、グループが参加する会話の内容の少なくとも一部をさらに含むことができる。
In some embodiments,
別の態様によれば、期限日に関連付けられるタスクが一人の参加者(割当者ユーザ)によって作成され、会話内の別の参加者(被割当者ユーザ)に割り当てられることが可能である。図18および図19は、会話内で期限日に関連付けられるタスクを割り当てるための技術を示す。メッセージングサービスは、チャットサービス222を含む。チャットサービス222は、装置またはプログラム、例えば図1のクラウドコンピューティングネットワーク100内の装置またはプログラムによって提供することができる。チャットサービス222は、メッセージングサービスのユーザが会話内でメッセージを交換し、且つ/または会話を生成することを可能にする。
According to another aspect, a task associated with a due date can be created by one participant (assignee user) and assigned to another participant (assignee user) in the conversation. 18 and 19 illustrate techniques for assigning tasks associated with due dates within a conversation. Messaging services include
チャットサービス222がユーザからの入力を受け取ると、タスクが開始される。いくつかの実施形態において、まず、メッセージングアプリケーション(例えば、メッセージングアプリケーション240)を介して、割当者ユーザによってタスクを編集し、次に、被割当者ユーザに該タスクを割り当てるために、被割当者ユーザを会話に加入するように招待することができる。他の実施形態において、タスクを編集することおよびタスクを割り当てるために被割当者ユーザを招待することは、割当者ユーザに関連付けられるメッセージングアプリケーションの同じUI上で同時に実行することができる。チャットサービス222は、会話を介して、例えば、ユーザ装置上のメッセージングアプリケーションのUI内の会話の入力フィールドを介して、入力を受け取ることができる。
Tasks are initiated when the
例示のために、図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 purposes of illustration, FIG. 19 shows a
入力には、メッセージに関連付けられる日付が含まれてもよい。この日付は、タスクの期限日であってもよい。この日付は、タスクに関するリマインダを送信する必要がある日付であってもよい。この日付は、ユーザ装置上のメッセージングアプリケーションのUIを介して出力されるアイコンの選択を含むことができる。アイコンは、例えば図16のアイコン1601のようなカレンダを表すことができる。
The input may include a date associated with the message. This date may be the due date of the task. This date may be the date when a reminder about the task should be sent. This date may include a selection of icons output via the UI of the messaging application on the user device. The icon can represent a calendar, such as
図18に戻り、1802において、入力に基づいて割当情報を生成する。チャットサービス222は、割当情報を生成することができる。割当情報は、タスクを割り当てるユーザ、タスクが割り当てられたユーザ、メッセージおよび/またはタスク、および/または期限日の間の関連付けを含むことができる。割当情報は、タスクデータベース256、会話データベース230、およびユーザデータベース234などの1つ又は複数のデータベース260に格納される。チャットサービス222は、割当情報を格納することができる。
Returning to FIG. 18, at 1802, allocation information is generated based on the inputs.
1803において、割当情報に基づいて、割当者属性および/または被割当者属性を会話に追加する。チャットサービス222は、属性を追加することができる。属性を追加することには、割当者ユーザ、被割当者ユーザ、メッセージおよび/またはタスク、期限日、および/または会話の間の関連付けを格納することを含むことができる。属性は、会話データベース230、タスクデータベース256、ユーザデータベース234、およびグループデータベース232などのデータベース260に格納される。
At 1803, assignor attributes and/or assignee attributes are added to the conversation based on the assignment information.
実施形態によれば、タスクはステータスを有する。ステータスは、タスクの期限日及び/又はタスクがどんな完了段階にあることを示す属性に基づく。たとえば、タスクおよび/または期限日が生成された場合、ステータスを「オープン」、「未完了」、および/または「未検証」に設定できる。ステータスの説明的な属性は、選択可能なアイコンや選択可能なアイコンのリストなど、UI内の事前に記入された選択可能な入力とすることができる。説明的な属性は、例えばメッセージングアプリケーションのUIの入力フィールドに、ユーザによって入力されるテキスト文字列とすることができる。 According to embodiments, a task has a status. The status is based on the task's due date and/or attributes indicating what stage of completion the task is in. For example, when tasks and/or due dates are created, the status can be set to "open," "incomplete," and/or "unverified." A descriptive attribute of the status can be a prefilled selectable input in the UI, such as a selectable icon or a list of selectable icons. A descriptive attribute can be, for example, a text string entered by the user into an input field in the UI of the messaging application.
割当者ユーザおよび/または被割当者ユーザは、ステータスを例えば「クローズ」、「完成」、および/または「検証済み」に変更できる。ステータスは、タスクが完了したか否かに基づいて変更することが可能である。たとえば、タスクが完了した場合、ステータスを「完了」に変更できる。ステータスは、タスクおよび/または期限日と関連付けてデータベース260に保存される。ステータスの変更に応じて、新しいステータスをデータベース260に保存する。メッセージングサービス220(例えば、チャットサービス222)は、ステータス、タイムスタンプ(例えば、検証された時刻、最後に更新された時刻など)、および他の情報を決定し、データベース260(例えば、タスクデータベース256)に格納することができる。ステータスの変更に応じて、通知をユーザに送信する。一実施形態によれば、ステータスは、例えばユーザ装置上のメッセージングアプリケーションのUI内の会話内で、割当者ユーザ、被割当者ユーザ、および/または会話の参加者に表示される。タスクのステータスおよび期限日を示す情報を受信すると、メッセージングアプリケーションは、タスクのステータスおよび期限日を表示することができる。
The assignor user and/or assignee user can change the status to, for example, "closed," "completed," and/or "verified." Status can change based on whether the task is completed or not. For example, if a task is completed, the status can be changed to "completed". Statuses are stored in
1804において、会話のすべての参加者を発見する。チャットサービス222は、参加者を発見することができる。データベース260にクエリすることによって、会話内の参加者を決定することができる。メッセージングサービスのプッシュサービス224に参加者を送信することができる。プッシュサービス224は、メッセージングサービスの装置またはプログラムとすることができる。
At 1804, all participants in the conversation are discovered.
1806において、タスクのステータスを、会話の決定された参加者にプッシュする。プッシュサービス224は、ステータスをプッシュすることができる。ステータスをプッシュすることは、ステータスを参加者の装置(例えば、ユーザ装置242)に送信することを含むことができる。ステータスをプッシュすることは、ユーザ装置(メッセージングアプリケーション242)上のメッセージングアプリケーション(例えば、メッセージングアプリケーション240)のUIを介して会話内でステータスを表示することを含むことができる。メッセージングサービス(例えば、メッセージングサービス220)は、タスクの期限日またはステータスへの変更を示す情報を、例えば、割当者ユーザおよび被割当者ユーザから受信すると、タスクのステータスを更新することができる。すると、メッセージングサービスは、タスクの更新ステータスを表示させるために、タスクの更新されたステータスを示す情報を、参加者に関連付けられるユーザ装置に送信することができる。
At 1806, the status of the task is pushed to the determined participants of the conversation. A
一実施形態によれば、メッセージングサービスは、リマインダスケジューラサービス253を含む。リマインダスケジューラサービス253は、メッセージングサービスの装置またはプログラムとすることができる。リマインダスケジューラサービス253は、メッセージングサービスのデータベース260にアクセスできる。リマインダスケジューラサービス253は、割り当てられたタスク、該タスクに関連付けられる会話、および該タスクに関連付けられる1つまたは複数のユーザを決定する。
According to one embodiment, the messaging service includes
ユーザ(例えば、ユーザA)は、リマインダ日付を示す入力を入れることができる。図19に示すように、ユーザは、メッセージングアプリケーションのUI1900を介して、リマインダを送信する期限日を示す入力を入れることができる。例えば、ユーザAは、日付選択アイコン1902を選択する。日付選択アイコン1902の選択に基づいて、選択可能な日付のあるウィンドウ1901が表示される。ウィンドウ1901は、1年の日と月を示すカレンダを表すことができる。ユーザAは、ウィンドウ1901内で2020年4月28日のリマインダ日付を選択する。ユーザがリマインダ日付を入力することに基づいて、リマインダ日付はデータベース260に送信され、例えばメッセージングサービス220のリマインダスケジューラサービス253によって、タスクおよび/または期限日に関連付けられて図15に示すようなタスクデータベース256などのデータベース260に格納される。
A user (eg, User A) can enter an entry indicating a reminder date. As shown in FIG. 19, the user may enter an input via the
リマインダスケジューラサービス253は、タスクのステータスおよび/または期限日が変更されたか否かを判定することができる。リマインダスケジューラサービス253は、データベース260にクエリすることによって、タスクに割り当てられた現在の説明的な属性および/または期限日を決定することと、期限日が過ぎたか否かを判定することにより、タスクのステータスが変更したか否かを判定することができる。ステータスが「クローズ」、「完成」、および/または「検証済み」ステータスに変更したことに基づいて、リマインダスケジューラサービス253は、リマインダを送信しない。1811において、タスクのステータスが変更しないか、「オープン」、「未完了」、または「未検証」のままであることに基づいて、タスクおよび/または期限日のリマインダを、リマインダスケジューラサービス253によって送信する。このリマインダは、割当者ユーザ、被割当者ユーザ、および会話の別の参加者に送信される。メッセージは、プッシュサービス224に送信することができる。ステータス変更の指示は、プッシュサービス224に送信される。
The
1812において、プッシュサービス224は、リマインダスケジューラサービス253からメッセージを受信する。メッセージングサービス220(例えば、プッシュサービス224)は、期限日および/またはタスクを、割当者ユーザおよび/または被割当者ユーザに通知および/またはリマインドする。メッセージングサービスはまた、期限日および/またはタスクを他の参加者に通知またはリマインドすることもできる。プッシュサービス224は、リマインダ、および/または期限日および/またはタスクに対するステータス変更を、割当者ユーザ、被割当者ユーザ、および他の参加者に通知する。いくつかの実施形態によれば、プッシュサービス224は、ユーザに関連付けられる装置にメッセージを送信することによって参加者に通知する。一態様によれば、プッシュサービス224は、例えば、期限日の1週間前、期限日の2週間前、期限日の前日、期限日の1時間前など、所定の時間周期でリマインダを送信することができる。プッシュサービス224は、参加者の装置を介して出力されるUIにリマインダを表示させることによって参加者に通知することができる。プッシュサービス224は、期限日および/またはタスクのステータス変更に基づいて、リマインダの提供を停止することができる。タスク割り当ておよびタスクリマインドの特性は、本開示に従ったメッセージングサービスが従来のメッセージングシステムよりも多い機能を提供することを可能にする。
At 1812 ,
ユーザは、別のユーザによるステータス変更に応じることができる。たとえば、割当者ユーザは、被割当者ユーザがタスクを「完了」とマークしたことに応じて、タスクを「検証済み」とマークすることで、タスクの完了がユーザにより検証されたことを示す。割当者ユーザは、たとえば、タスクが満足に実行されていないことにユーザが気づいた場合や、別の作業が必要であるとユーザが判断した場合に、「完了」とマークされたタスクを再度開くことができる。実施形態によれば、ステータス変更に基づいて、UIに表示される期限日および/またはタスクの色または他のインジケータは変更する。ステータス変更に基づいて、変更の指示は、例えばプッシュサービス224によって、会話の参加者に送信される。
A user can respond to a status change by another user. For example, the assignee user marks the task as "verified" in response to the assignee user marking the task as "completed" to indicate that the completion of the task has been verified by the user. Assignor users may reopen tasks marked "completed", for example, if the user notices that the task is not being satisfactorily performed, or if the user determines that further work is required. be able to. According to embodiments, the due date and/or the color or other indicator of the task displayed in the UI changes based on the status change. Based on the status change, an indication of the change is sent to the conversation participants, for example by
いくつかの実施形態において、メッセージングアプリケーション240は、会話内でタスクに関連付けられる情報を受信することができる。この情報には、ユーザ(例えば、被割当者)を識別するための識別子、タスクの内容、日付を示す情報が含まれる。メッセージングアプリケーション240は、タスクに関連付けられる情報をメッセージングサービス220に送信することができる。メッセージングアプリケーション240から情報を受信すると、メッセージングサービス220は、識別されたユーザ(例えば、被割当者)に該情報を送信することができる。メッセージングアプリケーション240はさらに、タスクステータスの更新を示す情報を受信し、更新されたタスクステータスを表示することができる。タスクの内容は、会話の内容の少なくとも一部を含むことができる。
In some embodiments, messaging application 240 may receive information associated with a task within a conversation. This information includes an identifier for identifying the user (for example, the assignee), the content of the task, and information indicating the date. Messaging application 240 can send information associated with the task to
一実施形態によれば、メッセージングサービス220は、電子メール統合機能でチャットおよび電子メールの特性を融合させる。図20はメッセージングサービスのチャットおよび電子メール統合処理の一例を示す。本開示にかかるメッセージングサービスは、電子メールとメッセージングサービスの統合を実現することにより、情報交換の効率を向上させる。図示されるように、メッセージングサービス(例えば、メッセージングサービス220)は、チャットサービス222を含む。チャットサービス222は、独立のサービスであってもよく、またはメッセージングサービス220の特性として組み込まれていてもよい。チャットサービス222は、メッセージングサービス220における会話を管理する。
According to one embodiment,
2002において、チャットサービス222は、例えばユーザ装置から入力を受け取る。具体的には、チャットサービス222は、ユーザ装置上で動作するメッセージングアプリケーションを介して、例えば、メッセージングアプリケーション240のUIの入力フィールドを介して、メッセージ形式の入力を受け取る。図21は、電子メール参加者を会話2101に招待し、電子メール参加者宛てのメッセージを入れる例示的なUIの説明図を提供する。外部電子メール参加者Aを会話2101に入れるために、ユーザは電子メールアドレス等の外部アドレスの形式でメッセージを入れる。図21に示すUI2100の特定例において、ユーザは電子メールアドレスUserF@gmail.com 2105を入れた。したがって、チャットサービスは、メッセージを解析し、該メッセージをメッセージングサービスの外部のエンティティ(すなわち、電子メール参加者A)に関連付けられる電子メールアドレスとして認識する。電子メールアドレスは、電子メールサービス254にも関連付けられる。この例は、ユーザがドメイン「gmail.com」を含む電子メールアドレスを入れたことを示す。他の実施形態は、例えば、事前定義されたキャラクタによって表される、メッセージングサービスによって以前から知られている電子メールエイリアスを使用することができる。
At 2002,
図20に戻り、2008において、チャットサービス222は、電子メールアドレスと会話との関連付けを、例えば、会話メタデータ230および電子メールユーザデータベース237に格納する。一旦電子メール参加者Aが招待され、会話へのアクセスを許可されると、メッセージングサービス(例えば、メッセージングサービス220)は、会話を識別するための識別子を生成することができる。識別子は、メッセージングサービス220の外部の電子メールサービスによって会話を識別するために使用され、電子メール参加者の電子メールアドレスに関連付けられることが可能である。別の例において、任意の電子メール参加者を会話に招待する前に、メッセージングサービス220は、外部電子メールサービスに使用される会話を識別するための識別子を生成することができる。メッセージングサービスは、電子メール参加者に関連付けられる外部電子メールサービスに識別子を送信することができる。限定ではなく、一例として、会話を識別するための識別子は、会話に対応する返送電子メールアドレスであってもよい。外部電子メールサービスは、その後、会話に関連付けられる返送電子メールアドレスに電子メールを送信することができる。会話に関連付けられる電子メールアドレスから電子メールを受信したという判定に応じて、メッセージングサービスは、該電子メールに基づいてメッセージを生成し、電子メールに基づいて生成されたメッセージを表示させるために、会話の参加者に関連付けられるメッセージングアプリケーション(例えば、メッセージングアプリケーション240)に該メッセージを送信することができる。一方、電子メールが会話に関連付けられる電子メールアドレスからのものではないと判定したことに応じて、メッセージングサービスは、電子メールを破棄し、且つ/又は、会話に対応する返送電子メールアドレスへの電子メール送信が禁止されている旨の通知を返信する。
Returning to FIG. 20, at 2008
図21は、メッセージングアプリケーション(例えば、メッセージングアプリケーション240)の例示的なUI2100を示す。UI2100は、会話2101を含むことができる。会話2101は、入力フィールド2102を含むことができる。ユーザ入力は、入力フィールド2102を介して受け取ることができる。電子メール参加者宛ての例示的な入力2104は、「Hi,external User F.」という内容が含まれている。例示的な入力(すなわち、会話2101内のメッセージ)2104は、電子メールアドレスであるUserF@gmail.comを含む。電子メールアドレス及び内容を入力フィールド2102に入れることができる。
FIG. 21 shows an
2009において、チャットサービス222は、会話内の既存の参加者を発見する。既存の参加者は、メッセージングサービスのユーザおよび/または既存の外部電子メールユーザとすることができる。チャットサービス222は、会話メタデータに基づいて参加者を発見する。このために、チャットサービス222は、会話に関連付けられるユーザをユーザデータベース234にクエリし、参加者であるユーザを電子メールユーザデータベース237にクエリすることによって、参加者を発見する。電子メール参加者が会話に追加されたという指示を受信した後、後続のメッセージを会話に追加することができ、電子メールメッセージが生成され、電子メール参加者Aに関連付けられる電子メールアドレスに、以下でより全面的に説明されるように送信される。
At 2009,
いくつかの実施形態において、メッセージングサービス220は、電子メール参加者Aを識別する情報(例えば、電子メール参加者Aに関連する電子メールアドレス)を含む、会話内のメッセージを受信すると、電子メールメッセージを生成することができる。電子メールメッセージは、電子メールサービス254に関連付けられる電子メールプロトコルに従って生成される。生成された電子メールメッセージは、受信されたメッセージの少なくともサブセット及び電子メールアドレスを含む。いくつかの実施形態において、生成された電子メールメッセージはさらに、メッセージングサービス220によって生成され、会話に対応する返送電子メールアドレスを含むことができる。別の例において、メッセージングサービス220は、複数の会話にそれぞれ対応する複数の返送電子メールアドレスを生成することができる。電子メール参加者Aの電子メール受信ボックスに配信するために、生成された電子メールメッセージをメッセージングサービス220(例えば、電子メールサービス254)によって、電子メールアドレスに関連付けられる外部電子メールサービスに送信することができる。他の実施形態において、外部電子メール参加者は、単一の後続メッセージまたは後続メッセージの少なくともサブセットを受信する。他の実施形態において、会話内のすべての後続のメッセージは、外部電子メール参加者Aに送信される。
In some embodiments, when messaging
チャットサービス222は、新しいメッセージを会話参加者の指示と共にメッセージングアプリケーションのプッシュサービス224に送信する。2011において、プッシュサービス224は、外部電子メールアドレスを含むメッセージを既存の参加者に通知する。既存の参加者に通知することは、メッセージおよび/または電子メールアドレスの指示を会話の参加者に送信することを含むことができる。既存の参加者に通知することは、メッセージおよび/または電子メールアドレスを会話に表示させることを含むことができる。
The
プッシュサービス224は、メッセージの指示をメッセージングアプリケーションの電子メールサービス254に送信することができる。電子メールサービス254は、メッセージングサービスの一部であるサービスとしてもよい。一実施形態において、電子メールサービス254は、SMTPなどの電子メールプロトコルに従って、1つまたは複数のメッセージを電子メールの形式にフォーマットする。これにより、電子メールサービスは、生成された電子メールメッセージのヘッダフィールドに電子メール参加者Aに関連付けられる外部電子メールアドレスを追加し、生成された電子メールメッセージの本文にメッセージ内容を追加することができる。さらに、いくつかの実施形態において、電子メールサービス254は、メッセージ内容に起因する、会話を示す情報、例えば、会話に対応し且つメッセージングサービス220によって生成された返送電子メールアドレスを、電子メールメッセージに追加する。
The
具体的には、例えば電子メールサービス254を介してメッセージングサービスによって受信された電子メールメッセージに対する返信は、会話との関連付け(例えば、会話に対応する返送電子メールアドレス)を示す情報を含む。返信に関連付けられる情報を、電子メールメッセージに対する返信の少なくとも1つの内容を表示させるために、会話の参加者に関連付けられるメッセージングアプリケーションにプッシュすることができる。したがって、電子メールメッセージに追加され、且つ、電子メールメッセージに対する任意の返信にも含まれる情報(例えば、会話に対応する返送電子メールアドレス)は、電子メールメッセージに対する該返信に関連付けられる情報を会話の参加者に関連付けられるメッセージングアプリケーションにプッシュするために、対応する会話を識別するのに役立つ。 Specifically, replies to e-mail messages received by the messaging service, eg, via e-mail service 254, include information indicating an association with the conversation (eg, the return e-mail address corresponding to the conversation). Information associated with the reply can be pushed to a messaging application associated with the conversation participant to cause display of at least one content of the reply to the email message. Thus, information added to an email message and included in any reply to an email message (e.g., a return email address corresponding to a conversation) may change the information associated with the reply to the email message to the conversation. Helps identify corresponding conversations to push to messaging applications associated with participants.
上述したように、この関連付けの一例は、メッセージングサービス220(例えば、電子メールサービス254)が、各会話に関連付けられる対応する返送電子メールアドレスを生成することである。限定ではなく、一例として、生成された返送電子メールは、少なくとも部分的にランダムに選ばれたテキスト文字列を含むことができる。たとえば、図22に示すように、メッセージングサービスは電子メール参加者であるUserF@gmail.com2220に、返送電子メールアドレスcalendar-kZNnYBkbywE@feishugroups.com2221で電子メールを送信した。図21に示すように、返送電子メールアドレスは、外部電子メールアドレス2220に送信されるべきメッセージを作り出した特定の会話に関連付けられる。返送電子メールアドレス2221は、電子メールメッセージの送信者フィールドで電子メールヘッダに追加される。すると、メッセージングサービス(例えば、メッセージングサービス220)は、返送電子メールアドレス2221に対する返信を使用して、返送電子メールを特定の会話に関連付けることができる。
As noted above, one example of this association is messaging service 220 (eg, email service 254) generating a corresponding return email address associated with each conversation. By way of example, and not limitation, the generated return email may include at least partially randomly selected text strings. For example, as shown in FIG. 22, the messaging service has email participants UserF@gmail. com 2220 with a return email address calendar-kZNnYBkbywE@feishugroups.com 2220.
この方法は、返信電子メールおよびジャンク電子メールによるメッセージングサービスに対するなりすましを防止するために使用することができる。例えば、返送電子メールアドレスは、ランダム電子メールアドレス生成器のフォームで生成することができる。本例において、返送電子メールアドレス2221には「kZNnYBkbywE」が含まれているが、「kZNnYBkbywE」はランダムに選択されており、容易に予測やなりすましできるものではない。したがって、会話が不要なスパムを受信する事象を減らすのに役立つ。他の例において、電子メールヘッダは、会話を識別するために使用される特定の情報を、例えば件名または他のヘッダフィールドに含むことができる。このような識別子は、スパムの防止または制御を支援するためにメッセージングサービスによって使用されることができるランダムまたは予測困難なキャラクタシーケンスを含むことができる。上述したデータのいずれかまたは全部は、返信電子メールメッセージを後で関連付けおよび分類するために、電子メールメッセージデータベース238などのデータベースに格納することができる。
This method can be used to prevent spoofing of messaging services by return email and junk email. For example, a return email address can be generated in the form of a random email address generator. In this example, the
したがって、2013において、電子メールサービス254は、電子メール参加者Aに関連付けられる電子メールアドレスにフォーマットされた電子メールメッセージを送信することができる。電子メールアドレスに電子メールメッセージを送信することは、電子メールアドレスに関連付けられるドメインに電子メールメッセージを送信することを含むことができる。上述したように、電子メールアドレスに電子メールメッセージを送信することは、会話からの他の情報を電子メールアドレスに送信することを含むことができる。図22は、電子メールの参加者(例えば、UserF@gmail.com2220)によって電子メールメッセージが受信されることを示している。その後、電子メール参加者は、「Hi,there.I am happy!」というテキストを含む返信電子メール2222を作成し、返信電子メール2222を、メッセージングサービスに関連付けられ且つ特定の会話に対応する返送電子メールアドレスに送信する。 Accordingly, at 2013, e-mail service 254 can send a formatted e-mail message to the e-mail address associated with e-mail 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 noted above, sending an e-mail message to the e-mail address may include sending other information from the conversation to the e-mail address. FIG. 22 shows an email message being received by an email participant (eg, UserF@gmail.com 2220). The e-mail participant then composes a reply e-mail 2222 containing the text "Hi, there. I am happy!" Send to your email address.
電子メールサービス254は、該電子メールアドレスから、該メッセージに対する返信を受信することができる。返信は、会話に対応する生成された返送電子メールアドレスで電子メールサービス254によって受信することができる。電子メールサービス254は、例えば返信電子メールに含まれる情報を利用して、例えばデータベース260(例えば、電子メールメッセージデータベース238)にクエリすることによって、返送電子メールアドレスを対応する会話に関連付けるとともに、電子メールメッセージに対する返信に関連付けられる会話を決定する。一実施形態において、メッセージングサービス220(例えば、電子メールサービス254)は、返信をメッセージの形式にフォーマットし、チャットサービス222を介してプッシュサービス224にメッセージを送信する。プッシュサービス224はそれから、返信に対応するメッセージを、会話内の参加者に関連付けられるメッセージングアプリケーションに送信することができる。いくつかの実施形態において、会話は、電子メール参加者Aに加えて、他の電子メール参加者(例えば、電子メール参加者B)を含むことができる。この場合、メッセージングサービス220は、さらに、電子メール参加者Aからの返信に対応する、メッセージングサービス220によってフォーマットされたメッセージに基づいて、電子メールメッセージを生成することができ、メッセージングサービス220はそれから、生成された電子メールメッセージを他の電子メール参加者(例えば、電子メール参加者B)に送信する。
Email service 254 can receive replies to the message from the email address. Replies can be received by email service 254 at the generated return email address corresponding to the conversation. The e-mail service 254 associates the return e-mail address with the corresponding conversation, e.g., by querying a database 260 (e.g., e-mail message database 238), e.g., using information contained in the reply e-mail, and Determine the conversation associated with a reply to an email message. In one embodiment, messaging service 220 (eg, email service 254 ) formats the reply into a message and sends the message to push
図23は、メッセージングアプリケーション(例えば、メッセージングアプリケーション240)の例示的なUI2300を示す。UI2300は、図21のUI2100と同じであってもよいし、類似していてもよい。UI2300は、図21からの会話の継続を含む。電子メールアドレスおよび外部電子メールシステム(例えば、図22の外部電子メールサービス2200)から返信電子メール2222を受信することに基づいて、メッセージングサービス(例えば、メッセージングサービス220)は、メッセージを生成して、該メッセージを会話に追加し、そして、返信電子メール2222に対応するメッセージ2304を表示させるために、会話の参加者に関連付けられるメッセージングアプリケーションに該メッセージを送信することができる。示された例において、外部電子メールアドレスUserF@email.comはメッセージ2304とともに表示される。他のメタデータ、例えば、会話の参加者に関連付けられるメッセージングアプリケーションにメッセージが送信された時刻を表示することもできる。
FIG. 23 shows an
いくつかの実施形態において、メッセージングアプリケーション240は、会話中にユーザによって入れられた情報を受信することができる。この情報は、電子メールアドレスと、該電子メールアドレスに送信される内容とを含むことができる。メッセージングアプリケーション240はそれから、情報をメッセージングサービス220に送信することができる。この情報を受信すると、メッセージングサービス220は、会話および内容を識別するための識別子を、メッセージングサービス220の外部の、電子メールアドレスに関連付けられる電子メールサービスに送信することができる。他の実施形態において、メッセージングサービス220は、外部電子メールサービスから電子メールを受信することができる。この場合、メッセージングサービス220は、電子メールが会話を識別するための識別子を含むという判定に基づいて、電子メールが会話に関連付けられていると判断することができる。メッセージングサービス220はそれから、電子メール内容を含むメッセージを生成し、生成されたメッセージを表示させるために、該生成されたメッセージをメッセージングアプリケーション240に送信することができる。
In some embodiments, messaging application 240 may receive information entered by the user during a conversation. This information can include an e-mail address and the content sent to the e-mail address. Messaging application 240 can then send the information to
図24は、本開示にかかるメッセージングアプリケーション(例えば、メッセージングアプリケーション240)によって実行される例示的なプロセス2400を示す。一連の動作として説明されているが、当業者であれば、様々な実施形態において、説明された動作を追加、除去、並べ替え、または修正することができることを理解するはずである。
FIG. 24 illustrates an
2402において、メッセージングアプリケーション240は、メッセージングサービス(例えば、メッセージングサービス220)のユーザに関連付けられる装置(例えば、ユーザ装置242)上で動作し始める。2404において、メッセージングアプリケーション240は、ユーザが関わっている会話(すなわち、メッセージスレッド)に関連付けられる情報の要求をメッセージングサービス220に送信する。いくつかの実施形態において、要求された情報は、会話に関連付けられるメタデータ、例えば、会話のそれぞれに対応するスレッド識別情報(ID)を含む。要求された情報はさらに、会話に関連付けられる属性、例えば会話に関連付けられるトピック、ユーザ、グループ、タスクなどを示す情報を含む。他の実施形態において、要求された情報はさらに、会話の要約を示すデータ、例えば、各会話のメッセージのサブセットを含むことができる。一例において、各会話のメッセージのサブセットは、会話内の最初のメッセージと最後のメッセージであってもよい。 At 2402, messaging application 240 begins running on a device (eg, user device 242) associated with a user of a messaging service (eg, messaging service 220). At 2404, messaging application 240 sends to messaging service 220 a request for information associated with the conversation (ie, message thread) in which the user is engaged. In some embodiments, the requested information includes metadata associated with the conversations, eg, thread identification information (ID) corresponding to each of the conversations. The requested information further includes information indicating attributes associated with the conversation, such as topics, users, groups, tasks, etc. associated with the conversation. In other embodiments, the requested information may further include data indicative of summaries of conversations, eg, a subset of messages for each conversation. In one example, the subset of messages in each conversation may be the first and last messages in the conversation.
2406において、メッセージングアプリケーション240は、要求された情報を受信し、要求された情報をローカルに、例えばユーザ装置242内に格納する。いくつかの実施形態において、会話のスレッドIDおよび属性を含む受信された情報は、ブラウザキャッシュなどのローカルメモリに格納されてもよい。他の実施形態において、会話のスレッドIDおよび属性をローカルデータベースに格納することができる。2408において、メッセージアプリケーション240は、会話のインジケータを表示する。会話のインジケータは、会話に関連付けられる所定のキャラクタ(例えば、ハッシュタグ#)で始まるトピックを含むことができる。会話のインジケータはさらに、会話に関連付けられる他の所定のキャラクタ(例えば、@符号)で始まるユーザまたはグループを含むことができる。会話のインジケータはさらに、会話の要約を含むことができる。
At 2406 , messaging application 240 receives the requested information and stores the requested information locally, eg, within
図25は、メッセージングアプリケーション240のユーザインターフェース(UI)2500の一例を示す。この例において、トピック(例えば、「patent」2502)によって分類され、ユーザ(例えば、「UserA」2503)またはグループ(例えば、「Group1」2504)によって分類された会話のインジケータが、一番左の列2506に表示される。会話の要約は、一番左の列2506の隣のエリア2508に表示される。会話のタスク属性は、会話の要約とともに表示することもできる。例えば、図25に示すように、タスクのステータス2512およびタスク期限日の変更2514は、それぞれ要約2516および2518とともに表示される。図25のUI2500は例示的なものにすぎず、他の表示配置を使用してもよいことを理解すべきである。
FIG. 25 shows an example user interface (UI) 2500 for messaging application 240 . In this example, indicators of conversations categorized by topic (e.g., "patent" 2502) and categorized by users (e.g., "UserA" 2503) or groups (e.g., "Group1" 2504) are shown in the leftmost columns. 2506. A summary of the conversation is displayed in area 2508 next to
図24に戻り、メッセージングアプリケーション240は、複数の会話のうちの会話のインジケータまたは要約の選択を示すユーザ入力を受け取ることができる。2410において、ユーザ入力を受け取ると、メッセージングアプリケーション240は、選択された会話内のメッセージの要求をメッセージングサービスに送信する。要求には、選択された会話のスレッドIDが含まれる。2412において、メッセージングアプリケーション240は、選択された会話のメッセージを受信し、選択された会話のメッセージを表示させる。限定ではなく、一例として、図25に示すように、選択された会話のメッセージは、メッセージングアプリケーションのUI2500の一番右のエリア2520に表示することができる。一例において、メッセージングアプリケーション240は、要約を利用して、複数の会話の中から選択された会話内の複数のメッセージの要求を送信することができる。メッセージアプリケーション240はそれから、要求に応じて受信された、該選択された会話内の該複数のメッセージに関連付けられる内容を表示することができる。
Returning to FIG. 24, messaging application 240 may receive user input indicating selection of a conversation indicator or summary of a plurality of conversations. At 2410, upon receiving the user input, messaging application 240 sends a request for messages in the selected conversation to the messaging service. The request contains the thread ID of the selected conversation. At 2412, 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, the messages of the selected conversation may be displayed in the
図26は、本開示にかかるメッセージングアプリケーション(例えば、メッセージングアプリケーション240)によって実行される別の例示的なプロセス2600を示す。一連の動作として説明されているが、当業者であれば、様々な実施形態において、説明された動作を追加、除去、並べ替え、または修正することができることを理解するはずである。
FIG. 26 illustrates another
2602において、メッセージングアプリケーション240は、新しい会話の開始を示す入力を受け取る。例えば、ユーザは、図25に示すように、UI2500の「New Conversation」ボタン2526を選択して、新しい会話を開始することができる。いくつかの実施形態において、メッセージングアプリケーション240は、新しい会話のスレッドIDを生成することができる。他の実施形態において、メッセージングアプリケーション240から送信された新しい会話を示す情報を受信すると、メッセージングサービス220によって、新しい会話のためのスレッドIDを生成することができる。
At 2602, messaging application 240 receives input indicating the start of a new conversation. For example, a user can select a "New Conversation"
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, user input can be entered via
ウィンドウ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にタイピングすることができる。
他の実施形態において、メッセージングアプリケーション240は、ユーザによって入れられたメッセージを示すデータを受信することができる。このメッセージは、図25に示すように、例えばUI2500の入力エリア2522を介して、新規または既存の会話内でユーザによって入れることができる。
In other embodiments, messaging application 240 may receive data indicative of messages submitted by users. This message may be entered by the user within a new or existing conversation, eg, via
2606において、メッセージングアプリケーション240は、ユーザ入力が、会話に関連付けられる1つまたは複数の属性を示す情報を含むと判定することができる。メッセージングアプリケーション240は、入力が所定のキャラクタに関連付けられているという判定に基づいて、ユーザ入力が少なくとも1つの属性を示すと判定することができる。例えば、メッセージングアプリケーション240は、所定のキャラクタ(例えば、#、@、または任意の他の所定のキャラクタ)を識別することに基づいて、ユーザ入力が属性(例えば、トピック、ユーザ、またはグループ)を示す情報を含むと判定することができる。各所定のキャラクタ(または所定の複数のキャラクタ)は、属性、例えばトピック、ユーザ、またはグループを表すことができる。他の実施形態において、メッセージングアプリケーション240から情報を受信すると、メッセージングサービス220は、ユーザ入力が会話に関連付けられる1つまたは複数の属性を含むか否かを判定することができる。
At 2606, messaging application 240 can 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 given character. For example, messaging application 240 may determine that user input indicates an attribute (eg, topic, user, or group) based on identifying a predetermined character (eg, #, @, or any other predetermined character). It can be determined that it contains information. Each predefined character (or predefined characters) can represent an attribute, eg, a topic, a user, or a group. In other embodiments, upon receiving information from messaging application 240,
一例において、#記号で始まるテキスト文字列が、会話に関連付けられるトピックとして判定される。別の例において、@記号で始まるテキスト文字列が、会話に招待されたユーザまたはグループとして判定される。別の例において、メッセージングアプリケーション240またはメッセージングサービス220は、電子メールアドレスの構造、例えばテキスト文字列(mailbox)+@+ドメインを認識して、ユーザ入力が会話に関連付けられる電子メールアドレスを含むと判定することができる。
In one example, text strings beginning with the # symbol are determined as topics to be associated with the conversation. In another example, text strings beginning with the @ symbol are determined as users or groups invited to the conversation. In another example, messaging application 240 or
2608において、メッセージングアプリケーション240は、会話に関連付けられる少なくとも1つの属性を示す情報をメッセージングサービス220に送信する。属性を示す情報を受信すると、メッセージングサービス220は、その属性を、会話のスレッドIDに関連付けられる対応する属性データベースに格納する。この属性は、会話に関連付けられるトピック、ユーザまたはグループ、電子メールアドレスなどとすることができる。メッセージを入れることによってユーザ入力を提供するいくつかの実施形態において、メッセージングアプリケーション240は、メッセージの内容およびメッセージに関連付けられるメタデータをメッセージングサービス220に送信することもできる。メッセージの内容は、テキスト、画像、ビデオ、または音声内容であってもよい。メタデータは、(メッセージを作成したユーザのための)ユーザID、メッセージが作成された時刻を示すタイムスタンプなどを含むことができる。メッセージの内容及びメタデータを受信すると、メッセージングサービス220は、メッセージの内容及びメタデータを会話(メッセージスレッド)データベース230に格納する。
At 2608, messaging application 240 sends information to
図29は、本開示にかかるメッセージングアプリケーション(例えば、メッセージングアプリケーション240)によって実行される別の例示的なプロセス2900を示す。一連の動作として説明されているが、当業者であれば、様々な実施形態において、説明された動作を追加、除去、並べ替え、または修正することができることを理解するはずである。
FIG. 29 illustrates another
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 the "Operator"
単一の次元で、例えばメッセージのタイミングで、メッセージを編成する従来のメッセージングシステムとは異なり、本開示にかかるメッセージングサービス220および/またはメッセージングアプリケーション240は、多次元で会話を編成することができる。オプションとして、メッセージングアプリケーション240は、複数の会話に関連付けられる2次元表示を含むインターフェースを生成することができる。2次元表示における2つの次元は、複数の会話に関連付けられる第1の属性と、複数の会話に関連付けられる第2の属性とに基づく。メッセージング装置は、複数の会話に関連する属性の再編成を示す入力をユーザによって提供することができるインターフェースを表示することができる。メッセージング装置は、入力を受け取ることに応じて2次元表示を再編成することができる。
Unlike conventional messaging systems that organize messages in a single dimension, eg, by message timing,
限定ではなく、一例として、図30は、2次元テーブル3002を含むインターフェース3000を示す。2次元テーブル3002は、縦軸3004と横軸3006とを備える。一例において、縦軸3004は、ユーザが関わっている会話に関連付けられるトピックの全部またはサブセットをリストアップすることができる。横軸3006は、ユーザとの会話を有するユーザまたはグループ(例えば、会話中にメンションされ、@記号で始まるユーザまたはグループすなわち「メンション」)の全部またはサブセットをリストアップすることができる。別の例において、縦軸は、ユーザとの会話を有するユーザまたはグループの全部または一部をリストアップすることができ、横軸は、ユーザが関わっている会話に関連付けられるトピックの全部または一部をリストアップすることができる。
By way of example, and not limitation, FIG. 30 shows interface 3000 including two-dimensional table 3002 . Two-dimensional table 3002 comprises
ユーザは、縦軸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 can drag a specific topic listed on the
2次元テーブル3002は、テーブル3002の列および行によって定義される複数のセル(交差)を含む。2次元テーブル3002内の各セルは、対応する属性(例えば、トピックやメンション属性)に基づいて会話をフィルタリングすることができる選択可能なボタンである。複数の交差のそれぞれは、対応する属性を有する1つ又は複数の会話に関連付けられる。一例において、2次元テーブル3002のセルに未読会話数を表示することができる。例えば、セル3014に数字「2」3012が表示され、これは、対応する属性(すなわち、Topic1 3016およびUserA3018)を有する会話の中に、未読メッセージを有する2つの会話が存在することを示す。別の例において、異なるセルは、異なる色または任意の他の適切なインジケータを有することができる。セルに含まれる異なる色または他のインジケータは、対応する属性を有する会話に関連付けられるタスクの異なるステータスを示すことができる。
A two-dimensional table 3002 includes a plurality of cells (intersections) defined by the columns and rows of table 3002 . Each cell in the two-dimensional table 3002 is a selectable button that allows conversations to be filtered based on the corresponding attribute (eg, topic or mention attribute). Each of the multiple intersections is associated with one or more conversations with corresponding attributes. In one example, a cell of the two-dimensional table 3002 can display the number of unread conversations. For example, the number "2" 3012 is displayed in cell 3014, indicating that there are two conversations with unread messages among the conversations with corresponding attributes (ie,
いくつかの実施形態において、UI3000は、「Operator」オプション2526の有効状態と無効状態との間で切り替えることができる「Enable」ボタン3019を含むことができる。他の実施形態において、UI3000は、属性、例えば、トピック(例えば、ハッシュタグ)属性、メンション属性、およびタスクステータス属性の有効状態と無効状態との間で切り替えるためのスライド可能なボタン3018、3020、3022をさらに含むことができる。トピック属性またはメンション属性のどちらかが無効になっている場合、UI3000は2次元テーブル3002の代わりに1次元テーブルを含む。タスクステータス属性が無効である場合、2次元テーブル3002は、異なる色または他の方法でタスクのステータスを示さない。
In some embodiments, the
図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 the reduced size two-dimensional representation over another user interface. The two-dimensional table 3002 shown in Figure 30 presents useful information and attributes associated with conversations to the user and allows the user to reorganize the attributes of the conversations. However, the two-dimensional table 3002 is relatively large and can occupy too much screen space. Accordingly, messaging application 240 can provide a reduced size version of two-dimensional table 3002 in response to user input. User input may be provided by selecting
図31は、2次元テーブル3002の縮小されたバージョン3102を示す。図31に示されるように、縮小されたテーブル3102は、別のユーザインターフェース3104上に重ねられた。2次元テーブル3002と同様に、縮小されたテーブル3102は、セル内に未読会話を示す数を含むことができる。縮小されたテーブル3102は、関連付けられるタスクの異なるステータスを示す異なるセル内で異なる色を有することもできる。縮小されたテーブル3102内の各セルも、2次元テーブル3002内のセルと同様に、対応するトピックおよびメンション属性に基づいて会話をフィルタリングすることができる選択可能なボタンである。縮小された2次元テーブルは、ユーザがUIを使用するときにテーブルを参照できるように、UI上にテーブルを重ねることを可能にする。縮小されたサイズは、画面サイズに基づいて予め決定されてもよいし、例えばテーブルを直接選択してサイズ変更することによって、またはフォームにサイズ範囲を入れることによって、ユーザによって定義されてもよい。
FIG. 31 shows a reduced
図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 selection of an intersection within the two-dimensional representation. In one example, a user can select a cell within a two-dimensional table 3002, as shown in FIG. In another example, as shown in FIG. 31, the user can select a cell within the collapsed table 3102 . At 2912 , messaging application 240 can filter conversations according to selection of cells within either two-dimensional table 3002 or reduced table 3102 . Conversations are filtered by the messaging application based on certain attributes corresponding to the selected cell. For example, in response to selection of
本開示の上述した態様は、いくつかの例および実施形態に関して説明されたが、これらは本開示を例示することを意図しており、限定することを意図しているわけではない。本明細書で提示された要旨は、コンピュータプロセス、コンピュータ制御の装置またはコンピュータシステム、またはコンピュータ可読記憶媒体のような製品として実現することが可能であることを理解すべきである。 While the above aspects of the disclosure have been described with respect to several examples and embodiments, these are intended to be illustrative of the disclosure and not intended to be limiting. It should be understood that the subject matter presented herein can be embodied as a computer process, computer controlled device or computer system, or product such as a computer readable storage medium.
当業者であれば、本明細書に記載された要旨は、本明細書に説明されたもの以外の、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な消費家電、ミニコンピュータ、メインフレームコンピュータ、手持ち式コンピュータ、携帯情報端末、電子リーダ、セルラー電話装置、専用ハードウェア装置、ネットアプライアンスなどを含む他のコンピュータシステム構成上で、または他のコンピュータシステム構成に関連して実装することができる。本明細書に記載された実施形態は、通信ネットワークを通じてリンクされる遠隔プロセッシング装置によってタスクを実行する分散型コンピューティング環境において実装することもできる。分散型コンピューティング環境では、プログラムモジュールは、ローカルメモリ記憶装置およびリモートメモリ記憶装置の両方内に位置することが可能である。 One of ordinary skill in the art will recognize that the subject matter described herein will apply to multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, handhelds, other than those described herein. It can be implemented on or in connection with other computer system configurations, including computers, personal digital assistants, electronic readers, cellular telephone devices, dedicated hardware devices, net 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 can be located in both local and remote memory storage devices.
インターネットおよび/または他のネットワークを介してアクセス可能な1つまたは複数のサービスを1組の分散クライアントに提供するために、企業や公共部門機関などのエンティティによって構築されるネットワークを、プロバイダネットワークと呼ぶことができる。このようなプロバイダネットワークは、プロバイダネットワークによって提供されるインフラストラクチャおよびサービスを実装および配信するために必要な物理的および/または仮想化されたコンピュータサーバ、記憶装置、ネットワーク設備などの集合体のような様々なリソースプールをホストする、複数のデータセンターを含むことができる。いくつかの実施形態において、リソースは、仮想的または物理的なコンピューティングインスタンスまたは記憶装置インスタンスなどのインスタンスと呼ばれる単位でクライアントに提供されてもよい。例えば、仮想コンピューティングインスタンスは、規定されたコンピューティング能力(CPUのタイプおよび数、主メモリのサイズなどを示すことによって規定できる)を有する1つまたは複数のサーバと、規定されたソフトウェアスタック(例えば、ハイパーバイザ上で動作できる特定バージョンのオペレーティングシステム)とを含むことができる。 A network built by an entity, such as a corporation or public sector agency, to provide one or more services accessible over the Internet and/or other networks to a set of distributed clients is called a provider network. be able to. Such Provider Network is 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. It can contain multiple data centers that host different resource pools. 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 is one or more servers with specified computing power (which can be defined by indicating the type and number of CPUs, size of main memory, etc.) and a specified software stack (e.g. , a specific version of an operating system capable of running 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, etc., may be used individually or in combination to implement the resources and services in different embodiments. In at least some embodiments, a server or A computing device 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とを含むことができるが、これらに限定されるわけではない。
FIG. 33 depicts such a general purpose computing device 3300 . Computing device 3300 can operate in a virtual environment, such as
図33の例におけるバス3318は、メモリバスまたはメモリコントローラ、周辺バス、アクセラレーテッドグラフィックスポート、および様々なバスアーキテクチャのうちのいずれを使用するプロセッサまたはローカルバスを含む、いくつかのタイプのバス構造のうちの1つまたは複数を表す。限定ではなく、一例として、このようなアーキテクチャは、工業標準アーキテクチャ(「ISA」)バス、マイクロチャネルアーキテクチャ(「MCA」)バス、拡張ISA(「EISA」)バス、ビデオエレクトロニクス標準協会(「VESA」)ローカルバス、および周辺機器相互接続(「PCI」)バスを含む。 Bus 3318 in the example of FIG. 33 is some type of bus structure, 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. represents one or more of By way of example, and not limitation, such architectures include the Industry Standard Architecture (“ISA”) bus, the Micro Channel Architecture (“MCA”) bus, the Enhanced ISA (“EISA”) bus, the Video Electronics Standards Association (“VESA”) bus. ) local bus, and Peripheral Component Interconnect (“PCI”) bus.
コンピューティング装置3300は、様々なコンピュータシステム可読媒体を含むことができる。このような媒体は、コンピューティング装置3300がアクセス可能な任意の利用可能なメディアであってもよく、揮発性メディアおよび不揮発性メディア、取り外し可能なメディアおよび取り外し不可能なメディアの両方を含む。コンピューティング装置3300はシステムメモリ3328を含むことができ、システムメモリ3328は、ランダムアクセスメモリ(「RAM」)3330および/またはキャッシュメモリ3332のような揮発性メモリの形態のコンピュータシステム可読媒体を含むことができる。コンピューティング装置3300はさらに、他の取り外し可能/取り外し不可能な揮発性/不揮発性コンピュータシステム記憶媒体を含むことができる。ほんの一例として、格納システム3334は、取り外し不可能な不揮発性磁気媒体(図示せず、通常「ハードドライブ」と称される)に対する読み取りおよび書き込みのために提供することがある。図示しないが、「フロッピーディスク」などの取り外し可能な不揮発性磁気ディスクに対して読み取りおよび書き込みするための磁気ディスクドライブと、CD-ROM、DVD-ROMなどの取り外し可能な不揮発性光ディスクまたは他の光学媒体に対して読み取りおよび書き込みするための光ディスクドライブとを提供してもよい。この場合、それぞれ1つ又は複数のデータ媒体インターフェースを介してバス3318に接続することができる。以下でさらに記述および説明されるように、メモリ3328は、本発明の実施形態の機能を実行するように構成されたプログラムモジュールのうちの一セット、例えば少なくとも1つを有する、少なくとも1つのプログラム製品を含むことができる。 Computing device 3300 can include a variety of computer system readable media. Such media can be any available media that can be accessed by computing device 3300 and includes both volatile and nonvolatile media, removable and non-removable media. Computing device 3300 can include system memory 3328 , which includes computer system-readable media in the form of volatile memory, such as random access memory (“RAM”) 3330 and/or cache memory 3332 . can be done. Computing device 3300 may also include other removable/non-removable, volatile/non-volatile computer system storage media. By way of example only, storage system 3334 may provide for reading from and writing to non-removable, nonvolatile magnetic media (not shown and commonly referred to as a "hard drive"). Not shown are magnetic disk drives for reading from and writing to removable non-volatile magnetic disks such as "floppy disks" and removable non-volatile optical disks such as CD-ROMs, DVD-ROMs or other optical An optical disc drive for reading from and writing to the medium may also be provided. In this case, each may be connected to bus 3318 via one or more data media interfaces. Memory 3328 includes at least one program product having a set, eg, at least one, of program modules configured to perform the functions of embodiments of the present invention, as further described and explained below. can include
コンピューティング装置3300は、メモリ3328に記憶可能なプログラムモジュール3342のうちの一セット(少なくとも1つ)を有するプログラム/ユーティリティ3340を含むことができる。図33のコンピューティング装置3300は、オペレーティングシステム、1つまたは複数のメッセージングアプリケーション、他のメッセージングアプリケーションモジュール、およびメッセージングアプリケーションデータをさらに含むことができる。オペレーティングシステム、1つまたは複数のメッセージングアプリケーション、他のメッセージングアプリケーションモジュール、およびメッセージングアプリケーションデータ、またはそれらのいくつかの組み合わせのそれぞれは、図1のクラウドコンピューティングシステム100のようなネットワーク環境の実現を含むことができる。プログラムモジュール3342は、一般に、本明細書に記載された本発明の実施形態の機能および/または方法を実行する。
Computing device 3300 may include programs/
図33のコンピューティング装置3300は、ユーザがコンピューティング装置3300と会話することを可能にするキーボード、ポインティング装置、ディスプレイ3324など、1つまたは複数の外部装置3314と通信することもできる。コンピューティング装置3300は、コンピューティング装置3300が1つまたは複数の他のコンピューティング装置と通信することを可能にする任意の装置、例えば、ネットワークカード、モデムなどを含むこともできる。このような通信は、例えば、I/Oインターフェース3321を介して行うことができる。なお、コンピューティング装置3300は、ネットワークアダプタ3320を介して、ローカルエリアネットワーク(「LAN」)、汎用ワイドエリアネットワーク(「WAN」)、および/または公衆ネットワーク(例えば、インターネット)など、1つまたは複数のネットワークと通信することができる。図示するように、ネットワークアダプタ3320は、バス3318を介してコンピューティング装置3300の他のコンポーネントと通信する。図示されていないが、他のハードウェアおよび/またはソフトウェアコンポーネントも、コンピューティング装置3300と組み合わせて使用することができることを理解すべきである。例えば、マイクロコード、装置ドライバ、冗長プロセッシングユニット、外部ディスクドライブアレイ、RAIDシステム、テープドライブ、およびデータアーカイバル格納システムなどが挙げられるが、これらに限定されない。 Computing device 3300 in FIG. 33 may also communicate with one or more external devices 3314 such as keyboards, pointing devices, displays 3324 that allow a user to interact with computing device 3300 . Computing device 3300 may also include any device, such as a network card, modem, etc., that enables computing device 3300 to communicate with one or more other computing devices. Such communication may occur, for example, via I/O interface 3321 . It should be noted that computing device 3300 may be connected via network adapter 3320 to one or more networks, such as a local area network (“LAN”), a general wide area network (“WAN”), and/or a public network (eg, the Internet). can communicate with any network. As shown, network adapter 3320 communicates with other components of computing device 3300 via bus 3318 . Although not shown, it should be understood that other hardware and/or software components may also be used in conjunction with 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 section may be implemented in code modules executed by one or more computers or computer processors, and may thereby be fully or partially automated. . Code modules may be stored in any type of non-transitory computer readable medium or computer storage device such as hard drives, solid state memory, optical disks, or the like. The processes and algorithms may be implemented partially or wholly in application specific circuits. The results of the disclosed processes and process steps can be stored persistently or otherwise in any type of non-transitory computer storage, such as volatile or nonvolatile storage.
上述した様々な特性およびプロセスは、互いに独立して使用されてもよく、または様々な方法で組み合わされてもよい。すべての可能な組み合わせおよびサブ組み合わせは、本開示の範囲内に入ることを意図している。さらに、いくつかの実施において、一部の方法またはプロセスブロックを省略してもよい。本明細書で説明される方法およびプロセスは、任意の特定の順序に限定されるものではなく、それに関連するブロックまたは状態は、適切な他の順序で実行されてもよい。例えば、説明されたブロックまたは状態は、特別に開示された順番以外の順番で実行されてもよく、あるいは、複数のブロックまたは状態は、単一のブロックまたは状態内で結合されてもよい。例示的なブロックまたは状態は、連続的に、並列に、または何らかの他の方法で実行することができる。ブロックまたは状態は、開示された例示的な実施形態に追加されてもよいし、開示された例示的な実施形態から削除されてもよい。本明細書に記載された例示的なシステムおよびコンポーネントは、説明されたものとは異なるように構成されてもよい。例えば、開示された例示的な実施形態と比較して、要素を追加したり、削除したり、または再配置したりすることができる。 The various features and processes described above may be used independently of each other or combined in various ways. All possible combinations and subcombinations are intended to fall within the scope of this disclosure. Additionally, 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 any other suitable order. For example, blocks or states illustrated may be executed in an order other than the order specifically disclosed, or multiple blocks or states may be combined within a single block or state. Exemplary blocks or states may execute serially, in parallel, or in some other manner. Blocks or states may be added or deleted from the disclosed exemplary embodiments. The example systems and components described herein may be configured differently than described. For example, elements may be added, deleted, or rearranged compared to the disclosed exemplary embodiments.
また、様々なアイテムは、使用中にメモリ内または記憶装置上に記憶されるように示されており、これらのアイテムまたはその一部は、メモリ管理およびデータ完全性の目的のために、メモリと他の記憶装置との間で移転されてもよいことも理解されるであろう。代替として、他の実施形態において、ソフトウェアモジュールおよび/またはシステムの一部または全部を別の装置上でメモリ内で実行し、コンピュータ間通信を介して図示のコンピューティングシステムと通信することができる。さらに、いくつかの実施形態において、システムおよび/またはモジュールの一部または全部は、他の方法で、例えば少なくとも部分的にファームウェアおよび/またはハードウェアで実装または提供されてもよく、ハードウェアは、1つ又は複数の特定用途向け集積回路(ASIC)、標準集積回路、コントローラ(例えば、適切な指令を実行することにより、また、マイクロコントローラおよび/または埋め込みコントローラを含む)、フィールドプログラマブルゲートアレイ、複合プログラマブル論理装置などを含むが、これらに限定されない。モジュール、システム、およびデータ構造の一部または全部は、適切なドライブによってまたは適切な接続を介して読み取るために、ハードディスク、メモリ、ネットワーク、またはポータブルメディア製品などのコンピュータ可読媒体上に(例えば、ソフトウェア指令または構造化データとして)記憶することもできる。システム、モジュール、およびデータ構造は、無線ベースの媒体および有線/ケーブルベースの媒体を含む、様々なコンピュータ可読伝送媒体上で、生成されたデータ信号として(例えば、搬送波または他のアナログまたはデジタル伝搬信号の一部として)送信することもでき、様々な形態をとる(例えば、単一または多重化アナログ信号の一部として、または複数の離散デジタルパケットまたはフレームとする)ことができる。他の実施形態において、そのようなコンピュータプログラム製品は、他の形態をとることもできる。したがって、本発明は、他のコンピュータシステム構成で実施することができる。 Also, various items are shown to be stored in memory or on a storage device during use, and these items, or portions thereof, may be stored in memory or on a storage device for purposes of memory management and data integrity. It will also be appreciated that it may be transferred to and from other storage devices. Alternatively, in other embodiments, some or all of the software modules and/or system may execute in memory on separate devices and communicate with the illustrated computing system via inter-computer communications. Moreover, in some embodiments, some or all of the systems and/or modules may be implemented or provided in other ways, for example, at least partially in firmware and/or hardware, where the hardware includes: 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, Composite Including, but not limited to, programmable logic devices and the like. Some or all of the modules, systems and data structures may be placed on a computer readable medium such as a hard disk, memory, network or portable media product (e.g., software) for reading by a suitable drive or via a suitable connection. instructions or structured data). Systems, modules, and data structures may be transmitted as data signals (e.g., carrier waves or other analog or digital propagated signals) over various computer-readable transmission media, including wireless-based media and wire/cable-based media. ) and can take various forms (eg, as part of a single or multiplexed analog signal, or as a plurality of discrete digital packets or frames). In other embodiments, such computer program products may take other forms. Accordingly, the invention may be practiced with other computer system configurations.
本明細書で使用される条件付き言語は、例えば、特に「可能である」、「できる」、「してもよい」、「ことができる」、「例えば」などは、特に明記しない限り、または使用されるコンテキストで他に理解されない限り、全体として、いつくかの実施形態がいくつかの特性、要素、および/またはステップを含むが、他の実施形態がいくつかの特性、要素、および/またはステップを含まないことを伝えることを意図している。したがって、このような条件付き言語は全体として、特性、要素、および/またはステップが1つまたは複数の実施形態によって任意の方法で必要とされること、または1つまたは複数の実施形態は、作成者の入力またはプロンプトがある又はない状態で、これらの特性、要素、および/またはステップが任意の特定の実施形態に含まれているか、または実行されるかを判定するためのロジックを必然的に含むことを意味するものではない。用語「備える」、「含む」、「有する」等は同義であり、包括的に、制限のない方法で使用され、追加の要素、特性、作動、動作等を除外しない。また、「または」という用語は、(排他的な意味ではなく)包含的な意味で使用されるので、「または」という用語を用いて要素リストを連結する場合、「または」という用語は、リスト内の要素のうちの1つ、一部、または全部を意味する。 Conditional language as used herein, e.g., "can", "could", "may", "could", "for example", etc., unless otherwise specified, or Generally, some embodiments include some features, elements and/or steps, while other embodiments generally include some features, elements and/or steps, unless otherwise understood in the context of use. It is meant to convey that it does not contain steps. Such conditional language as a whole thus means that a property, element, and/or step is required in any way by one or more embodiments, or that one or more embodiments logic for determining whether these features, elements, and/or steps are included or performed in any particular embodiment, with or without human input or prompting. It is not meant to include The terms "comprising," "including," "having," etc. are synonymous and are used inclusively and in an open-ended manner and do not exclude additional elements, features, acts, operations, and the like. Also, the term "or" is used in an inclusive (rather than exclusive) sense, so that when the term "or" is used to concatenate element lists, the term "or" means one, some, or all of the elements within.
いくつかの例示的な実施形態を説明してきたが、これらの実施形態は例として提示されただけであって、本明細書に開示された本発明の範囲を限定することを意図していない。したがって、前述の説明のいかなる部分も、特定の特性、特徴、ステップ、モジュール、またはブロックが必須または不可欠であることを意味するものではない。実際、本明細書に説明された新規な方法およびシステムは、様々な他の形態で実現することができる。さらに、本明細書に開示された本発明の要旨から逸脱することなく、本明細書に説明された方法およびシステムの形態には、様々な省略、置換、および変更が可能である。添付の特許請求の範囲およびその均等物は、本明細書に開示されたいくつかの発明の範囲および要旨内にあるそのような形態または改変をカバーすることを意図している。 Although several exemplary embodiments have been described, these embodiments have been presented by way of example only and are not intended to limit the scope of the inventions disclosed herein. Thus, no part of the above description should be construed as implying that any particular feature, feature, step, module, or block is essential or essential. Indeed, the novel methods and systems described herein can be embodied in various other forms. Moreover, various omissions, substitutions, and modifications may be made in the form of the methods and systems described herein without departing from the spirit of the inventions disclosed herein. The appended claims and their equivalents are intended to cover any such forms or modifications that fall 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]
システムであって、a system,
少なくとも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 the first conversation;
前記第1の会話内のユーザ入力が、トピックを示す情報を含むと判定することと、determining that 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 an operation comprising
を備えるシステム。A system with
[技術案2][Technical Proposal 2]
前記動作はSaid action is
前記第1の会話の第1の参加者に関連付けられるメッセージングアプリケーションから前記トピックの選択を示す入力を受け取ることに応じて、前記第1の会話の少なくともサブセットを、前記複数のメッセージの前記少なくともサブセットを表示させるために、前記メッセージングアプリケーションに送信することをさらに含む、at least a subset of the first conversation and at least a subset of the plurality of messages in response to receiving input indicative of the topic selection from a messaging application associated with a first participant in the first conversation; sending to the messaging application for display;
技術案1に記載のシステム。The system according to
[技術案3][Technical Proposal 3]
前記動作は、The operation is
トピックに関連する情報を含む前記少なくとも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
[技術案4][Technical Proposal 4]
前記動作は、The operation is
前記第1の会話内の第2のメッセージを解析することと、parsing a second message in the first conversation;
前記第2のメッセージがユーザを識別する情報を含むと判定することと、determining that the second message includes information identifying a user;
少なくとも前記第1の会話内の前記複数のメッセージにアクセスすることによって前記ユーザが前記第1の会話に参加することを許可することと、authorizing 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
[技術案5][Technical Proposal 5]
前記トピックを示す前記情報を1つまたは複数のメッセージングアプリケーションに送信することをさらに含み、前記1つまたは複数のメッセージングアプリケーションは、前記許可されたユーザに関連付けられる第2のメッセージングアプリケーションを含む、further comprising sending said information indicative of said topic to one or more messaging applications, said one or more messaging applications including a second messaging application associated with said authorized user;
技術案4に記載のシステム。The system according to
[技術案6][Technical plan 6]
前記少なくとも1つのデータベースは、前記第1の会話を含む複数の会話を含み、前記少なくとも1つのデータベースはさらに、前記複数の会話に関連付けられる属性としての複数のトピックと前記複数の会話の参加者に関連付けられる情報とをさらに格納する、The at least one database includes a plurality of conversations including the first conversation, and the at least one database further includes a plurality of topics as attributes associated with the plurality of conversations and participants in the plurality of conversations. further stores associated information and
技術案1に記載のシステム。The system according to
[技術案7][Technical plan 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 according to
[技術案8][Technical Proposal 8]
システムであって、a system,
少なくとも1つのデータベースと、at least one database;
前記少なくとも1つのデータベースと通信する少なくとも1つのコンピューティング装置であって、at least one computing device in communication with the at least one database,
第1の会話の第1の参加者に関連付けられるメッセージングアプリケーションから、複数のトピックの中からトピックを選択することを示す入力を受け取ることと、receiving input from a messaging application associated with a first participant in a first conversation indicating selecting a topic from among a plurality of topics;
前記第1の会話内の複数のメッセージの少なくともサブセットを表示させるために、前記第1の会話の少なくとも一部を前記メッセージングアプリケーションに送信することと、sending at least a portion of the first conversation to the messaging application for display of at least a subset of the plurality of messages in the first conversation;
を含む動作を実行するように構成された少なくとも1つのコンピューティング装置と、を備え、at least one computing device configured to perform an operation comprising
前記トピックを示す情報と前記第1の会話との間の関連付けは、前記少なくとも1つのデータベースに格納される、an association between information indicative of the topic and the first conversation is stored in the at least one database;
システム。system.
[技術案9][Technical plan 9]
前記動作は、The operation is
前記選択されたトピックに関連付けられる別の会話内の複数のメッセージの少なくともサブセットを表示させるために、前記別の会話を、前記メッセージングアプリケーションに送信すること、sending the separate conversation to the messaging application for display of at least a subset of a plurality of messages in the separate conversation associated with the selected topic;
をさらに含む技術案8に記載のシステム。The system according to
[技術案10][Technical Plan 10]
方法であって、a method,
会話内の複数のメッセージを受信することと、receiving multiple messages in a conversation; and
前記会話内のユーザ入力が、トピックを示す情報を含むと判定することと、determining that user input within the conversation includes information indicative of a topic;
前記トピックを示す情報と前記会話との間の関連付けを格納することと、storing an association between information indicative of the topic and the conversation;
を含む方法。method including.
[技術案11][Technical Proposal 11]
前記トピックに関連付けられる選択を示す第1のユーザからの入力を受け取ることに応じて、前記第1のユーザからの前記入力に応じて前記複数のメッセージの少なくともサブセットを表示させるために、前記複数のメッセージの前記少なくともサブセットを前記第1のユーザに関連付けられる第1のユーザ装置に送信することをさらに含む、in response to receiving input from a first user indicating a selection associated with said topic, for displaying at least a subset of said plurality of messages in response to said input from said first user; further comprising transmitting said at least a subset of messages to a first user device associated with said first user;
技術案10に記載の方法。The method described in
[技術案12][Technical Proposal 12]
トピックに関連する情報を含むデータベースを検索することによって、前記トピックが新しいと判定することと、determining that the topic is new by searching a database containing information related to the topic;
前記トピックが新しいと判定すると、前記トピックを示す情報を前記データベースに格納することと、upon determining that the topic is new, storing information indicative of the topic in the database;
をさらに含む技術案10に記載の方法。The method according to
[技術案13][Technical Proposal 13]
前記トピックを示す前記情報は、前記トピックを示す文字列の少なくとも一部を含む、the information indicating the topic includes at least part of a character string indicating the topic;
技術案12に記載の方法。The method described in
[技術案14][Technical Proposal 14]
第2のメッセージを解析することに基づいて、前記第2のメッセージが第2のユーザを識別する情報を含むと判定することと、determining, based on parsing the second message, that the second message includes information identifying a second user;
前記第2のユーザに前記会話へのアクセスを許可することと、authorizing the second user to access the conversation;
をさらに含む技術案10に記載の方法。The method according to
[技術案15][Technical Proposal 15]
前記トピックの指示を表示させるために、前記トピックを示す情報を、前記第2のユーザに関連付けられる第2のユーザ装置に送信することをさらに含む、further comprising transmitting information indicative of the topic to a second user device associated with the second user to cause indication of the topic to be displayed;
技術案14に記載の方法。The method described in
[技術案16][Technical Proposal 16]
前記第2のユーザから第3のメッセージを受信することと、receiving a third message from the second user;
前記第3のメッセージを前記複数のメッセージに追加することと、adding the third message to the plurality of messages;
をさらに含む技術案14に記載の方法。The method according to
[技術案17][Technical Proposal 17]
前記第2のユーザが前記複数のメッセージにアクセスする前記許可を示す通知を、前記第1のユーザ装置に送信することをさらに含む、further comprising sending a notification to the first user device indicating the permission for the second user to access the plurality of messages;
技術案14に記載の方法。The method described in
[技術案18][Technical Proposal 18]
前記会話と前記会話の複数の参加者との間の関連付けを格納することをさらに含むFurther comprising storing an association between the conversation and multiple participants of the conversation.
技術案10に記載の方法。The method described in
[技術案19][Technical Proposal 19]
前記会話内の第3のメッセージを受信することと、receiving a third message in said 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 to cause the third message to be displayed;
をさらに含む技術案18に記載の方法。The method according to
[技術案20][Technical plan 20]
文字列は、前記文字列が前記トピックを示すと判定するための識別子を含む、the string includes an identifier for determining that the string indicates the topic;
技術案10に記載の方法。The method described in
[技術案21][Technical Proposal 21]
方法であって、a method,
第1の会話の第1の参加者に関連付けられるメッセージングアプリケーションから、複数のトピックの中からトピックを選択することを示す入力を受け取ることと、receiving input from a messaging application associated with a first participant in a first conversation indicating selecting a topic from among a plurality of topics;
前記第1の会話内の複数のメッセージの少なくともサブセットを表示させるために、前記第1の会話の少なくとも一部を前記メッセージングアプリケーションに送信することと、を含み、sending at least a portion of the first conversation to the messaging application for display of at least a subset of the plurality of messages in the first conversation;
前記トピックを示す情報と前記第1の会話との間の関連付けは、前記少なくとも1つのデータベースに格納される、an association between information indicative of the topic and the first conversation is stored in the at least one database;
方法。Method.
[技術案22][Technical Proposal 22]
前記選択されたトピックに関連付けられる別の会話内の複数のメッセージの少なくともサブセットを表示させるために、前記別の会話を、前記メッセージングアプリケーションに送信することをさらに含む、sending the separate conversation to the messaging application for display of at least a subset of a plurality of messages in the separate conversation associated with the selected topic;
技術案21に記載の方法。The method described in
[技術案23][Technical Proposal 23]
コンピュータ可読指令が記憶されている非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ可読指令は、コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、A non-transitory computer-readable storage medium having computer-readable instructions stored thereon, said computer-readable instructions, when executed on a computing device, causing said computing device to at least:
複数のメッセージを受信することと、receiving multiple messages;
前記複数のメッセージのうちの第1のメッセージを解析することに基づいて、前記第1のメッセージがトピックを示す文字列を含むと判定することと、Based on parsing a first message of the plurality of messages, determining that the first message includes a string indicative of a topic;
前記トピックを示す前記文字列の少なくとも一部と前記複数のメッセージとの間の関連付けを格納することと、storing an association between at least a portion of the string indicative of the topic and the plurality of messages;
を行わせる非一時的なコンピュータ可読記憶媒体。A non-transitory computer-readable storage medium that causes
[技術案24][Technical Proposal 24]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、When executed on said computing device, said computing device at least:
前記トピックに関連付けられる選択を示す第1のユーザからの入力を受け取ることに応じて、前記第1のユーザからの前記入力に応じて前記複数のメッセージの少なくともサブセットを表示させるために、前記複数のメッセージの前記少なくともサブセットを前記第1のユーザに関連付けられる第1のユーザ装置に送信することを行わせる、in response to receiving input from a first user indicating a selection associated with said topic, for displaying at least a subset of said plurality of messages in response to said input from said first user; causing transmission of said at least a subset of messages to a first user device associated with said first user;
コンピュータ可読指令をさらに記憶している技術案23に記載の非一時的なコンピュータ可読記憶媒体。The non-transitory computer-readable storage medium of
[技術案25][Technical Proposal 25]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、When executed on said computing device, said computing device at least:
トピックに関連する情報を含むデータベースを検索することによって、前記トピックが新しいと判定することと、determining that the topic is new by searching a database containing information related to the topic;
前記トピックが新しいと判定すると、前記トピックを示す情報を前記データベースに格納することと、を行わせる、upon determining that the topic is new, storing information indicative of the topic in the database;
コンピュータ可読指令をさらに記憶している技術案23に記載の非一時的なコンピュータ可読記憶媒体。The non-transitory computer-readable storage medium of
[技術案26][Technical Proposal 26]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、When executed on said computing device, said computing device at least:
前記第2のメッセージを解析することに基づいて、前記第2のメッセージが第2のユーザを識別する情報を含むと判定することと、determining, based on parsing the second message, that the second message includes information identifying a second user;
前記複数のメッセージにアクセスし、前記複数のメッセージに1つ又は複数の新しいメッセージを追加することを前記第2のユーザに許可することと、を行わせる、allowing the second user to access the plurality of messages and add one or more new messages to the plurality of messages;
コンピュータ可読指令をさらに記憶している技術案23に記載の非一時的なコンピュータ可読記憶媒体。The non-transitory computer-readable storage medium of
[技術案27][Technical Proposal 27]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、When executed on said computing device, said computing device at least:
前記トピックと、前記トピックに関連付けられる会話の複数の参加者との間の関連付けを格納することと、storing an association between the topic and a plurality of participants in a conversation associated with the topic;
前記トピックに関連付けられる前記会話内の第3のメッセージを受信することと、receiving a third message within the conversation associated with the topic;
前記第3のメッセージおよび前記トピックを、前記複数の参加者に関連付けられる複数のユーザ装置に送信することと、を行わせる、sending 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, in response to determining that the first user device previously received any message associated with the topic, said configured to display only the third message without displaying the topic;
技術案23に記載の非一時的なコンピュータ可読記憶媒体。The non-transitory computer-readable storage medium according to
[技術案28][Technical Proposal 28]
コンピュータ可読指令が記憶されている非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ可読指令は、コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、A non-transitory computer-readable storage medium having computer-readable instructions stored thereon, said computer-readable instructions, when executed on a computing device, causing said computing device to at least:
第1の会話の第1の参加者に関連付けられるメッセージングアプリケーションから、複数のトピックの中からトピックを選択することを示す入力を受け取ることと、receiving input from a messaging application associated with a first participant in a first conversation indicating selecting a topic from among a plurality of topics;
前記第1の会話内の複数のメッセージの少なくともサブセットを表示させるために、前記第1の会話の少なくとも一部を前記メッセージングアプリケーションに送信することと、を行わせて、sending at least a portion of the first conversation to the messaging application for display of at least a subset of the plurality of messages in the first conversation;
前記トピックを示す情報と前記第1の会話との間の関連付けは、前記少なくとも1つのデータベースに格納されるAn association between 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 said computing device, said computing device at least:
前記選択されたトピックに関連付けられる別の会話内の複数のメッセージの少なくともサブセットを表示させるために、前記別の会話を、前記メッセージングアプリケーションに送信することを行わせる、causing the separate conversation to be sent to the messaging application for display of at least a subset of a plurality of messages in the separate conversation associated with the selected topic;
コンピュータ可読指令をさらに記憶している技術案28に記載の非一時的なコンピュータ可読記憶媒体。The non-transitory computer-readable storage medium of
[技術案30][Technical plan 30]
システムであって、a system,
少なくとも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 the first conversation;
前記第1の会話内のユーザ入力が複数のユーザからなる第1のグループを識別する情報を含むと判定し、前記第1のグループに第1の会話に参加することを許可することと、determining that user input in the first conversation includes information identifying a first group of users and authorizing 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, including information identifying the plurality of users within the first group, from the at least one database based on the information identifying the first group. and,
前記第1のグループに関連付けられる前記取り戻されたデータに少なくとも部分的に基づいて、前記複数のメッセージの少なくともサブセットを表示させるために、前記第1の会話の前記少なくともサブセットを、前記第1のグループ内の前記複数のユーザに関連付けられる複数のメッセージングアプリケーションに送信することと、transferring the at least a subset of the first conversation to the first group for display of at least a subset of the plurality of messages based at least in part on the retrieved data associated with the first group; sending to a plurality of messaging applications associated with the plurality of users in
を含む動作を実行するように構成された少なくとも1つのコンピューティング装置と、at least one computing device configured to perform an operation comprising
を備えるシステム。A system with
[技術案31][Technical Proposal 31]
前記動作は、The operation is
少なくとも部分的に検索インデックスに基づいて、前記第1の会話を、前記第1のグループ内の前記複数のユーザのそれぞれに関連付けることをさらに含む、further comprising 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 according to
[技術案32][Technical Proposal 32]
前記動作は、The operation is
前記第1のグループに第1のユーザを追加するか、または前記第1のグループから前記第1のユーザを削除することを示す情報と、前記第1のユーザを識別する情報とを受信することに応じて、前記第1のグループに関連付けられる前記データを更新することをさらに含む、Receiving information indicating adding a first user to or removing the first user from the first group and information identifying the first user. further comprising updating the data associated with the first group in response to
技術案31に記載のシステム。The system according to
[技術案33][Technical Proposal 33]
前記動作は、The operation is
第2の会話で第2のメッセージを受信することと、前記第2のメッセージが前記第1のグループを識別する情報を含むと判定することに応じて、前記第1のグループに前記第2の会話に参加することを許可することと、sending said second message to said first group in response to receiving a second message in a second conversation and determining that said second message includes information identifying said first group; Allowing participation in a conversation; and
前記第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
[技術案34][Technical Proposal 34]
前記動作は、The operation is
第2のユーザを前記第1のグループに追加することを示す情報と、前記第2のユーザを識別する情報とを受信することと、receiving information indicating to add 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 is
前記少なくとも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に記載のシステム。35. The system of
[技術案36][Technical Proposal 36]
前記動作は、The operation is
前記第2のユーザが前記第1のグループに追加されたことを示す通知を、前記第1のグループ内の前記複数のユーザに関連付けられる前記複数のメッセージングアプリケーションに送信すること、sending notifications 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に記載のシステム。35. The system of
[技術案37][Technical Proposal 37]
前記第1のグループ内の前記複数のユーザを識別する前記情報は、登録ユーザのユーザ名と、前記複数のユーザのうちの1つに関連付けられるエンティティ内のアカウントと、前記複数のユーザのうちの1つに関連付けられる前記複数のユーザのうちの1つに関連付けられる電子メールアドレスと、のうちの少なくとも1つを含む、The information identifying the plurality of users in the first group includes a username of a registered user, an account within an entity associated with one of the plurality of users, and a user name of the plurality of users. an email address associated with one of the plurality of users associated with one;
技術案30に記載のシステム。The system according to
[技術案38][Technical Proposal 38]
前記第1のグループに関連付けられる前記データはさらに、前記第1のグループがプライベートグループであることを示す情報を含み、前記プライベートグループは、前記プライベートグループ内の複数のユーザのみにアクセス可能である、said data associated with said first group further includes information indicating that said first group is a private group, said private group being accessible only to a plurality of users within said private group;
技術案30に記載のシステム。The system according to
[技術案39][Technical Proposal 39]
方法であって、a method,
第1の会話内の複数のメッセージを受信することと、receiving a plurality of messages in the 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, including information identifying the plurality of users within the first group, from the at least one database based on the information identifying the first group. and,
前記第1のグループに関連付けられる取り戻されたデータに少なくとも部分的に基づいて、前記複数のメッセージの少なくともサブセットを表示させるために、前記第1の会話の前記少なくともサブセットを、前記第1のグループ内の前記複数のユーザに関連付けられる複数のメッセージングアプリケーションに送信することと、at least a subset of the first conversation within the first group for display of at least a subset of the plurality of messages based at least in part on retrieved data associated with the first group; sending to a plurality of messaging applications associated with the plurality of users of
を含む方法。method including.
[技術案40][Technical plan 40]
少なくとも部分的に検索インデックスに基づいて、前記第1の会話を、前記第1のグループ内の前記複数のユーザのそれぞれに関連付けることをさらに含む、further comprising 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 described in
[技術案41][Technical plan 41]
前記第1のグループに第1のユーザを追加するか、または前記第1のグループから前記第1のユーザを削除することを示す情報と、前記第1のユーザを識別する情報とを受信することに応じて、前記第1のグループに関連付けられる前記データ及び前記検索インデックスを更新することをさらに含むReceiving information indicating adding a first user to or removing the first user from the first group and information identifying the first user. updating the data and the search index associated with the first group in response to
技術案40に記載の方法。The method described in Technical Solution 40.
[技術案42][Technical plan 42]
第2の会話で第2のメッセージを受信することと、前記第2のメッセージが前記第1のグループを識別する情報を含むと判定することに応じて、前記第1のグループに前記第2の会話に参加することを許可することと、sending said second message to said first group in response to receiving a second message in a second conversation and determining that said second message includes information identifying said first group; Allowing participation in a conversation; and
前記第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
[技術案43][Technical plan 43]
前記第1のグループに第2のユーザを追加するか、または前記第1のグループから前記第2のユーザを削除することを示す情報と、前記第2のユーザを識別する情報とを受信することと、Receiving information indicating adding a second user to the first group or removing the second user from the first group and information identifying the second user. and,
前記第1のグループに関連付けられるデータを更新することと、updating data associated with the first group;
をさらに含む技術案39に記載の方法。The method according to
[技術案44][Technical plan 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のユーザにいくらかの新しいメッセージを送信すると決定することをさらに含む、Said third user actively participated in said first conversation or by another user before said third user already removed from said first group was removed from said first group further comprising determining to send some new message to the third user based on the determination that he was invited to the first conversation;
技術案39に記載の方法。The method described in
[技術案46][Technical plan 46]
コンピュータ可読指令が記憶されている非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ可読指令は、コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、A non-transitory computer-readable storage medium having computer-readable instructions stored thereon, said computer-readable instructions, when executed on a computing device, causing said computing device to at least:
第1の会話内の複数のメッセージを受信することと、receiving a plurality of messages in the 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, including information identifying the plurality of users within the first group, from the at least one database based on the information identifying the first group. and,
前記第1のグループに関連付けられる前記取り戻されたデータに少なくとも部分的に基づいて、前記複数のメッセージの少なくともサブセットを表示させるために、前記第1の会話の前記少なくともサブセットを、前記第1のグループ内の前記複数のユーザに関連付けられる複数のメッセージングアプリケーションに送信することと、transferring the at least a subset of the first conversation to the first group for display of at least a subset of the plurality of messages based at least in part on the retrieved data associated with the first group; sending to a plurality of messaging applications associated with the plurality of users in
を行わせる非一時的なコンピュータ可読記憶媒体。A non-transitory computer-readable storage medium that causes
[技術案47][Technical plan 47]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、When executed on said computing device, said computing device at least:
前記第1のグループ内の前記複数のユーザを識別する前記情報に基づいて検索インデックスを生成することと、generating a search index based on the information identifying the plurality of 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に記載の非一時的なコンピュータ可読記憶媒体。47. The non-transitory computer-readable storage medium of Technical Solution 46, further storing computer-readable instructions.
[技術案48][Technical Proposal 48]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、When executed on said computing device, said computing device at least:
第2の会話で第2のメッセージを受信することと、前記第2のメッセージが前記第1のグループを識別する情報を含むと判定することに応じて、前記第1のグループに前記第2の会話に参加することを許可することと、sending said second message to said first group in response to receiving a second message in a second conversation and determining that said second message includes information identifying said first group; Allowing participation in a conversation; and
前記第1のグループと前記第2の会話との間の関連付けを前記少なくとも1つのデータベースに格納することと、を行わせる、storing an association between the first group and the second conversation in the at least one database;
コンピュータ可読指令をさらに記憶している技術案46に記載の非一時的なコンピュータ可読記憶媒体。47. The non-transitory computer-readable storage medium of Technical Solution 46, further storing computer-readable instructions.
[技術案49][Technical plan 49]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、When executed on said computing device, said computing device at least:
第1のユーザを前記第1のグループに追加することを示す情報と、前記第1のユーザを識別する情報とを受信することと、receiving information indicating to add 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に記載の非一時的なコンピュータ可読記憶媒体。49. The non-transitory computer-readable storage medium of Technical Solution 48, further storing computer-readable instructions.
[技術案50][Technical plan 50]
システムであって、a system,
少なくとも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 indicating 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 an operation comprising
を備えるシステム。A system with
[技術案51][Technical plan 51]
前記動作は、The operation is
少なくとも部分的に前記第1のメッセージに関連付けられる前記日付に基づいて、前記日付が前記少なくとも1つのデータベースにおいて依然として有効であることを示すリマインダを、前記第2のユーザに関連付けられる第2のメッセージングアプリケーションに送信すること、A second messaging application associated with the second user, based at least in part on the date associated with the first message, a reminder that the date is still valid in the at least one database. to send to
をさらに含む技術案50に記載のシステム。51. The system according to Technical Solution 50, further comprising:
[技術案52][Technical plan 52]
前記第1のメッセージは、前記第1のユーザによって前記第2のユーザに割り当てられたタスクを示す、the first message indicates a task assigned to the second user by the first user;
技術案50に記載のシステム。The system according to Technical Solution 50.
[技術案53][Technical Proposal 53]
前記第1のメッセージに関連付けられる前記日付は、前記タスクの期限日を含む、the date associated with the first message includes a due date for the task;
技術案52に記載のシステム。The system according to technical proposal 52.
[技術案54][Technical Proposal 54]
前記動作は、The operation is
少なくとも部分的に前記タスクの期限日に基づいて前記タスクのステータスを決定することと、determining a status of the task based at least in part on a due date of the task;
前記タスクのステータスおよび期限日を表示させるために、前記会話の複数の参加者に関連付けられる複数のメッセージングアプリケーションに、前記タスクのステータスと期限日を示す情報を送信することと、sending information indicative of the task status and due date to a plurality of messaging applications associated with a plurality of participants in the conversation for display of the task status and due date;
をさらに含む技術案53に記載のシステム。54. The system according to Technical Proposal 53, further comprising:
[技術案55][Technical Proposal 55]
前記動作は、The operation is
前記第1のメッセージングアプリケーションまたは前記第2のメッセージングアプリケーションから、前記タスクの期限日またはステータスの変更を示す情報を受信することと、receiving information from the first messaging application or the second messaging application indicating a due date or status change of the task;
前記タスクの期限日またはステータスの変更を示す前記情報に基づいて、前記タスクのステータスを更新することと、updating the status of the task based on the information indicating a change in due date or status of the task;
をさらに含む技術案54に記載のシステム。55. The system of Technical Proposal 54, further comprising:
[技術案56][Technical Proposal 56]
前記動作は、The operation is
前記タスクの更新されたステータスを表示させるために、前記タスクの更新されたステータスを示す情報を前記複数のメッセージングアプリケーションに送信すること、Sending information indicative of the updated status of the task to the plurality of messaging applications for display of the updated status of the task;
をさらに含む技術案55に記載のシステム。56. The system according to Technical Proposal 55, further comprising:
[技術案57][Technical Proposal 57]
前記動作は、The operation is
前記タスクのステータス、前記タスクの期限日、またはリマインダ日付を示す情報の受信のうちの少なくとも1つに基づいて、少なくとも前記第2のメッセージングアプリケーションに前記リマインダを送信すること、sending the reminder to at least the second messaging application based on at least one of receiving information indicating the status of the task, the due date of the task, or a reminder date;
をさらに含む技術案56に記載のシステム。57. The system of Technical Proposal 56, further comprising:
[技術案58][Technical Proposal 58]
前記動作は、The operation is
前記第1のメッセージおよび前記第1のメッセージに関連付けられる日付を表示させるために、前記第1のメッセージおよび前記第1のメッセージに関連付けられる日付を示す情報を、前記会話の複数の参加者に関連付けられる複数のメッセージングアプリケーションに送信すること、Associate information indicative of the first message and a date associated with the first message with the plurality of participants in the conversation for displaying the first message and a date associated with the first message. sending to multiple messaging applications that can be
をさらに含む技術案50に記載のシステム。51. The system according to Technical Solution 50, further comprising:
[技術案59][Technical Proposal 59]
方法であって、a method,
メッセージングサービスによって維持される会話内の、第1のユーザに関連付けられる第1のメッセージングアプリケーションから送信された第1のメッセージを含む複数のメッセージを受信することと、receiving a plurality of messages in a conversation maintained by a messaging service, 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 indicating 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;
を含む方法。method including.
[技術案60][Technical plan 60]
前記日付が前記少なくとも1つのデータベースにおいて依然として有効であることを示す情報を、前記第2のユーザに関連付けられる第2のメッセージングアプリケーションに送信することをさらに含む、further comprising 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 indicates a task assigned to the second user by the first user;
技術案59に記載の方法。The method described in Technical Proposal 59.
[技術案62][Technical Proposal 62]
前記第1のメッセージに関連付けられる前記日付は、前記タスクの期限日を含む、the date associated with the first message includes a due 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 due date of the task;
前記タスクのステータスおよび期限日を表示させるために、前記会話内の複数の参加者に関連付けられる複数のメッセージングアプリケーションに、前記タスクのステータスと期限日を示す情報を送信することと、sending information indicative of the task status and due date to a plurality of messaging applications associated with a plurality of participants in the conversation for display of the task status and due date;
をさらに含む技術案62に記載の方法。The method of Technical Proposal 62, further comprising:
[技術案64][Technical Proposal 64]
前記タスクのステータス、前記タスクの期限日、またはリマインダ日付を示す情報の受信のうちの少なくとも1つに基づいて、前記第1のメッセージングアプリケーションおよび前記第2のメッセージングアプリケーションにリマインダを送信することをさらに含む、Further sending a reminder to the first messaging application and 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. include,
技術案53に記載の方法。The method described in technical proposal 53.
[技術案65][Technical Proposal 65]
前記第1のメッセージングアプリケーションまたは前記第2のメッセージングアプリケーションから、前記タスクの期限日またはステータスの変更を示す情報を受信することと、receiving information from the first messaging application or the second messaging application indicating a due date or status change of the task;
前記タスクの期限日またはステータスの変更を示す前記情報に基づいて、前記タスクのステータスを更新することと、updating the status of the task based on the information indicating a change in due date or status of the task;
前記タスクの更新されたステータスを表示させるために、前記タスクの更新されたステータスを示す情報を前記複数のメッセージングアプリケーションに送信することをさらに含む、further comprising sending information indicative of the updated status of the task to the plurality of messaging applications for display of the updated status of the task;
技術案63に記載の方法。The method described in Technical Solution 63.
[技術案66][Technical Proposal 66]
コンピュータ可読指令が記憶されている非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ可読指令は、コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、A non-transitory computer-readable storage medium having computer-readable instructions stored thereon, said computer-readable instructions, when executed on a computing device, causing said computing device to at least:
メッセージングサービスによって維持される会話内の、第1のユーザに関連付けられる第1のメッセージングアプリケーションから送信された第1のメッセージを含む複数のメッセージを受信することと、receiving a plurality of messages in a conversation maintained by a messaging service, 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 indicating 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 that causes
[技術案67][Technical Proposal 67]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、When executed on said computing device, said computing device at least:
少なくとも部分的に前記第1のメッセージに関連付けられる前記日付に基づいて、前記日付が前記少なくとも1つのデータベースにおいて依然として有効であることを示すリマインダを、前記第2のユーザに関連付けられる第2のメッセージングアプリケーションに送信することを行わせる、A second messaging application associated with the second user, based at least in part on the date associated with the first message, a reminder that the date is still valid in the at least one database. cause it to send to
コンピュータ可読指令をさらに記憶している技術案66に記載の非一時的なコンピュータ可読記憶媒体。67. The non-transitory computer-readable storage medium of Technical Solution 66, further storing computer-readable instructions.
[技術案68][Technical Proposal 68]
前記第1のメッセージは、前記第1のユーザによって前記第2のユーザに割り当てられたタスクを示し、前記第1のメッセージに関連付けられる前記日付は、前記タスクの期限日を含む、the first message indicates a task assigned to the second user by the first user, and the date associated with the first message includes a due date for the task;
技術案66に記載の非一時的なコンピュータ可読記憶媒体。The non-transitory computer-readable storage medium according to Technical Proposal 66.
[技術案69][Technical Proposal 69]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、When executed on said computing device, said computing device at least:
少なくとも部分的に前記タスクの期限日に基づいて前記タスクのステータスを決定することと、determining a status of the task based at least in part on a due date of the task;
前記タスクのステータスおよび期限日を表示させるために、前記会話の複数の参加者に関連付けられる複数のメッセージングアプリケーションに、前記タスクのステータスと期限日を示す情報を送信することと、を行わせる、sending information indicative of the task status and due date to a plurality of messaging applications associated with the plurality of participants in the conversation for display of the task status and due date;
コンピュータ可読指令をさらに記憶している技術案66に記載の非一時的なコンピュータ可読記憶媒体。67. The non-transitory computer-readable storage medium of Technical Solution 66, further storing computer-readable instructions.
[技術案70][Technical plan 70]
システムであって、a system,
少なくとも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 the conversation;
前記第1の入力を解析することに基づいて、前記第1の入力が第1の電子メールアドレスを示す情報を含むと判定することと、determining, based on parsing 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 an operation comprising
を備えるシステム。A system with
[技術案71][Technical plan 71]
前記第1の識別子は、前記会話に対応する第1の返送電子メールアドレスである、wherein the first identifier is a first return email address corresponding to the conversation;
技術案70に記載のシステム。The system according to
[技術案72][Technical plan 72]
前記第1の返送電子メールアドレスは、少なくとも部分的にランダムに選ばれたテキスト列を含む、wherein the first return email address includes an at least partially randomly chosen text string;
技術案71に記載のシステム。The system according to Technical Solution 71.
[技術案73][Technical plan 73]
前記動作は、The operation is
前記第1の電子メールアドレス及び前記第1の識別子を含む第1のセットのデータを、前記第1の外部電子メールサービスから受信すること、receiving from the first external email service a first set of data including the first email address and the first identifier;
をさらに含む技術案70に記載のシステム。71. The system of
[技術案74][Technical plan 74]
前記動作は、The operation is
前記第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; and based on the first set of data. generating a second message; sending the second message to a plurality of messaging applications associated with a plurality of participants in the conversation for display of the second message;
をさらに含む技術案73に記載のシステム。73. The system according to Technical Proposal 73, further comprising:
[技術案75][Technical plan 75]
前記動作は、The operation is
前記第1の電子メールアドレスと前記会話との間の関連付けを、前記少なくとも1つのデータベースに格納すること、storing an association between the first email address and the conversation in the at least one database;
をさらに含む技術案70に記載のシステム。71. The system of
[技術案76][Technical plan 76]
前記動作は、The operation is
第1の電子メールアドレスが前記会話に参加する第1の外部エンティティに関連付けられていることを示す通知を、前記会話の前記複数の参加者に関連付けられる複数のメッセージングアプリケーションに送信すること、sending notifications to a plurality of messaging applications associated with the plurality of participants in the conversation indicating that a first email address is associated with a first external entity participating in the conversation;
をさらに含む技術案70に記載のシステム。71. The system of
[技術案77][Technical plan 77]
前記動作は、The operation is
前記第1の電子メールアドレスを識別する情報を含む第3のメッセージを、前記会話の第1の参加者に関連付けられる第1のメッセージングアプリケーションから受信することと、receiving a third message including information identifying the first email address from a first messaging application associated with the first participant in the conversation;
第1の電子メールプロトコルに従って、前記第1の電子メールアドレスと、前記第2のメッセージの内容と、前記第1の識別子とを含む第1の電子メールメッセージを生成することと、generating a first email message according to a first email protocol, the first email message including the first email address, the content of the second message, 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に記載のシステム。71. The system of
[技術案78][Technical Proposal 78]
前記動作は、The operation is
前記第1の識別子と、前記第3のメッセージに対する返信を示す情報と、前記返信の内容とを含む第2のセットのデータを、前記第1の外部電子メールサービスから受信することと、receiving from the first external email service a 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 that the second set of data is associated with the conversation based on the first identifier included in the second set of data;
前記第2のセットのデータに基づいて第4のメッセージを生成することと、generating a fourth message based on the second set of data;
前記第4のメッセージを表示させるために、前記第4のメッセージを前記会話の複数の参加者に関連付けられる複数のメッセージングアプリケーションに送信すること、sending the fourth message to a plurality of messaging applications associated with a plurality of participants in the conversation for display of the fourth message;
をさらに含む技術案77に記載のシステム。78. The system of Technical Proposal 77, further comprising:
[技術案79][Technical Proposal 79]
第2の電子メールアドレスに関連付けられる第2の外部エンティティが、前記会話に参加することを許可されている、a second external entity associated with a second email address is permitted to participate in said conversation;
技術案78記載のシステム。The system according to Technical Solution 78.
[技術案80][Technical plan 80]
前記動作は、The operation is
第2の電子メールプロトコルに従って、前記第2の電子メールアドレスと、前記第4のメッセージの内容と、前記会話を識別するために前記第2の電子メールアドレスに関連付けられる第2の外部電子メールサービスのための、前記メッセージングサービスによって生成される第2の識別子とを含む第2の電子メールメッセージを生成することと、a second external e-mail service associated with said second e-mail address to identify said second e-mail address, content of said fourth message, and said conversation according to a second e-mail protocol; generating a second email message including a second identifier generated by the messaging service for
前記第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に記載のシステム。79. The system according to Technical Proposal 79, further comprising:
[技術案81][Technical plan 81]
方法であって、a method,
会話で第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;
を含む方法。method including.
[技術案82][Technical plan 82]
前記第1の識別子は、前記会話に対応する第1の返送電子メールアドレスである、wherein the first identifier is a first return email address corresponding to the conversation;
技術案81に記載の方法。The method described in Technical Solution 81.
[技術案83][Technical Proposal 83]
前記第1の識別子を含む第1のセットのデータを、前記第1の外部電子メールサービスから受信することと、receiving a first set of data including the first identifier from the first external email service;
前記第1のセットのデータに含まれる前記第1の識別子に基づいて、前記第1のセットのデータが前記会話に関連付けられていると判定することと、determining that the first set of data is associated with the conversation based on the first identifier included in the first 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 in the conversation for display of the second message;
をさらに含む技術案81に記載の方法。The method according to Technical Solution 81, further comprising:
[技術案84][Technical Proposal 84]
前記第1の電子メールアドレスを識別する情報を含む第3のメッセージを、前記会話の第1の参加者に関連付けられる第1のメッセージングアプリケーションから受信することと、receiving a third message including information identifying the first email address from a first messaging application associated with the first participant in the conversation;
第1の電子メールプロトコルに従って、前記第1の電子メールアドレスと、前記第2のメッセージの内容と、前記第1の識別子とを含む第1の電子メールメッセージを生成することと、generating a first email message according to a first email protocol, the first email message including the first email address, the content of the second message, 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 Solution 81, further comprising:
[技術案85][Technical Proposal 85]
前記第1の識別子と、前記第3のメッセージに対する返信を示す情報と、前記返信の内容とを含む第2のセットのデータを、前記第1の外部電子メールサービスから受信することと、receiving from the first external email service a 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 that the second set of data is associated with the conversation based on the first identifier included in the second set of data;
前記第2のセットのデータに基づいて第4のメッセージを生成することと、generating a fourth message based on the second set of data;
前記第4のメッセージを表示させるために、前記第4のメッセージを前記会話の複数の参加者に関連付けられる複数のメッセージングアプリケーションに送信することと、sending the fourth message to a plurality of messaging applications associated with a plurality of participants in the conversation for display of the fourth message;
をさらに含む技術案84に記載の方法。The method of 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 e-mail message according to a second e-mail protocol including said second e-mail address, content of said fourth message, and a second identifier for identifying said conversation; and,
前記第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, said computer-readable instructions, when executed on a computing device, causing said 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 associations between said email addresses and said conversations in at least one database;
前記電子メールアドレスに関連付けられる外部電子メールサービスによって前記会話を識別するための識別子を生成することと、generating an identifier for identifying said conversation with an external email service associated with said 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に記載の非一時的なコンピュータ可読記憶媒体。The non-transitory computer-readable storage medium according to Technical Proposal 85.
[技術案89][Technical Proposal 89]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、When executed on said computing device, said computing device at least:
前記識別子を含むセットのデータを、前記外部電子メールサービスから受信することと、receiving a set of data including the identifier from the external email service;
前記セットのデータに含まれる前記識別子に基づいて、前記セットのデータが前記会話に関連付けられていると判定することと、determining that the set of data is associated with the conversation based on the identifiers 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 in the conversation for display of the second message.
コンピュータ可読指令をさらに記憶している技術案85に記載の非一時的なコンピュータ可読記憶媒体。86. The non-transitory computer-readable storage medium of Technical Solution 85, further storing computer-readable instructions.
[技術案90][Technical plan 90]
システムであって、a system,
複数の会話を含むメッセージスレッドデータベースと、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 one of the plurality of conversations;
前記複数のメッセージを前記メッセージスレッドデータベースに格納することと、storing the plurality of messages in the message thread database;
前記第1の会話内のユーザ入力を受け取ることと、receiving 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 determining the 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 an operation comprising
を備えるシステム。A system with
[技術案91][Technical plan 91]
前記メッセージスレッドデータベースは、前記複数の会話のそれぞれに関連付けられるメタデータおよび内容を含む、the message thread database includes metadata and content associated with each of the plurality of conversations;
技術案90に記載のシステム。The system according to Technical Proposal 90.
[技術案92][Technical plan 92]
前記メッセージスレッドデータベースは、前記複数の会話のそれぞれに関連付けられるスレッド識別情報と、前記複数の会話のそれぞれに含まれる少なくとも1つのメッセージの少なくとも1つのメッセージ識別情報と、前記複数の会話のそれぞれに含まれる前記少なくとも1つのメッセージとをさらに含む、The message thread database comprises 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 at least one message identification information included in each of the plurality of conversations. and the at least one message to be
技術案91に記載のシステム。The system according to Technical Proposal 91.
[技術案93][Technical plan 93]
前記少なくとも1つのメッセージの内容は、テキストデータ、ビデオ内容、またはオーディオ内容を含む、content of the at least one message includes text data, video content, or audio content;
技術案92に記載のシステム。The system according to Technical Proposal 92.
[技術案94][Technical plan 94]
前記複数の属性データベースは、前記複数の会話に関連付けられるトピックを示す情報を格納する第1の属性データベースと、前記複数の会話に関連付けられるユーザの情報を格納する第2の属性データベースと、前記複数の会話に関連付けられるグループの情報を格納する第3の属性データベースと、前記複数の会話に関連付けられるタスクの割り当てを示す情報を格納する第4の属性データベースと、前記複数の会話に含まれる1つ又は複数の電子メールアドレスに関連付けられる情報を格納する第5の属性データベースとのうちの少なくとも一つを備える、The plurality of attribute databases include: a first attribute database storing information indicating topics associated with the plurality of conversations; a second attribute database storing information of users associated with the plurality of conversations; a third attribute database storing information on groups associated with the conversations; a fourth attribute database storing information indicating task assignments associated with the plurality of conversations; and one included in the plurality of conversations or a fifth attribute database storing information associated with a plurality of email addresses;
技術案90に記載のシステム。The system according to Technical Proposal 90.
[技術案95][Technical plan 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 according to Technical Proposal 90.
[技術案96][Technical plan 96]
前記動作は、The operation is
前記新しいメッセージに基づいて、前記複数の属性データベースのうちの前記少なくとも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に記載のシステム。91. The system of Technical Proposal 90, further comprising:
[技術案97][Technical Proposal 97]
前記動作は、The operation is
前記複数の会話のうちの少なくとも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 query results to determine at least a subset of messages in said at least one of said plurality of conversations;
前記要求に応じて、前記複数の会話のうちの前記少なくとも1つ内のメッセージの前記少なくともサブセットを、前記第1のメッセージングアプリケーションに送信することと、Sending, in response to the request, the at least a subset of messages in the at least one of the plurality of conversations to the first messaging application;
をさらに含む技術案90に記載のシステム。91. The system of Technical Proposal 90, further comprising:
[技術案98][Technical Proposal 98]
前記動作は、The operation is
前記複数の会話のうちの少なくとも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;
少なくとも1つの属性が前記複数の会話のうちの前記少なくとも1つに関連付けられていると判定するために、クエリ結果を処理することと、processing query results 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 display of at least one indicator of the at least one attribute;
をさらに含む技術案90に記載のシステム。91. The system of Technical Proposal 90, further comprising:
[技術案99][Technical Proposal 99]
前記動作は、The operation is
前記複数の会話のうちの前記少なくとも1つに関連付けられる前記少なくとも1つの属性の前記少なくとも1つのインジケータの選択を示す入力を受け取ることと、receiving input indicating 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 to cause the plurality of messages to be displayed;
をさらに含む技術案98に記載のシステム。99. The system of Technical Proposal 98, further comprising:
[技術案100][Technical plan 100]
方法であって、a method,
複数の会話のうちの第1の会話内の複数のメッセージを受信することであって、会話データベースが前記複数の会話を含み、複数の属性データベースが前記複数の会話に関連付けられる属性を含むことと、Receiving a plurality of messages in a first conversation of a plurality of conversations, wherein a conversation database includes the plurality of conversations, and a plurality of attribute databases includes attributes associated with the plurality of conversations. ,
前記複数のメッセージを前記会話データベースに格納することと、storing the plurality of messages in the conversation database;
前記第1の会話内のユーザ入力を受け取ることと、receiving 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 determining the type of the at least one attribute;
前記少なくとも1つの属性と前記第1の会話との間の関連付けを格納することと、storing an association between the at least one attribute and the first conversation;
を含む方法。method including.
[技術案101][Technical plan 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 query results to determine at least a subset of messages in said at least one of said plurality of conversations;
前記要求に応じて、前記複数の会話のうちの前記少なくとも1つ内のメッセージの前記少なくともサブセットを、前記第1のメッセージングアプリケーションに送信することと、Sending, in response to the request, the at least a subset of messages in the at least one of the plurality of conversations to the first messaging application;
をさらに含む技術案100に記載の方法。The method according to
[技術案102][Technical plan 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;
少なくとも1つの属性が前記複数の会話のうちの前記少なくとも1つに関連付けられていると判定するために、クエリ結果を処理することと、processing query results 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 display of at least one indicator of the at least one attribute;
をさらに含む技術案90に記載の方法。The method of Technical Proposal 90, further comprising:
[技術案103][Technical Proposal 103]
前記複数の会話のうちの前記少なくとも1つに関連付けられる前記少なくとも1つの属性の前記少なくとも1つのインジケータの選択を示す入力を受け取ることと、receiving input indicating 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;
前記複数のメッセージを表示させるために、前記複数の会話のうちの前記少なくとも1つ内の複数のメッセージを識別して送信することと、identifying and transmitting a plurality of messages in the at least one of the plurality of conversations to cause the plurality of messages to be displayed;
をさらに含む技術案102に記載の方法。103. The method according to technical proposal 102, further comprising:
[技術案104][Technical Proposal 104]
前記会話データベースは、少なくとも1つのメッセージを含む前記複数の会話のそれぞれに関連付けられるスレッド識別情報と、前記複数の会話のそれぞれに含まれる前記少なくとも1つのメッセージの少なくとも1つのメッセージ識別情報と、前記複数の会話のそれぞれに含まれる前記少なくとも1つのメッセージの内容と、を含む、The conversation database comprises: 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 conversations of
技術案100に記載の方法。The method described in
[技術案105][Technical plan 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 described in
[技術案106][Technical Proposal 106]
コンピュータ可読指令が記憶されている非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ可読指令は、コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、A non-transitory computer-readable storage medium having computer-readable instructions stored thereon, said computer-readable instructions, when executed on a computing device, causing said computing device to at least:
複数の会話のうちの第1の会話内の複数のメッセージを受信することであって、会話データベースが前記複数の会話を含み、複数の属性データベースが前記複数の会話に関連付けられる属性を含むことと、Receiving a plurality of messages in a first conversation of a plurality of conversations, wherein a conversation database includes the plurality of conversations, and a plurality of attribute databases includes attributes associated with the plurality of conversations. ,
前記複数のメッセージを前記会話データベースに格納することと、storing the plurality of messages in the conversation database;
前記第1の会話内の新しいメッセージを受信することと、receiving new messages 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 determining the 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 that causes
[技術案107][Technical Proposal 107]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、When executed on said computing device, said computing device 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 query results to determine at least a subset of messages in said at least one of said plurality of conversations;
前記要求に応じて、前記複数の会話のうちの前記少なくとも1つ内のメッセージの前記少なくともサブセットを、前記第1のメッセージングアプリケーションに送信することと、を行わせる、sending, in response to the request, the at least a subset of messages in the at least one of the plurality of conversations to the first messaging application;
コンピュータ可読指令をさらに記憶している技術案106に記載の非一時的なコンピュータ可読記憶媒体。107. The non-transitory computer-readable storage medium of Technical Solution 106, further storing computer-readable instructions.
[技術案108][Technical Proposal 108]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、When executed on said computing device, said computing device 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;
少なくとも1つの属性が前記複数の会話のうちの前記少なくとも1つに関連付けられていると判定するために、クエリ結果を処理することと、processing query results 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 display of at least one indicator of the at least one attribute;
コンピュータ可読指令をさらに記憶している技術案106に記載の非一時的なコンピュータ可読記憶媒体。107. The non-transitory computer-readable storage medium of 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 content 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に記載の非一時的なコンピュータ可読記憶媒体。The non-transitory computer-readable storage medium according to Technical Solution 106.
[技術案110][Technical plan 110]
コンピューティング装置であって、A computing device,
少なくとも1つのプロセッサと、at least one processor;
前記少なくとも1つのプロセッサに通信可能に結合され、指令を記憶している少なくとも1つのメモリであって、前記指令が前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、at least one memory communicatively coupled to the at least one processor and storing instructions, wherein when the instructions are executed by the at least one processor, the client computing device:
第1の会話を開始することを示す第1の入力をユーザインターフェースから受け取ることと、receiving a first input from the user interface indicating to initiate a first conversation;
第1のユーザによる第2の入力を受け取ることと、receiving a second input by the first user;
前記第2の入力が前記第1の会話に関連付けられる少なくとも1つの属性を示すと判定することと、determining that the second input indicates at least one attribute associated with the first conversation;
新しい会話の開始を示す情報と、前記少なくとも1つの属性が前記第1の会話に関連付けられていることを示す情報とを含む情報を、メッセージサービスに送信することと、を行わせる少なくとも1つのメモリと、sending information 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. and,
を備えるコンピューティング装置。A computing device comprising:
[技術案111][Technical Proposal 111]
前記少なくとも1つのメモリは、The at least one memory is
前記少なくとも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, including information indicative of a plurality of attributes associated with a plurality of conversations, the plurality of conversations having corresponding thread IDs;
前記受信された情報に基づいて、前記複数の会話に関連付けられる複数のインジケータを表示することと、を行わせる、displaying a plurality of indicators associated with the plurality of conversations based on the received information;
指令をさらに記憶している技術案110に記載のコンピューティング装置。111. The computing device of
[技術案112][Technical Proposal 112]
前記少なくとも1つのメモリはさらに、前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、The at least one memory further, when executed by the at least one processor, causes 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に記載のコンピューティング装置。112. The computing device of technical proposal 111, further storing instructions.
[技術案113][Technical Proposal 113]
前記少なくとも1つのメモリはさらに、前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、The at least one memory further, when executed by the at least one processor, causes the client computing device to:
前記複数の会話を示す情報の要求を送信することと、sending a request for information indicative of the plurality of conversations;
前記受信された情報に基づいて、前記複数の会話のうちの少なくともいくつかの要約を表示することと、を行わせる、displaying a summary of at least some of the plurality of conversations based on the received information;
指令をさらに記憶している技術案110に記載のコンピューティング装置。111. The computing device of
[技術案114][Technical Proposal 114]
前記少なくとも1つのメモリはさらに、前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、The at least one memory further, when executed by the at least one processor, causes the client computing device to:
第2の複数の会話の属性に基づいてインターフェースを生成させる指令をさらに記憶しており、further storing instructions for generating an interface based on attributes of a 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, wherein two dimensions in the two-dimensional representation are a first attribute associated with the second plurality of conversations and a second plurality of and a second attribute associated with the conversation of
技術案110に記載のコンピューティング装置。110. The computing device according to
[技術案115][Technical Proposal 115]
前記少なくとも1つのメモリはさらに、前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、The at least one memory further, when executed by the at least one processor, causes the client computing device to:
第2のユーザが、前記第2の複数の会話に関連付けられる属性を再編成することを示す入力を提供するインターフェースを表示することと、displaying an interface for a second user to provide input indicating reorganizing attributes associated with the second plurality of conversations;
前記入力の受け取りに応じて、前記2次元表示を再編成することと、を行わせる、reorganizing the two-dimensional representation in response to receiving the input;
指令をさらに記憶している技術案114に記載のコンピューティング装置。115. The computing device of
[技術案116][Technical Proposal 116]
前記2次元表示内の少なくとも1つの交差は、at least one intersection in the two-dimensional representation comprising:
前記第2の複数の会話のうちの少なくとも1つの会話に関連付けられる少なくとも1つのタスクのステータスを示すインジケータと、an indicator indicating the status of at least one task associated with at least one conversation of the second plurality of conversations;
前記第2の複数の会話のうち未読メッセージを有する会話を示す数と、a number indicating conversations with unread messages of the second plurality of conversations;
を含む技術案114に記載のコンピューティング装置。115. The computing device of
[技術案117][Technical Proposal 117]
前記少なくとも1つのメモリはさらに、前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、The at least one memory further, when executed by the at least one processor, causes the client computing device to:
前記2次元表現内の交差の選択を示す情報を受信することと、receiving information indicating a selection of intersections within the two-dimensional representation;
前記選択された交差に対応する属性に基いて、前記情報を受信することに応じて、前記第2の複数の会話をフィルタリングすることと、を行わせる、filtering the second plurality of conversations in response to receiving the information based on attributes corresponding to the selected intersection;
指令をさらに記憶している技術案114に記載のコンピューティング装置。115. The computing device of
[技術案118][Technical Proposal 118]
前記第2の入力は、前記少なくとも1つの属性の既存のインジケータを選択することによって提供される、the second input is provided by selecting an existing indicator of the at least one attribute;
技術案110に記載のコンピューティング装置。110. The computing device according to
[技術案119][Technical Proposal 119]
前記第2の入力は、前記少なくとも1つの属性のタイプを示す所定のキャラクタを含むメッセージを入れることによって提供される、said second input is provided by entering a message containing a predetermined character indicating a type of said at least one attribute;
技術案110に記載のコンピューティング装置。110. The computing device according to
[技術案120][Technical plan 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に記載のコンピューティング装置。110. The computing device according to
[技術案121][Technical Proposal 121]
前記少なくとも1つのメモリはさらに、前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、The at least one memory further, when executed by the at least one processor, causes the client computing device to:
前記第2の入力が所定のキャラクタに関連付けられているという判定に基づいて、前記第2の入力が少なくとも1つの属性を示すと判定することを行わせる、causing determining that the second input indicates at least one attribute based on determining that the second input is associated with a predetermined character;
指令をさらに記憶している技術案110に記載のコンピューティング装置。111. The computing device of
[技術案122][Technical Proposal 122]
前記少なくとも1つのメモリはさらに、前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、The at least one memory further, when executed by the at least one processor, causes the client computing device to:
第3の入力を受け取ることに応じて、1つ又は複数の会話に参加する少なくとも1つのグループに関連付けられる情報を含む第3のユーザインターフェースを表示することを行わせる、causing display of a third user interface including information associated with at least one group participating in one or more conversations in response to receiving a third input;
指令をさらに記憶している技術案110に記載のコンピューティング装置。111. The computing device of
[技術案123][Technical Proposal 123]
前記少なくとも1つのメモリはさらに、前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、The at least one memory further, when executed by the at least one processor, causes the client computing device to:
前記第1の会話内のメッセージを受信することと、receiving messages in the first conversation;
前記メッセージが第2のユーザを識別する情報を含むと判定することと、determining that the message includes information identifying a second user;
前記メッセージに関連付けられる日付を示す情報を受信することと、receiving information indicating a date associated with the message;
前記第2のユーザに割り当てられたタスクを示す前記メッセージと、前記メッセージに関連付けられる日付を示す前記情報とを、メッセージサービスに送信することと、を行わせる、causing the message service to send 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に記載のコンピューティング装置。111. The computing device of
[技術案124][Technical Proposal 124]
前記少なくとも1つのメモリはさらに、前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、The at least one memory further, when executed by the at least one processor, causes the client computing device to:
前記複数の会話のうち第3の会話に関連付けられるタスクのステータスを表示させる、displaying the status of tasks associated with a third conversation among the plurality of conversations;
指令をさらに記憶している技術案110に記載のコンピューティング装置。111. The computing device of
[技術案125][Technical Proposal 125]
方法であって、a method,
第1の会話を開始することを示す第1の入力をユーザインターフェースから受け取ることと、receiving a first input from the user interface indicating to initiate a first conversation;
第1のユーザによる第2の入力を受け取ることと、receiving a second input by the first user;
前記第2の入力が前記第1の会話に関連付けられる少なくとも1つの属性を示すと判定することと、determining that the second input indicates at least one attribute associated with the first conversation;
新しい会話の開始を示す情報と、前記少なくとも1つの属性が前記第1の会話に関連付けられていることを示す情報とを含む情報を、メッセージサービスに送信することとを含み、前記メッセージングサービスは、前記第1の会話のスレッド識別子(ID)に関連付けられる前記少なくとも1つの属性を少なくとも1つのデータベースに格納する、sending information 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 comprising: 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 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;
をさらに含む技術案125に記載の方法。The method of 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;
をさらに含む技術案126に記載の方法。The method of Technical Proposal 126, further comprising:
[技術案128][Technical Proposal 128]
前記複数の会話を示す情報の要求を送信することと、sending 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;
をさらに含む技術案125に記載の方法。The method of Technical Proposal 125, further comprising:
[技術案129][Technical Proposal 129]
第2の複数の会話の属性に基づいてインターフェースを生成することをさらに含み、further comprising 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, wherein two dimensions in the two-dimensional representation are a first attribute associated with the second plurality of conversations and a second plurality of conversations. a second attribute associated with the conversation;
技術案125に記載の方法。The method described in Technical Proposal 125.
[技術案130][Technical plan 130]
さらに、moreover,
前記2次元表現内の交差の選択を示す情報を受信することと、receiving information indicating a selection of intersections within the two-dimensional representation;
前記選択された交差に対応する属性に基いて、前記情報を受信することに応じて、前記第2の複数の会話をフィルタリングすることと、filtering the second plurality of conversations in response to receiving the information based on attributes corresponding to the selected intersection;
を含む技術案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, said computer-readable instructions, when executed on a computing device, causing said computing device to at least:
第1の会話を開始することを示す第1の入力をユーザインターフェースから受け取ることと、receiving a first input from the user interface indicating to initiate a first conversation;
第1のユーザによる第2の入力を受け取ることと、receiving a second input by the first user;
前記第2の入力が前記第1の会話に関連付けられる少なくとも1つの属性を示すと判定することと、determining that the second input indicates 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; stores 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 said computing device, said computing device at least:
前記メッセージングサービスに情報の要求を送信することと、sending a request for information to the messaging service;
前記要求に応じて受信された、複数の会話に関連付けられる複数の属性を示す情報を含む情報を格納することであって、前記複数の会話のそれぞれは対応するスレッドIDを有することと、storing information received in response to the request 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 indicators of the plurality of conversations based on the received information;
コンピューティング可読指令をさらに記憶している技術案131に記載の非一時的なコンピュータ可読記憶媒体。132. The non-transitory computer-readable storage medium of Technical Solution 131, further storing computer-readable instructions.
[技術案133][Technical Proposal 133]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、When executed on said computing device, said computing device 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に記載の非一時的なコンピュータ可読記憶媒体。133. The non-transitory computer-readable storage medium of Technical Proposal 132, further storing computer-readable instructions.
[技術案134][Technical Proposal 134]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、When executed on said computing device, said computing device at least:
第2の複数の会話の属性に基づいてインターフェースを生成し表示させる指令をさらに記憶しており、前記インターフェースは前記第2の複数の会話に関連付けられる2次元表示を含み、前記2次元表示における2次元は、前記第2の複数の会話に関連付けられる第1の属性と、前記第2の複数の会話に関連付けられる第2の属性とに基づく、further storing instructions for generating and displaying an interface based on attributes of a second plurality of conversations, said interface including a two-dimensional representation associated with said second plurality of conversations, wherein two a dimension based on a first attribute associated with the second plurality of conversations and a second attribute associated with the second plurality of conversations;
技術案131に記載の非一時的なコンピュータ可読記憶媒体。The non-transitory computer-readable storage medium according to Technical Proposition 131.
Claims (134)
少なくとも1つのデータベースと、
前記少なくとも1つのデータベースと通信する少なくとも1つのコンピューティング装置であって、
第1の会話内の複数のメッセージを受信することと、
前記第1の会話内のユーザ入力が、トピックを示す情報を含むと判定することと、
前記トピックを示す前記情報と前記第1の会話との間の関連付けを、前記少なくとも1つのデータベースに格納することと、
を含む動作を実行するように構成された少なくとも1つのコンピューティング装置と、
を備えるシステム。 a system,
at least one database;
at least one computing device in communication with the at least one database,
receiving a plurality of messages in the first conversation;
determining that user input in the first conversation includes information indicative of a topic;
storing an association between the information indicative of the topic and the first conversation in the at least one database;
at least one computing device configured to perform an operation comprising
A system with
前記第1の会話の第1の参加者に関連付けられるメッセージングアプリケーションから前記トピックの選択を示す入力を受け取ることに応じて、前記第1の会話の少なくともサブセットを、前記複数のメッセージの前記少なくともサブセットを表示させるために、前記メッセージングアプリケーションに送信することをさらに含む、
請求項1に記載のシステム。 Said action renders at least a subset of said first conversation of said plurality of messages in response to receiving input from a messaging application associated with a first participant of said first conversation indicating said topic selection. further comprising sending to the messaging application for display at least a subset;
The system of claim 1.
トピックに関連する情報を含む前記少なくとも1つのデータベースを検索することによって、前記トピックが新しいと判定することと、
前記トピックが新しいという判定に基づいて、前記トピックを示す情報を前記少なくとも1つのデータベースに格納することと、
をさらに含む請求項1に記載のシステム。 The operation is
determining that the topic is new by searching the at least one database containing information related to the topic;
Storing information indicative of the topic in the at least one database based on a determination that the topic is new;
2. The system of claim 1, further comprising:
前記第1の会話内の第2のメッセージを解析することと、
前記第2のメッセージがユーザを識別する情報を含むと判定することと、
少なくとも前記第1の会話内の前記複数のメッセージにアクセスすることによって前記ユーザが前記第1の会話に参加することを許可することと、
をさらに含む請求項1に記載のシステム。 The operation is
parsing a second message in the first conversation;
determining that the second message includes information identifying a user;
authorizing the user to participate in the first conversation by accessing at least the plurality of messages in the first conversation;
2. The system of claim 1, further comprising:
請求項4に記載のシステム。 further comprising sending said information indicative of said topic to one or more messaging applications, said one or more messaging applications including a second messaging application associated with said authorized user;
5. The system of claim 4.
請求項1に記載のシステム。 The at least one database includes a plurality of conversations including the first conversation, and the at least one database further includes a plurality of topics as attributes associated with the plurality of conversations and participants in the plurality of conversations. further stores associated information and
The system of claim 1.
請求項1に記載のシステム。 Determining that the first message includes information indicative of a topic includes determining that the first message includes a predetermined character;
The system of claim 1.
少なくとも1つのデータベースと、
前記少なくとも1つのデータベースと通信する少なくとも1つのコンピューティング装置であって、
第1の会話の第1の参加者に関連付けられるメッセージングアプリケーションから、複数のトピックの中からトピックを選択することを示す入力を受け取ることと、
前記第1の会話内の複数のメッセージの少なくともサブセットを表示させるために、前記第1の会話の少なくとも一部を前記メッセージングアプリケーションに送信することと、
を含む動作を実行するように構成された少なくとも1つのコンピューティング装置と、を備え、
前記トピックを示す情報と前記第1の会話との間の関連付けは、前記少なくとも1つのデータベースに格納される、
システム。 a system,
at least one database;
at least one computing device in communication with the at least one database,
receiving input from a messaging application associated with a first participant in a first conversation indicating selecting a topic from among a plurality of topics;
sending at least a portion of the first conversation to the messaging application for display of at least a subset of the plurality of messages in the first conversation;
at least one computing device configured to perform an operation comprising
an association between information indicative of the topic and the first conversation is stored in the at least one database;
system.
前記選択されたトピックに関連付けられる別の会話内の複数のメッセージの少なくともサブセットを表示させるために、前記別の会話を、前記メッセージングアプリケーションに送信すること、
をさらに含む請求項8に記載のシステム。 The operation is
sending the separate conversation to the messaging application for display of at least a subset of a plurality of messages in the separate conversation associated with the selected topic;
9. The system of claim 8, further comprising:
会話内の複数のメッセージを受信することと、
前記会話内のユーザ入力が、トピックを示す情報を含むと判定することと、
前記トピックを示す情報と前記会話との間の関連付けを格納することと、
を含む方法。 a method,
receiving multiple messages in a conversation; and
determining that user input within the conversation includes information indicative of a topic;
storing an association between information indicative of the topic and the conversation;
method including.
請求項10に記載の方法。 in response to receiving input from a first user indicating a selection associated with said topic, for displaying at least a subset of said plurality of messages in response to said input from said first user; further comprising transmitting said at least a subset of messages to a first user device associated with said first user;
11. The method of claim 10.
前記トピックが新しいと判定すると、前記トピックを示す情報を前記データベースに格納することと、
をさらに含む請求項10に記載の方法。 determining that the topic is new by searching a database containing information related to the topic;
upon determining that the topic is new, storing information indicative of the topic in the database;
11. The method of claim 10, further comprising:
請求項12に記載の方法。 the information indicating the topic includes at least part of a character string indicating the topic;
13. The method of claim 12.
前記第2のユーザに前記会話へのアクセスを許可することと、
をさらに含む請求項10に記載の方法。 determining, based on parsing the second message, that the second message includes information identifying a second user;
authorizing the second user to access the conversation;
11. The method of claim 10, further comprising:
請求項14に記載の方法。 further comprising transmitting information indicative of the topic to a second user device associated with the second user to cause indication of the topic to be displayed;
15. The method of claim 14.
前記第3のメッセージを前記複数のメッセージに追加することと、
をさらに含む請求項14に記載の方法。 receiving a third message from the second user;
adding the third message to the plurality of messages;
15. The method of claim 14, further comprising:
請求項14に記載の方法。 further comprising sending a notification to the first user device indicating the permission for the second user to access the plurality of messages;
15. The method of claim 14.
請求項10に記載の方法。 11. The method of claim 10, further comprising storing an association between the conversation and multiple participants of the conversation.
前記会話の前記複数の参加者を識別することと、
前記第3のメッセージを表示させるために、前記第3のメッセージを、前記複数の参加者に関連付けられる複数のユーザ装置に送信することと、
をさらに含む請求項18に記載の方法。 receiving a third message in said conversation;
identifying the plurality of participants in the conversation;
transmitting the third message to a plurality of user devices associated with the plurality of participants to cause the third message to be displayed;
19. The method of claim 18, further comprising:
請求項10に記載の方法。 the string includes an identifier for determining that the string indicates the topic;
11. The method of claim 10.
第1の会話の第1の参加者に関連付けられるメッセージングアプリケーションから、複数のトピックの中からトピックを選択することを示す入力を受け取ることと、
前記第1の会話内の複数のメッセージの少なくともサブセットを表示させるために、前記第1の会話の少なくとも一部を前記メッセージングアプリケーションに送信することと、を含み、
前記トピックを示す情報と前記第1の会話との間の関連付けは、前記少なくとも1つのデータベースに格納される、
方法。 a method,
receiving input from a messaging application associated with a first participant in a first conversation indicating selecting a topic from among a plurality of topics;
sending at least a portion of the first conversation to the messaging application for display of at least a subset of the plurality of messages in the first conversation;
an association between information indicative of the topic and the first conversation is stored in the at least one database;
Method.
請求項21に記載の方法。 sending the separate conversation to the messaging application for display of at least a subset of a plurality of messages in the separate conversation associated with the selected topic;
22. The method of claim 21.
複数のメッセージを受信することと、
前記複数のメッセージのうちの第1のメッセージを解析することに基づいて、前記第1のメッセージがトピックを示す文字列を含むと判定することと、
前記トピックを示す前記文字列の少なくとも一部と前記複数のメッセージとの間の関連付けを格納することと、
を行わせる非一時的なコンピュータ可読記憶媒体。 A non-transitory computer-readable storage medium having computer-readable instructions stored thereon, said computer-readable instructions, when executed on a computing device, causing said computing device to at least:
receiving multiple messages;
Based on parsing a first message of the plurality of messages, determining that the first message includes a string indicative of a topic;
storing an association between at least a portion of the string indicative of the topic and the plurality of messages;
A non-transitory computer-readable storage medium that causes
前記トピックに関連付けられる選択を示す第1のユーザからの入力を受け取ることに応じて、前記第1のユーザからの前記入力に応じて前記複数のメッセージの少なくともサブセットを表示させるために、前記複数のメッセージの前記少なくともサブセットを前記第1のユーザに関連付けられる第1のユーザ装置に送信することを行わせる、
コンピュータ可読指令をさらに記憶している請求項23に記載の非一時的なコンピュータ可読記憶媒体。 When executed on said computing device, said computing device at least:
in response to receiving input from a first user indicating a selection associated with said topic, for displaying at least a subset of said plurality of messages in response to said input from said first user; causing transmission of said at least a subset of messages to a first user device associated with said first user;
24. The non-transitory computer-readable storage medium of claim 23, further storing computer-readable instructions.
トピックに関連する情報を含むデータベースを検索することによって、前記トピックが新しいと判定することと、
前記トピックが新しいと判定すると、前記トピックを示す情報を前記データベースに格納することと、を行わせる、
コンピュータ可読指令をさらに記憶している請求項23に記載の非一時的なコンピュータ可読記憶媒体。 When executed on said computing device, said computing device at least:
determining that the topic is new by searching a database containing information related to the topic;
upon determining that the topic is new, storing information indicative of the topic in the database;
24. The non-transitory computer-readable storage medium of claim 23, further storing computer-readable instructions.
前記第2のメッセージを解析することに基づいて、前記第2のメッセージが第2のユーザを識別する情報を含むと判定することと、
前記複数のメッセージにアクセスし、前記複数のメッセージに1つ又は複数の新しいメッセージを追加することを前記第2のユーザに許可することと、を行わせる、
コンピュータ可読指令をさらに記憶している請求項23に記載の非一時的なコンピュータ可読記憶媒体。 When executed on said computing device, said computing device at least:
determining, based on parsing the second message, that the second message includes information identifying a second user;
allowing the second user to access the plurality of messages and add one or more new messages to the plurality of messages;
24. The non-transitory computer-readable storage medium of claim 23, further storing computer-readable instructions.
前記トピックと、前記トピックに関連付けられる会話の複数の参加者との間の関連付けを格納することと、
前記トピックに関連付けられる前記会話内の第3のメッセージを受信することと、
前記第3のメッセージおよび前記トピックを、前記複数の参加者に関連付けられる複数のユーザ装置に送信することと、を行わせる、
コンピュータ可読指令をさらに含み、
前記複数の参加者のうちの第1の参加者に関連付けられる第1のユーザ装置は、前記第1のユーザ装置が以前に前記トピックに関連付けられる任意のメッセージを受信したという判定に応じて、前記トピックを表示せずに前記第3のメッセージのみを表示するように構成されている、
請求項23に記載の非一時的なコンピュータ可読記憶媒体。 When executed on said computing device, said computing device at least:
storing an association between the topic and a plurality of participants in a conversation associated with the topic;
receiving a third message within the conversation associated with the topic;
sending the third message and the topic to a plurality of user devices associated with the plurality of participants;
further comprising computer readable instructions;
A first user device associated with a first participant of the plurality of participants, in response to determining that the first user device previously received any message associated with the topic, said configured to display only the third message without displaying the topic;
24. The non-transitory computer-readable storage medium of claim 23.
第1の会話の第1の参加者に関連付けられるメッセージングアプリケーションから、複数のトピックの中からトピックを選択することを示す入力を受け取ることと、
前記第1の会話内の複数のメッセージの少なくともサブセットを表示させるために、前記第1の会話の少なくとも一部を前記メッセージングアプリケーションに送信することと、を行わせて、
前記トピックを示す情報と前記第1の会話との間の関連付けは、前記少なくとも1つのデータベースに格納される
非一時的なコンピュータ可読記憶媒体。 A non-transitory computer-readable storage medium having computer-readable instructions stored thereon, said computer-readable instructions, when executed on a computing device, causing said computing device to at least:
receiving input from a messaging application associated with a first participant in a first conversation indicating selecting a topic from among a plurality of topics;
sending at least a portion of the first conversation to the messaging application for display of at least a subset of the plurality of messages in the first conversation;
An association between the information indicative of the topic and the first conversation is stored in the at least one database on a non-transitory computer-readable storage medium.
前記選択されたトピックに関連付けられる別の会話内の複数のメッセージの少なくともサブセットを表示させるために、前記別の会話を、前記メッセージングアプリケーションに送信することを行わせる、
コンピュータ可読指令をさらに記憶している請求項28に記載の非一時的なコンピュータ可読記憶媒体。 When executed on said computing device, said computing device at least:
causing the separate conversation to be sent to the messaging application for display of at least a subset of a plurality of messages in the separate conversation associated with the selected topic;
29. The non-transitory computer-readable storage medium of claim 28, further storing computer-readable instructions.
少なくとも1つのデータベースと、
前記少なくとも1つのデータベースと通信する少なくとも1つのコンピューティング装置であって、
第1の会話内の複数のメッセージを受信することと、
前記第1の会話内のユーザ入力が複数のユーザからなる第1のグループを識別する情報を含むと判定し、前記第1のグループに第1の会話に参加することを許可することと、
前記第1のグループと前記第1の会話との間の関連付けを前記少なくとも1つのデータベースに格納することと、
前記第1のグループを識別する前記情報に基づいて前記少なくとも1つのデータベースから、前記第1のグループ内の前記複数のユーザを識別する情報を含む、前記第1のグループに関連付けられるデータを取り戻すことと、
前記第1のグループに関連付けられる前記取り戻されたデータに少なくとも部分的に基づいて、前記複数のメッセージの少なくともサブセットを表示させるために、前記第1の会話の前記少なくともサブセットを、前記第1のグループ内の前記複数のユーザに関連付けられる複数のメッセージングアプリケーションに送信することと、
を含む動作を実行するように構成された少なくとも1つのコンピューティング装置と、
を備えるシステム。 a system,
at least one database;
at least one computing device in communication with the at least one database,
receiving a plurality of messages in the first conversation;
determining that user input in the first conversation includes information identifying a first group of users and authorizing the first group to participate in the first conversation;
storing an association between the first group and the first conversation in the at least one database;
Retrieving data associated with the first group, including information identifying the plurality of users within the first group, from the at least one database based on the information identifying the first group. and,
transferring the at least a subset of the first conversation to the first group for display of at least a subset of the plurality of messages based at least in part on the retrieved data associated with the first group; sending to a plurality of messaging applications associated with the plurality of users in
at least one computing device configured to perform an operation comprising
A system with
少なくとも部分的に検索インデックスに基づいて、前記第1の会話を、前記第1のグループ内の前記複数のユーザのそれぞれに関連付けることをさらに含む、
請求項30に記載のシステム。 The operation is
further comprising associating the first conversation with each of the plurality of users in the first group based at least in part on a search index;
31. The system of Claim 30.
前記第1のグループに第1のユーザを追加するか、または前記第1のグループから前記第1のユーザを削除することを示す情報と、前記第1のユーザを識別する情報とを受信することに応じて、前記第1のグループに関連付けられる前記データを更新することをさらに含む、
請求項31に記載のシステム。 The operation is
Receiving information indicating adding a first user to or removing the first user from the first group and information identifying the first user. further comprising updating the data associated with the first group in response to
32. The system of claim 31.
第2の会話で第2のメッセージを受信することと、前記第2のメッセージが前記第1のグループを識別する情報を含むと判定することに応じて、前記第1のグループに前記第2の会話に参加することを許可することと、
前記第1のグループと前記第2の会話との間の関連付けを前記少なくとも1つのデータベースに格納することと、
をさらに含む請求項30に記載のシステム。 The operation is
sending said second message to said first group in response to receiving a second message in a second conversation and determining that said second message includes information identifying said first group; Allowing participation in a conversation; and
storing an association between the first group and the second conversation in the at least one database;
31. The system of claim 30, further comprising:
第2のユーザを前記第1のグループに追加することを示す情報と、前記第2のユーザを識別する情報とを受信することと、
前記第1のグループに関連付けられるデータを更新することと、
をさらに含む請求項33に記載のシステム。 The operation is
receiving information indicating to add a second user to the first group and information identifying the second user;
updating data associated with the first group;
34. The system of claim 33, further comprising:
前記少なくとも1つのデータベースを検索することによって、前記第1の会話内の前記複数のメッセージおよび前記第2の会話内の第2の複数のメッセージを識別することと、
前記第1の会話内の前記複数のメッセージおよび前記第2の会話内の前記第2の複数のメッセージを、前記第2のユーザに関連付けられるメッセージングアプリケーションに送信することと、
をさらに含む請求項34に記載のシステム。 The operation is
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;
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;
35. The system of claim 34, further comprising:
前記第2のユーザが前記第1のグループに追加されたことを示す通知を、前記第1のグループ内の前記複数のユーザに関連付けられる前記複数のメッセージングアプリケーションに送信すること、
をさらに含む請求項34に記載のシステム。 The operation is
sending notifications 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;
35. The system of claim 34, further comprising:
請求項30に記載のシステム。 The information identifying the plurality of users in the first group includes a username of a registered user, an account within an entity associated with one of the plurality of users, and a user name of the plurality of users. an email address associated with one of the plurality of users associated with one;
31. The system of Claim 30.
請求項30に記載のシステム。 said data associated with said first group further includes information indicating that said first group is a private group, said private group being accessible only to a plurality of users within said private group;
31. The system of Claim 30.
第1の会話内の複数のメッセージを受信することと、
前記第1の会話内の第1のメッセージが複数のユーザからなる第1のグループを識別する情報を含むと判定し、前記第1のグループに第1の会話に参加することを許可することと、
前記第1のグループと前記第1の会話との間の関連付けを前記少なくとも1つのデータベースに格納することと、
前記第1のグループを識別する前記情報に基づいて前記少なくとも1つのデータベースから、前記第1のグループ内の前記複数のユーザを識別する情報を含む、前記第1のグループに関連付けられるデータを取り戻すことと、
前記第1のグループに関連付けられる取り戻されたデータに少なくとも部分的に基づいて、前記複数のメッセージの少なくともサブセットを表示させるために、前記第1の会話の前記少なくともサブセットを、前記第1のグループ内の前記複数のユーザに関連付けられる複数のメッセージングアプリケーションに送信することと、
を含む方法。 a method,
receiving a plurality of messages in the first conversation;
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; ,
storing an association between the first group and the first conversation in the at least one database;
Retrieving data associated with the first group, including information identifying the plurality of users within the first group, from the at least one database based on the information identifying the first group. and,
at least a subset of the first conversation within the first group for display of at least a subset of the plurality of messages based at least in part on retrieved data associated with the first group; sending to a plurality of messaging applications associated with the plurality of users of
method including.
請求項39に記載の方法。 further comprising associating the first conversation with each of the plurality of users in the first group based at least in part on a search index;
40. The method of claim 39.
請求項40に記載の方法。 Receiving information indicating adding a first user to or removing the first user from the first group and information identifying the first user. 41. The method of claim 40, further comprising updating the data and the search index associated with the first group in response to.
前記第1のグループと前記第2の会話との間の関連付けを前記少なくとも1つのデータベースに格納することと、
をさらに含む請求項39に記載の方法。 sending said second message to said first group in response to receiving a second message in a second conversation and determining that said second message includes information identifying said first group; Allowing participation in a conversation; and
storing an association between the first group and the second conversation in the at least one database;
40. The method of claim 39, further comprising:
前記第1のグループに関連付けられるデータを更新することと、
をさらに含む請求項39に記載の方法。 Receiving information indicating adding a second user to the first group or removing the second user from the first group and information identifying the second user. and,
updating data associated with the first group;
40. The method of claim 39, further comprising:
前記第1の会話内の前記複数のメッセージおよび前記第2の会話内の前記第2の複数のメッセージを、前記第2のユーザに関連付けられるメッセージングアプリケーションに送信することと、
をさらに含む請求項43に記載の方法。 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;
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;
44. The method of claim 43, further comprising:
請求項39に記載の方法。 Said third user actively participated in said first conversation or by another user before said third user already removed from said first group was removed from said first group further comprising determining to send some new message to the third user based on the determination that he was invited to the first conversation;
40. The method of claim 39.
第1の会話内の複数のメッセージを受信することと、
前記第1の会話内の第1のメッセージが複数のユーザからなる第1のグループを識別する情報を含むと判定し、前記第1のグループに第1の会話に参加することを許可することと、
前記第1のグループと前記第1の会話との間の関連付けを前記少なくとも1つのデータベースに格納することと、
前記第1のグループを識別する前記情報に基づいて前記少なくとも1つのデータベースから、前記第1のグループ内の前記複数のユーザを識別する情報を含む、前記第1のグループに関連付けられるデータを取り戻すことと、
前記第1のグループに関連付けられる前記取り戻されたデータに少なくとも部分的に基づいて、前記複数のメッセージの少なくともサブセットを表示させるために、前記第1の会話の前記少なくともサブセットを、前記第1のグループ内の前記複数のユーザに関連付けられる複数のメッセージングアプリケーションに送信することと、
を行わせる非一時的なコンピュータ可読記憶媒体。 A non-transitory computer-readable storage medium having computer-readable instructions stored thereon, said computer-readable instructions, when executed on a computing device, causing said computing device to at least:
receiving a plurality of messages in the first conversation;
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; ,
storing an association between the first group and the first conversation in the at least one database;
Retrieving data associated with the first group, including information identifying the plurality of users within the first group, from the at least one database based on the information identifying the first group. and,
transferring the at least a subset of the first conversation to the first group for display of at least a subset of the plurality of messages based at least in part on the retrieved data associated with the first group; sending to a plurality of messaging applications associated with the plurality of users in
A non-transitory computer-readable storage medium that causes
前記第1のグループ内の前記複数のユーザを識別する前記情報に基づいて検索インデックスを生成することと、
少なくとも部分的に前記検索インデックスに基づいて、前記第1の会話を、前記第1のグループ内の前記複数のユーザのそれぞれに関連付けることと、を行わせる
コンピュータ可読指令をさらに記憶している請求項46に記載の非一時的なコンピュータ可読記憶媒体。 When executed on said computing device, said computing device at least:
generating a search index based on the information identifying the plurality of users in the first group;
and associating said first conversation with each of said plurality of users in said first group based at least in part on said search index, further storing computer readable instructions. 47. The non-transitory computer readable storage medium of 46.
第2の会話で第2のメッセージを受信することと、前記第2のメッセージが前記第1のグループを識別する情報を含むと判定することに応じて、前記第1のグループに前記第2の会話に参加することを許可することと、
前記第1のグループと前記第2の会話との間の関連付けを前記少なくとも1つのデータベースに格納することと、を行わせる、
コンピュータ可読指令をさらに記憶している請求項46に記載の非一時的なコンピュータ可読記憶媒体。 When executed on said computing device, said computing device at least:
sending said second message to said first group in response to receiving a second message in a second conversation and determining that said second message includes information identifying said first group; Allowing participation in a conversation; and
storing an association between the first group and the second conversation in the at least one database;
47. The non-transitory computer-readable storage medium of claim 46, further storing computer-readable instructions.
第1のユーザを前記第1のグループに追加することを示す情報と、前記第1のユーザを識別する情報とを受信することと、
前記少なくとも1つのデータベースを検索することによって、前記第1の会話内の前記複数のメッセージおよび前記第2の会話内の第2の複数のメッセージを識別することと、
前記第1の会話内の前記複数のメッセージおよび前記第2の会話内の前記第2の複数のメッセージを、前記第1のユーザに関連付けられるメッセージングアプリケーションに送信することと、を行わせる、
コンピュータ可読指令をさらに記憶している請求項48に記載の非一時的なコンピュータ可読記憶媒体。 When executed on said computing device, said computing device at least:
receiving information indicating to add a first user to the first group and information identifying the first user;
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;
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;
49. The non-transitory computer-readable storage medium of Claim 48, further storing computer-readable instructions.
少なくとも1つのデータベースと、
前記少なくとも1つのデータベースと通信する少なくとも1つのコンピューティング装置であって、
前記会話内の、第1のユーザに関連付けられる第1のメッセージングアプリケーションから送信された第1のメッセージを含む複数のメッセージを受信することと、
前記第1のメッセージが第2のユーザを識別する情報を含むと判定することと、
前記第1のメッセージに関連付けられる日付を示す情報を受信することと、
少なくとも前記第1のメッセージと、前記第2のユーザと、前記日付との間の関連付けを、前記少なくとも1つのデータベースに格納することと、
を含む動作を実行するように構成された少なくとも1つのコンピューティング装置と、
を備えるシステム。 a system,
at least one database;
at least one computing device in communication with the at least one database,
receiving a plurality of messages in the conversation, including a first message sent from a first messaging application associated with a first user;
determining that the first message includes information identifying a second user;
receiving information indicating a date associated with the first message;
storing an association between at least the first message, the second user and the date in the at least one database;
at least one computing device configured to perform an operation comprising
A system with
少なくとも部分的に前記第1のメッセージに関連付けられる前記日付に基づいて、前記日付が前記少なくとも1つのデータベースにおいて依然として有効であることを示すリマインダを、前記第2のユーザに関連付けられる第2のメッセージングアプリケーションに送信すること、
をさらに含む請求項50に記載のシステム。 The operation is
A second messaging application associated with the second user, based at least in part on the date associated with the first message, a reminder that the date is still valid in the at least one database. to send to
51. The system of claim 50, further comprising:
請求項50に記載のシステム。 the first message indicates a task assigned to the second user by the first user;
51. System according to claim 50.
請求項52に記載のシステム。 the date associated with the first message includes a due date for the task;
53. The system of claim 52.
少なくとも部分的に前記タスクの期限日に基づいて前記タスクのステータスを決定することと、
前記タスクのステータスおよび期限日を表示させるために、前記会話の複数の参加者に関連付けられる複数のメッセージングアプリケーションに、前記タスクのステータスと期限日を示す情報を送信することと、
をさらに含む請求項53に記載のシステム。 The operation is
determining a status of the task based at least in part on a due date of the task;
sending information indicative of the task status and due date to a plurality of messaging applications associated with a plurality of participants in the conversation for display of the task status and due date;
54. The system of claim 53, further comprising:
前記第1のメッセージングアプリケーションまたは前記第2のメッセージングアプリケーションから、前記タスクの期限日またはステータスの変更を示す情報を受信することと、
前記タスクの期限日またはステータスの変更を示す前記情報に基づいて、前記タスクのステータスを更新することと、
をさらに含む請求項54に記載のシステム。 The operation is
receiving information from the first messaging application or the second messaging application indicating a due date or status change of the task;
updating the status of the task based on the information indicating a change in due date or status of the task;
55. The system of claim 54, further comprising:
前記タスクの更新されたステータスを表示させるために、前記タスクの更新されたステータスを示す情報を前記複数のメッセージングアプリケーションに送信すること、
をさらに含む請求項55に記載のシステム。 The operation is
Sending information indicative of the updated status of the task to the plurality of messaging applications for display of the updated status of the task;
56. The system of claim 55, further comprising:
前記タスクのステータス、前記タスクの期限日、またはリマインダ日付を示す情報の受信のうちの少なくとも1つに基づいて、少なくとも前記第2のメッセージングアプリケーションに前記リマインダを送信すること、
をさらに含む請求項56に記載のシステム。 The operation is
sending the reminder to at least the second messaging application based on at least one of receiving information indicating the status of the task, the due date of the task, or a reminder date;
57. The system of claim 56, further comprising:
前記第1のメッセージおよび前記第1のメッセージに関連付けられる日付を表示させるために、前記第1のメッセージおよび前記第1のメッセージに関連付けられる日付を示す情報を、前記会話の複数の参加者に関連付けられる複数のメッセージングアプリケーションに送信すること、
をさらに含む請求項50に記載のシステム。 The operation is
Associate information indicative of the first message and a date associated with the first message with the plurality of participants in the conversation for displaying the first message and a date associated with the first message. sending to multiple messaging applications that can be
51. The system of claim 50, further comprising:
メッセージングサービスによって維持される会話内の、第1のユーザに関連付けられる第1のメッセージングアプリケーションから送信された第1のメッセージを含む複数のメッセージを受信することと、
前記第1のメッセージが第2のユーザを識別する情報を含むと判定することと、
前記第1のメッセージに関連付けられる日付を示す情報を受信することと、
少なくとも前記第1のメッセージと、前記第2のユーザと、前記日付との間の関連付けを、少なくとも1つのデータベースに格納することと、
を含む方法。 a method,
receiving a plurality of messages in a conversation maintained by a messaging service, including a first message sent from a first messaging application associated with a first user;
determining that the first message includes information identifying a second user;
receiving information indicating a date associated with the first message;
storing an association between at least the first message, the second user and the date in at least one database;
method including.
請求項59に記載の方法。 further comprising 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;
60. The method of claim 59.
請求項59に記載の方法。 the first message indicates a task assigned to the second user by the first user;
60. The method of claim 59.
請求項59に記載の方法。 the date associated with the first message includes a due date for the task;
60. The method of claim 59.
前記タスクのステータスおよび期限日を表示させるために、前記会話内の複数の参加者に関連付けられる複数のメッセージングアプリケーションに、前記タスクのステータスと期限日を示す情報を送信することと、
をさらに含む請求項62に記載の方法。 determining a status of the task based at least in part on a due date of the task;
sending information indicative of the task status and due date to a plurality of messaging applications associated with a plurality of participants in the conversation for display of the task status and due date;
63. The method of claim 62, further comprising:
請求項53に記載の方法。 Further sending a reminder to the first messaging application and 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. include,
54. The method of claim 53.
前記タスクの期限日またはステータスの変更を示す前記情報に基づいて、前記タスクのステータスを更新することと、
前記タスクの更新されたステータスを表示させるために、前記タスクの更新されたステータスを示す情報を前記複数のメッセージングアプリケーションに送信することをさらに含む、
請求項63に記載の方法。 receiving information from the first messaging application or the second messaging application indicating a due date or status change of the task;
updating the status of the task based on the information indicating a change in due date or status of the task;
further comprising sending information indicative of the updated status of the task to the plurality of messaging applications for display of the updated status of the task;
64. The method of claim 63.
メッセージングサービスによって維持される会話内の、第1のユーザに関連付けられる第1のメッセージングアプリケーションから送信された第1のメッセージを含む複数のメッセージを受信することと、
前記第1のメッセージが第2のユーザを識別する情報を含むと判定することと、
前記第1のメッセージに関連付けられる日付を示す情報を受信することと、
少なくとも前記第1のメッセージと、前記第2のユーザと、前記日付との間の関連付けを、少なくとも1つのデータベースに格納することと、
を行わせる非一時的なコンピュータ可読記憶媒体。 A non-transitory computer-readable storage medium having computer-readable instructions stored thereon, said computer-readable instructions, when executed on a computing device, causing said computing device to at least:
receiving a plurality of messages in a conversation maintained by a messaging service, including a first message sent from a first messaging application associated with a first user;
determining that the first message includes information identifying a second user;
receiving information indicating a date associated with the first message;
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 that causes
少なくとも部分的に前記第1のメッセージに関連付けられる前記日付に基づいて、前記日付が前記少なくとも1つのデータベースにおいて依然として有効であることを示すリマインダを、前記第2のユーザに関連付けられる第2のメッセージングアプリケーションに送信することを行わせる、
コンピュータ可読指令をさらに記憶している請求項66に記載の非一時的なコンピュータ可読記憶媒体。 When executed on said computing device, said computing device at least:
A second messaging application associated with the second user, based at least in part on the date associated with the first message, a reminder that the date is still valid in the at least one database. cause it to send to
67. The non-transitory computer-readable storage medium of Claim 66, further storing computer-readable instructions.
請求項66に記載の非一時的なコンピュータ可読記憶媒体。 the first message indicates a task assigned to the second user by the first user, and the date associated with the first message includes a due date for the task;
67. The non-transitory computer-readable storage medium of Claim 66.
少なくとも部分的に前記タスクの期限日に基づいて前記タスクのステータスを決定することと、
前記タスクのステータスおよび期限日を表示させるために、前記会話の複数の参加者に関連付けられる複数のメッセージングアプリケーションに、前記タスクのステータスと期限日を示す情報を送信することと、を行わせる、
コンピュータ可読指令をさらに記憶している請求項66に記載の非一時的なコンピュータ可読記憶媒体。 When executed on said computing device, said computing device at least:
determining a status of the task based at least in part on a due date of the task;
sending information indicative of the task status and due date to a plurality of messaging applications associated with the plurality of participants in the conversation for display of the task status and due date;
67. The non-transitory computer-readable storage medium of Claim 66, further storing computer-readable instructions.
少なくとも1つのデータベースと、
前記少なくとも1つのデータベースと通信する少なくとも1つのコンピューティング装置であって、
会話で第1の入力を受け取ることと、
前記第1の入力を解析することに基づいて、前記第1の入力が第1の電子メールアドレスを示す情報を含むと判定することと、
前記会話を識別するための第1の識別子を生成することと、
前記第1の識別子を、前記第1の電子メールアドレスに関連付けられる第1の外部電子メールサービスに送信することと、
を含む動作を実行するように構成された少なくとも1つのコンピューティング装置と、
を備えるシステム。 a system,
at least one database;
at least one computing device in communication with the at least one database,
receiving a first input in the conversation;
determining, based on parsing the first input, that the first input includes information indicative of a first email address;
generating a first identifier for identifying the conversation;
sending the first identifier to a first external email service associated with the first email address;
at least one computing device configured to perform an operation comprising
A system with
請求項70に記載のシステム。 wherein the first identifier is a first return email address corresponding to the conversation;
71. The system of Claim 70.
請求項71に記載のシステム。 wherein the first return email address includes an at least partially randomly chosen text string;
72. The system of claim 71.
前記第1の電子メールアドレス及び前記第1の識別子を含む第1のセットのデータを、前記第1の外部電子メールサービスから受信すること、
をさらに含む請求項70に記載のシステム。 The operation is
receiving from the first external email service a first set of data including the first email address and the first identifier;
71. The system of claim 70, further comprising:
前記第1のセットのデータに含まれる前記第1の識別子に基づいて、前記第1のセットのデータが前記会話に関連付けられていると判定することと、前記第1のセットのデータに基づいて第2のメッセージを生成することと、前記第2のメッセージを表示させるために、前記第2のメッセージを前記会話の複数の参加者に関連付けられる複数のメッセージングアプリケーションに送信すること、
をさらに含む請求項73に記載のシステム。 The operation is
determining that the first set of data is associated with the conversation based on the first identifier included in the first set of data; and based on the first set of data. generating a second message; sending the second message to a plurality of messaging applications associated with a plurality of participants in the conversation for display of the second message;
74. The system of claim 73, further comprising:
前記第1の電子メールアドレスと前記会話との間の関連付けを、前記少なくとも1つのデータベースに格納すること、
をさらに含む請求項70に記載のシステム。 The operation is
storing an association between the first email address and the conversation in the at least one database;
71. The system of claim 70, further comprising:
第1の電子メールアドレスが前記会話に参加する第1の外部エンティティに関連付けられていることを示す通知を、前記会話の前記複数の参加者に関連付けられる複数のメッセージングアプリケーションに送信すること、
をさらに含む請求項70に記載のシステム。 The operation is
sending notifications to a plurality of messaging applications associated with the plurality of participants in the conversation indicating that a first email address is associated with a first external entity participating in the conversation;
71. The system of claim 70, further comprising:
前記第1の電子メールアドレスを識別する情報を含む第3のメッセージを、前記会話の第1の参加者に関連付けられる第1のメッセージングアプリケーションから受信することと、
第1の電子メールプロトコルに従って、前記第1の電子メールアドレスと、前記第2のメッセージの内容と、前記第1の識別子とを含む第1の電子メールメッセージを生成することと、
前記第1の電子メールメッセージを、第1の電子メール受信ボックスに配信するために、前記第1の電子メールアドレスに関連付けられる前記第1の外部電子メールサービスに送信すること、
をさらに含む請求項70に記載のシステム。 The operation is
receiving a third message including information identifying the first email address from a first messaging application associated with the first participant in the conversation;
generating a first email message according to a first email protocol, the first email message including the first email address, the content of the second message, and the first identifier;
sending the first email message to the first external email service associated with the first email address for delivery to a first email inbox;
71. The system of claim 70, further comprising:
前記第1の識別子と、前記第3のメッセージに対する返信を示す情報と、前記返信の内容とを含む第2のセットのデータを、前記第1の外部電子メールサービスから受信することと、
前記第2のセットのデータに含まれる前記第1の識別子に基づいて、前記第2のセットのデータが前記会話に関連付けられていると判定することと、
前記第2のセットのデータに基づいて第4のメッセージを生成することと、
前記第4のメッセージを表示させるために、前記第4のメッセージを前記会話の複数の参加者に関連付けられる複数のメッセージングアプリケーションに送信すること、
をさらに含む請求項77に記載のシステム。 The operation is
receiving from the first external email service a second set of data including the first identifier, information indicative of a reply to the third message, and content of the reply;
determining that the second set of data is associated with the conversation based on the first identifier included in the second set of data;
generating a fourth message based on the second set of data;
sending the fourth message to a plurality of messaging applications associated with a plurality of participants in the conversation for display of the fourth message;
78. The system of claim 77, further comprising:
請求項78記載のシステム。 a second external entity associated with a second email address is permitted to participate in said conversation;
79. System according to claim 78.
第2の電子メールプロトコルに従って、前記第2の電子メールアドレスと、前記第4のメッセージの内容と、前記会話を識別するために前記第2の電子メールアドレスに関連付けられる第2の外部電子メールサービスのための、前記メッセージングサービスによって生成される第2の識別子とを含む第2の電子メールメッセージを生成することと、
前記第2の電子メールメッセージを、第2の電子メール受信ボックスに配信するために、前記第2の電子メールアドレスに関連付けられる前記第2の外部電子メールサービスに送信することと、
をさらに含む請求項79に記載のシステム。 The operation is
a second external e-mail service associated with said second e-mail address to identify said second e-mail address, content of said fourth message, and said conversation according to a second e-mail protocol; generating a second email message including a second identifier generated by the messaging service for
sending the second email message to the second external email service associated with the second email address for delivery to a second email inbox;
80. The system of claim 79, further comprising:
会話で第1のメッセージを受信することと、
前記第1のメッセージが第1の電子メールアドレスを示す情報を含むと判定することと、
前記第1の電子メールアドレスと前記会話との間の関連付けを、少なくとも1つのデータベースに格納することと、
前記会話を識別するための第1の識別子を生成することと、
前記第1の識別子を、前記第1の電子メールアドレスに関連付けられる前記第1の外部電子メールサービスに送信することと、
を含む方法。 a method,
receiving a first message in the conversation;
determining that the first message includes information indicative of a first email address;
storing an association between the first email address and the conversation in at least one database;
generating a first identifier for identifying the conversation;
sending the first identifier to the first external email service associated with the first email address;
method including.
請求項81に記載の方法。 wherein the first identifier is a first return email address corresponding to the conversation;
82. The method of claim 81.
前記第1のセットのデータに含まれる前記第1の識別子に基づいて、前記第1のセットのデータが前記会話に関連付けられていると判定することと、
前記第1のセットのデータに基づいて第2のメッセージを生成することと、
前記第2のメッセージを表示させるために、前記第2のメッセージを前記会話の複数の参加者に関連付けられる複数のメッセージングアプリケーションに送信することと、
をさらに含む請求項81に記載の方法。 receiving a first set of data including the first identifier from the first external email service;
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;
sending the second message to a plurality of messaging applications associated with a plurality of participants in the conversation for display of the second message;
82. The method of claim 81, further comprising:
第1の電子メールプロトコルに従って、前記第1の電子メールアドレスと、前記第2のメッセージの内容と、前記第1の識別子とを含む第1の電子メールメッセージを生成することと、
前記第1の電子メールメッセージを、第1の電子メール受信ボックスに配信するために、前記第1の電子メールアドレスに関連付けられる前記第1の外部電子メールサービスに送信することと、
をさらに含む請求項81に記載の方法。 receiving a third message including information identifying the first email address from a first messaging application associated with the first participant in the conversation;
generating a first email message according to a first email protocol, the first email message including the first email address, the content of the second message, and the first identifier;
sending the first email message to the first external email service associated with the first email address for delivery to a first email inbox;
82. The method of claim 81, further comprising:
前記第2のセットのデータに含まれる前記第1の識別子に基づいて、前記第2のセットのデータが前記会話に関連付けられていると判定することと、
前記第2のセットのデータに基づいて第4のメッセージを生成することと、
前記第4のメッセージを表示させるために、前記第4のメッセージを前記会話の複数の参加者に関連付けられる複数のメッセージングアプリケーションに送信することと、
をさらに含む請求項84に記載の方法。 receiving from the first external email service a second set of data including the first identifier, information indicative of a reply to the third message, and content of the reply;
determining that the second set of data is associated with the conversation based on the first identifier included in the second set of data;
generating a fourth message based on the second set of data;
sending the fourth message to a plurality of messaging applications associated with a plurality of participants in the conversation for display of the fourth message;
85. The method of claim 84, further comprising:
第2の電子メールプロトコルに従って、前記第2の電子メールアドレスと、前記第4のメッセージの内容と、前記会話を識別するための第2の識別子とを含む第2の電子メールメッセージを生成することと、
前記第2の電子メールメッセージを、第2の電子メール受信ボックスに配信するために、前記第2の電子メールアドレスに関連付けられる前記第2の外部電子メールサービスに送信することと、
をさらに含む請求項85に記載の方法。 A second external entity associated with a second email address is permitted to participate in the conversation, the method comprising:
generating a second e-mail message according to a second e-mail protocol including said second e-mail address, content of said fourth message, and a second identifier for identifying said conversation; and,
sending the second email message to the second external email service associated with the second email address for delivery to a second email inbox;
86. The method of claim 85, further comprising:
会話で第1のメッセージを受信することと、
前記第1のメッセージが、電子メール参加者に関連付けられる電子メールアドレスを示す情報を含むことと判定することと、
前記電子メールアドレスと前記会話との間の関連付けを、少なくとも1つのデータベースに格納することと、
前記電子メールアドレスに関連付けられる外部電子メールサービスによって前記会話を識別するための識別子を生成することと、
前記識別子を、前記電子メールアドレスに関連付けられる前記外部電子メールサービスに送信することと、を行わせる、
非一時的なコンピュータ可読記憶媒体。 A non-transitory computer-readable storage medium having computer-readable instructions stored thereon, said computer-readable instructions, when executed on a computing device, causing said computing device to at least:
receiving a first message in the conversation;
determining that the first message includes information indicative of an email address associated with an email participant;
storing associations between said email addresses and said conversations in at least one database;
generating an identifier for identifying said conversation with an external email service associated with said email address;
sending the identifier to the external email service associated with the email address;
A non-transitory computer-readable storage medium.
請求項85に記載の非一時的なコンピュータ可読記憶媒体。 86. The non-transitory computer-readable storage medium of claim 85, wherein said identifier is a first return email address corresponding to said conversation.
前記識別子を含むセットのデータを、前記外部電子メールサービスから受信することと、
前記セットのデータに含まれる前記識別子に基づいて、前記セットのデータが前記会話に関連付けられていると判定することと、
前記第1のセットのデータに基づいて第2のメッセージを生成することと、
前記第2のメッセージを表示させるために、前記第2のメッセージを前記会話の複数の参加者に関連付けられる複数のメッセージングアプリケーションに送信することと、を行わせる
コンピュータ可読指令をさらに記憶している請求項85に記載の非一時的なコンピュータ可読記憶媒体。 When executed on said computing device, said computing device at least:
receiving a set of data including the identifier from the external email service;
determining that the set of data is associated with the conversation based on the identifiers included in the set of data;
generating a second message based on the first set of data;
sending the second message to a plurality of messaging applications associated with a plurality of participants in the conversation to cause the second message to be displayed; 86. The non-transitory computer-readable storage medium of Clause 85.
複数の会話を含むメッセージスレッドデータベースと、
前記複数の会話に関連付けられる属性を含む複数の属性データベースと、
前記メッセージスレッドデータベースおよび前記複数の属性データベースと通信する少なくとも1つのコンピューティング装置であって、
前記複数の会話のうちの第1の会話内の複数のメッセージを受信することと、
前記複数のメッセージを前記メッセージスレッドデータベースに格納することと、
前記第1の会話内のユーザ入力を受け取ることと、
前記ユーザ入力が、前記第1の会話に関連付けられる少なくとも1つの属性を含むと判定することと、
前記少なくとも1つの属性のタイプの判定に基づいて、前記複数の属性データベースのうちの少なくとも1つに情報を格納することと、
前記少なくとも1つの属性と前記第1の会話との間の関連付けを格納することと、
を含む動作を実行するように構成された少なくとも1つのコンピューティング装置と、
を備えるシステム。 a system,
a message thread database containing multiple conversations;
a plurality of attribute databases containing attributes associated with the plurality of conversations;
at least one computing device in communication with the message thread database and the plurality of attribute databases,
receiving a plurality of messages in a first one of the plurality of conversations;
storing the plurality of messages in the message thread database;
receiving user input within the first conversation;
determining that the user input includes at least one attribute associated with the first conversation;
storing information in at least one of the plurality of attribute databases based on determining the type of the at least one attribute;
storing an association between the at least one attribute and the first conversation;
at least one computing device configured to perform an operation comprising
A system with
請求項90に記載のシステム。 the message thread database includes metadata and content associated with each of the plurality of conversations;
91. System according to claim 90.
請求項91に記載のシステム。 The message thread database comprises 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 at least one message identification information included in each of the plurality of conversations. and the at least one message to be
92. The system of claim 91.
請求項92に記載のシステム。 content of the at least one message includes text data, video content, or audio content;
93. The system of claim 92.
請求項90に記載のシステム。 The plurality of attribute databases include: a first attribute database storing information indicating topics associated with the plurality of conversations; a second attribute database storing information of users associated with the plurality of conversations; a third attribute database storing information on groups associated with the conversations; a fourth attribute database storing information indicating task assignments associated with the plurality of conversations; and one included in the plurality of conversations or a fifth attribute database storing information associated with a plurality of email addresses;
91. System according to claim 90.
請求項90に記載のシステム。 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;
91. System according to claim 90.
前記新しいメッセージに基づいて、前記複数の属性データベースのうちの前記少なくとも1つを更新することと、
前記新しいメッセージに関連付けられる情報を、前記第1の会話に関連付けられる1つ又は複数のメッセージングアプリケーションに送信することと、
をさらに含む請求項90に記載のシステム。 The operation is
updating the at least one of the plurality of attribute databases based on the new message;
sending information associated with the new message to one or more messaging applications associated with the first conversation;
91. The system of claim 90, further comprising:
前記複数の会話のうちの少なくとも1つを示す要求を前記第1のメッセージングアプリケーションから受信することと、
前記複数の会話のうちの前記少なくとも1つを示す情報に基づいて前記メッセージスレッドデータベースにクエリすることと、
前記複数の会話のうちの前記少なくとも1つ内のメッセージの少なくともサブセットを決定するために、クエリ結果を処理することと、
前記要求に応じて、前記複数の会話のうちの前記少なくとも1つ内のメッセージの前記少なくともサブセットを、前記第1のメッセージングアプリケーションに送信することと、
をさらに含む請求項90に記載のシステム。 The operation is
receiving a request from the first messaging application indicating at least one of the plurality of conversations;
querying the message thread database based on information indicative of the at least one of the plurality of conversations;
processing query results to determine at least a subset of messages in said at least one of said plurality of conversations;
Sending, in response to the request, the at least a subset of messages in the at least one of the plurality of conversations to the first messaging application;
91. The system of claim 90, further comprising:
前記複数の会話のうちの少なくとも1つに関連付けられる第2のメッセージングアプリケーションから要求を受信することと、
前記要求に基づいて前記複数の属性データベースにクエリすることと、
少なくとも1つの属性が前記複数の会話のうちの前記少なくとも1つに関連付けられていると判定するために、クエリ結果を処理することと、
前記少なくとも1つの属性の少なくとも1つのインジケータを表示させるために、前記少なくとも1つの属性を示す情報を、前記第2のメッセージングアプリケーションに送信することと、
をさらに含む請求項90に記載のシステム。 The operation is
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;
processing query results to determine that at least one attribute is associated with the at least one of the plurality of conversations;
Sending information indicative of the at least one attribute to the second messaging application to cause display of at least one indicator of the at least one attribute;
91. The system of claim 90, further comprising:
前記複数の会話のうちの前記少なくとも1つに関連付けられる前記少なくとも1つの属性の前記少なくとも1つのインジケータの選択を示す入力を受け取ることと、
前記入力に基づいて前記メッセージスレッドデータベースにクエリすることと、
前記複数のメッセージを表示させるために、前記複数の会話のうちの前記少なくとも1つ内の複数のメッセージを識別して送信することと、
をさらに含む請求項98に記載のシステム。 The operation is
receiving input indicating 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;
identifying and transmitting a plurality of messages in the at least one of the plurality of conversations to cause the plurality of messages to be displayed;
100. The system of claim 98, further comprising:
複数の会話のうちの第1の会話内の複数のメッセージを受信することであって、会話データベースが前記複数の会話を含み、複数の属性データベースが前記複数の会話に関連付けられる属性を含むことと、
前記複数のメッセージを前記会話データベースに格納することと、
前記第1の会話内のユーザ入力を受け取ることと、
前記ユーザ入力が、前記第1の会話に関連付けられる少なくとも1つの属性を含むと判定することと、
前記少なくとも1つの属性のタイプの判定に基づいて、前記複数の属性データベースのうちの少なくとも1つに情報を格納することと、
前記少なくとも1つの属性と前記第1の会話との間の関連付けを格納することと、
を含む方法。 a method,
Receiving a plurality of messages in a first conversation of a plurality of conversations, wherein a conversation database includes the plurality of conversations, and a plurality of attribute databases includes attributes associated with the plurality of conversations. ,
storing the plurality of messages in the conversation database;
receiving user input within the first conversation;
determining that the user input includes at least one attribute associated with the first conversation;
storing information in at least one of the plurality of attribute databases based on determining the type of the at least one attribute;
storing an association between the at least one attribute and the first conversation;
method including.
前記複数の会話のうちの前記少なくとも1つを示す情報に基づいて前記会話データベースにクエリすることと、
前記複数の会話のうちの前記少なくとも1つ内のメッセージの少なくともサブセットを決定するために、クエリ結果を処理することと、
前記要求に応じて、前記複数の会話のうちの前記少なくとも1つ内のメッセージの前記少なくともサブセットを、前記第1のメッセージングアプリケーションに送信することと、
をさらに含む請求項100に記載の方法。 receiving a request from the first messaging application indicating at least one of the plurality of conversations;
querying the conversation database based on information indicative of the at least one of the plurality of conversations;
processing query results to determine at least a subset of messages in said at least one of said plurality of conversations;
Sending, in response to the request, the at least a subset of messages in the at least one of the plurality of conversations to the first messaging application;
101. The method of claim 100, further comprising:
前記要求に基づいて前記複数の属性データベースにクエリすることと、
少なくとも1つの属性が前記複数の会話のうちの前記少なくとも1つに関連付けられていると判定するために、クエリ結果を処理することと、
前記少なくとも1つの属性の少なくとも1つのインジケータを表示させるために、前記少なくとも1つの属性を示す情報を、前記第2のメッセージングアプリケーションに送信することと、
をさらに含む請求項90に記載の方法。 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;
processing query results to determine that at least one attribute is associated with the at least one of the plurality of conversations;
Sending information indicative of the at least one attribute to the second messaging application to cause display of at least one indicator of the at least one attribute;
91. The method of claim 90, further comprising:
前記入力に基づいて前記会話データベースにクエリすることと、
前記複数のメッセージを表示させるために、前記複数の会話のうちの前記少なくとも1つ内の複数のメッセージを識別して送信することと、
をさらに含む請求項102に記載の方法。 receiving input indicating 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;
identifying and transmitting a plurality of messages in the at least one of the plurality of conversations to cause the plurality of messages to be displayed;
103. The method of claim 102, further comprising:
請求項100に記載の方法。 The conversation database comprises: 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 conversations of
101. The method of claim 100.
請求項100に記載の方法。 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;
101. The method of claim 100.
複数の会話のうちの第1の会話内の複数のメッセージを受信することであって、会話データベースが前記複数の会話を含み、複数の属性データベースが前記複数の会話に関連付けられる属性を含むことと、
前記複数のメッセージを前記会話データベースに格納することと、
前記第1の会話内の新しいメッセージを受信することと、
前記新しいメッセージを解析して、前記新しいメッセージが、前記第1の会話に関連付けられる少なくとも1つの属性を含むと判定することと、
前記少なくとも1つの属性のタイプの判定に基づいて、前記複数の属性データベースのうちの少なくとも1つに情報を格納することと、
前記少なくとも1つの属性と前記第1の会話との間の関連付けを格納することと、
を行わせる非一時的なコンピュータ可読記憶媒体。 A non-transitory computer-readable storage medium having computer-readable instructions stored thereon, said computer-readable instructions, when executed on a computing device, causing said computing device to at least:
Receiving a plurality of messages in a first conversation of a plurality of conversations, wherein a conversation database includes the plurality of conversations, and a plurality of attribute databases includes attributes associated with the plurality of conversations. ,
storing the plurality of messages in the conversation database;
receiving new messages in the first conversation;
parsing the new message to determine that the new message includes at least one attribute associated with the first conversation;
storing information in at least one of the plurality of attribute databases based on determining the type of the at least one attribute;
storing an association between the at least one attribute and the first conversation;
A non-transitory computer-readable storage medium that causes
前記複数の会話のうちの少なくとも1つを示す要求を第1のメッセージングアプリケーションから受信することと、
前記複数の会話のうちの前記少なくとも1つを示す情報に基づいて前記会話データベースにクエリすることと、
前記複数の会話のうちの前記少なくとも1つ内のメッセージの少なくともサブセットを決定するために、クエリ結果を処理することと、
前記要求に応じて、前記複数の会話のうちの前記少なくとも1つ内のメッセージの前記少なくともサブセットを、前記第1のメッセージングアプリケーションに送信することと、を行わせる、
コンピュータ可読指令をさらに記憶している請求項106に記載の非一時的なコンピュータ可読記憶媒体。 When executed on said computing device, said computing device at least:
receiving a request from a first messaging application indicating at least one of the plurality of conversations;
querying the conversation database based on information indicative of the at least one of the plurality of conversations;
processing query results to determine at least a subset of messages in said at least one of said plurality of conversations;
sending, in response to the request, the at least a subset of messages in the at least one of the plurality of conversations to the first messaging application;
107. The non-transitory computer readable storage medium of Claim 106, further storing computer readable instructions.
前記複数の会話のうちの少なくとも1つに関連付けられる第2のメッセージングアプリケーションから要求を受信することと、
前記要求に基づいて前記複数の属性データベースにクエリすることと、
少なくとも1つの属性が前記複数の会話のうちの前記少なくとも1つに関連付けられていると判定するために、クエリ結果を処理することと、
前記少なくとも1つの属性の少なくとも1つのインジケータを表示させるために、前記少なくとも1つの属性を示す情報を、前記第2のメッセージングアプリケーションに送信することと、を行わせる、
コンピュータ可読指令をさらに記憶している請求項106に記載の非一時的なコンピュータ可読記憶媒体。 When executed on said computing device, said computing device at least:
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;
processing query results to determine that at least one attribute is associated with the at least one of the plurality of conversations;
sending information indicative of the at least one attribute to the second messaging application to cause display of at least one indicator of the at least one attribute;
107. The non-transitory computer readable storage medium of Claim 106, further storing computer readable instructions.
請求項106に記載の非一時的なコンピュータ可読記憶媒体。 The conversation database includes thread identification information associated with each of the plurality of conversations and content 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;
107. The non-transitory computer-readable storage medium of claim 106.
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信可能に結合され、指令を記憶している少なくとも1つのメモリであって、前記指令が前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、
第1の会話を開始することを示す第1の入力をユーザインターフェースから受け取ることと、
第1のユーザによる第2の入力を受け取ることと、
前記第2の入力が前記第1の会話に関連付けられる少なくとも1つの属性を示すと判定することと、
新しい会話の開始を示す情報と、前記少なくとも1つの属性が前記第1の会話に関連付けられていることを示す情報とを含む情報を、メッセージサービスに送信することと、を行わせる少なくとも1つのメモリと、
を備えるコンピューティング装置。 A computing device,
at least one processor;
at least one memory communicatively coupled to the at least one processor and storing instructions, wherein when the instructions are executed by the at least one processor, the client computing device:
receiving a first input from the user interface indicating to initiate a first conversation;
receiving a second input by the first user;
determining that the second input indicates at least one attribute associated with the first conversation;
sending information 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. and,
A computing device comprising:
前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、
前記メッセージングサービスに情報の要求を送信することと、
前記要求に応じて受信された、複数の会話に関連付けられる複数の属性を示す情報を含む情報を格納することであって、前記複数の会話は対応するスレッドIDを有することと、
前記受信された情報に基づいて、前記複数の会話に関連付けられる複数のインジケータを表示することと、を行わせる、
指令をさらに記憶している請求項110に記載のコンピューティング装置。 The at least one memory is
When executed by the at least one processor, the client computing device:
sending a request for information to the messaging service;
storing information received in response to the request, including information indicative of a plurality of attributes associated with a plurality of conversations, the plurality of conversations having corresponding thread IDs;
displaying a plurality of indicators associated with the plurality of conversations based on the received information;
111. The computing device of claim 110, further storing instructions.
前記複数の会話から選択された第2の会話内の複数のメッセージに対する要求を送信することと、
前記要求に応じて受信された、前記第2の会話内の前記複数のメッセージに関連付けられる内容を表示することと、を行わせる、
指令をさらに記憶している請求項111に記載のコンピューティング装置。 The at least one memory further, when executed by the at least one processor, causes the client computing device to:
sending a request for a plurality of messages in a second conversation selected from the plurality of conversations;
displaying content associated with the plurality of messages in the second conversation received in response to the request;
112. The computing device of claim 111, further storing instructions.
前記複数の会話を示す情報の要求を送信することと、
前記受信された情報に基づいて、前記複数の会話のうちの少なくともいくつかの要約を表示することと、を行わせる、
指令をさらに記憶している請求項110に記載のコンピューティング装置。 The at least one memory further, when executed by the at least one processor, causes the client computing device to:
sending a request for information indicative of the plurality of conversations;
displaying a summary of at least some of the plurality of conversations based on the received information;
111. The computing device of claim 110, further storing instructions.
第2の複数の会話の属性に基づいてインターフェースを生成させる指令をさらに記憶しており、
前記インターフェースは前記第2の複数の会話に関連付けられる2次元表示を含み、前記2次元表示における2つの次元は、前記第2の複数の会話に関連付けられる第1の属性と、前記第2の複数の会話に関連付けられる第2の属性とに基づく、
請求項110に記載のコンピューティング装置。 The at least one memory further, when executed by the at least one processor, causes the client computing device to:
further storing instructions for generating an interface based on attributes of a second plurality of conversations;
The interface includes a two-dimensional representation associated with the second plurality of conversations, wherein two dimensions in the two-dimensional representation are a first attribute associated with the second plurality of conversations and a second plurality of and a second attribute associated with the conversation of
111. A computing device as recited in claim 110.
第2のユーザが、前記第2の複数の会話に関連付けられる属性を再編成することを示す入力を提供するインターフェースを表示することと、
前記入力の受け取りに応じて、前記2次元表示を再編成することと、を行わせる、
指令をさらに記憶している請求項114に記載のコンピューティング装置。 The at least one memory further, when executed by the at least one processor, causes the client computing device to:
displaying an interface for a second user to provide input indicating reorganizing attributes associated with the second plurality of conversations;
reorganizing the two-dimensional representation in response to receiving the input;
115. The computing device of claim 114, further storing instructions.
前記第2の複数の会話のうちの少なくとも1つの会話に関連付けられる少なくとも1つのタスクのステータスを示すインジケータと、
前記第2の複数の会話のうち未読メッセージを有する会話を示す数と、
を含む請求項114に記載のコンピューティング装置。 at least one intersection in the two-dimensional representation comprising:
an indicator indicating the status of at least one task associated with at least one conversation of the second plurality of conversations;
a number indicating conversations with unread messages of the second plurality of conversations;
115. A computing device as recited in claim 114, comprising:
前記2次元表現内の交差の選択を示す情報を受信することと、
前記選択された交差に対応する属性に基いて、前記情報を受信することに応じて、前記第2の複数の会話をフィルタリングすることと、を行わせる、
指令をさらに記憶している請求項114に記載のコンピューティング装置。 The at least one memory further, when executed by the at least one processor, causes the client computing device to:
receiving information indicating a selection of intersections within the two-dimensional representation;
filtering the second plurality of conversations in response to receiving the information based on attributes corresponding to the selected intersection;
115. The computing device of claim 114, further storing instructions.
請求項110に記載のコンピューティング装置。 the second input is provided by selecting an existing indicator of the at least one attribute;
111. A computing device as recited in claim 110.
請求項110に記載のコンピューティング装置。 said second input is provided by entering a message containing a predetermined character indicating a type of said at least one attribute;
111. A computing device as recited in claim 110.
請求項110に記載のコンピューティング装置。 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;
111. A computing device as recited in claim 110.
前記第2の入力が所定のキャラクタに関連付けられているという判定に基づいて、前記第2の入力が少なくとも1つの属性を示すと判定することを行わせる、
指令をさらに記憶している請求項110に記載のコンピューティング装置。 The at least one memory further, when executed by the at least one processor, causes the client computing device to:
causing determining that the second input indicates at least one attribute based on determining that the second input is associated with a predetermined character;
111. The computing device of claim 110, further storing instructions.
第3の入力を受け取ることに応じて、1つ又は複数の会話に参加する少なくとも1つのグループに関連付けられる情報を含む第3のユーザインターフェースを表示することを行わせる、
指令をさらに記憶している請求項110に記載のコンピューティング装置。 The at least one memory further, when executed by the at least one processor, causes the client computing device to:
causing display of a third user interface including information associated with at least one group participating in one or more conversations in response to receiving a third input;
111. The computing device of claim 110, further storing instructions.
前記第1の会話内のメッセージを受信することと、
前記メッセージが第2のユーザを識別する情報を含むと判定することと、
前記メッセージに関連付けられる日付を示す情報を受信することと、
前記第2のユーザに割り当てられたタスクを示す前記メッセージと、前記メッセージに関連付けられる日付を示す前記情報とを、メッセージサービスに送信することと、を行わせる、
指令をさらに記憶している請求項110に記載のコンピューティング装置。 The at least one memory further, when executed by the at least one processor, causes the client computing device to:
receiving messages in the first conversation;
determining that the message includes information identifying a second user;
receiving information indicating a date associated with the message;
sending to a messaging service the message indicating tasks assigned to the second user and the information indicating a date associated with the message;
111. The computing device of claim 110, further storing instructions.
前記複数の会話のうち第3の会話に関連付けられるタスクのステータスを表示させる、
指令をさらに記憶している請求項110に記載のコンピューティング装置。 The at least one memory further, when executed by the at least one processor, causes the client computing device to:
displaying the status of tasks associated with a third conversation among the plurality of conversations;
111. The computing device of claim 110, further storing instructions.
第1の会話を開始することを示す第1の入力をユーザインターフェースから受け取ることと、
第1のユーザによる第2の入力を受け取ることと、
前記第2の入力が前記第1の会話に関連付けられる少なくとも1つの属性を示すと判定することと、
新しい会話の開始を示す情報と、前記少なくとも1つの属性が前記第1の会話に関連付けられていることを示す情報とを含む情報を、メッセージサービスに送信することとを含み、前記メッセージングサービスは、前記第1の会話のスレッド識別子(ID)に関連付けられる前記少なくとも1つの属性を少なくとも1つのデータベースに格納する、
方法。 a method,
receiving a first input from the user interface indicating to initiate a first conversation;
receiving a second input by the first user;
determining that the second input indicates at least one attribute associated with the first conversation;
sending information 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 comprising: storing the at least one attribute associated with a thread identifier (ID) of the first conversation in at least one database;
Method.
前記要求に応じて受信された、複数の会話に関連付けられる複数の属性を示す情報を含む情報を格納することであって、前記複数の会話のそれぞれは対応するスレッドIDを有することと、
前記受信された情報に基づいて、前記複数の会話に関連付けられる複数のインジケータを表示することと、
をさらに含む請求項125に記載の方法。 sending a request for information to the messaging service;
storing information received in response to the request 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;
126. The method of claim 125, further comprising:
前記要求に応じて受信された、前記第2の会話内の前記複数のメッセージに関連付けられる内容を表示することと、
をさらに含む請求項126に記載の方法。 sending a request for a plurality of messages in a second conversation selected from the plurality of conversations;
displaying content associated with the plurality of messages in the second conversation received in response to the request;
127. The method of claim 126, further comprising:
前記受信された情報に基づいて、前記複数の会話のうちの少なくともいくつかの要約を表示することと、
をさらに含む請求項125に記載の方法。 sending 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;
126. The method of claim 125, further comprising:
前記インターフェースは前記第2の複数の会話に関連付けられる2次元表示を含み、前記2次元表示における2次元は、前記第2の複数の会話に関連付けられる第1の属性と、前記第2の複数の会話に関連付けられる第2の属性とに基づく、
請求項125に記載の方法。 further comprising generating an interface based on attributes of the second plurality of conversations;
The interface includes a two-dimensional representation associated with the second plurality of conversations, wherein two dimensions in the two-dimensional representation are a first attribute associated with the second plurality of conversations and a second plurality of conversations. a second attribute associated with the conversation;
126. The method of claim 125.
前記2次元表現内の交差の選択を示す情報を受信することと、
前記選択された交差に対応する属性に基いて、前記情報を受信することに応じて、前記第2の複数の会話をフィルタリングすることと、
を含む請求項129に記載の方法。 moreover,
receiving information indicating a selection of intersections within the two-dimensional representation;
filtering the second plurality of conversations in response to receiving the information based on attributes corresponding to the selected intersection;
130. The method of claim 129, comprising:
第1の会話を開始することを示す第1の入力をユーザインターフェースから受け取ることと、
第1のユーザによる第2の入力を受け取ることと、
前記第2の入力が前記第1の会話に関連付けられる少なくとも1つの属性を示すと判定することと、
新しい会話の開始を示す情報と、前記少なくとも1つの属性が前記第1の会話に関連付けられていることを示す情報とを含むデータを、メッセージサービスに送信することと、を行わせ、前記メッセージングサービスは、前記第1の会話のスレッド識別子(ID)に関連付けられる前記少なくとも1つの属性を少なくとも1つのデータベースに格納する、
非一時的なコンピュータ可読記憶媒体。 A non-transitory computer-readable storage medium having computer-readable instructions stored thereon, said computer-readable instructions, when executed on a computing device, causing said computing device to at least:
receiving a first input from the user interface indicating to initiate a first conversation;
receiving a second input by the first user;
determining that the second input indicates at least one attribute associated with the first conversation;
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; stores 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.
前記メッセージングサービスに情報の要求を送信することと、
前記要求に応じて受信された、複数の会話に関連付けられる複数の属性を示す情報を含む情報を格納することであって、前記複数の会話のそれぞれは対応するスレッドIDを有することと、
前記受信された情報に基づいて、前記複数の会話の複数のインジケータを表示することと、を行わせる、
コンピューティング可読指令をさらに記憶している請求項131に記載の非一時的なコンピュータ可読記憶媒体。 When executed on said computing device, said computing device at least:
sending a request for information to the messaging service;
storing information received in response to the request 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 indicators of the plurality of conversations based on the received information;
132. The non-transitory computer-readable storage medium of Claim 131, further storing computer-readable instructions.
前記複数の会話から選択された第2の会話内の複数のメッセージに対する要求を送信することと、
前記要求に応じて受信された、前記第2の会話内の前記複数のメッセージに関連付けられる内容を表示することと、を行わせる、
コンピュータ可読指令をさらに記憶している請求項132に記載の非一時的なコンピュータ可読記憶媒体。 When executed on said computing device, said computing device at least:
sending a request for a plurality of messages in a second conversation selected from the plurality of conversations;
displaying content associated with the plurality of messages in the second conversation received in response to the request;
133. The non-transitory computer-readable storage medium of Claim 132, further storing computer-readable instructions.
第2の複数の会話の属性に基づいてインターフェースを生成し表示させる指令をさらに記憶しており、前記インターフェースは前記第2の複数の会話に関連付けられる2次元表示を含み、前記2次元表示における2次元は、前記第2の複数の会話に関連付けられる第1の属性と、前記第2の複数の会話に関連付けられる第2の属性とに基づく、
請求項131に記載の非一時的なコンピュータ可読記憶媒体。 When executed on said computing device, said computing device at least:
further storing instructions for generating and displaying an interface based on attributes of a second plurality of conversations, said interface including a two-dimensional representation associated with said second plurality of conversations, wherein two a dimension based on a first attribute associated with the second plurality of conversations and a second attribute associated with the second plurality of conversations;
132. The non-transitory computer-readable storage medium of claim 131.
Applications Claiming Priority (13)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/939,634 | 2020-07-27 | ||
US16/939,306 US11290409B2 (en) | 2020-07-27 | 2020-07-27 | User device messaging application for interacting with a messaging service |
US16/939,279 US11539648B2 (en) | 2020-07-27 | 2020-07-27 | Data model of a messaging service |
US16/939,569 US11343114B2 (en) | 2020-07-27 | 2020-07-27 | Group management in a messaging service |
US16/939,489 US11645466B2 (en) | 2020-07-27 | 2020-07-27 | Categorizing conversations for 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,279 | 2020-07-27 | ||
US16/939,489 | 2020-07-27 | ||
US16/939,306 | 2020-07-27 | ||
US16/939,491 | 2020-07-27 | ||
US16/939,491 US11922345B2 (en) | 2020-07-27 | 2020-07-27 | Task management via a messaging service |
US16/939,569 | 2020-07-27 | ||
PCT/CN2021/106945 WO2022022305A1 (en) | 2020-07-27 | 2021-07-16 | Messaging service |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2023535173A true JP2023535173A (en) | 2023-08-16 |
JP7478898B2 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)
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)
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 (12)
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 |
CN101094195B (en) * | 2006-06-20 | 2011-04-06 | 腾讯科技(深圳)有限公司 | Method for recording message of conversation based on instant communication mode, and instant communication client end |
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 |
CN106302108B (en) * | 2016-08-03 | 2019-11-05 | 努比亚技术有限公司 | Group's information management method and device |
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 |
CN108449260A (en) * | 2018-03-15 | 2018-08-24 | 链家网(北京)科技有限公司 | A kind of more people's chat messages collecting methods and system |
CN108494572B (en) * | 2018-03-19 | 2021-10-01 | 北京三快在线科技有限公司 | Topic group creation method and device based on group |
CN110601864A (en) * | 2019-09-11 | 2019-12-20 | 北京工业大学 | Multi-theme parallel communication method, system, user terminal and server |
-
2021
- 2021-07-16 CN CN202180061385.0A patent/CN116235483A/en active Pending
- 2021-07-16 EP EP21851340.6A patent/EP4176576A4/en active Pending
- 2021-07-16 JP JP2023504037A patent/JP7478898B2/en active Active
- 2021-07-16 WO PCT/CN2021/106945 patent/WO2022022305A1/en unknown
Patent Citations (3)
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 |
---|---|
WO2022022305A1 (en) | 2022-02-03 |
EP4176576A1 (en) | 2023-05-10 |
JP7478898B2 (en) | 2024-05-07 |
EP4176576A4 (en) | 2024-01-03 |
CN116235483A (en) | 2023-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230394395A1 (en) | Conversation-based messaging method and system | |
US11645466B2 (en) | Categorizing conversations for a messaging service | |
US11343114B2 (en) | Group management in a messaging service | |
US10896191B2 (en) | Creation of real-time conversations based on social location information | |
US8793324B1 (en) | Discussion-topic, social network systems | |
US9299060B2 (en) | Automatically suggesting groups based on past user interaction | |
US9639600B2 (en) | System and method of personalized message threading for a multi-format, multi-protocol communication system | |
CA2999572C (en) | Systems and methods for converting emails to chat conversations | |
CN102362270B (en) | Providing access to a conversation in a hosted conversation system | |
US9794760B2 (en) | Collaborative group and content management utilizing user activated collaboration threads | |
US20220038868A1 (en) | Identifying decisions and rendering decision records in a group-based communication interface | |
US11290409B2 (en) | User device messaging application for interacting with a messaging service | |
CN108353018A (en) | Send the method, apparatus and system of message | |
US20240020305A1 (en) | Systems and methods for automatic archiving, sorting, and/or indexing of secondary message content | |
WO2023016536A1 (en) | Interaction method, apparatus and device, and storage medium | |
US11539648B2 (en) | Data model of a messaging service | |
US11349800B2 (en) | Integration of an email, service and a messaging service | |
JP7478898B2 (en) | Messaging Services | |
WO2016106279A1 (en) | System and method of personalized message threading for a multi-format, multi-protocol communication system | |
US11755629B1 (en) | System and method of context-based predictive content tagging for encrypted data | |
HK40018860B (en) | Method for transmitting information, computer device and storage medium |
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 |