IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ バイトダンス インコーポレイテッドの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-24
(45)【発行日】2024-05-07
(54)【発明の名称】メッセージングサービス
(51)【国際特許分類】
   H04L 51/216 20220101AFI20240425BHJP
   G06F 3/14 20060101ALI20240425BHJP
   G06F 16/90 20190101ALI20240425BHJP
【FI】
H04L51/216
G06F3/14 340C
G06F16/90 100
【請求項の数】 15
(21)【出願番号】P 2023504037
(86)(22)【出願日】2021-07-16
(65)【公表番号】
(43)【公表日】2023-08-16
(86)【国際出願番号】 CN2021106945
(87)【国際公開番号】W WO2022022305
(87)【国際公開日】2022-02-03
【審査請求日】2023-01-19
(31)【優先権主張番号】16/939,489
(32)【優先日】2020-07-27
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/939,569
(32)【優先日】2020-07-27
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/939,491
(32)【優先日】2020-07-27
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/939,634
(32)【優先日】2020-07-27
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/939,279
(32)【優先日】2020-07-27
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/939,306
(32)【優先日】2020-07-27
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520477474
【氏名又は名称】バイトダンス インコーポレイテッド
【氏名又は名称原語表記】BYTEDANCE INC.
【住所又は居所原語表記】12655 West Jefferson Boulevard, Sixth Floor, Suite No. 137 Los Angeles, California 90066 United States of America
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ワン,ズハオ
(72)【発明者】
【氏名】アスタヴァンス,ルチル
(72)【発明者】
【氏名】ジョン,ウェンタオ
(72)【発明者】
【氏名】リアン,ワン
(72)【発明者】
【氏名】リム,ジャスティン ジア-ジャオ
【審査官】木村 雅也
(56)【参考文献】
【文献】米国特許出願公開第2005/0262199(US,A1)
【文献】特開2014-099146(JP,A)
【文献】米国特許出願公開第2015/0261773(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 51/216
G06F 3/14
G06F 16/90
(57)【特許請求の範囲】
【請求項1】
方法であって、
会話内の複数のメッセージを受信することと、
前記会話内のユーザ入力が、トピックを示す情報を含むと判定することと、
前記トピックを示す情報と前記会話との間の関連付けを格納することであって、前記トピックは前記会話に関連付けられた属性として格納されることと、
前記会話の複数の参加者に関連付けられた複数のメッセージングアプリケーションに前記トピックの指示をプッシュして、前記トピックの前記指示を表示することと、
前記トピックの前記指示に関連付けられる選択を示す、前記複数の参加者における第1の参加者からの入力を受け取ることに応じて、前記複数のメッセージの少なくともサブセットを表示させるために、前記複数のメッセージの前記少なくともサブセットを前記第1の参加者に関連付けられる第1のメッセージングアプリケーションに送信すること、
を含む、方法。
【請求項2】
前記トピックを示す情報と前記会話との間の前記関連付けが少なくとも1つのデータベースに格納され、前記少なくとも1つのデータベースが会話中心のものであり、
前記会話の前記複数の参加者を決定するために、前記少なくとも1つのデータベースにクエリすることによるルックアップを実行する、
請求項1に記載の方法。
【請求項3】
トピックに関連する情報を含むデータベースを検索することによって、前記トピックが新しいと判定することと、
前記トピックが新しいと判定すると、前記トピックを示す情報を前記データベースに格納することと、
をさらに含み、
前記トピックを示す前記情報は、前記トピックを示す文字列の少なくとも一部を含む、
請求項1に記載の方法。
【請求項4】
前記複数のメッセージングアプリケーションにおける第2のメッセージを解析することに基づいて、前記第2のメッセージが第2のユーザを識別する情報を含むと判定することと、
前記第2のユーザに前記会話へのアクセスを許可することと、
をさらに含む請求項1に記載の方法。
【請求項5】
前記トピックの指示を表示させるために、前記トピックを示す情報を、前記第2のユーザに関連付けられる第2のメッセージングアプリケーションに送信することをさらに含む、
請求項4に記載の方法。
【請求項6】
前記第2のユーザから第3のメッセージを受信することと、
前記第3のメッセージを前記複数のメッセージに追加することと、
をさらに含む請求項4に記載の方法。
【請求項7】
前記第2のユーザが前記複数のメッセージにアクセスする前記許可を示す通知を、第1のユーザ装置に送信することをさらに含む、
請求項4に記載の方法。
【請求項8】
前記会話と前記会話の複数の参加者との間の関連付けを格納することをさらに含む
請求項1に記載の方法。
【請求項9】
前記会話内の第3のメッセージを受信することと、
前記会話の前記複数の参加者を識別することと、
前記第3のメッセージを表示させるために、前記第3のメッセージを、前記複数の参加者に関連付けられる複数のメッセージングアプリケーションに送信することと、
をさらに含む請求項8に記載の方法。
【請求項10】
文字列は、前記文字列が前記トピックを示すと判定するための識別子を含む、
請求項1に記載の方法。
【請求項11】
方法であって、
第1の会話の複数の参加者に関連付けられた複数のメッセージングアプリケーションにトピックの指示をプッシュして、前記トピックの前記指示を表示することであって、前記トピックを示す情報と前記第1の会話との間の関連付けが格納され、前記トピックは前記第1の会話に関連付けられた属性として格納されることと、
前記第1の会話の第1の参加者に関連付けられるメッセージングアプリケーションから、複数のトピックの中から前記トピックを選択することを示す入力を受け取ることと、
前記第1の会話内の複数のメッセージの少なくともサブセットを表示させるために、前記第1の会話の少なくとも一部を前記メッセージングアプリケーションに送信することと
を含む、方法。
【請求項12】
前記選択されたトピックに関連付けられる別の会話内の複数のメッセージの少なくともサブセットを表示させるために、前記別の会話を、前記メッセージングアプリケーションに送信することをさらに含む、
請求項11に記載の方法。
【請求項13】
システムであって、
少なくとも1つのデータベースと、
前記少なくとも1つのデータベースと通信する少なくとも1つのコンピューティング装置であって、
話内の複数のメッセージを受信することと、
前記話内のユーザ入力が、トピックを示す情報を含むと判定することと、
前記トピックを示す情報と前記話との間の関連付けを納することであって、前記トピックは前記会話に関連付けられた属性として格納されることと、
前記会話の複数の参加者に関連付けられた複数のメッセージングアプリケーションに前記トピックの指示をプッシュして、前記トピックの前記指示を表示することと、
前記トピックの前記指示に関連付けられる選択を示す、前記複数の参加者における第1の参加者からの入力を受け取ることに応じて、前記複数のメッセージの少なくともサブセットを表示させるために、前記複数のメッセージの前記少なくともサブセットを前記第1の参加者に関連付けられる第1のメッセージングアプリケーションに送信すること、
を含む動作を実行するように構成された少なくとも1つのコンピューティング装置と、
を備えるシステム。
【請求項14】
システムであって、
少なくとも1つのデータベースと、
前記少なくとも1つのデータベースと通信する少なくとも1つのコンピューティング装置であって、
第1の会話の複数の参加者に関連付けられた複数のメッセージングアプリケーションにトピックの指示をプッシュして、前記トピックの前記指示を表示することであって、前記トピックを示す情報と前記第1の会話との間の関連付けが格納され、前記トピックは前記第1の会話に関連付けられた属性として格納されることと、
前記第1の会話の第1の参加者に関連付けられるメッセージングアプリケーションから、複数のトピックの中から前記トピックを選択することを示す入力を受け取ることと、
前記第1の会話内の複数のメッセージの少なくともサブセットを表示させるために、前記第1の会話の少なくとも一部を前記メッセージングアプリケーションに送信することと、
を含む動作を実行するように構成された少なくとも1つのコンピューティング装置と、
を備えるシステム。
【請求項15】
コンピュータ可読指令が記憶されている非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ可読指令は、コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、請求項1から12のいずれかに記載の方法を実行させる非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【0001】
仕事場や社交の場での交流は、インターネットに基づくツールを使って行われることが増えている。インターネットに基づくツールは、任意のソフトウェアまたはプラットフォームとすることができる。電子メールのような従来の通信ツールは、内部通信及び外部通信を容易にすることができる。しかし、従来の通信ツールでは、さまざまな制約から、ユーザのニーズに応えられないことがある。通信機器の高性能化につれ、通信の効率と通信の効果を改善するために、新たなツールが次々と発見されている。
【図面の簡単な説明】
【0002】
以下の詳細な説明は、添付図面と合わせて読むとよりよく理解できる。説明のために、本開示の様々な態様の例示的な実施形態が添付図面に示されているが、本発明は、開示されている特定の方法および手段に限定されない。
【0003】
図1】メッセージングサービスを実行可能なクラウドコンピューティングネットワークの一例を示す図である。
【0004】
図2】本開示にかかるメッセージングシステムの一例を示す図である。
【0005】
図3】メッセージングサービス及びメッセージングアプリケーション/サービスによって実行可能なメッセージング技術の一例を示す図である。
【0006】
図4】メッセージングサービス及びメッセージングアプリケーション/サービスによって実行可能なメッセージング技術の一例を示す図である。
【0007】
図5】本開示に従って使用可能な例示的なデータモデルを示す図である。
【0008】
図6】本開示にかかるメッセージングサービスによって実行可能な例示的なプロセスを示す図である。
【0009】
図7】本開示にかかるメッセージングサービスによって実行可能な別の例示的なプロセスを示す図である。
【0010】
図8】メッセージングサービスのチャットサービス及びプッシュサービスによって実行可能なメッセージング技術の一例を示す図である。
【0011】
図9】会話を含むメッセージングアプリケーションの例示的なユーザインターフェースを示す図である。
【0012】
図10】会話を含むメッセージングアプリケーションの例示的なユーザインターフェースを示す図である。
【0013】
図11】会話にトピックを追加するための例示的な技術を示す図である。
【0014】
図12】会話にトピックタグを追加することができる、メッセージングアプリケーションの例示的なユーザインターフェースを示す図である。
【0015】
図13】トピックタグによって会話をソートすることができる、メッセージングアプリケーションの例示的なユーザインターフェースを示す図である。
【0016】
図14】グループを作成し、メンバを招待するための例示的な技術を示す図である。
【0017】
図15】新しいグループを作成することができる、メッセージングアプリケーションの例示的なユーザインターフェースを示す図である。
【0018】
図16】グループ内のユーザを表示することができる、メッセージングアプリケーションのユーザインターフェース内のグループビューを示す図である。
【0019】
図17】既存のグループに新しいメンバを追加するための例示的な技術を示す図である。
【0020】
図18】メッセージングサービスを使用してタスクを割り当ておよび管理するための例示的な技術を示す図である。
【0021】
図19】リマインダ日付を予定することができる、メッセージングアプリケーションの例示的なユーザインターフェースを示す図である。
【0022】
図20】電子メールサービスとメッセージングサービスとを統合するための例示的な技術を示す図である。
【0023】
図21】会話に電子メールアドレスを追加することができる、メッセージングアプリケーションの例示的なユーザインターフェースを示す図である。
【0024】
図22】電子メールアドレスで受信され、メッセージングサービスから送信される電子メールメッセージの例を示す図である。
【0025】
図23】電子メールアドレスから送信されたメッセージを対応する会話で表示することができる、メッセージングアプリケーションの例示的なユーザインターフェースを示す図である。
【0026】
図24】本開示にかかるメッセージングアプリケーションによって実行可能な例示的なプロセスを示す図である。
【0027】
図25】本開示にかかるメッセージングアプリケーションの例示的なユーザインターフェースを示す図である。
【0028】
図26】本開示にかかるメッセージングアプリケーションによって実行可能な別の例示的なプロセスを示す図である。
【0029】
図27】本開示にかかる、新しい会話を作成するためのメッセージングアプリケーションの例示的なユーザインターフェースを示す図である。
【0030】
図28】本開示にかかる、新しい会話を作成するためのメッセージングアプリケーションの別の例示的なユーザインターフェースを示す図である。
【0031】
図29】本開示にかかるメッセージングアプリケーションによって実行可能な例示的なプロセスを示す図である。
【0032】
図30】会話の属性に基づいて生成され、会話を再編成するためにユーザが入力を提供することができる、メッセージングアプリケーションの例示的なユーザインターフェースを示す図である。
【0033】
図31】2次元表示が別のユーザインターフェース上に重ねられた、メッセージングアプリケーションの別の例示的なユーザインターフェースを示す図である。
【0034】
図32】2次元表示における交差の選択に応じて会話がフィルタリングされる、メッセージングアプリケーションの別の例示的なユーザインターフェースを示す図である。
【0035】
図33】本明細書に開示されたいずれかの技術を実行するために使用可能な例示的なコンピューティング装置を示す図である。
【発明を実施するための形態】
【0036】
図1はクラウドコンピューティングシステム100の例示的なコンポーネントを示す図である。限定ではなく、一例として、クラウドコンピューティングシステム100を使用して、開示された発明対象の態様を実行することができる。クラウドベースのコンピューティングとは、一般的に、アプリケーション実行、サービス提供、及びデータ格納を、クライアントとクラウドコンピューティング装置との間で、ある程度分割することができるネットワークコンピュータアーキテクチャを指す。「クラウド」とは、ネットワーク(例えば、インターネット)を介して、例えばクライアント、サーバ装置、及びその他のクラウドコンピューティングシステムによって、アクセス可能なサービスまたはサービスグループを指すことができる。
【0037】
一例において、クラウドに接続された複数のコンピューティング装置は、コンピューティングパワー、サービス、アプリケーション、記憶装置、及びファイルの共有プールにアクセスして、使用することができる。したがって、クラウドコンピューティングにより、最小限の管理努力又はインタラクションでクラウドサービスプロバイダによって提供および解放することができる、ネットワーク、サーバ、記憶装置、アプリケーション、及びサービスなどの、構成可能なコンピューティングリソースの共有プールを可能にする。
【0038】
一例として、クラウドベースのアプリケーションは、データおよび/または実行可能なプログラムコードのコピーをクラウドコンピューティングシステムに格納するとともに、クライアント装置での実行のために必要な場合、クライアント装置によるこのデータおよびプログラムコードの少なくとも一部のダウンロードを許可することができる。いくつかの例において、ダウンロードされたデータおよびプログラムコードは、クラウドベースのアプリケーションにアクセスする特定のクライアント装置(例えば、パーソナルコンピュータ、タブレットコンピュータ、携帯電話および/またはスマートフォン)の機能に応じて調整することが可能である。追加として、クライアント装置とクラウドコンピューティングシステムとの間でアプリケーション実行と格納を分割することにより、クラウドコンピューティングシステムがより多くの処理を実行することが可能となるため、クラウドコンピューティングシステムのプロセッシング能力や機能をうまく利用することができる。
【0039】
クラウドベースのコンピューティングはまた、クラウドベースのアプリケーションのためのデータおよびプログラムコードが、1つ又は複数のクライアント装置および/またはクラウドコンピューティング装置の間でほぼリアルタイムに共有される分散型のコンピューティングアーキテクチャを指すことができる。このデータおよびプログラムコードの一部は、必要に応じて、またはその他の状況に応じて、クラウドベースのアプリケーションにアクセス中のさまざまなクライアントに動的に配布することが可能である。クラウドベースのコンピューティングアーキテクチャの詳細は、クライアント装置のユーザにはほとんど透過的であってもよい。限定ではなく、一例として、クラウドベースのアプリケーションにアクセスするPCユーザ装置は、PCがクラウドコンピューティングシステムからプログラムロジックおよび/またはデータをダウンロードすること、またはPCが処理機能または記憶機能をクラウドコンピューティングシステムにオフロードしていることを知らなくてもよい。
【0040】
図1において、クラウドコンピューティングシステム100は、1つ又は複数のクラウドサービス104と、1つ又は複数のクラウドプラットフォーム106と、クラウドインフラストラクチャコンポーネント108と、クラウド知識ベース110とを備える。クラウドコンピューティングシステム100は、より多いまたは少ないコンポーネントを含むことができ、クラウドサービス104、クラウドプラットフォーム106、クラウドインフラストラクチャコンポーネント108、およびクラウド知識ベース110のそれぞれは、さらに、複数のコンピューティング要素および記憶要素を含むことができる。したがって、クラウドコンピューティングシステム100の前述機能のうちの1つまたは複数を、追加の機能コンポーネントまたは物理コンポーネントに分割するか、またはより少ない機能コンポーネントまたは物理コンポーネントに結合することができる。いくつかの別の例において、図1に示された例に追加の機能および/または物理的コンポーネントを追加することができる。クラウドコンピューティングベースのサービスの配布には、ウェブサービスや多層アーキテクチャなどのアプリケーションプログラミングインターフェースを介して相互に通信する複数のクラウドコンポーネントが関与する場合がある。
【0041】
図1に示す例示的なクラウドコンピューティングシステム100は、ネットワークコンピューティングアーキテクチャである。クラウドサービス104は、クライアント装置からの要求を処理するためのキューを表すことができる。クラウドプラットフォーム106は、クラウドコンピューティングシステム100のためのクライアントインターフェースフロントエンド、例えばメッセージングサービスのクライアントインターフェースフロントエンドを含むことができる。クラウドプラットフォーム106は、クライアント装置とインタラクションするための機能を実行するために、クラウドサービス104に結合することができる。クラウドインフラストラクチャ108は、クラウドコンピューティングシステム100のサービス、支払、および他の動作コンポーネントおよびインフラストラクチャコンポーネントを含むことができる。クラウド知識ベース110がクラウドコンピューティングシステム100に使用されるデータを格納するように構成されているため、クラウド知識ベース110は、クラウドサービス104、クラウドプラットフォーム106、および/またはクラウドインフラストラクチャコンポーネント108のいずれかによってアクセス可能である。
【0042】
多くの異なるタイプのクライアント装置、例えばメッセージングサービスのユーザの装置は、データにアクセスし、クラウドコンピューティングシステム100によって提供されるアプリケーションを実行するために、クラウドコンピューティングシステム100のコンポーネントと通信するように構成されることが可能である。例えば、コンピュータ112、モバイル装置114、およびホスト116は、クラウドコンピューティングシステム100と通信するように構成可能なタイプのクライアント装置の例として示されている。もちろん、より多いまたは少ないクライアント装置がクラウドコンピューティングシステム100と通信してもよい。さらに、他のタイプのクライアント装置がクラウドコンピューティングシステム100と通信するように構成されてもよい。
【0043】
図1に示すコンピュータ112は、任意のタイプのコンピューティング装置、例えば、PC、ラップトップコンピュータ、タブレットコンピュータなどとすることができ、モバイル装置114は、クラウドコンピューティングシステム100へデータを送信し、且つ/又はクラウドコンピューティングシステム100からデータを受信するように構成された、任意のタイプのモバイルコンピューティング装置、例えば、ラップトップコンピュータ、スマートフォン、携帯電話、セルラーホン、タブレットコンピュータなどとすることができる。同様に、ホスト116は、クラウドコンピューティングシステム100へデータを送信し、且つ/又はクラウドコンピューティングシステム100からデータを受信するように構成された、ラップトップコンピュータ、携帯電話、スマートフォン、タブレットコンピュータなどを含む、送信機/受信機を有する任意のタイプのコンピューティング装置とすることができる。
【0044】
図1において、クライアント装置とクラウド100との間の通信リンクは有線接続、例えば、シリアルバスまたはパラレルバス、イーサネット、光接続、または他のタイプの有線接続を備えることができる。通信リンクはまた、無線リンク、例えば、ブルートゥース(登録商標)、IEEE802.11(IEEE802.11は、IEEE802.11-2007、IEEE802.11n-2009、または任意の他のIEEE802.11リビジョンを指すことができる)、CDMA、3G、GSM、WiMAX、または他の無線ベースのデータ通信リンクとすることができる。
【0045】
他の例において、クライアント装置は、無線アクセスポイントを介してクラウドコンピューティングシステム100と通信するように構成されてもよい。アクセスポイントは様々な形態をとることができる。例えば、アクセスポイントは、無線アクセスポイント(WAP)または無線ルータの形態をとることができる。別の例として、クライアント装置がCDMA、GSM、3G、または4Gなどのセルラーエアインターフェースプロトコルを使用して接続する場合、アクセスポイントは、セルラーネットワークを介してインターネット接続を提供するセルラーネットワーク内の基地局とすることができる。
【0046】
したがって、クライアント装置は、有線ネットワークインターフェースまたは無線ネットワークインターフェースを含むことができるが、該有線ネットワークインターフェースまたは無線ネットワークインターフェースを通して、クライアント装置は、直接またはアクセスポイントを介してクラウドコンピューティングシステム100に接続することができる。一例として、クライアント装置は、802.11、802.16(WiMAX)、LTE、GSM、GPRS、CDMA、EV-DO、および/またはHSPDAなどの1つまたは複数のプロトコルを使用するように構成されることが可能である。さらに、クライアント装置は、セルラー通信プロトコル(例えば、CDMA、GSM、またはWiMAX)を使用する「3G」または「4G」データ接続、および802.11を使用する「WiFi」接続など、複数の有線プロトコルおよび/または無線プロトコルを使用するように構成することが可能である。他のタイプの通信インターフェースおよびプロトコルを使用することも可能である。
【0047】
図2は、開示された技術を実行するための例示的なメッセージングサービス220を示す。限定ではなく、一例として、メッセージングサービス220は、図1のクラウドネットワーク100上で動作することができる。メッセージングサービス220は、クラウドネットワーク装置とローカル装置との組み合わせを含むことができる。メッセージングサービス220は、チャットサービス222を含むことができる。チャットサービス222は、メッセージングサービス220の装置上で動作する装置および/またはプログラムとすることができる。
【0048】
チャットサービス222は、ユーザ210から入力を受け取るように構成されてもよい。ユーザ210は、メッセージングサービス220内で互いにメッセージを交換するために、メッセージングサービス220のユーザとして登録することができる。ユーザ210は、ユーザ装置242上で動作するメッセージングアプリケーション240のユーザであってもよい。ユーザ入力は、会話を開始する要求を含むことができる。会話は、任意のユーザ装置242上で動作するメッセージングアプリケーション240のユーザインターフェース(UI)内の「Start Conversation」アイコンを選択することによって開始することができる。会話は、会話の任意の他の参加者が識別されていない状態で、作成者ユーザによって開始することができる。会話の参加者には、任意の方法で会話に参加することが許可されている任意のエンティティが含まれる。例えば、会話の参加者は、作成者ユーザ、会話に加入するように招待されたグループ、タスクを別の参加者(被割当者ユーザ)に割り当てることができる割当者ユーザ、被割当者ユーザ、会話に招待された電子メール参加者などであってもよい。
【0049】
チャットサービス222は、会話を生成および/または管理することができる。例えば、チャットサービス222は、会話を分類することができる。チャットサービス222は、会話データベース230、トピックデータベース236、グループデータベース232、ユーザデータベース234、検索インデックスデータベース252、タスクデータベース256、電子メールユーザデータベース237、電子メールメッセージデータベース238などの1つまたは複数のデータベース260に、会話、会話との任意の関連付け、および/または会話メタデータを格納することができる。入力は、既存の会話や新規会話に追加するメッセージなどのメッセージを含むことができる。チャットサービス222は、メッセージを会話に追加することができる。チャットサービス222は、メッセージおよび/またはメッセージの関連付けを、データベース、例えば会話データベース230に格納することができる。
【0050】
メッセージングサービス220は、メッセージが、ユーザ名、ハンドル(すなわち、@で始まるユーザ名)、アカウントなど、ユーザを識別する情報を含むと判定することができる。メッセージングサービス220は、識別されたユーザを会話に追加することができる。メッセージングサービス220は、例えば、会話データベース230、グループデータベース232、ユーザデータベース234、および/または検索インデックスデータベース252に、ユーザと会話との関連付けを格納することができる。例えば会話内で以前に通信されたメッセージのフィードを表示するために、ユーザに会話へのアクセス許可を付与することができる。
【0051】
メッセージングサービス220は、メッセージがトピックを示す情報を含むと判定することができる。トピックは、対応する会話に関連付けられることが可能である。メッセージングサービス220は、1つまたは複数のデータベース、例えばトピックデータベース236にトピックを追加することができる。メッセージングサービス220は、例えば、会話データベース230および/またはトピックデータベース236にトピックと会話との関連付けを格納することができる。
【0052】
メッセージングサービス220は、メッセージがグループを識別する情報を含むと判定することができる。グループはユーザグループであってもよい。メッセージングサービス220は、グループを会話に追加することができる。メッセージングサービス220は、例えば、会話データベース230、グループデータベース232、ユーザデータベース234、および/または検索インデックスデータベース252に、グループと会話との関連付けを格納することができる。
【0053】
メッセージングサービス220は、メッセージがユーザに割り当てられたタスクを示す情報を含むと判定することができる。メッセージングサービス220はまた、タスクの期限日を示す情報を受信することができる。タスクと期限日をユーザと会話に関連付けることができる。メッセージングサービス220は、タスクおよび期限日をデータベース260、例えばタスクデータベース256に追加することができる。メッセージングサービス220はタスク、期限日、ユーザおよび会話の関連付けを、例えば会話データベース230、ユーザデータベース234、およびタスクデータベース256に、格納することができる。
【0054】
メッセージングサービス220は、メッセージが電子メールアドレスを含むことができると決定することができる。電子メールアドレスは、会話に関連付けることができる。電子メールアドレスは、会話中のメッセージの対象とする受信者であってもよい。メッセージングサービス220は、電子メールアドレスを会話に追加することができる。メッセージングサービス220は、電子メールアドレスと会話との関連付けを、例えば、会話データベース230、電子メールユーザデータベース237、および/または電子メールメッセージデータベース238に、格納することができる。
【0055】
メッセージングサービス220は、プッシュサービス224を含むことができる。プッシュサービス224は、メッセージングサービス220の装置上で動作する装置および/またはプログラムとすることができる。プッシュサービス224は、ユーザ入力の指示などのデータをチャットサービス222から受信することができる。プッシュサービス224は、データベース260にデータを格納し、且つ/またはデータベース260内のデータにアクセスすることができる。プッシュサービス224は、例えばメッセージングアプリケーション240を介して、ユーザ入力の指示などのデータをユーザ装置にプッシュ(例えば、送信、表示など)することができる。プッシュサービス224は、メッセージングサービス220の外部の電子メールアドレスにデータをプッシュすることができる。
【0056】
メッセージングサービス220は、他のサービスを含むことができる。他のサービスは、グループサービス251を含むことができる。グループサービス251は、ユーザグループを管理することができる。グループサービス251は、格納されたグループの関連付けを管理することができる。グループサービス251は、検索インデックスデータベース252を検索することにより、グループに含まれるメンバを識別することができる。他のサービスは、リマインダ/スケジューラサービス253を含むことができる。リマインダ/スケジューラサービス253は、期限日とタスクとの関連付けを決定することができる。リマインダ/スケジューラサービス253は、期限日および/またはタスクに関連付けられるリマインダを送信することができる。リマインダ/スケジューラサービス253は、格納された期限日および/またはタスクを管理することができる。
【0057】
他のサービスは、電子メールサービス254を含むことができる。電子メールサービス254は、電子メールメッセージを生成し、電子メールメッセージをメッセージングサービス220の外部の電子メールアドレスに送信することができる。電子メールサービス254は、メッセージングサービス220の外部の電子メールアドレスからデータを受信することができる。電子メールサービス254は、電子メールアドレスから受信したデータに関連付けられる会話を判定し、会話内のユーザに送信される対応のメッセージを生成することができる。他のサービスは、認証サービス226をさらに含むことができる。認証サービス226は、様々な会話へのアクセスを許可および検証することができる。認証サービス226は、会話の参加者に階層化権限を付与することができる。たとえば、あるレベルの権限を持つ参加者にのみ、他の参加者の追加やタスクの割り当てなどが許可される。
【0058】
図2のメッセージングサービス220は単に例示的なものであり、他の実施態様を使用することができることを理解すべきである。本明細書で開示される機能は、1つまたは複数のサーバまたはコンピューティング装置によって実装することが可能であることも理解すべきである。さらに、本明細書で開示される機能は、ソフトウェア、ハードウェア、またはソフトウェアとハードウェアとの組み合わせで実装することが可能であることを理解すべきである。
【0059】
図3は、メッセージングサービス220の一例を示す。メッセージングサービス220は、ネットワーク301と通信することができる。ネットワーク301は、インターネットを含むことができる。ネットワーク301は、1つまたは複数のクラウドネットワークコンポーネントを含むことができる。ネットワーク301は、ネットワークを介して1つまたは複数のデータベース260と通信することができる。データベース260は、図2のデータベース230~238と同じであってもよいし、類似していてもよい。例として、データベース260は、トピックデータベース、会話データベース、ユーザデータベース、および/またはタグデータベースを含むことができる。メッセージングサービス220は、属性および/または関連付けをデータベース260に格納することができる。メッセージングサービス220は、属性、関連付け、または他のデータについて、データベース260にアクセス(例えば、クエリ)することができる。
【0060】
メッセージングサービス220は、ネットワーク301を介して1つまたは複数のユーザ装置242と通信することができる。メッセージングサービス220は、ユーザ装置242上で動作するメッセージングアプリケーション240を介して装置302と通信することができる。メッセージングアプリケーション240は、データおよび権限、例えば会話、会話トピックタグ、ユーザ、グループ、プライバシなどを管理するように構成されてもよい。
【0061】
メッセージングサービス220は、ネットワーク301を介して接続されたユーザ210と通信することができる。接続されたユーザ210は、メッセージングサービス220および/またはメッセージングアプリケーション240の会話の参加者であるユーザとすることができる。例えば、接続されたユーザ210は、外部電子メールアドレスを介して会話に関連付けられるメッセージを受信することができる。接続されたユーザ210は、外部電子メールアドレスから、メッセージングサービス220、メッセージングアプリケーション240、会話、および/または他のユーザにメッセージを送信することができる。
【0062】
図4は、メッセージング技術400を示す。技術400は、メッセージングサービス(例えば、図2および図3のメッセージングサービス220)、メッセージングアプリケーション(例えば、図2および図3のメッセージングアプリケーション240)、1つまたは複数のユーザ210、および/または1つまたは複数のユーザ装置242によって実行することができる。401において、会話を開始することができる。会話は、メッセージングアプリケーションを介して会話の開始を要求する入力を入れることによって、作成者ユーザ(すなわち、会話の作成を引き起こすユーザ)によって開始することができる。例えば、ユーザは、ユーザ装置上に表示されたメッセージングアプリケーションのUI内の「Start a conversation」アイコンを選択することができる。チャットサービス(例えば、図2のチャットサービス222)は、入力を受け取り、会話を生成することができる。会話は、会話の任意の他の参加者が識別されていない状態で開始することができる。
【0063】
402において、メッセージを入れることができる。メッセージは、メッセージングアプリケーションを介してユーザによって入れることができる。メッセージは、例えばメッセージングアプリケーションのUIに表示される入力フィールドを介して、会話中に入れることができる。このメッセージは、会話への任意の他の参加者が識別される前に入れることができる。メッセージはテキストを含むことができる。チャットサービスは、メッセージを受信することができる。このメッセージは、会話に追加することができる。メッセージは、会話に関連付けられる1つまたは複数のユーザに送信することができる。このメッセージは、1つ又は複数の外部ユーザ、例えば会話に追加済みの外部電子メールアドレスに送信することができる。メッセージと会話との関連付けは、データベース(例えば、図2~3のデータベース260)に格納することができる。
【0064】
403において、メッセージを解析して、内容および/または属性を決定することができる。メッセージは、メッセージングアプリケーション(例えば、図2~3のメッセージングアプリケーション240)および/またはメッセージングサービス(例えば、図2~3のメッセージングサービス220)によって解析することができる。例えば、メッセージングアプリケーションは、メッセージの属性、例えばメッセージ内の特殊文字によって識別される属性を決定し、その属性の指示をメッセージングサービスに送信することができる。
【0065】
404において、メッセージの内容は、内容データベース(例えば、図2~3のデータベース260)に格納することができる。内容と1つ又は複数のユーザ(例えばメッセージ内のタグ付きユーザ)との関連付けは、ユーザデータベース234、グループデータベース232、検索インデックスデータベース252などのデータベースに格納することができる。内容および/または関連付けは、メッセージングサービス(例えば、図2~3のメッセージングサービス220)によってデータベースに格納することができる。
【0066】
405において、メッセージの属性は、トピックデータベース236、ユーザデータベース234、グループデータベース232、検索インデックスデータベース252、電子メールユーザデータベース237、およびタスクデータベース256などの属性データベースに格納することができる。属性とメッセージ内容の関連付けも、属性データベースおよび任意の他のデータベースに格納することができる。例えば、図2~3に示すように、属性および/または関連付けは、メッセージングサービス220によってデータベース260に格納することができる。
【0067】
406において、メッセージの属性を処理することができる。例えば、メッセージの内容は、会話に関連付けられるトピックによってタグ付けされることが可能である。別の例として、検索は、内容に関連付けられるすべてのユーザについて実行することができる。メッセージの属性は、メッセージングサービスによって処理することができる。
【0068】
ユーザ間の直接交換に基づくほとんどのメッセージングシステムとは対照的に、いくつかの実施形態において、本開示にかかるメッセージングシステム(例えば、メッセージングサービスおよびメッセージングアプリケーション)は、よりメッセージ中心であり、メッセージが内容であり、ユーザがその内容の属性である。例えば、本開示の技術は、会話の受信者または購読者を識別する必要はない。代わりに、本メッセージングシステムは、任意の他の参加者が識別されていない状態で、作成者ユーザ(例えば、会話の作成を引き起こすユーザ)によって、会話、例えば一連のメッセージを作成することを可能にする。会話の参加者は単なる受信者ではなく、作成者ユーザである。作成者ユーザは、メッセージの投稿、会話のトピックへのラベル付け、会話へ他の参加者の追加、他の参加者へのタスクの割り当てなどを行うことができる。
【0069】
会話作成後、他の参加者を会話に追加することができる。会話の参加者が会話の開始時に定義されるほとんどのメッセージングシステムとは異なり、本メッセージングシステムはいつでも参加者を会話に参加させることができる。会話内で本メッセージングサービスのユーザのユーザ名、グループ名、または電子メールアドレスを入れることにより、参加者を既存の会話に参加させることができる。そうすると、参加者は、会話に追加され、会話内で伝達される過去と未来のメッセージ、例えばフィードまたは通知で受信することができる。追加された参加者は、例えば、会話内でメッセージを投稿すること、会話のトピックにラベルを付けること、タスクを割り当てること、および/または会話に他の参加者を追加することによって、会話に参加することができる。
【0070】
図5は本開示にかかるデータモデルの例示的な実施形態を示す図である。図5の例示的なデータモデルは単に例示的なものであり、他の構成を使用することができることを理解すべきである。図に示すように、データモデルは会話中心である。言い換えれば、会話はデータベース内の1次データ(primary data)である。ユーザデータ、トピックデータ、タスクデータなどの他のデータは、会話の属性である。図に示すように、メッセージングサービスの会話データベース230は、複数の会話を含む。会話データベース230は、複数のテーブルを含む。例えば、スレッドテーブル502、メッセージテーブル504、および内容テーブル506は、すべて会話データベース230に格納される。
【0071】
スレッドテーブル502は、Thread_ID、User_ID、およびCreated_Timeなどの項目を含む。Thread_IDは、他のデータと属性を参照する主キーである。例えば、Thread_IDは、特定のThread_IDに関連付けられるメッセージをルックアップするために使用される。Thread_IDは、以下でより全面的に説明されるように、Thread_IDで識別されるスレッドに関連する属性データベース内の属性をルックアップするためにも使用される。属性データベースを説明する前に、会話データベース230に格納されるレコードをより詳細に説明する。
【0072】
会話データベース230について、ユーザによって新しいスレッド(例えば、新しい会話)が作成されるたびに、メッセージサービスは、新しいThread_IDを生成して割り当て、スレッドを作成したユーザのUser_ID及びスレッドが作成された時刻(Created_Time)と共にスレッドテーブルに新しいレコードを作成する。さらに、特定のスレッド(例えば、特定の会話)内の各メッセージに関連付けられる情報は、Thread_ID、User_ID(メッセージを作成したユーザの場合)、各メッセージを識別するMessage_ID、メッセージが作成された時刻(Created_Time)、および会話中にメンション(言及)され追加された可能性のある他のユーザまたはグループを識別するエントリ(Is_Mentioned)と共にメッセージテーブル504に格納される。会話中にメンションされた(例えば、@記号で始まる)ユーザまたはグループは、以下では「メンション」と称される。各メッセージの内容は、内容テーブル506に個別に格納され、対応するメッセージIDによって参照されることが可能である。これは、メッセージが短い文字列か、JPEGやビデオなどの何らかの形式のメディアを含むかによって、メッセージの格納サイズ大きく異なる可能性があるからである。
【0073】
前述したように、各スレッド(会話)は、関連付けられる属性を有することができる。これらの属性は、会話のThread_IDによって参照される。たとえば、Thread_IDは各属性データベースに含まれるキーであり、特定の会話に関連付けられるすべての属性をルックアップするために使用できる。図5に示すように、ユーザは会話の属性である。特定の会話に関連付けられるユーザは、ユーザデータベース234において、特定の会話に対応する特定のThread_IDに関連付けられるすべてのユーザを検索することによって決定することができる。検索によって、一致するすべてのUser_IDが返される。
【0074】
同様に、電子メールメッセージデータベース238の検索により、電子メールを介して、スレッドに関連付けられるユーザのすべてのUser_IDが返される。すなわち、電子メールアドレスが会話に追加されるたびに、電子メールメッセージデータベース238に新しいレコードが作成される。各レコードには、会話で電子メールアドレスを追加したユーザのUser_IDが格納される。さらに、会話に対応するReturn_Emailアドレスは、メッセージングサービス(例えば、メッセージングサービス220)によって割り当てられ、電子メールメッセージデータベース238に格納される。各電子メール参加者(電子メールアドレスで追加された参加者)には、関連付けられるEmail_Addressをルックアップするために使用できるMail_Box_User_IDが割り当てられる。電子メールアドレスは、この電子メールアドレスを含むメッセージのMessage_IDとともに格納される。また、各電子メールメッセージのメッセージ内容等も電子メールメッセージデータベース238(例えば、電子メール属性テーブル522、520)に格納される。
【0075】
属性データベースは、例えば、グループデータベース(例えば、グループデータベース232)をさらに含む。グループデータベース232は、会話に関連付けられるグループに関する情報(例えば、グループ属性)を格納する。グループデータベース232に格納されるデータは、Thread_ID、Group_ID、Created_Time(グループが作成された時刻)のうちの1つ又は複数を含む。Group_IDは、Group_Name(グループ名)、Owner_User_ID(グループ所有者、例えばグループの作成者のUser_ID)、グループタイプ(プライベートまたはパブリックグループなど)、加入時刻(メンバがグループに加入した時刻)、およびグループに関連付けられる状態を含むレコードを示すためにも使用される。
【0076】
一実施形態において、属性データベースは、会話に関連付けられるタスク割り当てを示す情報(例えば、タスク属性)を格納するタスクデータベース(例えば、タスクデータベース256)を含む。タスクデータベース256に格納されたタスク属性も、各会話のThread_IDによって参照される。タスクデータベース256に格納されるデータおよび情報の一部には、期限(実質的には期限日)、割当者および被割当者のユーザID(Assignor_User_IDおよびAssignee_User_ID)、および状態(例えば、ステータス)が含まれる。作成された時刻、検証された時刻、および最後に更新された時刻を、タスクのために格納されたレコードに関連付けることもできる。
【0077】
一実施形態によれば、属性データベースは、会話に関連付けられるトピックを示す情報(例えば、トピック属性)を格納するトピックデータベース(例えば、トピックデータベース236)をさらに含む。トピックデータベースは、各会話のThread_IDによって参照され、会話に関連付けられ、一般に、各トピックに関連付けられるユーザID、Topic_IDおよび作成された時刻を含む。Topic_IDは、トピック名(Topic_Name)を参照するために使用される。例えば会話内にハッシュタグで始まるメッセージへのエントリによって、新しいトピックが会話に追加されるたびに、メッセージングサービス(例えば、メッセージングサービス220)は、会話のThread_IDによって参照されるトピックデータベース236にエントリを格納する。
【0078】
上述したように、これらの様々な属性はすべて、メッセージングサービス(例えば、メッセージングサービス220)において新しいスレッド(例えば、新しい会話)が作成されたときに生成されるThread_IDに関連付けられる。したがって、メッセージングサービス220は、会話に関連付けられる様々な属性を検索し、取り戻すことができる。本明細書では、会話とスレッドはある程度交換可能に使用される。一例において、メッセージスレッドデータベース230および複数の属性データベース(例えば、トピックデータベース236、タスクデータベース256、グループデータベース232、電子メールメッセージデータベース238、およびユーザデータベース234)は、同じサーバまたは装置に格納することが可能である。別の例において、メッセージスレッドデータベース230および複数の属性データベースは、それぞれ異なるサーバまたは装置に格納されてもよい。メッセージスレッドデータベース230および複数の属性データベースは、1つまたは複数の物理サーバまたは1つまたは複数の仮想サーバ上でホストされることができる。
【0079】
図6は、図5に示されるデータモデルに関連して、メッセージングサービス(例えば、メッセージングサービス220)によって実行される例示的なプロセス600を示す。図6では一連の動作として説明されているが、当業者であれば、様々な実施形態において、説明された動作を追加、除去、並べ替え、または修正することができることを理解するはずである。
【0080】
602において、メッセージングサービス220は、メッセージングアプリケーション、例えば、ユーザ装置242上で動作するメッセージングアプリケーション240から、会話のうちの少なくとも1つを示す要求を受信する。例えば、ユーザは、メッセージングアプリケーション240によって、ユーザが参加している1つまたは複数の会話に関連付けられる属性を示す情報を要求している場合がある。例えば、ユーザ装置242上で動作するメッセージングアプリケーション240は、ユーザのための会話に関連付けられる属性(例えば、トピック、ユーザ、グループ、タスク)を示す情報を要求することができる。この要求に応じて、604において、メッセージングサービス220は、該ユーザのUser_IDに関連付けられるすべてのThread_IDをユーザデータベース234内でルックアップし、さらに他の属性データベースにクエリし、これらのThread_IDに基づいて識別された会話に関連付けられる様々な属性を決定する。一例において、メッセージングサービス220は、Thread_IDに関連付けられるトピックデータベース内のすべてのトピックをルックアップすることができる。606において、メッセージングサービス220は、クエリ結果を処理して、少なくとも1つの属性(例えば、トピック属性)が会話のうちの少なくともいくつかに関連付けられると判定する。
【0081】
608において、メッセージングサービス220は、ユーザ装置242上に属性のインジケータを表示するために、会話に関連付けられる属性情報をメッセージングアプリケーション240に送信する。例えば、図12に示すように、会話に関連付けられる複数のトピックは、ユーザインターフェース(UI)1200の一番左の列1205に表示されている。いくつかの実施形態において、複数の属性が存在してもよく、メッセージングサービス220またはメッセージングアプリケーション240によって、それらに異なる優先度を割り当てることができる。メッセージングサービス220またはメッセージングアプリケーション240は、複数の属性を、それらの優先度に基づいて編成することができる。一例において、メンション(つまり、会話に追加されたユーザまたはグループ)属性は、トピック属性より高い優先度を有してもよい。例えば、図25のメンション属性(例えば、UserE2501およびGroup1 2504)には、トピック属性より高い優先度を割り当てることができる。図25の属性のインジケータは、メンション属性に基づいて表示され、メンション属性の下に1つまたは複数のトピック(もしあれば)を表示することができる。一例において、特定のメンション属性を持つ会話に、複数のトピックが関連付けられる場合がある。図25に示すように、メンション属性UserE2501を有する会話には複数のトピック(「patent」というトピック2502を含む)が関連付けられており、この例では、メンション属性の方がトピック属性よりも優先度が高いので、複数のトピックはメンション属性UserE2501の下に表示されている。
【0082】
いくつかの実施形態において、メッセージングアプリケーション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上に重ねられたウィンドウに表示させることができる。
【0083】
一実施形態において、メッセージングアプリケーション240とメッセージングサービス220との間で追加的なインタラクションが行われてもよい。例えば、610において、メッセージングサービス220は、メッセージングアプリケーション240から、メッセージングアプリケーション240が属性(例えば図12の一番左の列に示される表示されたトピックリストのうちのトピック)を既に選択したことを示す入力を受け取る。これに応じて、612において、メッセージングサービス220は、選択された属性(例えば、トピック)に関連付けられるメッセージをメッセージスレッドデータベース230にクエリする。その後、メッセージングサービス220は、メッセージをユーザ装置242上に表示させるために、メッセージをメッセージングアプリケーション240に送信する。例えば、図12に示すように、UI1200の一番右の列1204上には、選択されたトピックに関連付けられるメッセージが表示される。
【0084】
図7は、メッセージングアプリケーション(例えば、メッセージングアプリケーション240)とメッセージングサービス220において維持されるデータモデルとの間のインタラクションを示す別の例示的なプロセス700を示す。図6では一連の動作として説明されているが、当業者であれば、様々な実施形態において、説明された動作を追加、除去、並べ替え、または修正することができることを理解するはずである。別の実施形態において、メッセージングサービス220は、702において、会話のうちの少なくとも1つを示すユーザに関連付けられるメッセージングアプリケーション(例えば、ユーザ装置242上で動作するメッセージングアプリケーション240)から要求を受信する。これに応じて、メッセージングサービス220は、704において、メッセージスレッドデータベース230にクエリする。例えば、メッセージングサービス220は、ユーザが既に参加した対応会話をルックアップする。その後、706において、メッセージングサービス220は、クエリ結果を処理して、各会話内のメッセージのサブセットを決定する。一実施形態において、各会話のメッセージのサブセットは、会話内の最初のメッセージと最後のメッセージであってもよい。メッセージングサービス220は、メッセージのサブセットに基づいて、各会話の要約を作成することができる。708において、メッセージングサービス220は、各会話の要約を表示するために、メッセージのサブセットをメッセージングアプリケーション240に送信する。例えば、図12に示すように、UI1200の中間エリア1216に会話の要約が表示される。
【0085】
いくつかの実施形態において、710において、メッセージングサービス220は、メッセージングアプリケーション240が要約のうちの1つを選択したことを示す要求を受信することができる。この場合、また、これに応じて、712において、メッセージングサービス220は、対応する会話内の全部または複数のメッセージを取り戻すために、会話データベース230に再度クエリすることができる。実施形態において、メッセージングサービス220は、対応する会話内のすべてのメッセージを取り戻すことができる。他の実施形態において、メッセージングサービスは、対応する会話内のメッセージのサブセットを取り戻すことができる。例えば、メッセージの数及びメッセージの内容について、ユーザ装置(例えば、ユーザ装置242)がメッセージを格納するのに必要とする格納量が閾値を上回る場合、メッセージングサービス220にとって、ユーザ装置242に送信されるメッセージのサブセットのみを取り戻すことが有利であることがある。非限定的な例において、メッセージングサービス220は、対応する会話内の最新のメッセージのみを取り戻してもよい。714において、メッセージングアプリケーション240がユーザ装置242上にメッセージを表示できるように、メッセージングサービス220は、少なくとも会話内で取り戻したメッセージのサブセットをメッセージングアプリケーション240に送信する。
【0086】
図8はメッセージング技術を示す図である。技術は、メッセージングサービス(例えば、図2および図3のメッセージングサービス220)、メッセージングアプリケーション(例えば、図2および図3のメッセージングアプリケーション240)、1つまたは複数のユーザ210、および/または1つまたは複数のユーザ装置242によって実行することができる。801において、会話を開始することができる。会話は、メッセージングアプリケーションを介して会話の開始を要求する入力を入れることによって、作成者ユーザによって開始することができる。例えば、ユーザは、ユーザ装置上に表示されたメッセージングアプリケーションのUI内の「Start a conversation」アイコンを選択することができる。メッセージングサービスのチャットサービス(例えば、図2のチャットサービス222)は、入力を受け取り、会話を生成することができる。会話は、会話の任意の他の参加者が識別されていない状態で、作成者ユーザによって開始することができる。
【0087】
802において、チャットサービス222などのメッセージングサービス220を介してメッセージが受信されると、会話内のすべての参加者(例えば、作成者ユーザおよび任意の他の参加者)についてルックアップを実行することができる。メッセージの内容を決定することができる。内容は、チャットサービス222などのメッセージングサービス220によって解析することが可能である。内容を解析することは、メッセージおよび/または会話の1つまたは複数の属性を決定することを含むことができる。例えば、内容には、トピック、ユーザ、および/またはユーザグループなどの属性を表す所定の特殊キャラクタからなるテキストが含まれることがある。このルックアップは、メッセージングサービス220、例えば、チャットサービス222によって実行することができる。このルックアップは、1つまたは複数のデータベース260にクエリすることによって実行することができる。データベース260は、会話データベース230、グループデータベース232、ユーザデータベース234、トピックデータベース236、タスクデータベース256、電子メールユーザデータベース237、および/または電子メールメッセージデータベース238を含むことができる。参加者と会話との関連付けは、例えば、チャットサービス222によってデータベース260に格納されてもよい。
【0088】
803において、会話に関連付けられるトピックを決定することができる。トピックは、メッセージングサービス220、例えばチャットサービス222によって決定することが可能である。メッセージングサービス220は、メッセージを解析し、メッセージに含まれる所定のキャラクタを識別することに基づいて、メッセージがトピックを示す情報を含むと判定することができる。限定ではなく、一例として、所定の文字はハッシュ記号#としてもよい。メッセージングサービス220は、データベース260(例えば、トピックデータベース236)に格納された既存のトピックを検索することによって、既に受信された会話に関連付けられるいずれかのメッセージが新しいトピックを含むか否かを判定することができる。新しいトピックであると判定すると、メッセージングサービス220は、該新しいトピックをデータベース260(例えば、トピックデータベース236)に格納することができる。会話とトピックとの関連付けを決定し、会話データベース230およびトピックデータベース236などのデータベース260に格納することもできる。
【0089】
804において、メッセージおよび新しいトピックの指示を出力(例えば、プッシュ、送信)することができる。新しいトピックの指示(例えば、新しいトピックタグ)は、表示のために、プッシュサービス(例えば、プッシュサービス224)によって、会話の参加者に関連付けられるメッセージングアプリケーション(例えば、メッセージングアプリケーション240)に送信することができる。トピックの選択を示すユーザ入力が受け取られると、トピックに関連付けられるメッセージを、メッセージングサービス220のプッシュサービス224によって出力することができる。メッセージおよびトピックタグは、例えば、ユーザ装置242上で動作するメッセージングアプリケーション240のUI内の会話を介して、メッセージアプリケーションのユーザに出力することができる。メッセージおよびトピックタグは、ユーザ装置(例えば、ユーザ装置242)に送信することができる。メッセージおよびトピックタグは、会話に追加済みの外部電子メールアドレスに送信することができる。
【0090】
805において、新しい参加者Aを会話に加入するように招待することができる。新しい参加者Aは、既存の参加者によって、例えば会話の入力フィールドに、該新しい参加者Aに関連付けられるユーザ名、グループ名、または電子メールアドレスを入れることによって、招待することができる。メッセージングサービス220(例えば、チャットサービス222)は、該新しい参加者Aを会話に追加することができる。メッセージングサービス(例えば、チャットサービス222)は、新しい参加者Aと会話との関連付けを、データベース260に、例えば会話データベース230およびユーザデータベース234に格納することができる。
【0091】
806において、会話内の既存の参加者のルックアップを実行することができる。このルックアップは、メッセージングサービス220、例えば、チャットサービス222によって実行することができる。チャットサービス222は、会話内の決定された参加者の指示をプッシュサービス224に送信することができる。
【0092】
807において、会話内の既存の参加者に、新しい参加者Aが会話に追加されたことを通知することができる。プッシュサービス224によって、既存の参加者に通知することができる。既存の参加者に通知することは、既存の参加者のユーザ装置(例えば、ユーザ装置242)に通知を送信することを含むことができる。既存の参加者には、それら装置上で動作するメッセージングアプリケーションの会話および/またはUIを介して通知することができる。
【0093】
808において、会話に関連付けられるメッセージの内容を決定することができる。内容は、チャットサービス222などのメッセージングサービス220によって解析することが可能である。内容を解析することは、メッセージの内容の1つまたは複数の属性を決定することを含んでもよい。例えば、メッセージに新しい参加者Aのような属性を表す特殊キャラクタからなるテキストが含まれていると判定することがある。限定ではなく、一例として、新しいユーザ(つまり、新しい参加者)を表す所定の特殊キャラクタは、@記号であってもよい。会話のルックアップは、例えば、会話データベース230やトピックデータベース236などのデータベース260にクエリすることによって実行することができる。会話のルックアップを実行して、該会話に関連付けられるユーザ、メッセージ、トピック、および他の属性を決定することができる。チャットサービス222は、解析および/または会話ルックアップの結果の指示をプッシュサービス224に送信することができる。
【0094】
809において、会話ルックアップの結果、例えばメッセージおよびトピックタグを、新しい参加者Aに出力(例えば、プッシュ)することができる。メッセージおよびトピックタグは、プッシュサービス224によって出力することができる。メッセージおよびトピックタグを出力することは、例えば、ユーザ装置(例えば、ユーザ装置242)上で動作するメッセージングアプリケーション(例えば、メッセージングアプリケーション240)のUI内の会話を介して、メッセージおよびトピックタグを新しい参加者に送信することを含むことができる。メッセージおよびトピックタグは、新しい参加者Aに関連付けられるユーザ装置(例えば、ユーザ装置242)に送信することができる。会話内のメッセージは、新しい参加者Aに関連付けられる外部電子メールアドレスに送信することができる。本開示にかかるメッセージングサービスは、会話に関連付けられるトピックの属性に基づいて会話を分類し、参加者が関心を持つ会話のトピックを示すトピックタグの選択に応じて、該参加者に会話の内容を提供することができる。これにより、本メッセージサービスは、ユーザが関心を持つ内容をより効率的に提供することができる。
【0095】
図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に追加することができる。
【0096】
図8を再び参照し、会話の作成者ユーザは、新しいユーザ(すなわち、新しい参加者)を会話に参加するように招待することができる。いくつかの実施形態において、メッセージングサービスは、説明した複数のデータベース260と通信して、前述したチャットサービス222およびプッシュサービス224を使用する。この例を続けると、810において、ユーザは、1つまたは複数のメッセージを含む会話を開始することができる。メッセージは、複数のキャラクタ、記号を含み、テキスト文字列、または他のタイプの内容とすることができる。新しいメッセージが会話に追加された場合、チャットサービス222は、どのユーザが会話の属性であるか、すなわち、会話に関連付けられるユーザであるかを判定する。これらの属性は、1つ又は複数のデータベースに格納される。このようなデータベースは、会話データベース(例えば、会話データベース230)、グループデータベース(例えば、グループデータベース232)、トピックデータベース(例えば、トピックデータベース236)、および電子メールユーザデータベース(例えば、電子メールユーザデータベース237)を含むが、これらに限定されない。会話の参加者が識別され、会話を通知されることができる。
【0097】
会話中にメッセージが受信されると、メッセージングサービス(例えば、メッセージングサービス220)は、会話を形成するメッセージ中に新しいトピックが含まれているか否かを判定してもよく、トピックデータベース236のような1つ又は複数のデータベース内で既存のトピックを検索してもよい。したがって、会話の属性、例えばトピック、ユーザ、グループ等によって、会話が例えばトピックに基づいて適切に分類されること、新しい会話が参加者にプッシュアウトされることを保証する。プッシュサービス224は、メッセージ、既存のトピックタグ、および新しいトピックタグを対象とする参加者に出力することを支援する。いくつかの実施形態において、これは、会話の対象とする参加者に関連付けられる装置上のユーザインターフェースまたはユーザディスプレイにメッセージをプッシュすることによって発生することができる。
【0098】
別の例において、ユーザは会話に加入するように招待されてもよい。例えば、805において、新しい参加者Aを既存の会話に加入するように招待することができ、これにより、メッセージングサービス(例えば、メッセージングサービス220)は、会話に関連する情報を新しい参加者Aと共有することを許可される。チャットサービス222は、この作動を処理し、506において、先の例と同様に、会話に関連付けられるすべての既存の参加者をルックアップし、必要に応じて1つ又は複数のデータベース260(例えば、データベース230~236)と通信して、関連情報を取得する。参加者が識別されると、プッシュサービス224は、807において、会話に新しい参加者が追加されたことを既存の参加者に示すために、会話に関連付けられる識別された既存の参加者に通知する。
【0099】
新しい参加者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のユーザ名が入力されている。
【0100】
一実施形態において、ユーザが「Send」ボタン907を選択した後、メッセージはメッセージングサービス(例えば、メッセージングサービス220)に送信される。メッセージングサービスはそれから、例えば図4に示すように、メッセージを解析して、メッセージが所定の@記号905を含むと判定し、メッセージの後続のテキスト906を、ユーザ識別情報として解釈する。次に、メッセージングサービスは、このメッセージをユーザAの、識別されたユーザC(すなわち、新しい参加者)を会話に追加することをシステムに許可する要求として解釈する。他の実施形態も想定されており、例えば、ユーザ装置上のメッセージングアプリケーションは、メッセージを解析し、識別されたユーザC(すなわち、新しい参加者)に会話への加入を許可することをユーザが望んでいることを示すインジケータをメッセージングサービスに送信することができる。言い換えれば、メッセージの処理は部分的にユーザ装置上で行うことができ、処理の一部はメッセージングサービスによって行うことができる。
【0101】
特定のイベントにおいて、一旦許可されると、クラウドサービスは、会話の属性として、新しい参加者を識別する情報(例えば、新しい参加者のユーザ名)を追加することができる。このために、ユーザは会話901に関連付けられ、該関連付けはデータベース260に格納される。特定のユーザを識別することに関連付けられるインジケータとして、複数の記号、テキスト、キャラクタなどを定義することができることを理解すべきである。この特定の例において、@符号は、新しいユーザを追加するための所定の記号であり、ユーザは新しいユーザ名を「@UserC」として入れ、「@UserC」はメッセージングサービスによって会話901への新しい参加者として認識される。
【0102】
図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に関連付けられることを示すためにハッシュタグ#を使用することができる。追加の属性を会話に追加するために、他のシンボルを使用することができることが考えられる。
【0103】
図9図10はまた、例えば一番左の列909、1009によって示されるように、会話が、トピックでソートすることができることを示している。図示された例は、会話がトピック属性などの属性でソートされる「Feed」ビュー908、1008としてラベル付けされたものを示している。フィードを選択すると、会話の選択されたトピックに関連付けられる要約バージョンで、1つまたは複数の会話のリストが表示される。一実施形態において、会話の要約バージョンを選択すると、選択された会話に関連付けられる1つまたは複数のメッセージが表示される。ここで、例えば、会話の要約バージョン(または要約、サマリー)が表示され、会話の作成者が一番上にリストアップされ、その後に会話内の最初のメッセージ「UserB Hello」910、1010が続き、次に会話内の最後のメッセージ、つまり第2のトピックを追加するためのメッセージ「#tag-patent1」911、1011が続く。会話の要約バージョン(または要約、サマリー)は、ユーザに会話のプレビューを表示し、これにより、ユーザは、自分が会話に関心を持つか否か、会話の要約を選択することによって、会話の全体の内容を概観したいか否かを判定することができる。トピック(UI上のトピックタグとして示される)は、会話の内容の短い記述子として機能する。
【0104】
他の実施形態において、以下で説明されるように、会話は、1つ又は複数の他のカテゴリおよび分類、「Groups」ビュー912、1012によってソートされてもよく、会話およびメッセージは、それらの会話およびメッセージのそれぞれが対象とあるグループに基づいて編成される。これらは、以下に他の実施形態でさらに説明される。
【0105】
図11は、トピックタグを会話に追加し、新しいメッセージを会話に追加するための実施形態を示す図である。前述したように、トピックに対応するトピックタグは、たとえば、フィードビューで使用され、会話のソート、管理、及び選択を容易にする会話の属性である。1つまたは複数のトピックは、このようなトピックタグを介して会話に関連付けることができる。限定ではなく、一例として、トピックタグは、後続のテキストにトピックが含まれることを示す先頭キャラクタを持つテキスト文字列とすることができる。この実施形態において、ハッシュ記号すなわち「#」は、トピックを表すためにメッセージングサービスによって認識される所定のキャラクタである。ユーザ(すなわち参加者)は会話を開始することができる。この例において、ユーザはまた、1110において、トピックを会話に追加する。次に、チャットサービス222は、新しい会話の指示を受信し、トピックの存在を検出するためにメッセージを解析することができる。上記で説明したように、メッセージの解析は、メッセージングサービス(例えば、メッセージングサービス220)によって、ユーザ装置(例えば、ユーザ装置242)上のメッセージングアプリケーション(例えば、メッセージングアプリケーション240)によって、またはこれら2つの何らかの組み合わせによって行うことができる。メッセージ、例えばトピックを含むメッセージを入れることによって会話が開始された後、任意の他のユーザ、すなわち参加者が会話の関連属性であるか否かを判定するために、ルックアップ830が実行される。ルックアップは、会話データベース230、グループデータベース232、ユーザデータベース234、およびトピックデータベース236などのデータベース260の1回または複数回の検索によって行うことができる。
【0106】
一旦、関連ユーザ(すなわち、会話の参加者)が識別されると、840において、様々なデータベースに格納され追跡されたすべての参加者のトピックタグ分類に、該会話は追加される。言い換えれば、新しい会話と指定されたトピックタグとの間の関連付けを格納することができ、トピックタグに関連付けられ、会話にも関連付けられるすべてのユーザを関連付けるように、関連付けを格納することができる。したがって、会話は、トピックタグに関連して、すべての参加者1150について要約される。たとえば、ユーザが会話に追加された場合、ユーザは最初と最後のメッセージからなるトピックの要約バージョンを受信することができる。プッシュサービス224は、このようなメッセージをさらに処理し、1152において、メッセージを例えばユーザディスプレイ上に出力し、それぞれのユーザに送信し、既存のタグおよび新しいタグのそれぞれのビューを、例えばこのようなタグでソートされた会話のフィードビュー内で、更新することを可能にすることができる。
【0107】
図11に示す別の実施形態において、トピックタグ特性は既存の会話に組み込まれる。例えば、1115において、トピック指示を含む新しいメッセージを既存の会話に追加することができる。先に説明されたプロセスと同様に、トピックを示す情報を含むメッセージの受信により、1135において、会話内のすべての参加者のルックアップを引き起こす。トピックと会話との間の関連付け、および参加者とトピックとの間の関連付けは、会話データベース230、トピックデータベース236、ユーザデータベース234、グループデータベース232、および電子メールユーザデータベース237などのデータベース260に格納することができる。1145において、他の既存のトピックタグのルックアップを行うことで、例えば、会話内に存在し、会話に関連付けられている複数のトピックタグがある場合、そのトピックが新しいトピックであるか否かを判定することができる。1156において、メッセージングサービス220、例えば、プッシュサービス224は、次に、メッセージおよび新しいトピックに対応する新しいトピックタグをそれぞれの参加者にプッシュする。
【0108】
これらの技術の一例を、図12図13のユーザインターフェースの例を用いて説明する。図12は、トピックタグのリスト1215を提供するメッセージングアプリケーションの一例のフィードビュー1208を示す。この例において、会話1201には、所定のキャラクタ「#」で始まるトピックを含むメッセージ「#tag-patent」が含まれる。前述したように、トピックを表す所定のキャラクタは、%記号などの任意の他の特殊キャラクタであってもよい。メッセージングサービスによって、メッセージが所定のキャラクタ#を含むと判定することと、データベース260を検索することとに基づいて、メッセージが新しいトピックを含むと判定した場合、会話は、該新しいトピックに関連付けられる会話リストに追加される。したがって、メッセージングアプリケーション(例えば、メッセージングアプリケーション240)のUIを介してフィードビュー1208から対応するトピックタグが選択された場合、現在の会話1201および新しいトピックに関連付けられる他のすべての会話は、会話のすべての参加者によって容易に閲覧、編成することができる。
【0109】
図13は、この構想、およびトピックに基づいて会話をソートする能力をさらに示す。ここで、ユーザは、UI1300の一番左の列1315内でトピックタグ「#tag-patent」1316を選択している。これによって、メッセージングサービスは、ユーザおよび選択されたトピックに関連する各会話の要約バージョンをプッシュする。トピックタグ「#tag-patent」1316が選択されると、メッセージングサービスはまた、UI1300の一番右のエリア1325に、対応する会話内のメッセージを表示させるために、該会話の内容をプッシュする。そして、関連性のない他の会話を表示せずに、これらの会話をフィードビュー1308に表示させる。フィードビュー1308に表示されるトピックタグの順序は、各トピックの優先度や重要度などのユーザプリファレンスに応じて配置することができる。各トピックタグに関連付けられる会話は、1つまたは複数の変数、例えば時間、最後に受信したメッセージ、優先度、ユーザプリファレンスなどに基づいて、ソートすることもできる。同様に、各会話は複数のメッセージを含み、特定の会話に関連付けられるユーザは、メッセージを閲覧し、メッセージを送信し、本明細書で説明される追加のユーザ、トピック、グループなどの属性を追加することができる。
【0110】
様々な実施形態において、ユーザは、属性を含むことができる1つまたは複数のメッセージからなる会話を生成することができる。メッセージを解析し、1つ又は複数のメッセージが解析されたことに基づいて、メッセージが属性、例えばユーザ、トピック、グループなどを示す文字列を含むと判定することができる。属性は、トピックを示す情報と会話との間の関連付けとして、少なくとも1つのデータベースに格納することができる。メッセージングアプリケーション(例えば、メッセージングアプリケーション240)からトピックの選択を示す入力を受け取ることに応じて、メッセージングサービス(例えば、メッセージングサービス220)によって、該トピックに関連付けられる会話の少なくともサブセットを、表示用にメッセージングアプリケーション240に送信する。
【0111】
追加の実施形態において、メッセージングサービスはさらに、トピックに関連する情報を含む少なくとも1つのデータベースを検索することによって、トピックが新しいと判定し、トピックが新しいという判定に基づいて、該トピックを示す情報を該少なくとも1つのデータベースに格納することができる。別の例において、会話内の第2のメッセージを解析することができる。第2のメッセージが第2のユーザを識別する情報を含むと判定し、その結果、第2のユーザにメッセージを会話に追加することを許可することができる。トピックを示す情報は、例えば、1つ又は複数の他のユーザによって操作される1つ又は複数のメッセージングアプリケーションに送信されてもよく、データベースは、各会話に関連付けられるトピックのような複数の属性に加えて、複数の会話を格納してもよい。
【0112】
少なくとも1つのデータベースと、該少なくとも1つのデータベースと通信し、動作を実行するように構成された少なくとも1つのコンピューティング装置とを含むことができるメッセージングサービスを使用することによって、1つ又は複数の特性および機能を実現することができる。さらに、処理の様々な態様は、メッセージングアプリケーションとメッセージングサービスとの間で分割することができる。いくつかの実施形態において、メッセージングアプリに動作を実行させることが好ましく、他の実施形態において、サービスによって同じ動作を実行させてもよい。
【0113】
フィードビュー1308において、例えば、アイコン、例えば「Start a Conversation」アイコン1317を選択することによって、会話を開始することができる。他のメッセージングアプリケーションとは異なり、会話はユーザだけではなく、トピックで編成されてもよい。トピックは、会話の最初にユーザによって定義することができる。例えば、会話1301を開始する作成者ユーザは、会話1301にトピックを割り当てることができる。トピックは、会話の他の段階で他の参加者によって定義することもできる。トピックは、「#」記号などの特殊キャラクタやタグで表すことができる。作成者ユーザは、それから、会話に追加の参加者を追加してもよく、または、会話を独りで続行してもよい。
【0114】
「Feed」ビュー1308には、1つまたは複数のパネル1315、1318、1320を表示することが可能である。パネルは、開かれた(例えば、展開された)会話パネル1318を含むことができる。参加者は、例えば、入力フィールド1304内でメッセージを入れることによって、開かれた会話パネル1318内で通信することができる。入れられたメッセージは、例えばそれらが送信された順序、入れられた順序、または受信された順序で、会話1301のログまたはフィード1319として表示することができる。メッセージが送信され、入れられ、または受信された時刻を示すために、タイムスタンプを会話1301内でメッセージの近くに表示させてもよい。メッセージを入れた参加者のユーザ名は、会話内でメッセージの横に表示されてもよい。
【0115】
パネルは、折り畳まれた会話パネル1320を含むことができる。折り畳まれた会話パネル1320は、開かれた会話パネル1318に隣接することができる。折り畳まれた会話パネル1320は、会話のプレビュー1321a、1321b、例えば会話の最初のメッセージ、会話のタイトル、会話の最後のメッセージ、および/または会話内の未読メッセージ数など、を示すことができる。
【0116】
図14図19は、グループ(例えば、ユーザグループ)のコンテキストにおける参加者間のインタラクションの態様、およびメッセージングサービスおよびアプリケーションがグループに関連するメッセージおよび会話を分類、編成、および出力することができる様々な技術および実施形態を示す。図14図19は単に例示的なものであり、他の適切な方法でグループを作成し、会話に加入することができることを理解すべきである。
【0117】
図14は既存のグループまたは新たに作成されたグループを会話に招待し、新しいグループを作成するための態様を示す。1405において、既存のグループまたは新たに作成されたグループを任意の会話に加入するように招待することができる。限定ではなく、一例として、属性として、複数のメンバを含むグループを複数の会話に参加するように招待し、許可することができる。グループ属性も、同一の会話に複数のグループ参加者を有することを可能にする。追加として、会話のグループ参加者は、会話の内容をグループのすべてのメンバに一度にプッシュすることを可能にする。したがって、本メッセージングサービスは、従来のメッセージングシステムと比較して、より高い柔軟性と効率を提供する。
【0118】
任意の会話の参加者によって、グループのグループ名を検索することで、該グループを招待することができる。限定ではなく、一例として、グループを会話に招待するように示すユーザ入力を受け取ることに応じて、メッセージングサービスは、グループと会話との間の関連付けを、会話データベース230およびグループデータベース232などのデータベース260に格納する。
【0119】
1406において、会話に関連付けられる情報は、グループデータベース232および検索インデックスデータベース252などのデータベース260において、グループのすべてのメンバについて記録することができる。会話に関連付けられる情報は、会話内のメッセージ、会話の属性、および会話に関連付けられる任意の他の情報を含むことができる。会話に関連付けられる情報は、プッシュサービス224に送信することができる。
【0120】
1407において、グループが会話に参加するように招待された後、会話内のメッセージの少なくともサブセットが、グループのすべてのメンバにプッシュされる。メッセージは、プッシュサービス224によってプッシュすることができる。メッセージをプッシュすることは、メンバに、例えば、メンバの装置にメッセージを送信することを含むことができる。メッセージをプッシュすることは、メンバに関連付けられるメッセージングアプリケーションのUI内にメッセージを表示させることを含むことができる。
【0121】
図16は、メッセージングアプリケーションのUI内のグループビュー1600の態様を示す。グループビュー1600において、ユーザが属するグループがユーザに表示される。図16には、ユーザが属する8つのグループがリストアップされている。実施形態によれば、グループはリストに表示される。グループ表示は、グループの属性と、1つ又は複数の選択可能なインターフェースエレメント(例えば「Edit」および「Delete」などの選択可能なボタン)を表示する。属性には、グループ名1601が含まれる。図16は、「Group1」、「Group2」、「Group3」等を含むグループ名を示している。グループに関連付けられる情報は、メッセージングサービス(例えば、メッセージングサービス220)に送信され、メッセージングサービス220によってデータベース260(例えば、グループデータベース232、検索インデックスデータベース252等)内で維持される。
【0122】
一旦、グループが会話への参加を許可されると、グループと会話との間の関連付けがデータベース260に格納される。例えば、メッセージングサービス220は、会話のスレッド識別情報(ID)とグループのグループ識別情報(ID)とをグループデータベース232に格納する。限定ではなく、一例として、グループと会話との間の関連付けは、会話のスレッドIDおよびグループIDに基づいて識別することができる。メッセージングサービスは、グループに関連付けられる情報に基づいて検索インデックスを生成し、該検索インデックスを検索インデックスデータベース252などのデータベース260に格納することができる。グループのすべてのメンバと会話との間の関連付けは、検索インデックスに基づいて判定されてもよく、関連付けはデータベース260に格納されてもよい。グループおよびグループのメンバに関連付けられる情報は、データベース260から取り戻すことができるため、取り戻された情報に基づいて、グループ(すなわち、会話のグループ参加者)のすべてのメンバに関連付けられた表示のために、会話内のメッセージをメッセージングアプリケーションに送信することができる。
【0123】
グループが会話に参加するように(つまり、グループ参加者として)招待された後、任意の特定の個別メンバが他の参加者によって会話に招待され、または会話に直接参加しない限り(例えば、会話にメッセージを投稿しない限り)、グループの個別メンバの識別情報は、表示のために会話の参加者に関連付けられるメッセージングアプリケーションに送信されないようにしてもよい。グループの任意の特定の個別メンバが、他の参加者によって会話に招待された場合、または会話に直接参加する場合、該特定の個別メンバの識別情報を、会話参加者に関連付けられるメッセージングアプリケーションに送信して、該特定の個別メンバの識別情報を表示させる。さらに、該特定の個別メンバは、グループが会話から削除された後であっても、引き続き個別参加者として会話に参加することができる。他の参加者によって会話に招待されていない、または会話に直接参加していないグループの任意の他のメンバは、グループが会話から削除された後、または個別のメンバがグループから削除された後、会話内のそれ以上のメッセージを受信することはない。
【0124】
以下でさらに説明するように、メンバをグループに追加したり、グループから削除したりすることができる。グループの編集(例えば、メンバの追加または削除)を示す情報を受信すると、メッセージングサービス(例えば、メッセージングサービス220)は、データベース260(例えば、グループデータベース232および検索インデックスデータベース252)を更新する。メッセージングサービス220は、データベース260を検索して、どのメンバが現在のグループに含まれているかを決定し、該グループがグループ参加者として参加している会話内の任意のメッセージを、現在の該グループ内のメンバに送信する。該グループの任意の以前の個別メンバが、該個別メンバがグループから削除される前に、既に他のメンバによって該会話に招待された、又は該会話に直接参加した場合、以前の個別メンバは、個別参加者として引き続き会話に参加することができる。メッセージングサービス220は、現在個別参加者として以前の個別メンバに、会話内のメッセージを引き続き送信することができる。
【0125】
グループの属性は、グループプライバシ設定1602を含むことができる。図16に示すように、グループ「Group1」はプライベートである。グループ「Group2」もプライベートである。プライバシ設定も、グループデータベース232などのデータベース260内で維持することができる。任意のプライベートグループについても、プライベートグループのメンバのみ、該プライベートグループにアクセスすることが可能である。プライベートグループとは異なり、パブリックグループはグループ内のメンバに限定されない。代わりに、パブリックグループは、会話の任意の参加者、または少なくともメッセージングサービス(例えば、メッセージングサービス220)に登録されている他のユーザのサブセットによってアクセスすることが可能である。
【0126】
グループの属性は、人1603(例えば、グループのメンバ)を含むこともできる。図16は10人のメンバを有するグループ「Group1」を示す。「Group2」は3人のメンバを有する。グループビューにおいて、各グループのメンバは、例として、ユーザ装置(例えば、ユーザ装置242)および/またはメッセージングサービス220のデータベース260に維持することができる、メンバのプロファイル画像、アカウントアバタ、ユーザ名、および/またはハンドルによって表すことが可能である。
【0127】
グループビューには、ユーザがそれらのグループを管理するための機能が含まれている。上述した、特に図15に示された、新しいグループを作成する特性に加えて、これらの特性は、作動1605を含むことができる。作動1605は、ユーザが属性、例えば名前、プライバシ設定、およびグループのメンバ(例えば、メンバの追加または除去)などを変更することを可能にする「edit」オプションを含む。ユーザが編集オプションを選択することに応じて、図12のウィンドウ1203のようなウィンドウが表示される。このウィンドウには、メンバを追加または削除するオプションが含まれる。作動1605は、さらに、ユーザがグループを削除することを可能にする「delete」オプションを含むことができる。
【0128】
限定ではなく、一例として、1401において、新しいグループを作成することができる。新しいグループは複数のメンバを含む。グループは、メッセージングサービス220のグループサービス251によって作成することができる。メッセージングサービス220はまた、該新しいグループのためのグループIDを作成することができる。グループは、ユーザ入力に基づいて作成することができる。ユーザ入力は、メッセージングアプリケーションのUIのグループビュー、例えば図15のグループビュー1501を介して受け取ることができる。ユーザは、フィードビュー1502からグループビュー1501に切り替えることができる。グループビューにおいて、会話の参加者は「New Group」アイコン1507を選択できる。ユーザがアイコン1507を選択することに応じて、新しいグループを作成するためのオプションを有するUI(例えば、ウィンドウ1503)が表示される。新しいグループは、UI(例えば、ウィンドウ1503)を介して作成することができる。
【0129】
オプションにはプライバシ設定1504が含まれる。プライバシ設定1504は、スライド可能なアイコンや切り替え可能なアイコンなどのプライバシオプションを有するアイコン1508の選択によって選択される。一実施形態において、プライベートグループは、メッセージングプラットフォーム全体にわたって他のユーザによって検索不可能である。他の実施形態において、非プライベートグループが発見され、そのため属性などに関連付けられる様々な会話に追加される。
【0130】
オプションには、グループ名1505が含まれる。入力フィールド1509にテキストの文字列を入れることで、グループ名1505を入れる。図15に示すように、入力フィールド1509には、グループ名「Patent Team」が入れられる。グループ名1505は、グループを他のグループから区別する。グループのグループ名1505で該グループを検索することができる。
【0131】
オプションには、グループ内のユーザ(つまり、メンバ)1506が含まれる。図15は、5つのメンバを有するPatent Teamグループを示す。グループ内のメンバ1506を識別する情報を検索することにより、メンバ1506を招待(例えば、追加)する。限定ではなく、一例として、グループのメンバ1506を識別する情報は、任意のメンバに関連付けられるユーザ名、任意のメンバに関連付けられるエンティティ内のアカウント、任意のメンバに関連付けられる電子メールアドレス、または任意のメンバに関連付けられる電話番号を含むことができる。グループメンバの識別情報を受信すると、メッセージングサービス220は、グループデータベース232と検索インデックスデータベース252などのデータベース260にメンバの識別情報を格納することができる。
【0132】
入力フィールド1510にテキスト文字列を入れることにより、メンバ1506を追加する。例えば、図15は、「Patent Team」グループに招待するために、「UserC」という名前のメンバを検索することを示している。ウィンドウには、グループへの招待対象として選択されたメンバの数1511が示されている。ウィンドウで選択されるオプションは、グループの属性及び/又は関連付けである。
【0133】
グループは、UI内の「Cancel」ボタン1507を選択することによりキャンセルすることができる。グループは、UI内の「Save」ボタン1508を選択することにより保存することができる。グループが保存されたことに応じて、グループの属性および関連付けをデータベースに保存することができる。
【0134】
図14に戻り、1402において、グループ情報(例えば、属性、関連付け)を、図2のグループデータベース232などの1つまたは複数のデータベース260に記録(例えば、保存、格納)する。グループ情報は、グループサービス251によって記録することができる。データベースは、会話データベース230、グループデータベース232、ユーザデータベース234、および/または検索インデックスデータベース252を含むことができる。
【0135】
1403において、検索情報のインデックスを格納するために、検索インデックスを構築する。検索インデックスは、グループサービス251によって構築することができる。検索インデックスは、会話データベース230、トピックデータベース236、グループデータベース232、およびユーザデータベース234などの他のデータベースと関連して動作することができる。検索インデックスは、メッセージングサービスがメッセージおよび会話に関連付けられる属性(例えば、グループ属性)を検索することを可能にする。検索インデックスにより、アクセス許可の管理が可能になる。検索インデックスに基づいて、グループメンバは特定の会話とメッセージにアクセスできる。
【0136】
1404において、グループに関連付けられる情報を、表示のために、会話の参加者に関連付けられるメッセージングアプリケーションに出力することができる。グループ情報を出力することは、グループの指示を参加者に、例えば、参加者の装置に送信することを含むことができる。図16に示すように、グループ情報を出力することは、メッセージングアプリケーションのUIを介してグループ情報を表示させることを含むことができる。
【0137】
図17は、既存のグループに新しいメンバを追加するための態様1700を示す。1701において、新しいメンバを既存のグループに追加する。ユーザ入力の受け取りに応じて、新しいメンバを既存のグループに追加することができる。ユーザは、UIのグループビューで「edit」アイコンのうちの1つを選択することにより、入力を入れることができる。グループの現在メンバのリストをウィンドウに表示させることができる。ユーザは、グループのメンバではないユーザの名前を検索し、新しいメンバをグループに招待するように選択することができる。
【0138】
メッセージングサービスのグループサービス251は、既存のグループに新しいメンバを追加することができる。グループサービス251は、ユーザ入力の受け取りに基づいて、新しいメンバを追加することができる。グループサービス251は、新しいメンバとグループとの関連付けを1つまたは複数のデータベース260に保存することができる。例として、データベース260は、会話データベース230、グループデータベース232、ユーザデータベース234、トピックデータベース236、および/または検索インデックスデータベース252を含むことができる。
【0139】
1702において、関連付けられる会話、トピックタグなど、グループに関連する情報のルックアップを実行する。グループ属性には、既存のグループメンバなどが含まれる。ルックアップは、1つまたは複数のデータベース260にクエリを送信することによって実行する。新しいメンバについて属性をインポートする。属性をインポートすることは、属性をローカルに、例えばグループサービス251のメモリに格納することと、新しいメンバ属性をグループデータベース232に格納することとを含むことができる。
【0140】
1703において、グループに関連付けられる会話を新しいメンバに出力する。会話は、プッシュサービス224によって出力することができる。会話を出力することは、グループに関連付けられる様々な会話に含まれるメッセージを新しいメンバに、例えば、新しいメンバの装置に送信することを含むことができる。会話を出力することは、メッセージングアプリケーションのUIを介して新しいメンバに会話を表示させることを含むことができる。
【0141】
1704において、グループのメンバを発見する。グループのメンバは、グループサービス251および/またはプッシュサービス224によって発見することができる。グループのメンバは、データベース260にクエリすることにより発見することができる。グループサービス251は、グループのメンバを決定し、メンバの指示をプッシュサービス224に送信することができる。
【0142】
1705において、決定されたグループメンバを、グループの決定されたメンバに通知する。プッシュサービス224によって、メンバに通知してもよい。新しいメンバが追加されたことをメンバに通知できる。メンバに通知することは、メンバに、例えば、メンバの装置に通知を送信することを含むことができる。メンバに通知することは、メッセージングアプリケーションのUIを介して、例えばグループビュー内で、メンバへグループメンバを表示させることを含むことができる。
【0143】
いくつかの実施形態において、メッセージングサービス220および/またはメッセージングアプリケーション240は、複数のメンバを含むグループを特定するための情報を含む、会話内のメッセージを受信することができる。この情報の受信に応じて、メッセージングサービス220は、データベース260にクエリして、会話内のメッセージの少なくともサブセットを、会話内のメッセージの該少なくともサブセット表示するために、グループメンバに関連付けられるメッセージングアプリケーション240に送信することができる。一例において、メッセージングサービス220および/またはメッセージングアプリケーション240は、グループに関連付けられるデータを分析することによって、グループのメンバに関連付けられる情報を取得することができる。一例において、グループに関連付けられるデータは、グループのメンバおよび属性の情報を含む。別の例において、グループに関連付けられるデータは、グループが参加する会話の内容の少なくとも一部をさらに含むことができる。
【0144】
別の態様によれば、期限日に関連付けられるタスクが一人の参加者(割当者ユーザ)によって作成され、会話内の別の参加者(被割当者ユーザ)に割り当てられることが可能である。図18および図19は、会話内で期限日に関連付けられるタスクを割り当てるための技術を示す。メッセージングサービスは、チャットサービス222を含む。チャットサービス222は、装置またはプログラム、例えば図1のクラウドコンピューティングネットワーク100内の装置またはプログラムによって提供することができる。チャットサービス222は、メッセージングサービスのユーザが会話内でメッセージを交換し、且つ/または会話を生成することを可能にする。
【0145】
チャットサービス222がユーザからの入力を受け取ると、タスクが開始される。いくつかの実施形態において、まず、メッセージングアプリケーション(例えば、メッセージングアプリケーション240)を介して、割当者ユーザによってタスクを編集し、次に、被割当者ユーザに該タスクを割り当てるために、被割当者ユーザを会話に加入するように招待することができる。他の実施形態において、タスクを編集することおよびタスクを割り当てるために被割当者ユーザを招待することは、割当者ユーザに関連付けられるメッセージングアプリケーションの同じUI上で同時に実行することができる。チャットサービス222は、会話を介して、例えば、ユーザ装置上のメッセージングアプリケーションのUI内の会話の入力フィールドを介して、入力を受け取ることができる。
【0146】
例示のために、図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は被割当者ユーザである。
【0147】
入力には、メッセージに関連付けられる日付が含まれてもよい。この日付は、タスクの期限日であってもよい。この日付は、タスクに関するリマインダを送信する必要がある日付であってもよい。この日付は、ユーザ装置上のメッセージングアプリケーションのUIを介して出力されるアイコンの選択を含むことができる。アイコンは、例えば図16のアイコン1601のようなカレンダを表すことができる。
【0148】
図18に戻り、1802において、入力に基づいて割当情報を生成する。チャットサービス222は、割当情報を生成することができる。割当情報は、タスクを割り当てるユーザ、タスクが割り当てられたユーザ、メッセージおよび/またはタスク、および/または期限日の間の関連付けを含むことができる。割当情報は、タスクデータベース256、会話データベース230、およびユーザデータベース234などの1つ又は複数のデータベース260に格納される。チャットサービス222は、割当情報を格納することができる。
【0149】
1803において、割当情報に基づいて、割当者属性および/または被割当者属性を会話に追加する。チャットサービス222は、属性を追加することができる。属性を追加することには、割当者ユーザ、被割当者ユーザ、メッセージおよび/またはタスク、期限日、および/または会話の間の関連付けを格納することを含むことができる。属性は、会話データベース230、タスクデータベース256、ユーザデータベース234、およびグループデータベース232などのデータベース260に格納される。
【0150】
実施形態によれば、タスクはステータスを有する。ステータスは、タスクの期限日及び/又はタスクがどんな完了段階にあることを示す属性に基づく。たとえば、タスクおよび/または期限日が生成された場合、ステータスを「オープン」、「未完了」、および/または「未検証」に設定できる。ステータスの説明的な属性は、選択可能なアイコンや選択可能なアイコンのリストなど、UI内の事前に記入された選択可能な入力とすることができる。説明的な属性は、例えばメッセージングアプリケーションのUIの入力フィールドに、ユーザによって入力されるテキスト文字列とすることができる。
【0151】
割当者ユーザおよび/または被割当者ユーザは、ステータスを例えば「クローズ」、「完成」、および/または「検証済み」に変更できる。ステータスは、タスクが完了したか否かに基づいて変更することが可能である。たとえば、タスクが完了した場合、ステータスを「完了」に変更できる。ステータスは、タスクおよび/または期限日と関連付けてデータベース260に保存される。ステータスの変更に応じて、新しいステータスをデータベース260に保存する。メッセージングサービス220(例えば、チャットサービス222)は、ステータス、タイムスタンプ(例えば、検証された時刻、最後に更新された時刻など)、および他の情報を決定し、データベース260(例えば、タスクデータベース256)に格納することができる。ステータスの変更に応じて、通知をユーザに送信する。一実施形態によれば、ステータスは、例えばユーザ装置上のメッセージングアプリケーションのUI内の会話内で、割当者ユーザ、被割当者ユーザ、および/または会話の参加者に表示される。タスクのステータスおよび期限日を示す情報を受信すると、メッセージングアプリケーションは、タスクのステータスおよび期限日を表示することができる。
【0152】
1804において、会話のすべての参加者を発見する。チャットサービス222は、参加者を発見することができる。データベース260にクエリすることによって、会話内の参加者を決定することができる。メッセージングサービスのプッシュサービス224に参加者を送信することができる。プッシュサービス224は、メッセージングサービスの装置またはプログラムとすることができる。
【0153】
1806において、タスクのステータスを、会話の決定された参加者にプッシュする。プッシュサービス224は、ステータスをプッシュすることができる。ステータスをプッシュすることは、ステータスを参加者の装置(例えば、ユーザ装置242)に送信することを含むことができる。ステータスをプッシュすることは、ユーザ装置(メッセージングアプリケーション242)上のメッセージングアプリケーション(例えば、メッセージングアプリケーション240)のUIを介して会話内でステータスを表示することを含むことができる。メッセージングサービス(例えば、メッセージングサービス220)は、タスクの期限日またはステータスへの変更を示す情報を、例えば、割当者ユーザおよび被割当者ユーザから受信すると、タスクのステータスを更新することができる。すると、メッセージングサービスは、タスクの更新ステータスを表示させるために、タスクの更新されたステータスを示す情報を、参加者に関連付けられるユーザ装置に送信することができる。
【0154】
一実施形態によれば、メッセージングサービスは、リマインダスケジューラサービス253を含む。リマインダスケジューラサービス253は、メッセージングサービスの装置またはプログラムとすることができる。リマインダスケジューラサービス253は、メッセージングサービスのデータベース260にアクセスできる。リマインダスケジューラサービス253は、割り当てられたタスク、該タスクに関連付けられる会話、および該タスクに関連付けられる1つまたは複数のユーザを決定する。
【0155】
ユーザ(例えば、ユーザA)は、リマインダ日付を示す入力を入れることができる。図19に示すように、ユーザは、メッセージングアプリケーションのUI1900を介して、リマインダを送信する期限日を示す入力を入れることができる。例えば、ユーザAは、日付選択アイコン1902を選択する。日付選択アイコン1902の選択に基づいて、選択可能な日付のあるウィンドウ1901が表示される。ウィンドウ1901は、1年の日と月を示すカレンダを表すことができる。ユーザAは、ウィンドウ1901内で2020年4月28日のリマインダ日付を選択する。ユーザがリマインダ日付を入力することに基づいて、リマインダ日付はデータベース260に送信され、例えばメッセージングサービス220のリマインダスケジューラサービス253によって、タスクおよび/または期限日に関連付けられて図15に示すようなタスクデータベース256などのデータベース260に格納される。
【0156】
リマインダスケジューラサービス253は、タスクのステータスおよび/または期限日が変更されたか否かを判定することができる。リマインダスケジューラサービス253は、データベース260にクエリすることによって、タスクに割り当てられた現在の説明的な属性および/または期限日を決定することと、期限日が過ぎたか否かを判定することにより、タスクのステータスが変更したか否かを判定することができる。ステータスが「クローズ」、「完成」、および/または「検証済み」ステータスに変更したことに基づいて、リマインダスケジューラサービス253は、リマインダを送信しない。1811において、タスクのステータスが変更しないか、「オープン」、「未完了」、または「未検証」のままであることに基づいて、タスクおよび/または期限日のリマインダを、リマインダスケジューラサービス253によって送信する。このリマインダは、割当者ユーザ、被割当者ユーザ、および会話の別の参加者に送信される。メッセージは、プッシュサービス224に送信することができる。ステータス変更の指示は、プッシュサービス224に送信される。
【0157】
1812において、プッシュサービス224は、リマインダスケジューラサービス253からメッセージを受信する。メッセージングサービス220(例えば、プッシュサービス224)は、期限日および/またはタスクを、割当者ユーザおよび/または被割当者ユーザに通知および/またはリマインドする。メッセージングサービスはまた、期限日および/またはタスクを他の参加者に通知またはリマインドすることもできる。プッシュサービス224は、リマインダ、および/または期限日および/またはタスクに対するステータス変更を、割当者ユーザ、被割当者ユーザ、および他の参加者に通知する。いくつかの実施形態によれば、プッシュサービス224は、ユーザに関連付けられる装置にメッセージを送信することによって参加者に通知する。一態様によれば、プッシュサービス224は、例えば、期限日の1週間前、期限日の2週間前、期限日の前日、期限日の1時間前など、所定の時間周期でリマインダを送信することができる。プッシュサービス224は、参加者の装置を介して出力されるUIにリマインダを表示させることによって参加者に通知することができる。プッシュサービス224は、期限日および/またはタスクのステータス変更に基づいて、リマインダの提供を停止することができる。タスク割り当ておよびタスクリマインドの特性は、本開示に従ったメッセージングサービスが従来のメッセージングシステムよりも多い機能を提供することを可能にする。
【0158】
ユーザは、別のユーザによるステータス変更に応じることができる。たとえば、割当者ユーザは、被割当者ユーザがタスクを「完了」とマークしたことに応じて、タスクを「検証済み」とマークすることで、タスクの完了がユーザにより検証されたことを示す。割当者ユーザは、たとえば、タスクが満足に実行されていないことにユーザが気づいた場合や、別の作業が必要であるとユーザが判断した場合に、「完了」とマークされたタスクを再度開くことができる。実施形態によれば、ステータス変更に基づいて、UIに表示される期限日および/またはタスクの色または他のインジケータは変更する。ステータス変更に基づいて、変更の指示は、例えばプッシュサービス224によって、会話の参加者に送信される。
【0159】
いくつかの実施形態において、メッセージングアプリケーション240は、会話内でタスクに関連付けられる情報を受信することができる。この情報には、ユーザ(例えば、被割当者)を識別するための識別子、タスクの内容、日付を示す情報が含まれる。メッセージングアプリケーション240は、タスクに関連付けられる情報をメッセージングサービス220に送信することができる。メッセージングアプリケーション240から情報を受信すると、メッセージングサービス220は、識別されたユーザ(例えば、被割当者)に該情報を送信することができる。メッセージングアプリケーション240はさらに、タスクステータスの更新を示す情報を受信し、更新されたタスクステータスを表示することができる。タスクの内容は、会話の内容の少なくとも一部を含むことができる。
【0160】
一実施形態によれば、メッセージングサービス220は、電子メール統合機能でチャットおよび電子メールの特性を融合させる。図20はメッセージングサービスのチャットおよび電子メール統合処理の一例を示す。本開示にかかるメッセージングサービスは、電子メールとメッセージングサービスの統合を実現することにより、情報交換の効率を向上させる。図示されるように、メッセージングサービス(例えば、メッセージングサービス220)は、チャットサービス222を含む。チャットサービス222は、独立のサービスであってもよく、またはメッセージングサービス220の特性として組み込まれていてもよい。チャットサービス222は、メッセージングサービス220における会話を管理する。
【0161】
2002において、チャットサービス222は、例えばユーザ装置から入力を受け取る。具体的には、チャットサービス222は、ユーザ装置上で動作するメッセージングアプリケーションを介して、例えば、メッセージングアプリケーション240のUIの入力フィールドを介して、メッセージ形式の入力を受け取る。図21は、電子メール参加者を会話2101に招待し、電子メール参加者宛てのメッセージを入れる例示的なUIの説明図を提供する。外部電子メール参加者Aを会話2101に入れるために、ユーザは電子メールアドレス等の外部アドレスの形式でメッセージを入れる。図21に示すUI2100の特定例において、ユーザは電子メールアドレスUserF@gmail.com 2105を入れた。したがって、チャットサービスは、メッセージを解析し、該メッセージをメッセージングサービスの外部のエンティティ(すなわち、電子メール参加者A)に関連付けられる電子メールアドレスとして認識する。電子メールアドレスは、電子メールサービス254にも関連付けられる。この例は、ユーザがドメイン「gmail.com」を含む電子メールアドレスを入れたことを示す。他の実施形態は、例えば、事前定義されたキャラクタによって表される、メッセージングサービスによって以前から知られている電子メールエイリアスを使用することができる。
【0162】
図20に戻り、2008において、チャットサービス222は、電子メールアドレスと会話との関連付けを、例えば、会話メタデータ230および電子メールユーザデータベース237に格納する。一旦電子メール参加者Aが招待され、会話へのアクセスを許可されると、メッセージングサービス(例えば、メッセージングサービス220)は、会話を識別するための識別子を生成することができる。識別子は、メッセージングサービス220の外部の電子メールサービスによって会話を識別するために使用され、電子メール参加者の電子メールアドレスに関連付けられることが可能である。別の例において、任意の電子メール参加者を会話に招待する前に、メッセージングサービス220は、外部電子メールサービスに使用される会話を識別するための識別子を生成することができる。メッセージングサービスは、電子メール参加者に関連付けられる外部電子メールサービスに識別子を送信することができる。限定ではなく、一例として、会話を識別するための識別子は、会話に対応する返送電子メールアドレスであってもよい。外部電子メールサービスは、その後、会話に関連付けられる返送電子メールアドレスに電子メールを送信することができる。会話に関連付けられる電子メールアドレスから電子メールを受信したという判定に応じて、メッセージングサービスは、該電子メールに基づいてメッセージを生成し、電子メールに基づいて生成されたメッセージを表示させるために、会話の参加者に関連付けられるメッセージングアプリケーション(例えば、メッセージングアプリケーション240)に該メッセージを送信することができる。一方、電子メールが会話に関連付けられる電子メールアドレスからのものではないと判定したことに応じて、メッセージングサービスは、電子メールを破棄し、且つ/又は、会話に対応する返送電子メールアドレスへの電子メール送信が禁止されている旨の通知を返信する。
【0163】
図21は、メッセージングアプリケーション(例えば、メッセージングアプリケーション240)の例示的なUI2100を示す。UI2100は、会話2101を含むことができる。会話2101は、入力フィールド2102を含むことができる。ユーザ入力は、入力フィールド2102を介して受け取ることができる。電子メール参加者宛ての例示的な入力2104は、「Hi,external User F.」という内容が含まれている。例示的な入力(すなわち、会話2101内のメッセージ)2104は、電子メールアドレスであるUserF@gmail.comを含む。電子メールアドレス及び内容を入力フィールド2102に入れることができる。
【0164】
2009において、チャットサービス222は、会話内の既存の参加者を発見する。既存の参加者は、メッセージングサービスのユーザおよび/または既存の外部電子メールユーザとすることができる。チャットサービス222は、会話メタデータに基づいて参加者を発見する。このために、チャットサービス222は、会話に関連付けられるユーザをユーザデータベース234にクエリし、参加者であるユーザを電子メールユーザデータベース237にクエリすることによって、参加者を発見する。電子メール参加者が会話に追加されたという指示を受信した後、後続のメッセージを会話に追加することができ、電子メールメッセージが生成され、電子メール参加者Aに関連付けられる電子メールアドレスに、以下でより全面的に説明されるように送信される。
【0165】
いくつかの実施形態において、メッセージングサービス220は、電子メール参加者Aを識別する情報(例えば、電子メール参加者Aに関連する電子メールアドレス)を含む、会話内のメッセージを受信すると、電子メールメッセージを生成することができる。電子メールメッセージは、電子メールサービス254に関連付けられる電子メールプロトコルに従って生成される。生成された電子メールメッセージは、受信されたメッセージの少なくともサブセット及び電子メールアドレスを含む。いくつかの実施形態において、生成された電子メールメッセージはさらに、メッセージングサービス220によって生成され、会話に対応する返送電子メールアドレスを含むことができる。別の例において、メッセージングサービス220は、複数の会話にそれぞれ対応する複数の返送電子メールアドレスを生成することができる。電子メール参加者Aの電子メール受信ボックスに配信するために、生成された電子メールメッセージをメッセージングサービス220(例えば、電子メールサービス254)によって、電子メールアドレスに関連付けられる外部電子メールサービスに送信することができる。他の実施形態において、外部電子メール参加者は、単一の後続メッセージまたは後続メッセージの少なくともサブセットを受信する。他の実施形態において、会話内のすべての後続のメッセージは、外部電子メール参加者Aに送信される。
【0166】
チャットサービス222は、新しいメッセージを会話参加者の指示と共にメッセージングアプリケーションのプッシュサービス224に送信する。2011において、プッシュサービス224は、外部電子メールアドレスを含むメッセージを既存の参加者に通知する。既存の参加者に通知することは、メッセージおよび/または電子メールアドレスの指示を会話の参加者に送信することを含むことができる。既存の参加者に通知することは、メッセージおよび/または電子メールアドレスを会話に表示させることを含むことができる。
【0167】
プッシュサービス224は、メッセージの指示をメッセージングアプリケーションの電子メールサービス254に送信することができる。電子メールサービス254は、メッセージングサービスの一部であるサービスとしてもよい。一実施形態において、電子メールサービス254は、SMTPなどの電子メールプロトコルに従って、1つまたは複数のメッセージを電子メールの形式にフォーマットする。これにより、電子メールサービスは、生成された電子メールメッセージのヘッダフィールドに電子メール参加者Aに関連付けられる外部電子メールアドレスを追加し、生成された電子メールメッセージの本文にメッセージ内容を追加することができる。さらに、いくつかの実施形態において、電子メールサービス254は、メッセージ内容に起因する、会話を示す情報、例えば、会話に対応し且つメッセージングサービス220によって生成された返送電子メールアドレスを、電子メールメッセージに追加する。
【0168】
具体的には、例えば電子メールサービス254を介してメッセージングサービスによって受信された電子メールメッセージに対する返信は、会話との関連付け(例えば、会話に対応する返送電子メールアドレス)を示す情報を含む。返信に関連付けられる情報を、電子メールメッセージに対する返信の少なくとも1つの内容を表示させるために、会話の参加者に関連付けられるメッセージングアプリケーションにプッシュすることができる。したがって、電子メールメッセージに追加され、且つ、電子メールメッセージに対する任意の返信にも含まれる情報(例えば、会話に対応する返送電子メールアドレス)は、電子メールメッセージに対する該返信に関連付けられる情報を会話の参加者に関連付けられるメッセージングアプリケーションにプッシュするために、対応する会話を識別するのに役立つ。
【0169】
上述したように、この関連付けの一例は、メッセージングサービス220(例えば、電子メールサービス254)が、各会話に関連付けられる対応する返送電子メールアドレスを生成することである。限定ではなく、一例として、生成された返送電子メールは、少なくとも部分的にランダムに選ばれたテキスト文字列を含むことができる。たとえば、図22に示すように、メッセージングサービスは電子メール参加者であるUserF@gmail.com2220に、返送電子メールアドレスcalendar-kZNnYBkbywE@feishugroups.com2221で電子メールを送信した。図21に示すように、返送電子メールアドレスは、外部電子メールアドレス2220に送信されるべきメッセージを作り出した特定の会話に関連付けられる。返送電子メールアドレス2221は、電子メールメッセージの送信者フィールドで電子メールヘッダに追加される。すると、メッセージングサービス(例えば、メッセージングサービス220)は、返送電子メールアドレス2221に対する返信を使用して、返送電子メールを特定の会話に関連付けることができる。
【0170】
この方法は、返信電子メールおよびジャンク電子メールによるメッセージングサービスに対するなりすましを防止するために使用することができる。例えば、返送電子メールアドレスは、ランダム電子メールアドレス生成器のフォームで生成することができる。本例において、返送電子メールアドレス2221には「kZNnYBkbywE」が含まれているが、「kZNnYBkbywE」はランダムに選択されており、容易に予測やなりすましできるものではない。したがって、会話が不要なスパムを受信する事象を減らすのに役立つ。他の例において、電子メールヘッダは、会話を識別するために使用される特定の情報を、例えば件名または他のヘッダフィールドに含むことができる。このような識別子は、スパムの防止または制御を支援するためにメッセージングサービスによって使用されることができるランダムまたは予測困難なキャラクタシーケンスを含むことができる。上述したデータのいずれかまたは全部は、返信電子メールメッセージを後で関連付けおよび分類するために、電子メールメッセージデータベース238などのデータベースに格納することができる。
【0171】
したがって、2013において、電子メールサービス254は、電子メール参加者Aに関連付けられる電子メールアドレスにフォーマットされた電子メールメッセージを送信することができる。電子メールアドレスに電子メールメッセージを送信することは、電子メールアドレスに関連付けられるドメインに電子メールメッセージを送信することを含むことができる。上述したように、電子メールアドレスに電子メールメッセージを送信することは、会話からの他の情報を電子メールアドレスに送信することを含むことができる。図22は、電子メールの参加者(例えば、UserF@gmail.com2220)によって電子メールメッセージが受信されることを示している。その後、電子メール参加者は、「Hi,there.I am happy!」というテキストを含む返信電子メール2222を作成し、返信電子メール2222を、メッセージングサービスに関連付けられ且つ特定の会話に対応する返送電子メールアドレスに送信する。
【0172】
電子メールサービス254は、該電子メールアドレスから、該メッセージに対する返信を受信することができる。返信は、会話に対応する生成された返送電子メールアドレスで電子メールサービス254によって受信することができる。電子メールサービス254は、例えば返信電子メールに含まれる情報を利用して、例えばデータベース260(例えば、電子メールメッセージデータベース238)にクエリすることによって、返送電子メールアドレスを対応する会話に関連付けるとともに、電子メールメッセージに対する返信に関連付けられる会話を決定する。一実施形態において、メッセージングサービス220(例えば、電子メールサービス254)は、返信をメッセージの形式にフォーマットし、チャットサービス222を介してプッシュサービス224にメッセージを送信する。プッシュサービス224はそれから、返信に対応するメッセージを、会話内の参加者に関連付けられるメッセージングアプリケーションに送信することができる。いくつかの実施形態において、会話は、電子メール参加者Aに加えて、他の電子メール参加者(例えば、電子メール参加者B)を含むことができる。この場合、メッセージングサービス220は、さらに、電子メール参加者Aからの返信に対応する、メッセージングサービス220によってフォーマットされたメッセージに基づいて、電子メールメッセージを生成することができ、メッセージングサービス220はそれから、生成された電子メールメッセージを他の電子メール参加者(例えば、電子メール参加者B)に送信する。
【0173】
図23は、メッセージングアプリケーション(例えば、メッセージングアプリケーション240)の例示的なUI2300を示す。UI2300は、図21のUI2100と同じであってもよいし、類似していてもよい。UI2300は、図21からの会話の継続を含む。電子メールアドレスおよび外部電子メールシステム(例えば、図22の外部電子メールサービス2200)から返信電子メール2222を受信することに基づいて、メッセージングサービス(例えば、メッセージングサービス220)は、メッセージを生成して、該メッセージを会話に追加し、そして、返信電子メール2222に対応するメッセージ2304を表示させるために、会話の参加者に関連付けられるメッセージングアプリケーションに該メッセージを送信することができる。示された例において、外部電子メールアドレスUserF@email.comはメッセージ2304とともに表示される。他のメタデータ、例えば、会話の参加者に関連付けられるメッセージングアプリケーションにメッセージが送信された時刻を表示することもできる。
【0174】
いくつかの実施形態において、メッセージングアプリケーション240は、会話中にユーザによって入れられた情報を受信することができる。この情報は、電子メールアドレスと、該電子メールアドレスに送信される内容とを含むことができる。メッセージングアプリケーション240はそれから、情報をメッセージングサービス220に送信することができる。この情報を受信すると、メッセージングサービス220は、会話および内容を識別するための識別子を、メッセージングサービス220の外部の、電子メールアドレスに関連付けられる電子メールサービスに送信することができる。他の実施形態において、メッセージングサービス220は、外部電子メールサービスから電子メールを受信することができる。この場合、メッセージングサービス220は、電子メールが会話を識別するための識別子を含むという判定に基づいて、電子メールが会話に関連付けられていると判断することができる。メッセージングサービス220はそれから、電子メール内容を含むメッセージを生成し、生成されたメッセージを表示させるために、該生成されたメッセージをメッセージングアプリケーション240に送信することができる。
【0175】
図24は、本開示にかかるメッセージングアプリケーション(例えば、メッセージングアプリケーション240)によって実行される例示的なプロセス2400を示す。一連の動作として説明されているが、当業者であれば、様々な実施形態において、説明された動作を追加、除去、並べ替え、または修正することができることを理解するはずである。
【0176】
2402において、メッセージングアプリケーション240は、メッセージングサービス(例えば、メッセージングサービス220)のユーザに関連付けられる装置(例えば、ユーザ装置242)上で動作し始める。2404において、メッセージングアプリケーション240は、ユーザが関わっている会話(すなわち、メッセージスレッド)に関連付けられる情報の要求をメッセージングサービス220に送信する。いくつかの実施形態において、要求された情報は、会話に関連付けられるメタデータ、例えば、会話のそれぞれに対応するスレッド識別情報(ID)を含む。要求された情報はさらに、会話に関連付けられる属性、例えば会話に関連付けられるトピック、ユーザ、グループ、タスクなどを示す情報を含む。他の実施形態において、要求された情報はさらに、会話の要約を示すデータ、例えば、各会話のメッセージのサブセットを含むことができる。一例において、各会話のメッセージのサブセットは、会話内の最初のメッセージと最後のメッセージであってもよい。
【0177】
2406において、メッセージングアプリケーション240は、要求された情報を受信し、要求された情報をローカルに、例えばユーザ装置242内に格納する。いくつかの実施形態において、会話のスレッドIDおよび属性を含む受信された情報は、ブラウザキャッシュなどのローカルメモリに格納されてもよい。他の実施形態において、会話のスレッドIDおよび属性をローカルデータベースに格納することができる。2408において、メッセージアプリケーション240は、会話のインジケータを表示する。会話のインジケータは、会話に関連付けられる所定のキャラクタ(例えば、ハッシュタグ#)で始まるトピックを含むことができる。会話のインジケータはさらに、会話に関連付けられる他の所定のキャラクタ(例えば、@符号)で始まるユーザまたはグループを含むことができる。会話のインジケータはさらに、会話の要約を含むことができる。
【0178】
図25は、メッセージングアプリケーション240のユーザインターフェース(UI)2500の一例を示す。この例において、トピック(例えば、「patent」2502)によって分類され、ユーザ(例えば、「UserA」2503)またはグループ(例えば、「Group1」2504)によって分類された会話のインジケータが、一番左の列2506に表示される。会話の要約は、一番左の列2506の隣のエリア2508に表示される。会話のタスク属性は、会話の要約とともに表示することもできる。例えば、図25に示すように、タスクのステータス2512およびタスク期限日の変更2514は、それぞれ要約2516および2518とともに表示される。図25のUI2500は例示的なものにすぎず、他の表示配置を使用してもよいことを理解すべきである。
【0179】
図24に戻り、メッセージングアプリケーション240は、複数の会話のうちの会話のインジケータまたは要約の選択を示すユーザ入力を受け取ることができる。2410において、ユーザ入力を受け取ると、メッセージングアプリケーション240は、選択された会話内のメッセージの要求をメッセージングサービスに送信する。要求には、選択された会話のスレッドIDが含まれる。2412において、メッセージングアプリケーション240は、選択された会話のメッセージを受信し、選択された会話のメッセージを表示させる。限定ではなく、一例として、図25に示すように、選択された会話のメッセージは、メッセージングアプリケーションのUI2500の一番右のエリア2520に表示することができる。一例において、メッセージングアプリケーション240は、要約を利用して、複数の会話の中から選択された会話内の複数のメッセージの要求を送信することができる。メッセージアプリケーション240はそれから、要求に応じて受信された、該選択された会話内の該複数のメッセージに関連付けられる内容を表示することができる。
【0180】
図26は、本開示にかかるメッセージングアプリケーション(例えば、メッセージングアプリケーション240)によって実行される別の例示的なプロセス2600を示す。一連の動作として説明されているが、当業者であれば、様々な実施形態において、説明された動作を追加、除去、並べ替え、または修正することができることを理解するはずである。
【0181】
2602において、メッセージングアプリケーション240は、新しい会話の開始を示す入力を受け取る。例えば、ユーザは、図25に示すように、UI2500の「New Conversation」ボタン2526を選択して、新しい会話を開始することができる。いくつかの実施形態において、メッセージングアプリケーション240は、新しい会話のスレッドIDを生成することができる。他の実施形態において、メッセージングアプリケーション240から送信された新しい会話を示す情報を受信すると、メッセージングサービス220によって、新しい会話のためのスレッドIDを生成することができる。
【0182】
2604において、メッセージングアプリケーション240は、ユーザから別の入力を受け取る。いくつかの実施形態において、ユーザ入力は、図27および図28に示すウィンドウ2702および2802を介して入れることができる。新しい会話の開始を示すユーザ入力に応じて、メッセージングアプリケーション240は、図27に示すように、UI2700に重ねられたウィンドウ2702をユーザ装置(例えば、ユーザ装置242)に表示させることができる。ウィンドウは、複数の選択可能なインターフェースエレメントを含む。
【0183】
ウィンドウ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にタイピングすることができる。
【0184】
他の実施形態において、メッセージングアプリケーション240は、ユーザによって入れられたメッセージを示すデータを受信することができる。このメッセージは、図25に示すように、例えばUI2500の入力エリア2522を介して、新規または既存の会話内でユーザによって入れることができる。
【0185】
2606において、メッセージングアプリケーション240は、ユーザ入力が、会話に関連付けられる1つまたは複数の属性を示す情報を含むと判定することができる。メッセージングアプリケーション240は、入力が所定のキャラクタに関連付けられているという判定に基づいて、ユーザ入力が少なくとも1つの属性を示すと判定することができる。例えば、メッセージングアプリケーション240は、所定のキャラクタ(例えば、#、@、または任意の他の所定のキャラクタ)を識別することに基づいて、ユーザ入力が属性(例えば、トピック、ユーザ、またはグループ)を示す情報を含むと判定することができる。各所定のキャラクタ(または所定の複数のキャラクタ)は、属性、例えばトピック、ユーザ、またはグループを表すことができる。他の実施形態において、メッセージングアプリケーション240から情報を受信すると、メッセージングサービス220は、ユーザ入力が会話に関連付けられる1つまたは複数の属性を含むか否かを判定することができる。
【0186】
一例において、#記号で始まるテキスト文字列が、会話に関連付けられるトピックとして判定される。別の例において、@記号で始まるテキスト文字列が、会話に招待されたユーザまたはグループとして判定される。別の例において、メッセージングアプリケーション240またはメッセージングサービス220は、電子メールアドレスの構造、例えばテキスト文字列(mailbox)+@+ドメインを認識して、ユーザ入力が会話に関連付けられる電子メールアドレスを含むと判定することができる。
【0187】
2608において、メッセージングアプリケーション240は、会話に関連付けられる少なくとも1つの属性を示す情報をメッセージングサービス220に送信する。属性を示す情報を受信すると、メッセージングサービス220は、その属性を、会話のスレッドIDに関連付けられる対応する属性データベースに格納する。この属性は、会話に関連付けられるトピック、ユーザまたはグループ、電子メールアドレスなどとすることができる。メッセージを入れることによってユーザ入力を提供するいくつかの実施形態において、メッセージングアプリケーション240は、メッセージの内容およびメッセージに関連付けられるメタデータをメッセージングサービス220に送信することもできる。メッセージの内容は、テキスト、画像、ビデオ、または音声内容であってもよい。メタデータは、(メッセージを作成したユーザのための)ユーザID、メッセージが作成された時刻を示すタイムスタンプなどを含むことができる。メッセージの内容及びメタデータを受信すると、メッセージングサービス220は、メッセージの内容及びメタデータを会話(メッセージスレッド)データベース230に格納する。
【0188】
図29は、本開示にかかるメッセージングアプリケーション(例えば、メッセージングアプリケーション240)によって実行される別の例示的なプロセス2900を示す。一連の動作として説明されているが、当業者であれば、様々な実施形態において、説明された動作を追加、除去、並べ替え、または修正することができることを理解するはずである。
【0189】
2902において、メッセージングアプリケーション240は、ユーザから入力を受け取る。一例において、図25に示すように、UI2500の「Operator」オプション2526を選択することによって、ユーザ入力を提供することができる。2904において、ユーザ入力に応じて、メッセージングアプリケーション240は、ユーザが関わっている会話の属性に基づいてインターフェースを生成する。2906において、メッセージングアプリケーション240はさらに、ユーザが会話の優先度の属性に基づいて会話の属性を整列することができるインターフェースを表示させる。
【0190】
単一の次元で、例えばメッセージのタイミングで、メッセージを編成する従来のメッセージングシステムとは異なり、本開示にかかるメッセージングサービス220および/またはメッセージングアプリケーション240は、多次元で会話を編成することができる。オプションとして、メッセージングアプリケーション240は、複数の会話に関連付けられる2次元表示を含むインターフェースを生成することができる。2次元表示における2つの次元は、複数の会話に関連付けられる第1の属性と、複数の会話に関連付けられる第2の属性とに基づく。メッセージング装置は、複数の会話に関連する属性の再編成を示す入力をユーザによって提供することができるインターフェースを表示することができる。メッセージング装置は、入力を受け取ることに応じて2次元表示を再編成することができる。
【0191】
限定ではなく、一例として、図30は、2次元テーブル3002を含むインターフェース3000を示す。2次元テーブル3002は、縦軸3004と横軸3006とを備える。一例において、縦軸3004は、ユーザが関わっている会話に関連付けられるトピックの全部またはサブセットをリストアップすることができる。横軸3006は、ユーザとの会話を有するユーザまたはグループ(例えば、会話中にメンションされ、@記号で始まるユーザまたはグループすなわち「メンション」)の全部またはサブセットをリストアップすることができる。別の例において、縦軸は、ユーザとの会話を有するユーザまたはグループの全部または一部をリストアップすることができ、横軸は、ユーザが関わっている会話に関連付けられるトピックの全部または一部をリストアップすることができる。
【0192】
ユーザは、縦軸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は、それぞれ上から下へおよび左から右へリストされた属性の重要度の増加を示してもよい。
【0193】
2次元テーブル3002は、テーブル3002の列および行によって定義される複数のセル(交差)を含む。2次元テーブル3002内の各セルは、対応する属性(例えば、トピックやメンション属性)に基づいて会話をフィルタリングすることができる選択可能なボタンである。複数の交差のそれぞれは、対応する属性を有する1つ又は複数の会話に関連付けられる。一例において、2次元テーブル3002のセルに未読会話数を表示することができる。例えば、セル3014に数字「2」3012が表示され、これは、対応する属性(すなわち、Topic1 3016およびUserA3018)を有する会話の中に、未読メッセージを有する2つの会話が存在することを示す。別の例において、異なるセルは、異なる色または任意の他の適切なインジケータを有することができる。セルに含まれる異なる色または他のインジケータは、対応する属性を有する会話に関連付けられるタスクの異なるステータスを示すことができる。
【0194】
いくつかの実施形態において、UI3000は、「Operator」オプション2526の有効状態と無効状態との間で切り替えることができる「Enable」ボタン3019を含むことができる。他の実施形態において、UI3000は、属性、例えば、トピック(例えば、ハッシュタグ)属性、メンション属性、およびタスクステータス属性の有効状態と無効状態との間で切り替えるためのスライド可能なボタン3018、3020、3022をさらに含むことができる。トピック属性またはメンション属性のどちらかが無効になっている場合、UI3000は2次元テーブル3002の代わりに1次元テーブルを含む。タスクステータス属性が無効である場合、2次元テーブル3002は、異なる色または他の方法でタスクのステータスを示さない。
【0195】
図29に戻り、2908において、メッセージングアプリケーション240は、別のユーザインターフェースの上にサイズを縮小された2次元表示を重ねることができる。図30に示す2次元テーブル3002は、会話に関連付けられる有用な情報および属性をユーザに提示し、ユーザが会話の属性を再編成することを可能にする。しかしながら、2次元テーブル3002は比較的大きく、スクリーンスペースを過度に占有する可能性がある。したがって、メッセージングアプリケーション240は、ユーザ入力に応じて、2次元テーブル3002のサイズを縮小されたバージョンを提供することができる。ユーザ入力は、図25に示すようにアイコン2530を選択することによって提供することができる。
【0196】
図31は、2次元テーブル3002の縮小されたバージョン3102を示す。図31に示されるように、縮小されたテーブル3102は、別のユーザインターフェース3104上に重ねられた。2次元テーブル3002と同様に、縮小されたテーブル3102は、セル内に未読会話を示す数を含むことができる。縮小されたテーブル3102は、関連付けられるタスクの異なるステータスを示す異なるセル内で異なる色を有することもできる。縮小されたテーブル3102内の各セルも、2次元テーブル3002内のセルと同様に、対応するトピックおよびメンション属性に基づいて会話をフィルタリングすることができる選択可能なボタンである。縮小された2次元テーブルは、ユーザがUIを使用するときにテーブルを参照できるように、UI上にテーブルを重ねることを可能にする。縮小されたサイズは、画面サイズに基づいて予め決定されてもよいし、例えばテーブルを直接選択してサイズ変更することによって、またはフォームにサイズ範囲を入れることによって、ユーザによって定義されてもよい。
【0197】
図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に表示される。
【0198】
本開示の上述した態様は、いくつかの例および実施形態に関して説明されたが、これらは本開示を例示することを意図しており、限定することを意図しているわけではない。本明細書で提示された要旨は、コンピュータプロセス、コンピュータ制御の装置またはコンピュータシステム、またはコンピュータ可読記憶媒体のような製品として実現することが可能であることを理解すべきである。
【0199】
当業者であれば、本明細書に記載された要旨は、本明細書に説明されたもの以外の、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な消費家電、ミニコンピュータ、メインフレームコンピュータ、手持ち式コンピュータ、携帯情報端末、電子リーダ、セルラー電話装置、専用ハードウェア装置、ネットアプライアンスなどを含む他のコンピュータシステム構成上で、または他のコンピュータシステム構成に関連して実装することができる。本明細書に記載された実施形態は、通信ネットワークを通じてリンクされる遠隔プロセッシング装置によってタスクを実行する分散型コンピューティング環境において実装することもできる。分散型コンピューティング環境では、プログラムモジュールは、ローカルメモリ記憶装置およびリモートメモリ記憶装置の両方内に位置することが可能である。
【0200】
インターネットおよび/または他のネットワークを介してアクセス可能な1つまたは複数のサービスを1組の分散クライアントに提供するために、企業や公共部門機関などのエンティティによって構築されるネットワークを、プロバイダネットワークと呼ぶことができる。このようなプロバイダネットワークは、プロバイダネットワークによって提供されるインフラストラクチャおよびサービスを実装および配信するために必要な物理的および/または仮想化されたコンピュータサーバ、記憶装置、ネットワーク設備などの集合体のような様々なリソースプールをホストする、複数のデータセンターを含むことができる。いくつかの実施形態において、リソースは、仮想的または物理的なコンピューティングインスタンスまたは記憶装置インスタンスなどのインスタンスと呼ばれる単位でクライアントに提供されてもよい。例えば、仮想コンピューティングインスタンスは、規定されたコンピューティング能力(CPUのタイプおよび数、主メモリのサイズなどを示すことによって規定できる)を有する1つまたは複数のサーバと、規定されたソフトウェアスタック(例えば、ハイパーバイザ上で動作できる特定バージョンのオペレーティングシステム)とを含むことができる。
【0201】
汎用または専用のコンピュータサーバ、記憶装置、ネットワーク装置などを含む、複数の異なるタイプのコンピューティング装置を個別にまたは組み合わせて使用して、異なる実施形態におけるリソースおよびサービスを実現することができる。少なくともいくつかの実施形態において、メッセージングサービス220およびメッセージングアプリケーション240の機能を実装する技術を含む、本明細書で説明された技術のうちの1つまたは複数の技術の少なくとも一部を実装するサーバまたはコンピューティング装置は、1つまたは複数のデータベースおよび/またはコンピュータアクセス可能媒体を含む、またはそれらにアクセスするように構成された汎用コンピュータシステムを含むことができる。
【0202】
図33は、このような汎用コンピューティング装置3300を示す。コンピューティング装置3300は、図1の環境100のような仮想環境で動作することができる。コンピューティング装置3300は、メッセージングサービスまたはメッセージングアプリケーションをホストするために使用することができる。コンピューティング装置3300は、メッセージングアプリケーションのユーザの装置と通信するように構成することができる。コンピューティング装置3300は、汎用コンピューティング装置とすることができる。コンピューティング装置3300は、ユーザのデータセンター内で動作する分散型システムのノードなどのオンプレミス装置とすることができる。コンピューティング装置3300のコンポーネントは、1つ又は複数のプロセッサまたはプロセッシングユニット3316と、システムメモリ3328と、システムメモリ3328を含む様々なシステムコンポーネントをプロセッサ3316に結合するバス3318とを含むことができるが、これらに限定されるわけではない。
【0203】
図33の例におけるバス3318は、メモリバスまたはメモリコントローラ、周辺バス、アクセラレーテッドグラフィックスポート、および様々なバスアーキテクチャのうちのいずれを使用するプロセッサまたはローカルバスを含む、いくつかのタイプのバス構造のうちの1つまたは複数を表す。限定ではなく、一例として、このようなアーキテクチャは、工業標準アーキテクチャ(「ISA」)バス、マイクロチャネルアーキテクチャ(「MCA」)バス、拡張ISA(「EISA」)バス、ビデオエレクトロニクス標準協会(「VESA」)ローカルバス、および周辺機器相互接続(「PCI」)バスを含む。
【0204】
コンピューティング装置3300は、様々なコンピュータシステム可読媒体を含むことができる。このような媒体は、コンピューティング装置3300がアクセス可能な任意の利用可能なメディアであってもよく、揮発性メディアおよび不揮発性メディア、取り外し可能なメディアおよび取り外し不可能なメディアの両方を含む。コンピューティング装置3300はシステムメモリ3328を含むことができ、システムメモリ3328は、ランダムアクセスメモリ(「RAM」)3330および/またはキャッシュメモリ3332のような揮発性メモリの形態のコンピュータシステム可読媒体を含むことができる。コンピューティング装置3300はさらに、他の取り外し可能/取り外し不可能な揮発性/不揮発性コンピュータシステム記憶媒体を含むことができる。ほんの一例として、格納システム3334は、取り外し不可能な不揮発性磁気媒体(図示せず、通常「ハードドライブ」と称される)に対する読み取りおよび書き込みのために提供することがある。図示しないが、「フロッピーディスク」などの取り外し可能な不揮発性磁気ディスクに対して読み取りおよび書き込みするための磁気ディスクドライブと、CD-ROM、DVD-ROMなどの取り外し可能な不揮発性光ディスクまたは他の光学媒体に対して読み取りおよび書き込みするための光ディスクドライブとを提供してもよい。この場合、それぞれ1つ又は複数のデータ媒体インターフェースを介してバス3318に接続することができる。以下でさらに記述および説明されるように、メモリ3328は、本発明の実施形態の機能を実行するように構成されたプログラムモジュールのうちの一セット、例えば少なくとも1つを有する、少なくとも1つのプログラム製品を含むことができる。
【0205】
コンピューティング装置3300は、メモリ3328に記憶可能なプログラムモジュール3342のうちの一セット(少なくとも1つ)を有するプログラム/ユーティリティ3340を含むことができる。図33のコンピューティング装置3300は、オペレーティングシステム、1つまたは複数のメッセージングアプリケーション、他のメッセージングアプリケーションモジュール、およびメッセージングアプリケーションデータをさらに含むことができる。オペレーティングシステム、1つまたは複数のメッセージングアプリケーション、他のメッセージングアプリケーションモジュール、およびメッセージングアプリケーションデータ、またはそれらのいくつかの組み合わせのそれぞれは、図1のクラウドコンピューティングシステム100のようなネットワーク環境の実現を含むことができる。プログラムモジュール3342は、一般に、本明細書に記載された本発明の実施形態の機能および/または方法を実行する。
【0206】
図33のコンピューティング装置3300は、ユーザがコンピューティング装置3300と会話することを可能にするキーボード、ポインティング装置、ディスプレイ3324など、1つまたは複数の外部装置3314と通信することもできる。コンピューティング装置3300は、コンピューティング装置3300が1つまたは複数の他のコンピューティング装置と通信することを可能にする任意の装置、例えば、ネットワークカード、モデムなどを含むこともできる。このような通信は、例えば、I/Oインターフェース3321を介して行うことができる。なお、コンピューティング装置3300は、ネットワークアダプタ3320を介して、ローカルエリアネットワーク(「LAN」)、汎用ワイドエリアネットワーク(「WAN」)、および/または公衆ネットワーク(例えば、インターネット)など、1つまたは複数のネットワークと通信することができる。図示するように、ネットワークアダプタ3320は、バス3318を介してコンピューティング装置3300の他のコンポーネントと通信する。図示されていないが、他のハードウェアおよび/またはソフトウェアコンポーネントも、コンピューティング装置3300と組み合わせて使用することができることを理解すべきである。例えば、マイクロコード、装置ドライバ、冗長プロセッシングユニット、外部ディスクドライブアレイ、RAIDシステム、テープドライブ、およびデータアーカイバル格納システムなどが挙げられるが、これらに限定されない。
【0207】
前節で説明されたプロセス、方法、およびアルゴリズムのそれぞれは、1つまたは複数のコンピュータまたはコンピュータプロセッサによって実行されるコードモジュールで実現されてもよく、それによって完全にまたは部分的に自動化されてもよい。コードモジュールは、ハードドライブ、ソリッドステートメモリ、光ディスクなど、任意のタイプの非一時的なコンピュータ可読媒体またはコンピュータ記憶装置に記憶することができる。プロセスおよびアルゴリズムは、特定用途向け回路において部分的にまたは全体的に実装することが可能である。開示されたプロセスおよびプロセスステップの結果は、揮発性または不揮発性記憶装置など、任意のタイプの非一時的なコンピュータ記憶装置に持続的にまたは他の方法で記憶することが可能である。
【0208】
上述した様々な特性およびプロセスは、互いに独立して使用されてもよく、または様々な方法で組み合わされてもよい。すべての可能な組み合わせおよびサブ組み合わせは、本開示の範囲内に入ることを意図している。さらに、いくつかの実施において、一部の方法またはプロセスブロックを省略してもよい。本明細書で説明される方法およびプロセスは、任意の特定の順序に限定されるものではなく、それに関連するブロックまたは状態は、適切な他の順序で実行されてもよい。例えば、説明されたブロックまたは状態は、特別に開示された順番以外の順番で実行されてもよく、あるいは、複数のブロックまたは状態は、単一のブロックまたは状態内で結合されてもよい。例示的なブロックまたは状態は、連続的に、並列に、または何らかの他の方法で実行することができる。ブロックまたは状態は、開示された例示的な実施形態に追加されてもよいし、開示された例示的な実施形態から削除されてもよい。本明細書に記載された例示的なシステムおよびコンポーネントは、説明されたものとは異なるように構成されてもよい。例えば、開示された例示的な実施形態と比較して、要素を追加したり、削除したり、または再配置したりすることができる。
【0209】
また、様々なアイテムは、使用中にメモリ内または記憶装置上に記憶されるように示されており、これらのアイテムまたはその一部は、メモリ管理およびデータ完全性の目的のために、メモリと他の記憶装置との間で移転されてもよいことも理解されるであろう。代替として、他の実施形態において、ソフトウェアモジュールおよび/またはシステムの一部または全部を別の装置上でメモリ内で実行し、コンピュータ間通信を介して図示のコンピューティングシステムと通信することができる。さらに、いくつかの実施形態において、システムおよび/またはモジュールの一部または全部は、他の方法で、例えば少なくとも部分的にファームウェアおよび/またはハードウェアで実装または提供されてもよく、ハードウェアは、1つ又は複数の特定用途向け集積回路(ASIC)、標準集積回路、コントローラ(例えば、適切な指令を実行することにより、また、マイクロコントローラおよび/または埋め込みコントローラを含む)、フィールドプログラマブルゲートアレイ、複合プログラマブル論理装置などを含むが、これらに限定されない。モジュール、システム、およびデータ構造の一部または全部は、適切なドライブによってまたは適切な接続を介して読み取るために、ハードディスク、メモリ、ネットワーク、またはポータブルメディア製品などのコンピュータ可読媒体上に(例えば、ソフトウェア指令または構造化データとして)記憶することもできる。システム、モジュール、およびデータ構造は、無線ベースの媒体および有線/ケーブルベースの媒体を含む、様々なコンピュータ可読伝送媒体上で、生成されたデータ信号として(例えば、搬送波または他のアナログまたはデジタル伝搬信号の一部として)送信することもでき、様々な形態をとる(例えば、単一または多重化アナログ信号の一部として、または複数の離散デジタルパケットまたはフレームとする)ことができる。他の実施形態において、そのようなコンピュータプログラム製品は、他の形態をとることもできる。したがって、本発明は、他のコンピュータシステム構成で実施することができる。
【0210】
本明細書で使用される条件付き言語は、例えば、特に「可能である」、「できる」、「してもよい」、「ことができる」、「例えば」などは、特に明記しない限り、または使用されるコンテキストで他に理解されない限り、全体として、いつくかの実施形態がいくつかの特性、要素、および/またはステップを含むが、他の実施形態がいくつかの特性、要素、および/またはステップを含まないことを伝えることを意図している。したがって、このような条件付き言語は全体として、特性、要素、および/またはステップが1つまたは複数の実施形態によって任意の方法で必要とされること、または1つまたは複数の実施形態は、作成者の入力またはプロンプトがある又はない状態で、これらの特性、要素、および/またはステップが任意の特定の実施形態に含まれているか、または実行されるかを判定するためのロジックを必然的に含むことを意味するものではない。用語「備える」、「含む」、「有する」等は同義であり、包括的に、制限のない方法で使用され、追加の要素、特性、作動、動作等を除外しない。また、「または」という用語は、(排他的な意味ではなく)包含的な意味で使用されるので、「または」という用語を用いて要素リストを連結する場合、「または」という用語は、リスト内の要素のうちの1つ、一部、または全部を意味する。
【0211】
いくつかの例示的な実施形態を説明してきたが、これらの実施形態は例として提示されただけであって、本明細書に開示された本発明の範囲を限定することを意図していない。したがって、前述の説明のいかなる部分も、特定の特性、特徴、ステップ、モジュール、またはブロックが必須または不可欠であることを意味するものではない。実際、本明細書に説明された新規な方法およびシステムは、様々な他の形態で実現することができる。さらに、本明細書に開示された本発明の要旨から逸脱することなく、本明細書に説明された方法およびシステムの形態には、様々な省略、置換、および変更が可能である。添付の特許請求の範囲およびその均等物は、本明細書に開示されたいくつかの発明の範囲および要旨内にあるそのような形態または改変をカバーすることを意図している。
【0212】
要約すると、本開示の実施形態は、以下の技術案を提供することができる。
[技術案1]
システムであって、
少なくとも1つのデータベースと、
前記少なくとも1つのデータベースと通信する少なくとも1つのコンピューティング装置であって、
第1の会話内の複数のメッセージを受信することと、
前記第1の会話内のユーザ入力が、トピックを示す情報を含むと判定することと、
前記トピックを示す前記情報と前記第1の会話との間の関連付けを、前記少なくとも1つのデータベースに格納することと、
を含む動作を実行するように構成された少なくとも1つのコンピューティング装置と、
を備えるシステム。
[技術案2]
前記動作は
前記第1の会話の第1の参加者に関連付けられるメッセージングアプリケーションから前記トピックの選択を示す入力を受け取ることに応じて、前記第1の会話の少なくともサブセットを、前記複数のメッセージの前記少なくともサブセットを表示させるために、前記メッセージングアプリケーションに送信することをさらに含む、
技術案1に記載のシステム。
[技術案3]
前記動作は、
トピックに関連する情報を含む前記少なくとも1つのデータベースを検索することによって、前記トピックが新しいと判定することと、
前記トピックが新しいという判定に基づいて、前記トピックを示す情報を前記少なくとも1つのデータベースに格納することと、
をさらに含む技術案1に記載のシステム。
[技術案4]
前記動作は、
前記第1の会話内の第2のメッセージを解析することと、
前記第2のメッセージがユーザを識別する情報を含むと判定することと、
少なくとも前記第1の会話内の前記複数のメッセージにアクセスすることによって前記ユーザが前記第1の会話に参加することを許可することと、
をさらに含む技術案1に記載のシステム。
[技術案5]
前記トピックを示す前記情報を1つまたは複数のメッセージングアプリケーションに送信することをさらに含み、前記1つまたは複数のメッセージングアプリケーションは、前記許可されたユーザに関連付けられる第2のメッセージングアプリケーションを含む、
技術案4に記載のシステム。
[技術案6]
前記少なくとも1つのデータベースは、前記第1の会話を含む複数の会話を含み、前記少なくとも1つのデータベースはさらに、前記複数の会話に関連付けられる属性としての複数のトピックと前記複数の会話の参加者に関連付けられる情報とをさらに格納する、
技術案1に記載のシステム。
[技術案7]
第1のメッセージがトピックを示す情報を含むと判定することは、前記第1のメッセージが所定のキャラクタを含むと判定することを含む、
技術案1に記載のシステム。
[技術案8]
システムであって、
少なくとも1つのデータベースと、
前記少なくとも1つのデータベースと通信する少なくとも1つのコンピューティング装置であって、
第1の会話の第1の参加者に関連付けられるメッセージングアプリケーションから、複数のトピックの中からトピックを選択することを示す入力を受け取ることと、
前記第1の会話内の複数のメッセージの少なくともサブセットを表示させるために、前記第1の会話の少なくとも一部を前記メッセージングアプリケーションに送信することと、
を含む動作を実行するように構成された少なくとも1つのコンピューティング装置と、を備え、
前記トピックを示す情報と前記第1の会話との間の関連付けは、前記少なくとも1つのデータベースに格納される、
システム。
[技術案9]
前記動作は、
前記選択されたトピックに関連付けられる別の会話内の複数のメッセージの少なくともサブセットを表示させるために、前記別の会話を、前記メッセージングアプリケーションに送信すること、
をさらに含む技術案8に記載のシステム。
[技術案10]
方法であって、
会話内の複数のメッセージを受信することと、
前記会話内のユーザ入力が、トピックを示す情報を含むと判定することと、
前記トピックを示す情報と前記会話との間の関連付けを格納することと、
を含む方法。
[技術案11]
前記トピックに関連付けられる選択を示す第1のユーザからの入力を受け取ることに応じて、前記第1のユーザからの前記入力に応じて前記複数のメッセージの少なくともサブセットを表示させるために、前記複数のメッセージの前記少なくともサブセットを前記第1のユーザに関連付けられる第1のユーザ装置に送信することをさらに含む、
技術案10に記載の方法。
[技術案12]
トピックに関連する情報を含むデータベースを検索することによって、前記トピックが新しいと判定することと、
前記トピックが新しいと判定すると、前記トピックを示す情報を前記データベースに格納することと、
をさらに含む技術案10に記載の方法。
[技術案13]
前記トピックを示す前記情報は、前記トピックを示す文字列の少なくとも一部を含む、
技術案12に記載の方法。
[技術案14]
第2のメッセージを解析することに基づいて、前記第2のメッセージが第2のユーザを識別する情報を含むと判定することと、
前記第2のユーザに前記会話へのアクセスを許可することと、
をさらに含む技術案10に記載の方法。
[技術案15]
前記トピックの指示を表示させるために、前記トピックを示す情報を、前記第2のユーザに関連付けられる第2のユーザ装置に送信することをさらに含む、
技術案14に記載の方法。
[技術案16]
前記第2のユーザから第3のメッセージを受信することと、
前記第3のメッセージを前記複数のメッセージに追加することと、
をさらに含む技術案14に記載の方法。
[技術案17]
前記第2のユーザが前記複数のメッセージにアクセスする前記許可を示す通知を、前記第1のユーザ装置に送信することをさらに含む、
技術案14に記載の方法。
[技術案18]
前記会話と前記会話の複数の参加者との間の関連付けを格納することをさらに含む
技術案10に記載の方法。
[技術案19]
前記会話内の第3のメッセージを受信することと、
前記会話の前記複数の参加者を識別することと、
前記第3のメッセージを表示させるために、前記第3のメッセージを、前記複数の参加者に関連付けられる複数のユーザ装置に送信することと、
をさらに含む技術案18に記載の方法。
[技術案20]
文字列は、前記文字列が前記トピックを示すと判定するための識別子を含む、
技術案10に記載の方法。
[技術案21]
方法であって、
第1の会話の第1の参加者に関連付けられるメッセージングアプリケーションから、複数のトピックの中からトピックを選択することを示す入力を受け取ることと、
前記第1の会話内の複数のメッセージの少なくともサブセットを表示させるために、前記第1の会話の少なくとも一部を前記メッセージングアプリケーションに送信することと、を含み、
前記トピックを示す情報と前記第1の会話との間の関連付けは、前記少なくとも1つのデータベースに格納される、
方法。
[技術案22]
前記選択されたトピックに関連付けられる別の会話内の複数のメッセージの少なくともサブセットを表示させるために、前記別の会話を、前記メッセージングアプリケーションに送信することをさらに含む、
技術案21に記載の方法。
[技術案23]
コンピュータ可読指令が記憶されている非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ可読指令は、コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、
複数のメッセージを受信することと、
前記複数のメッセージのうちの第1のメッセージを解析することに基づいて、前記第1のメッセージがトピックを示す文字列を含むと判定することと、
前記トピックを示す前記文字列の少なくとも一部と前記複数のメッセージとの間の関連付けを格納することと、
を行わせる非一時的なコンピュータ可読記憶媒体。
[技術案24]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、
前記トピックに関連付けられる選択を示す第1のユーザからの入力を受け取ることに応じて、前記第1のユーザからの前記入力に応じて前記複数のメッセージの少なくともサブセットを表示させるために、前記複数のメッセージの前記少なくともサブセットを前記第1のユーザに関連付けられる第1のユーザ装置に送信することを行わせる、
コンピュータ可読指令をさらに記憶している技術案23に記載の非一時的なコンピュータ可読記憶媒体。
[技術案25]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、
トピックに関連する情報を含むデータベースを検索することによって、前記トピックが新しいと判定することと、
前記トピックが新しいと判定すると、前記トピックを示す情報を前記データベースに格納することと、を行わせる、
コンピュータ可読指令をさらに記憶している技術案23に記載の非一時的なコンピュータ可読記憶媒体。
[技術案26]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、
前記第2のメッセージを解析することに基づいて、前記第2のメッセージが第2のユーザを識別する情報を含むと判定することと、
前記複数のメッセージにアクセスし、前記複数のメッセージに1つ又は複数の新しいメッセージを追加することを前記第2のユーザに許可することと、を行わせる、
コンピュータ可読指令をさらに記憶している技術案23に記載の非一時的なコンピュータ可読記憶媒体。
[技術案27]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、
前記トピックと、前記トピックに関連付けられる会話の複数の参加者との間の関連付けを格納することと、
前記トピックに関連付けられる前記会話内の第3のメッセージを受信することと、
前記第3のメッセージおよび前記トピックを、前記複数の参加者に関連付けられる複数のユーザ装置に送信することと、を行わせる、
コンピュータ可読指令をさらに含み、
前記複数の参加者のうちの第1の参加者に関連付けられる第1のユーザ装置は、前記第1のユーザ装置が以前に前記トピックに関連付けられる任意のメッセージを受信したという判定に応じて、前記トピックを表示せずに前記第3のメッセージのみを表示するように構成されている、
技術案23に記載の非一時的なコンピュータ可読記憶媒体。
[技術案28]
コンピュータ可読指令が記憶されている非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ可読指令は、コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、
第1の会話の第1の参加者に関連付けられるメッセージングアプリケーションから、複数のトピックの中からトピックを選択することを示す入力を受け取ることと、
前記第1の会話内の複数のメッセージの少なくともサブセットを表示させるために、前記第1の会話の少なくとも一部を前記メッセージングアプリケーションに送信することと、を行わせて、
前記トピックを示す情報と前記第1の会話との間の関連付けは、前記少なくとも1つのデータベースに格納される
非一時的なコンピュータ可読記憶媒体。
[技術案29]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、
前記選択されたトピックに関連付けられる別の会話内の複数のメッセージの少なくともサブセットを表示させるために、前記別の会話を、前記メッセージングアプリケーションに送信することを行わせる、
コンピュータ可読指令をさらに記憶している技術案28に記載の非一時的なコンピュータ可読記憶媒体。
[技術案30]
システムであって、
少なくとも1つのデータベースと、
前記少なくとも1つのデータベースと通信する少なくとも1つのコンピューティング装置であって、
第1の会話内の複数のメッセージを受信することと、
前記第1の会話内のユーザ入力が複数のユーザからなる第1のグループを識別する情報を含むと判定し、前記第1のグループに第1の会話に参加することを許可することと、
前記第1のグループと前記第1の会話との間の関連付けを前記少なくとも1つのデータベースに格納することと、
前記第1のグループを識別する前記情報に基づいて前記少なくとも1つのデータベースから、前記第1のグループ内の前記複数のユーザを識別する情報を含む、前記第1のグループに関連付けられるデータを取り戻すことと、
前記第1のグループに関連付けられる前記取り戻されたデータに少なくとも部分的に基づいて、前記複数のメッセージの少なくともサブセットを表示させるために、前記第1の会話の前記少なくともサブセットを、前記第1のグループ内の前記複数のユーザに関連付けられる複数のメッセージングアプリケーションに送信することと、
を含む動作を実行するように構成された少なくとも1つのコンピューティング装置と、
を備えるシステム。
[技術案31]
前記動作は、
少なくとも部分的に検索インデックスに基づいて、前記第1の会話を、前記第1のグループ内の前記複数のユーザのそれぞれに関連付けることをさらに含む、
技術案30に記載のシステム。
[技術案32]
前記動作は、
前記第1のグループに第1のユーザを追加するか、または前記第1のグループから前記第1のユーザを削除することを示す情報と、前記第1のユーザを識別する情報とを受信することに応じて、前記第1のグループに関連付けられる前記データを更新することをさらに含む、
技術案31に記載のシステム。
[技術案33]
前記動作は、
第2の会話で第2のメッセージを受信することと、前記第2のメッセージが前記第1のグループを識別する情報を含むと判定することに応じて、前記第1のグループに前記第2の会話に参加することを許可することと、
前記第1のグループと前記第2の会話との間の関連付けを前記少なくとも1つのデータベースに格納することと、
をさらに含む技術案30に記載のシステム。
[技術案34]
前記動作は、
第2のユーザを前記第1のグループに追加することを示す情報と、前記第2のユーザを識別する情報とを受信することと、
前記第1のグループに関連付けられるデータを更新することと、
をさらに含む技術案33に記載のシステム。
[技術案35]
前記動作は、
前記少なくとも1つのデータベースを検索することによって、前記第1の会話内の前記複数のメッセージおよび前記第2の会話内の第2の複数のメッセージを識別することと、
前記第1の会話内の前記複数のメッセージおよび前記第2の会話内の前記第2の複数のメッセージを、前記第2のユーザに関連付けられるメッセージングアプリケーションに送信することと、
をさらに含む技術案34に記載のシステム。
[技術案36]
前記動作は、
前記第2のユーザが前記第1のグループに追加されたことを示す通知を、前記第1のグループ内の前記複数のユーザに関連付けられる前記複数のメッセージングアプリケーションに送信すること、
をさらに含む技術案34に記載のシステム。
[技術案37]
前記第1のグループ内の前記複数のユーザを識別する前記情報は、登録ユーザのユーザ名と、前記複数のユーザのうちの1つに関連付けられるエンティティ内のアカウントと、前記複数のユーザのうちの1つに関連付けられる前記複数のユーザのうちの1つに関連付けられる電子メールアドレスと、のうちの少なくとも1つを含む、
技術案30に記載のシステム。
[技術案38]
前記第1のグループに関連付けられる前記データはさらに、前記第1のグループがプライベートグループであることを示す情報を含み、前記プライベートグループは、前記プライベートグループ内の複数のユーザのみにアクセス可能である、
技術案30に記載のシステム。
[技術案39]
方法であって、
第1の会話内の複数のメッセージを受信することと、
前記第1の会話内の第1のメッセージが複数のユーザからなる第1のグループを識別する情報を含むと判定し、前記第1のグループに第1の会話に参加することを許可することと、
前記第1のグループと前記第1の会話との間の関連付けを前記少なくとも1つのデータベースに格納することと、
前記第1のグループを識別する前記情報に基づいて前記少なくとも1つのデータベースから、前記第1のグループ内の前記複数のユーザを識別する情報を含む、前記第1のグループに関連付けられるデータを取り戻すことと、
前記第1のグループに関連付けられる取り戻されたデータに少なくとも部分的に基づいて、前記複数のメッセージの少なくともサブセットを表示させるために、前記第1の会話の前記少なくともサブセットを、前記第1のグループ内の前記複数のユーザに関連付けられる複数のメッセージングアプリケーションに送信することと、
を含む方法。
[技術案40]
少なくとも部分的に検索インデックスに基づいて、前記第1の会話を、前記第1のグループ内の前記複数のユーザのそれぞれに関連付けることをさらに含む、
技術案39に記載の方法。
[技術案41]
前記第1のグループに第1のユーザを追加するか、または前記第1のグループから前記第1のユーザを削除することを示す情報と、前記第1のユーザを識別する情報とを受信することに応じて、前記第1のグループに関連付けられる前記データ及び前記検索インデックスを更新することをさらに含む
技術案40に記載の方法。
[技術案42]
第2の会話で第2のメッセージを受信することと、前記第2のメッセージが前記第1のグループを識別する情報を含むと判定することに応じて、前記第1のグループに前記第2の会話に参加することを許可することと、
前記第1のグループと前記第2の会話との間の関連付けを前記少なくとも1つのデータベースに格納することと、
をさらに含む技術案39に記載の方法。
[技術案43]
前記第1のグループに第2のユーザを追加するか、または前記第1のグループから前記第2のユーザを削除することを示す情報と、前記第2のユーザを識別する情報とを受信することと、
前記第1のグループに関連付けられるデータを更新することと、
をさらに含む技術案39に記載の方法。
[技術案44]
前記少なくとも1つのデータベースを検索することによって、前記第1の会話内の前記複数のメッセージおよび前記第2の会話内の第2の複数のメッセージを識別することと、
前記第1の会話内の前記複数のメッセージおよび前記第2の会話内の前記第2の複数のメッセージを、前記第2のユーザに関連付けられるメッセージングアプリケーションに送信することと、
をさらに含む技術案43に記載の方法。
[技術案45]
既に前記第1のグループから削除された第3のユーザが前記第1のグループから削除される前に、前記第3のユーザが前記第1の会話に能動的に参加したか、別のユーザによって前記第1の会話に招待されたという判定に基づいて、前記第3のユーザにいくらかの新しいメッセージを送信すると決定することをさらに含む、
技術案39に記載の方法。
[技術案46]
コンピュータ可読指令が記憶されている非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ可読指令は、コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、
第1の会話内の複数のメッセージを受信することと、
前記第1の会話内の第1のメッセージが複数のユーザからなる第1のグループを識別する情報を含むと判定し、前記第1のグループに第1の会話に参加することを許可することと、
前記第1のグループと前記第1の会話との間の関連付けを前記少なくとも1つのデータベースに格納することと、
前記第1のグループを識別する前記情報に基づいて前記少なくとも1つのデータベースから、前記第1のグループ内の前記複数のユーザを識別する情報を含む、前記第1のグループに関連付けられるデータを取り戻すことと、
前記第1のグループに関連付けられる前記取り戻されたデータに少なくとも部分的に基づいて、前記複数のメッセージの少なくともサブセットを表示させるために、前記第1の会話の前記少なくともサブセットを、前記第1のグループ内の前記複数のユーザに関連付けられる複数のメッセージングアプリケーションに送信することと、
を行わせる非一時的なコンピュータ可読記憶媒体。
[技術案47]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、
前記第1のグループ内の前記複数のユーザを識別する前記情報に基づいて検索インデックスを生成することと、
少なくとも部分的に前記検索インデックスに基づいて、前記第1の会話を、前記第1のグループ内の前記複数のユーザのそれぞれに関連付けることと、を行わせる
コンピュータ可読指令をさらに記憶している技術案46に記載の非一時的なコンピュータ可読記憶媒体。
[技術案48]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、
第2の会話で第2のメッセージを受信することと、前記第2のメッセージが前記第1のグループを識別する情報を含むと判定することに応じて、前記第1のグループに前記第2の会話に参加することを許可することと、
前記第1のグループと前記第2の会話との間の関連付けを前記少なくとも1つのデータベースに格納することと、を行わせる、
コンピュータ可読指令をさらに記憶している技術案46に記載の非一時的なコンピュータ可読記憶媒体。
[技術案49]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、
第1のユーザを前記第1のグループに追加することを示す情報と、前記第1のユーザを識別する情報とを受信することと、
前記少なくとも1つのデータベースを検索することによって、前記第1の会話内の前記複数のメッセージおよび前記第2の会話内の第2の複数のメッセージを識別することと、
前記第1の会話内の前記複数のメッセージおよび前記第2の会話内の前記第2の複数のメッセージを、前記第1のユーザに関連付けられるメッセージングアプリケーションに送信することと、を行わせる、
コンピュータ可読指令をさらに記憶している技術案48に記載の非一時的なコンピュータ可読記憶媒体。
[技術案50]
システムであって、
少なくとも1つのデータベースと、
前記少なくとも1つのデータベースと通信する少なくとも1つのコンピューティング装置であって、
前記会話内の、第1のユーザに関連付けられる第1のメッセージングアプリケーションから送信された第1のメッセージを含む複数のメッセージを受信することと、
前記第1のメッセージが第2のユーザを識別する情報を含むと判定することと、
前記第1のメッセージに関連付けられる日付を示す情報を受信することと、
少なくとも前記第1のメッセージと、前記第2のユーザと、前記日付との間の関連付けを、前記少なくとも1つのデータベースに格納することと、
を含む動作を実行するように構成された少なくとも1つのコンピューティング装置と、
を備えるシステム。
[技術案51]
前記動作は、
少なくとも部分的に前記第1のメッセージに関連付けられる前記日付に基づいて、前記日付が前記少なくとも1つのデータベースにおいて依然として有効であることを示すリマインダを、前記第2のユーザに関連付けられる第2のメッセージングアプリケーションに送信すること、
をさらに含む技術案50に記載のシステム。
[技術案52]
前記第1のメッセージは、前記第1のユーザによって前記第2のユーザに割り当てられたタスクを示す、
技術案50に記載のシステム。
[技術案53]
前記第1のメッセージに関連付けられる前記日付は、前記タスクの期限日を含む、
技術案52に記載のシステム。
[技術案54]
前記動作は、
少なくとも部分的に前記タスクの期限日に基づいて前記タスクのステータスを決定することと、
前記タスクのステータスおよび期限日を表示させるために、前記会話の複数の参加者に関連付けられる複数のメッセージングアプリケーションに、前記タスクのステータスと期限日を示す情報を送信することと、
をさらに含む技術案53に記載のシステム。
[技術案55]
前記動作は、
前記第1のメッセージングアプリケーションまたは前記第2のメッセージングアプリケーションから、前記タスクの期限日またはステータスの変更を示す情報を受信することと、
前記タスクの期限日またはステータスの変更を示す前記情報に基づいて、前記タスクのステータスを更新することと、
をさらに含む技術案54に記載のシステム。
[技術案56]
前記動作は、
前記タスクの更新されたステータスを表示させるために、前記タスクの更新されたステータスを示す情報を前記複数のメッセージングアプリケーションに送信すること、
をさらに含む技術案55に記載のシステム。
[技術案57]
前記動作は、
前記タスクのステータス、前記タスクの期限日、またはリマインダ日付を示す情報の受信のうちの少なくとも1つに基づいて、少なくとも前記第2のメッセージングアプリケーションに前記リマインダを送信すること、
をさらに含む技術案56に記載のシステム。
[技術案58]
前記動作は、
前記第1のメッセージおよび前記第1のメッセージに関連付けられる日付を表示させるために、前記第1のメッセージおよび前記第1のメッセージに関連付けられる日付を示す情報を、前記会話の複数の参加者に関連付けられる複数のメッセージングアプリケーションに送信すること、
をさらに含む技術案50に記載のシステム。
[技術案59]
方法であって、
メッセージングサービスによって維持される会話内の、第1のユーザに関連付けられる第1のメッセージングアプリケーションから送信された第1のメッセージを含む複数のメッセージを受信することと、
前記第1のメッセージが第2のユーザを識別する情報を含むと判定することと、
前記第1のメッセージに関連付けられる日付を示す情報を受信することと、
少なくとも前記第1のメッセージと、前記第2のユーザと、前記日付との間の関連付けを、少なくとも1つのデータベースに格納することと、
を含む方法。
[技術案60]
前記日付が前記少なくとも1つのデータベースにおいて依然として有効であることを示す情報を、前記第2のユーザに関連付けられる第2のメッセージングアプリケーションに送信することをさらに含む、
技術案59に記載の方法。
[技術案61]
前記第1のメッセージは、前記第1のユーザによって前記第2のユーザに割り当てられたタスクを示す、
技術案59に記載の方法。
[技術案62]
前記第1のメッセージに関連付けられる前記日付は、前記タスクの期限日を含む、
技術案59に記載の方法。
[技術案63]
少なくとも部分的に前記タスクの期限日に基づいて前記タスクのステータスを決定することと、
前記タスクのステータスおよび期限日を表示させるために、前記会話内の複数の参加者に関連付けられる複数のメッセージングアプリケーションに、前記タスクのステータスと期限日を示す情報を送信することと、
をさらに含む技術案62に記載の方法。
[技術案64]
前記タスクのステータス、前記タスクの期限日、またはリマインダ日付を示す情報の受信のうちの少なくとも1つに基づいて、前記第1のメッセージングアプリケーションおよび前記第2のメッセージングアプリケーションにリマインダを送信することをさらに含む、
技術案53に記載の方法。
[技術案65]
前記第1のメッセージングアプリケーションまたは前記第2のメッセージングアプリケーションから、前記タスクの期限日またはステータスの変更を示す情報を受信することと、
前記タスクの期限日またはステータスの変更を示す前記情報に基づいて、前記タスクのステータスを更新することと、
前記タスクの更新されたステータスを表示させるために、前記タスクの更新されたステータスを示す情報を前記複数のメッセージングアプリケーションに送信することをさらに含む、
技術案63に記載の方法。
[技術案66]
コンピュータ可読指令が記憶されている非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ可読指令は、コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、
メッセージングサービスによって維持される会話内の、第1のユーザに関連付けられる第1のメッセージングアプリケーションから送信された第1のメッセージを含む複数のメッセージを受信することと、
前記第1のメッセージが第2のユーザを識別する情報を含むと判定することと、
前記第1のメッセージに関連付けられる日付を示す情報を受信することと、
少なくとも前記第1のメッセージと、前記第2のユーザと、前記日付との間の関連付けを、少なくとも1つのデータベースに格納することと、
を行わせる非一時的なコンピュータ可読記憶媒体。
[技術案67]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、
少なくとも部分的に前記第1のメッセージに関連付けられる前記日付に基づいて、前記日付が前記少なくとも1つのデータベースにおいて依然として有効であることを示すリマインダを、前記第2のユーザに関連付けられる第2のメッセージングアプリケーションに送信することを行わせる、
コンピュータ可読指令をさらに記憶している技術案66に記載の非一時的なコンピュータ可読記憶媒体。
[技術案68]
前記第1のメッセージは、前記第1のユーザによって前記第2のユーザに割り当てられたタスクを示し、前記第1のメッセージに関連付けられる前記日付は、前記タスクの期限日を含む、
技術案66に記載の非一時的なコンピュータ可読記憶媒体。
[技術案69]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、
少なくとも部分的に前記タスクの期限日に基づいて前記タスクのステータスを決定することと、
前記タスクのステータスおよび期限日を表示させるために、前記会話の複数の参加者に関連付けられる複数のメッセージングアプリケーションに、前記タスクのステータスと期限日を示す情報を送信することと、を行わせる、
コンピュータ可読指令をさらに記憶している技術案66に記載の非一時的なコンピュータ可読記憶媒体。
[技術案70]
システムであって、
少なくとも1つのデータベースと、
前記少なくとも1つのデータベースと通信する少なくとも1つのコンピューティング装置であって、
会話で第1の入力を受け取ることと、
前記第1の入力を解析することに基づいて、前記第1の入力が第1の電子メールアドレスを示す情報を含むと判定することと、
前記会話を識別するための第1の識別子を生成することと、
前記第1の識別子を、前記第1の電子メールアドレスに関連付けられる第1の外部電子メールサービスに送信することと、
を含む動作を実行するように構成された少なくとも1つのコンピューティング装置と、
を備えるシステム。
[技術案71]
前記第1の識別子は、前記会話に対応する第1の返送電子メールアドレスである、
技術案70に記載のシステム。
[技術案72]
前記第1の返送電子メールアドレスは、少なくとも部分的にランダムに選ばれたテキスト列を含む、
技術案71に記載のシステム。
[技術案73]
前記動作は、
前記第1の電子メールアドレス及び前記第1の識別子を含む第1のセットのデータを、前記第1の外部電子メールサービスから受信すること、
をさらに含む技術案70に記載のシステム。
[技術案74]
前記動作は、
前記第1のセットのデータに含まれる前記第1の識別子に基づいて、前記第1のセットのデータが前記会話に関連付けられていると判定することと、前記第1のセットのデータに基づいて第2のメッセージを生成することと、前記第2のメッセージを表示させるために、前記第2のメッセージを前記会話の複数の参加者に関連付けられる複数のメッセージングアプリケーションに送信すること、
をさらに含む技術案73に記載のシステム。
[技術案75]
前記動作は、
前記第1の電子メールアドレスと前記会話との間の関連付けを、前記少なくとも1つのデータベースに格納すること、
をさらに含む技術案70に記載のシステム。
[技術案76]
前記動作は、
第1の電子メールアドレスが前記会話に参加する第1の外部エンティティに関連付けられていることを示す通知を、前記会話の前記複数の参加者に関連付けられる複数のメッセージングアプリケーションに送信すること、
をさらに含む技術案70に記載のシステム。
[技術案77]
前記動作は、
前記第1の電子メールアドレスを識別する情報を含む第3のメッセージを、前記会話の第1の参加者に関連付けられる第1のメッセージングアプリケーションから受信することと、
第1の電子メールプロトコルに従って、前記第1の電子メールアドレスと、前記第2のメッセージの内容と、前記第1の識別子とを含む第1の電子メールメッセージを生成することと、
前記第1の電子メールメッセージを、第1の電子メール受信ボックスに配信するために、前記第1の電子メールアドレスに関連付けられる前記第1の外部電子メールサービスに送信すること、
をさらに含む技術案70に記載のシステム。
[技術案78]
前記動作は、
前記第1の識別子と、前記第3のメッセージに対する返信を示す情報と、前記返信の内容とを含む第2のセットのデータを、前記第1の外部電子メールサービスから受信することと、
前記第2のセットのデータに含まれる前記第1の識別子に基づいて、前記第2のセットのデータが前記会話に関連付けられていると判定することと、
前記第2のセットのデータに基づいて第4のメッセージを生成することと、
前記第4のメッセージを表示させるために、前記第4のメッセージを前記会話の複数の参加者に関連付けられる複数のメッセージングアプリケーションに送信すること、
をさらに含む技術案77に記載のシステム。
[技術案79]
第2の電子メールアドレスに関連付けられる第2の外部エンティティが、前記会話に参加することを許可されている、
技術案78記載のシステム。
[技術案80]
前記動作は、
第2の電子メールプロトコルに従って、前記第2の電子メールアドレスと、前記第4のメッセージの内容と、前記会話を識別するために前記第2の電子メールアドレスに関連付けられる第2の外部電子メールサービスのための、前記メッセージングサービスによって生成される第2の識別子とを含む第2の電子メールメッセージを生成することと、
前記第2の電子メールメッセージを、第2の電子メール受信ボックスに配信するために、前記第2の電子メールアドレスに関連付けられる前記第2の外部電子メールサービスに送信することと、
をさらに含む技術案79に記載のシステム。
[技術案81]
方法であって、
会話で第1のメッセージを受信することと、
前記第1のメッセージが第1の電子メールアドレスを示す情報を含むと判定することと、
前記第1の電子メールアドレスと前記会話との間の関連付けを、少なくとも1つのデータベースに格納することと、
前記会話を識別するための第1の識別子を生成することと、
前記第1の識別子を、前記第1の電子メールアドレスに関連付けられる前記第1の外部電子メールサービスに送信することと、
を含む方法。
[技術案82]
前記第1の識別子は、前記会話に対応する第1の返送電子メールアドレスである、
技術案81に記載の方法。
[技術案83]
前記第1の識別子を含む第1のセットのデータを、前記第1の外部電子メールサービスから受信することと、
前記第1のセットのデータに含まれる前記第1の識別子に基づいて、前記第1のセットのデータが前記会話に関連付けられていると判定することと、
前記第1のセットのデータに基づいて第2のメッセージを生成することと、
前記第2のメッセージを表示させるために、前記第2のメッセージを前記会話の複数の参加者に関連付けられる複数のメッセージングアプリケーションに送信することと、
をさらに含む技術案81に記載の方法。
[技術案84]
前記第1の電子メールアドレスを識別する情報を含む第3のメッセージを、前記会話の第1の参加者に関連付けられる第1のメッセージングアプリケーションから受信することと、
第1の電子メールプロトコルに従って、前記第1の電子メールアドレスと、前記第2のメッセージの内容と、前記第1の識別子とを含む第1の電子メールメッセージを生成することと、
前記第1の電子メールメッセージを、第1の電子メール受信ボックスに配信するために、前記第1の電子メールアドレスに関連付けられる前記第1の外部電子メールサービスに送信することと、
をさらに含む技術案81に記載の方法。
[技術案85]
前記第1の識別子と、前記第3のメッセージに対する返信を示す情報と、前記返信の内容とを含む第2のセットのデータを、前記第1の外部電子メールサービスから受信することと、
前記第2のセットのデータに含まれる前記第1の識別子に基づいて、前記第2のセットのデータが前記会話に関連付けられていると判定することと、
前記第2のセットのデータに基づいて第4のメッセージを生成することと、
前記第4のメッセージを表示させるために、前記第4のメッセージを前記会話の複数の参加者に関連付けられる複数のメッセージングアプリケーションに送信することと、
をさらに含む技術案84に記載の方法。
[技術案86]
第2の電子メールアドレスに関連付けられる第2の外部エンティティが、前記会話に参加することを許可されており、前記方法は、
第2の電子メールプロトコルに従って、前記第2の電子メールアドレスと、前記第4のメッセージの内容と、前記会話を識別するための第2の識別子とを含む第2の電子メールメッセージを生成することと、
前記第2の電子メールメッセージを、第2の電子メール受信ボックスに配信するために、前記第2の電子メールアドレスに関連付けられる前記第2の外部電子メールサービスに送信することと、
をさらに含む技術案85に記載の方法。
[技術案87]
コンピュータ可読指令が記憶されている非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ可読指令は、コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、
会話で第1のメッセージを受信することと、
前記第1のメッセージが、電子メール参加者に関連付けられる電子メールアドレスを示す情報を含むことと判定することと、
前記電子メールアドレスと前記会話との間の関連付けを、少なくとも1つのデータベースに格納することと、
前記電子メールアドレスに関連付けられる外部電子メールサービスによって前記会話を識別するための識別子を生成することと、
前記識別子を、前記電子メールアドレスに関連付けられる前記外部電子メールサービスに送信することと、を行わせる、
非一時的なコンピュータ可読記憶媒体。
[技術案88]
前記識別子は、前記会話に対応する第1の返送電子メールアドレスである
技術案85に記載の非一時的なコンピュータ可読記憶媒体。
[技術案89]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、
前記識別子を含むセットのデータを、前記外部電子メールサービスから受信することと、
前記セットのデータに含まれる前記識別子に基づいて、前記セットのデータが前記会話に関連付けられていると判定することと、
前記第1のセットのデータに基づいて第2のメッセージを生成することと、
前記第2のメッセージを表示させるために、前記第2のメッセージを前記会話の複数の参加者に関連付けられる複数のメッセージングアプリケーションに送信することと、を行わせる
コンピュータ可読指令をさらに記憶している技術案85に記載の非一時的なコンピュータ可読記憶媒体。
[技術案90]
システムであって、
複数の会話を含むメッセージスレッドデータベースと、
前記複数の会話に関連付けられる属性を含む複数の属性データベースと、
前記メッセージスレッドデータベースおよび前記複数の属性データベースと通信する少なくとも1つのコンピューティング装置であって、
前記複数の会話のうちの第1の会話内の複数のメッセージを受信することと、
前記複数のメッセージを前記メッセージスレッドデータベースに格納することと、
前記第1の会話内のユーザ入力を受け取ることと、
前記ユーザ入力が、前記第1の会話に関連付けられる少なくとも1つの属性を含むと判定することと、
前記少なくとも1つの属性のタイプの判定に基づいて、前記複数の属性データベースのうちの少なくとも1つに情報を格納することと、
前記少なくとも1つの属性と前記第1の会話との間の関連付けを格納することと、
を含む動作を実行するように構成された少なくとも1つのコンピューティング装置と、
を備えるシステム。
[技術案91]
前記メッセージスレッドデータベースは、前記複数の会話のそれぞれに関連付けられるメタデータおよび内容を含む、
技術案90に記載のシステム。
[技術案92]
前記メッセージスレッドデータベースは、前記複数の会話のそれぞれに関連付けられるスレッド識別情報と、前記複数の会話のそれぞれに含まれる少なくとも1つのメッセージの少なくとも1つのメッセージ識別情報と、前記複数の会話のそれぞれに含まれる前記少なくとも1つのメッセージとをさらに含む、
技術案91に記載のシステム。
[技術案93]
前記少なくとも1つのメッセージの内容は、テキストデータ、ビデオ内容、またはオーディオ内容を含む、
技術案92に記載のシステム。
[技術案94]
前記複数の属性データベースは、前記複数の会話に関連付けられるトピックを示す情報を格納する第1の属性データベースと、前記複数の会話に関連付けられるユーザの情報を格納する第2の属性データベースと、前記複数の会話に関連付けられるグループの情報を格納する第3の属性データベースと、前記複数の会話に関連付けられるタスクの割り当てを示す情報を格納する第4の属性データベースと、前記複数の会話に含まれる1つ又は複数の電子メールアドレスに関連付けられる情報を格納する第5の属性データベースとのうちの少なくとも一つを備える、
技術案90に記載のシステム。
[技術案95]
前記複数の属性データベースのそれぞれは、前記複数の会話のそれぞれに関連付けられる1つ又は複数の属性を識別するための、前記複数の会話に対応する複数のスレッド識別情報をさらに含む、
技術案90に記載のシステム。
[技術案96]
前記動作は、
前記新しいメッセージに基づいて、前記複数の属性データベースのうちの前記少なくとも1つを更新することと、
前記新しいメッセージに関連付けられる情報を、前記第1の会話に関連付けられる1つ又は複数のメッセージングアプリケーションに送信することと、
をさらに含む技術案90に記載のシステム。
[技術案97]
前記動作は、
前記複数の会話のうちの少なくとも1つを示す要求を前記第1のメッセージングアプリケーションから受信することと、
前記複数の会話のうちの前記少なくとも1つを示す情報に基づいて前記メッセージスレッドデータベースにクエリすることと、
前記複数の会話のうちの前記少なくとも1つ内のメッセージの少なくともサブセットを決定するために、クエリ結果を処理することと、
前記要求に応じて、前記複数の会話のうちの前記少なくとも1つ内のメッセージの前記少なくともサブセットを、前記第1のメッセージングアプリケーションに送信することと、
をさらに含む技術案90に記載のシステム。
[技術案98]
前記動作は、
前記複数の会話のうちの少なくとも1つに関連付けられる第2のメッセージングアプリケーションから要求を受信することと、
前記要求に基づいて前記複数の属性データベースにクエリすることと、
少なくとも1つの属性が前記複数の会話のうちの前記少なくとも1つに関連付けられていると判定するために、クエリ結果を処理することと、
前記少なくとも1つの属性の少なくとも1つのインジケータを表示させるために、前記少なくとも1つの属性を示す情報を、前記第2のメッセージングアプリケーションに送信することと、
をさらに含む技術案90に記載のシステム。
[技術案99]
前記動作は、
前記複数の会話のうちの前記少なくとも1つに関連付けられる前記少なくとも1つの属性の前記少なくとも1つのインジケータの選択を示す入力を受け取ることと、
前記入力に基づいて前記メッセージスレッドデータベースにクエリすることと、
前記複数のメッセージを表示させるために、前記複数の会話のうちの前記少なくとも1つ内の複数のメッセージを識別して送信することと、
をさらに含む技術案98に記載のシステム。
[技術案100]
方法であって、
複数の会話のうちの第1の会話内の複数のメッセージを受信することであって、会話データベースが前記複数の会話を含み、複数の属性データベースが前記複数の会話に関連付けられる属性を含むことと、
前記複数のメッセージを前記会話データベースに格納することと、
前記第1の会話内のユーザ入力を受け取ることと、
前記ユーザ入力が、前記第1の会話に関連付けられる少なくとも1つの属性を含むと判定することと、
前記少なくとも1つの属性のタイプの判定に基づいて、前記複数の属性データベースのうちの少なくとも1つに情報を格納することと、
前記少なくとも1つの属性と前記第1の会話との間の関連付けを格納することと、
を含む方法。
[技術案101]
前記複数の会話のうちの少なくとも1つを示す要求を前記第1のメッセージングアプリケーションから受信することと、
前記複数の会話のうちの前記少なくとも1つを示す情報に基づいて前記会話データベースにクエリすることと、
前記複数の会話のうちの前記少なくとも1つ内のメッセージの少なくともサブセットを決定するために、クエリ結果を処理することと、
前記要求に応じて、前記複数の会話のうちの前記少なくとも1つ内のメッセージの前記少なくともサブセットを、前記第1のメッセージングアプリケーションに送信することと、
をさらに含む技術案100に記載の方法。
[技術案102]
前記複数の会話のうちの少なくとも1つに関連付けられる第2のメッセージングアプリケーションから要求を受信することと、
前記要求に基づいて前記複数の属性データベースにクエリすることと、
少なくとも1つの属性が前記複数の会話のうちの前記少なくとも1つに関連付けられていると判定するために、クエリ結果を処理することと、
前記少なくとも1つの属性の少なくとも1つのインジケータを表示させるために、前記少なくとも1つの属性を示す情報を、前記第2のメッセージングアプリケーションに送信することと、
をさらに含む技術案90に記載の方法。
[技術案103]
前記複数の会話のうちの前記少なくとも1つに関連付けられる前記少なくとも1つの属性の前記少なくとも1つのインジケータの選択を示す入力を受け取ることと、
前記入力に基づいて前記会話データベースにクエリすることと、
前記複数のメッセージを表示させるために、前記複数の会話のうちの前記少なくとも1つ内の複数のメッセージを識別して送信することと、
をさらに含む技術案102に記載の方法。
[技術案104]
前記会話データベースは、少なくとも1つのメッセージを含む前記複数の会話のそれぞれに関連付けられるスレッド識別情報と、前記複数の会話のそれぞれに含まれる前記少なくとも1つのメッセージの少なくとも1つのメッセージ識別情報と、前記複数の会話のそれぞれに含まれる前記少なくとも1つのメッセージの内容と、を含む、
技術案100に記載の方法。
[技術案105]
前記複数の属性データベースのそれぞれはさらに、前記複数の会話のそれぞれに関連付けられる1つ又は複数の属性を識別するための、前記複数の会話に対応する複数のスレッド識別情報を含む、
技術案100に記載の方法。
[技術案106]
コンピュータ可読指令が記憶されている非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ可読指令は、コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、
複数の会話のうちの第1の会話内の複数のメッセージを受信することであって、会話データベースが前記複数の会話を含み、複数の属性データベースが前記複数の会話に関連付けられる属性を含むことと、
前記複数のメッセージを前記会話データベースに格納することと、
前記第1の会話内の新しいメッセージを受信することと、
前記新しいメッセージを解析して、前記新しいメッセージが、前記第1の会話に関連付けられる少なくとも1つの属性を含むと判定することと、
前記少なくとも1つの属性のタイプの判定に基づいて、前記複数の属性データベースのうちの少なくとも1つに情報を格納することと、
前記少なくとも1つの属性と前記第1の会話との間の関連付けを格納することと、
を行わせる非一時的なコンピュータ可読記憶媒体。
[技術案107]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、
前記複数の会話のうちの少なくとも1つを示す要求を第1のメッセージングアプリケーションから受信することと、
前記複数の会話のうちの前記少なくとも1つを示す情報に基づいて前記会話データベースにクエリすることと、
前記複数の会話のうちの前記少なくとも1つ内のメッセージの少なくともサブセットを決定するために、クエリ結果を処理することと、
前記要求に応じて、前記複数の会話のうちの前記少なくとも1つ内のメッセージの前記少なくともサブセットを、前記第1のメッセージングアプリケーションに送信することと、を行わせる、
コンピュータ可読指令をさらに記憶している技術案106に記載の非一時的なコンピュータ可読記憶媒体。
[技術案108]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、
前記複数の会話のうちの少なくとも1つに関連付けられる第2のメッセージングアプリケーションから要求を受信することと、
前記要求に基づいて前記複数の属性データベースにクエリすることと、
少なくとも1つの属性が前記複数の会話のうちの前記少なくとも1つに関連付けられていると判定するために、クエリ結果を処理することと、
前記少なくとも1つの属性の少なくとも1つのインジケータを表示させるために、前記少なくとも1つの属性を示す情報を、前記第2のメッセージングアプリケーションに送信することと、を行わせる、
コンピュータ可読指令をさらに記憶している技術案106に記載の非一時的なコンピュータ可読記憶媒体。
[技術案109]
前記会話データベースは、前記複数の会話のそれぞれに関連付けられるスレッド識別情報と、前記複数の会話のそれぞれに含まれる1つまたは複数のメッセージの内容とを含み、前記複数の属性データベースのそれぞれはさらに、前記複数の会話のそれぞれに関連付けられる1つ又は複数の属性を識別するための、前記複数の会話に対応する複数のスレッド識別情報を含む、
技術案106に記載の非一時的なコンピュータ可読記憶媒体。
[技術案110]
コンピューティング装置であって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信可能に結合され、指令を記憶している少なくとも1つのメモリであって、前記指令が前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、
第1の会話を開始することを示す第1の入力をユーザインターフェースから受け取ることと、
第1のユーザによる第2の入力を受け取ることと、
前記第2の入力が前記第1の会話に関連付けられる少なくとも1つの属性を示すと判定することと、
新しい会話の開始を示す情報と、前記少なくとも1つの属性が前記第1の会話に関連付けられていることを示す情報とを含む情報を、メッセージサービスに送信することと、を行わせる少なくとも1つのメモリと、
を備えるコンピューティング装置。
[技術案111]
前記少なくとも1つのメモリは、
前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、
前記メッセージングサービスに情報の要求を送信することと、
前記要求に応じて受信された、複数の会話に関連付けられる複数の属性を示す情報を含む情報を格納することであって、前記複数の会話は対応するスレッドIDを有することと、
前記受信された情報に基づいて、前記複数の会話に関連付けられる複数のインジケータを表示することと、を行わせる、
指令をさらに記憶している技術案110に記載のコンピューティング装置。
[技術案112]
前記少なくとも1つのメモリはさらに、前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、
前記複数の会話から選択された第2の会話内の複数のメッセージに対する要求を送信することと、
前記要求に応じて受信された、前記第2の会話内の前記複数のメッセージに関連付けられる内容を表示することと、を行わせる、
指令をさらに記憶している技術案111に記載のコンピューティング装置。
[技術案113]
前記少なくとも1つのメモリはさらに、前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、
前記複数の会話を示す情報の要求を送信することと、
前記受信された情報に基づいて、前記複数の会話のうちの少なくともいくつかの要約を表示することと、を行わせる、
指令をさらに記憶している技術案110に記載のコンピューティング装置。
[技術案114]
前記少なくとも1つのメモリはさらに、前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、
第2の複数の会話の属性に基づいてインターフェースを生成させる指令をさらに記憶しており、
前記インターフェースは前記第2の複数の会話に関連付けられる2次元表示を含み、前記2次元表示における2つの次元は、前記第2の複数の会話に関連付けられる第1の属性と、前記第2の複数の会話に関連付けられる第2の属性とに基づく、
技術案110に記載のコンピューティング装置。
[技術案115]
前記少なくとも1つのメモリはさらに、前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、
第2のユーザが、前記第2の複数の会話に関連付けられる属性を再編成することを示す入力を提供するインターフェースを表示することと、
前記入力の受け取りに応じて、前記2次元表示を再編成することと、を行わせる、
指令をさらに記憶している技術案114に記載のコンピューティング装置。
[技術案116]
前記2次元表示内の少なくとも1つの交差は、
前記第2の複数の会話のうちの少なくとも1つの会話に関連付けられる少なくとも1つのタスクのステータスを示すインジケータと、
前記第2の複数の会話のうち未読メッセージを有する会話を示す数と、
を含む技術案114に記載のコンピューティング装置。
[技術案117]
前記少なくとも1つのメモリはさらに、前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、
前記2次元表現内の交差の選択を示す情報を受信することと、
前記選択された交差に対応する属性に基いて、前記情報を受信することに応じて、前記第2の複数の会話をフィルタリングすることと、を行わせる、
指令をさらに記憶している技術案114に記載のコンピューティング装置。
[技術案118]
前記第2の入力は、前記少なくとも1つの属性の既存のインジケータを選択することによって提供される、
技術案110に記載のコンピューティング装置。
[技術案119]
前記第2の入力は、前記少なくとも1つの属性のタイプを示す所定のキャラクタを含むメッセージを入れることによって提供される、
技術案110に記載のコンピューティング装置。
[技術案120]
前記少なくとも1つの属性は、トピック属性と、ユーザ属性と、グループ属性と、タスク属性と、電子メールメッセージ属性とのうちの少なくとも1つを含む、
技術案110に記載のコンピューティング装置。
[技術案121]
前記少なくとも1つのメモリはさらに、前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、
前記第2の入力が所定のキャラクタに関連付けられているという判定に基づいて、前記第2の入力が少なくとも1つの属性を示すと判定することを行わせる、
指令をさらに記憶している技術案110に記載のコンピューティング装置。
[技術案122]
前記少なくとも1つのメモリはさらに、前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、
第3の入力を受け取ることに応じて、1つ又は複数の会話に参加する少なくとも1つのグループに関連付けられる情報を含む第3のユーザインターフェースを表示することを行わせる、
指令をさらに記憶している技術案110に記載のコンピューティング装置。
[技術案123]
前記少なくとも1つのメモリはさらに、前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、
前記第1の会話内のメッセージを受信することと、
前記メッセージが第2のユーザを識別する情報を含むと判定することと、
前記メッセージに関連付けられる日付を示す情報を受信することと、
前記第2のユーザに割り当てられたタスクを示す前記メッセージと、前記メッセージに関連付けられる日付を示す前記情報とを、メッセージサービスに送信することと、を行わせる、
指令をさらに記憶している技術案110に記載のコンピューティング装置。
[技術案124]
前記少なくとも1つのメモリはさらに、前記少なくとも1つのプロセッサによって実行された場合、前記クライアントコンピューティング装置に、
前記複数の会話のうち第3の会話に関連付けられるタスクのステータスを表示させる、
指令をさらに記憶している技術案110に記載のコンピューティング装置。
[技術案125]
方法であって、
第1の会話を開始することを示す第1の入力をユーザインターフェースから受け取ることと、
第1のユーザによる第2の入力を受け取ることと、
前記第2の入力が前記第1の会話に関連付けられる少なくとも1つの属性を示すと判定することと、
新しい会話の開始を示す情報と、前記少なくとも1つの属性が前記第1の会話に関連付けられていることを示す情報とを含む情報を、メッセージサービスに送信することとを含み、前記メッセージングサービスは、前記第1の会話のスレッド識別子(ID)に関連付けられる前記少なくとも1つの属性を少なくとも1つのデータベースに格納する、
方法。
[技術案126]
前記メッセージングサービスに情報の要求を送信することと、
前記要求に応じて受信された、複数の会話に関連付けられる複数の属性を示す情報を含む情報を格納することであって、前記複数の会話のそれぞれは対応するスレッドIDを有することと、
前記受信された情報に基づいて、前記複数の会話に関連付けられる複数のインジケータを表示することと、
をさらに含む技術案125に記載の方法。
[技術案127]
前記複数の会話から選択された第2の会話内の複数のメッセージに対する要求を送信することと、
前記要求に応じて受信された、前記第2の会話内の前記複数のメッセージに関連付けられる内容を表示することと、
をさらに含む技術案126に記載の方法。
[技術案128]
前記複数の会話を示す情報の要求を送信することと、
前記受信された情報に基づいて、前記複数の会話のうちの少なくともいくつかの要約を表示することと、
をさらに含む技術案125に記載の方法。
[技術案129]
第2の複数の会話の属性に基づいてインターフェースを生成することをさらに含み、
前記インターフェースは前記第2の複数の会話に関連付けられる2次元表示を含み、前記2次元表示における2次元は、前記第2の複数の会話に関連付けられる第1の属性と、前記第2の複数の会話に関連付けられる第2の属性とに基づく、
技術案125に記載の方法。
[技術案130]
さらに、
前記2次元表現内の交差の選択を示す情報を受信することと、
前記選択された交差に対応する属性に基いて、前記情報を受信することに応じて、前記第2の複数の会話をフィルタリングすることと、
を含む技術案129に記載の方法。
[技術案131]
コンピュータ可読指令が記憶されている非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ可読指令は、コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、
第1の会話を開始することを示す第1の入力をユーザインターフェースから受け取ることと、
第1のユーザによる第2の入力を受け取ることと、
前記第2の入力が前記第1の会話に関連付けられる少なくとも1つの属性を示すと判定することと、
新しい会話の開始を示す情報と、前記少なくとも1つの属性が前記第1の会話に関連付けられていることを示す情報とを含むデータを、メッセージサービスに送信することと、を行わせ、前記メッセージングサービスは、前記第1の会話のスレッド識別子(ID)に関連付けられる前記少なくとも1つの属性を少なくとも1つのデータベースに格納する、
非一時的なコンピュータ可読記憶媒体。
[技術案132]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、
前記メッセージングサービスに情報の要求を送信することと、
前記要求に応じて受信された、複数の会話に関連付けられる複数の属性を示す情報を含む情報を格納することであって、前記複数の会話のそれぞれは対応するスレッドIDを有することと、
前記受信された情報に基づいて、前記複数の会話の複数のインジケータを表示することと、を行わせる、
コンピューティング可読指令をさらに記憶している技術案131に記載の非一時的なコンピュータ可読記憶媒体。
[技術案133]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、
前記複数の会話から選択された第2の会話内の複数のメッセージに対する要求を送信することと、
前記要求に応じて受信された、前記第2の会話内の前記複数のメッセージに関連付けられる内容を表示することと、を行わせる、
コンピュータ可読指令をさらに記憶している技術案132に記載の非一時的なコンピュータ可読記憶媒体。
[技術案134]
前記コンピューティング装置で実行された場合、前記コンピューティング装置に少なくとも、
第2の複数の会話の属性に基づいてインターフェースを生成し表示させる指令をさらに記憶しており、前記インターフェースは前記第2の複数の会話に関連付けられる2次元表示を含み、前記2次元表示における2次元は、前記第2の複数の会話に関連付けられる第1の属性と、前記第2の複数の会話に関連付けられる第2の属性とに基づく、
技術案131に記載の非一時的なコンピュータ可読記憶媒体。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32
図33