本開示の技術を実行するための例示的な環境を示す。
図1を参照して上述したように、複数のコミュニケーションチャンネルに関連付けられたデータを提示するコミュニケーションプラットフォームのユーザーインターフェイスに関連付けられた追加の詳細を示す。
本開示のいくつかの例による、ゲストプロファイルに関連付けられた例示的なユーザーインターフェイスを示す。
本開示のいくつかの例による、グループベースコミュニケーションシステムにおいて動的プロファイル調整を実行するための例示的なプロセスのフローチャート図を示す。
本開示のいくつかの例による、ゲスト招待ユーザーインターフェイスの操作例を示す。
本開示のいくつかの例による、ゲスト招待ユーザーインターフェイスの操作例を示す。
本開示のいくつかの例による、グループベースコミュニケーションワークスペースインターフェイスの操作例を示す。
本開示のいくつかの例による、ゲストプロファイルサイドバーユーザーインターフェイスの操作例を示す。
本開示のいくつかの例による、時間的通信データオブジェクト統合プロセスの操作例を示す。
本開示のいくつかの例による、クロスプロファイルデータ統合プロセスの操作例を示す。
本開示のいくつかの例による、グループベースコミュニケーションワークスペースの変換中にセカンダリストレージプラットフォーム上でデータを複製するための例示的なプロセスの伝送フロー図を示す。
本開示のいくつかの例による、ユーザーコンテンツ変換プロセスの操作例を示す。
詳細な説明
コミュニケーションシステムにおける動的プロファイル調整について説明する。コミュニケーションシステムは、グループベースコミュニケーションシステム、チャンネルベースのメッセージングプラットフォーム、及び/又は、ユーザー間及びユーザー同士の通信を促進するための任意の他のシステムであり得る。一例では、第1の組織のユーザーは、コミュニケーションシステムを介して利用可能な通信サービスを利用して、第1の組織の1人もしくは複数のユーザー及び/又は第2の組織の1人もしくは複数のユーザーと通信することができる。いくつかの例では、ユーザーは、2つ以上のユーザープロファイルをそれに関連付けられ得る。本明細書に記載する動的プロファイル調整技術は、2つ以上のユーザープロファイルに関連付けられたデータを単一のユーザープロファイルに統合するように構成された1つ又は複数のコンピュータ実装プロセスを含み得る。
分散ソフトウェアアプリケーションでは、ユーザープロファイルデータは、各々が別個の組織識別子に関連付けられた複数のストレージサーバーにわたるなど、複数のストレージサーバー上に格納され得る。さらに、ユーザーデータは、典型的には、プロファイルの関連付けによって整理されたデータベース上に格納されるため、2つの異なるユーザープロファイルが同じ実世界のユーザーエンティティに関連し、ひいては第1のユーザープロファイルに関連付けられかつ第1のストレージサーバー上に格納される第1のデータオブジェクトが、第2のストレージサーバー上に関連データが格納される第2のユーザープロファイルに関連していると判定することは困難であり得る。その結果、プロファイルレベルのカテゴリー分類及び分散ストレージサーバーにわたるデータストレージの多重性は、分散ソフトウェアアプリケーションに相当なストレージコストを発生させる。したがって、既存のさまざまな分散ソフトウェアアプリケーションは、プロファイルレベルのカテゴリー分類及び分散ストレージサーバーにわたるデータストレージの多重性により、ストレージの複雑性という大きな課題に直面している。
分散ソフトウェアアプリケーションにおけるプロファイルレベルのカテゴリー分類及び分散ストレージサーバーをわたるデータストレージの多重性に関連する上述の課題に対処するために、本開示のさまざまな例は、特定のユーザープロファイル間のアイデンティティ関連付けを検出するためのソリューションと、言及したアイデンティティ関連付けの検出に応答して特定のユーザープロファイル間のプロファイル調整を実行するためのソリューションとを可能にする。アイデンティティ関連付けを有すると見なされるユーザープロファイルのプロファイル調整を可能にするソリューションを導入することによって、本開示のさまざまな例は、プロファイル調整を体系的、効率的、効果的、かつユーザーフレンドリーな方法で実行するメタ命令を定義し、実行することを可能にする。そうすることで、本開示のさまざまな例は、さまざまな分散ストレージサーバーにわたって類似の機能を有するデータアイテムの重複したストレージに関連するストレージコストを削減する。したがって、本開示のさまざまな例は、分散ソフトウェアアプリケーションのストレージの複雑性という大きな課題を軽減し、さまざまな既存の分散ソフトウェアアプリケーションのストレージ効率を改善し、分散ソフトウェアアプリケーションのストレージ効率の改善に重要な技術的貢献をする。
以下、本開示のさまざまな例を、本開示の全部ではないが一部の例が示されている添付の図面を参照しながら、さらに十分に説明する。実際、本開示は、多くの異なる形態で具現化されてよく、本明細書に記載される例に限定されると解釈されるべきではない。むしろ、これらの例は、本開示が、適用され得る法的要件を満たすように提供される。「又は」はという用語は、特に断りのない限り、本明細書において代替的及び接続的な意味の両方で使用される。「説明的」及び「例示的」という用語は、品質レベルを示さない例として使用される。同様の番号は、全体を通して同様の要素を指す。
本開示の例は、コミュニケーションシステムにおける動的プロファイル調整に関するものであるが、関連技術の当業者であれば、本明細書に記載されるさまざまな技術が、さまざまな他の分散ソフトウェアアプリケーションなどのさまざまな他のソフトウェアアプリケーションにおいて動的プロファイル調整を実行するために使用され得ることを認識するであろう。
図1は、本明細書に記載される技術を実行するための例示的な環境100を示す。少なくとも1つの例では、例示的な環境100は、ネットワークベースのコンピューティングシステムを活用できるコミュニケーションプラットフォームに関連付けられて、コミュニケーションプラットフォームのユーザーがデータを交換できるようにすることが可能である。少なくとも1つの例では、コミュニケーションプラットフォームは、プラットフォーム、及び関連システム、コミュニケーションチャンネル、メッセージ、及び/又は仮想空間が、定義済みのユーザーのグループにアクセスを制限するためのセキュリティ(許可によって定義され得る)を有するように「グループベース」であり得る。いくつかの例では、かかるユーザーのグループは、上述したように、グループ識別子によって定義され得、これは、共通のアクセス認証情報、ドメインなどに関連付けられ得る。いくつかの例では、コミュニケーションプラットフォームは、ユーザーがチャット、ミーティング、通話、コラボレーション、ファイルもしくは他のデータの転送、又は他の方法で相互にもしくは互いに通信することを可能にするために、安全でプライベートな仮想空間を提供するハブとなり得る。上述したように、各グループをワークスペースに関連付けることができ、グループに関連付けられたユーザーが、安全でプライベートな仮想空間において、チャット、ミーティング、通話、コラボレーション、ファイルもしくは他のデータの転送、又は他の方法で相互にもしくは互いに通信することを可能にする。いくつかの例では、グループメンバー、ひいてはワークスペースを同じ組織に関連付けられ得る。いくつかの例では、グループメンバー、ひいてはワークスペースは、異なる組織(例えば、異なる組織識別子を有するエンティティ)に関連付けられ得る。
少なくとも1つの例では、例示的な環境100は、1つもしくは複数のサーバーコンピューティングデバイス(又は「サーバー」)102を含み得る。少なくとも1つの例では、サーバー102は、任意の数の方法で具現化され得る1つもしくは複数のサーバー又は他の種類のコンピューティングデバイスを含み得る。例えば、サーバーの例では、機能的コンポーネント及びデータは、単一のサーバー、サーバーのクラスタ、サーバーファーム又はデータセンター、クラウドホスト型コンピューティングサービス、クラウドホスト型ストレージサービスなどに実装することができるが、他のコンピューターアーキテクチャを追加的又は代替的に使用することもできる。
少なくとも1つの例では、サーバー102は、1つ又は複数のネットワーク106を介してユーザーコンピューティングデバイス104と通信することができる。すなわち、サーバー102及びユーザーコンピューティングデバイス104は、本明細書に記載するように、ネットワーク106を使用してデータ(例えば、コンテンツ、情報など)を送信、受信、及び/又は保存することができる。ユーザーコンピューティングデバイス104は、任意の適切な種類のコンピューティングデバイス、例えば、携帯型、半携帯型、半定置型、又は定置型とすることができる。ユーザーコンピューティングデバイス104のいくつかの例としては、タブレットコンピューティングデバイス、スマートフォン、モバイル通信デバイス、ラップトップ、ネットブック、デスクトップコンピューティングデバイス、端末コンピューティングデバイス、ウェアラブルコンピューティングデバイス、拡張現実デバイス、モノのインターネット(IOT)デバイス、又は通信を送信し、本明細書に記載される技術に従って機能を実行できる任意の他のコンピューティングデバイスを挙げることができる。単一のユーザーコンピューティングデバイス104が示されているが、実際には、例示的な環境100は、複数の(例えば、数十、数百、数千、数百万の)ユーザーコンピューティングデバイスを含み得る。少なくとも1つの例では、ユーザーコンピューティングデバイス104などのユーザーコンピューティングデバイスは、特に、コミュニケーションプラットフォームを介した通信サービスにアクセスするために、ユーザーによって操作可能であり得る。ユーザーは、個々、個々のグループ、雇用者、企業、組織などであり得る。
ネットワーク106は、ローカルエリアネットワーク又はワイドエリアネットワーク、インターネット、無線ネットワーク、セルラーネットワーク、ローカル無線ネットワーク、Wi-Fi及び/又は近距離無線通信、Bluetooth(登録商標)、Bluetooth Low Energy(BLE)、近距離無線通信(NFC)、有線ネットワーク、又は任意の他のかかるネットワーク、又はそれらの任意の組み合わせなど、当該技術分野で知られている任意の種類のネットワークを含めることができるが、これらに限定されない。かかる通信に使用されるコンポーネントは、ネットワークの種類、選択された環境、又はその両方に少なくとも部分的に依存し得る。かかるネットワーク106上で通信するためのプロトコルは周知であり、本明細書では詳細に論じられない。
少なくとも1つの例では、サーバー102は、1つもしくは複数のプロセッサ108、コンピュータ可読媒体110、1つもしくは複数のコミュニケーションインターフェイス112、及び入力/出力デバイス114を含み得る。
少なくとも1つの例では、プロセッサ108の各プロセッサは、単一の処理ユニットもしくは複数の処理ユニットとすることができ、単一もしくは複数のコンピューティングユニット又は複数の処理コアを含み得る。プロセッサ108は、1つもしくは複数のマイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタル信号プロセッサ、中央処理装置(CPU)、画像処理装置(GPU)、ステートマシン、論理回路、及び/又は操作命令に基づいて信号を操作する任意のデバイスとして実装されることができる。例えば、プロセッサ108は、本明細書に記載されるアルゴリズム及びプロセスを実行するように具体的にプログラム又は構成された任意の適切な種類の1つもしくは複数のハードウェアプロセッサ及び/又は論理回路とすることができる。プロセッサ108は、コンピュータ可読媒体に格納されるコンピュータ可読命令をフェッチして実行するように構成することができ、これにより、プロセッサをプログラムして、本明細書に記載される機能を実行させることができる。
コンピュータ可読媒体110は、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータなどのデータを格納するための任意の種類の技術で実装された揮発性メモリ及び不揮発性メモリ並びに/又はリムーバルメディア及び非リムーバルメディアを含み得る。かかるコンピュータ可読媒体110は、RAM、ROM、EEPROM、フラッシュメモリ又は他のメモリ技術、光学ストレージ、固体ストレージ、磁気テープ、磁気ディスクストレージ、RAIDストレージシステム、ストレージアレイ、ネットワーク接続ストレージ、ストレージエリアネットワーク、クラウドストレージ、又は所望のデータを格納するために使用できかつコンピューティングデバイスによってアクセスできる任意の他の媒体を含めることができるが、これらに限定されない。サーバー102の構成に応じて、コンピュータ可読媒体110は、コンピュータ可読記憶媒体の一種とすることができ、かつ/又は言及される場合、非一時的コンピュータ可読媒体は、エネルギー、搬送波信号、電磁波、及び信号それ自体などの媒体を除く範囲で、有形な非一時的媒体とすることができる。
コンピュータ可読媒体110は、プロセッサ108によって実行可能な任意の数の機能的コンポーネントを格納するために使用され得る。多くの実装形態では、これらの機能的コンポーネントは、プロセッサ108によって実行可能であり、実行されると、サーバー102に上記属性のアクションを実行するようにプロセッサ108を具体的に構成する命令又はプログラムを含む。コンピュータ可読媒体に格納される機能的コンポーネントは、任意選択的に、プロファイル調整コンポーネント116、チャンネル管理コンポーネント118、オペレーティングシステム120、及びデータストア122を含み得る。
少なくとも1つの例では、プロファイル調整コンポーネント116は、ソース(発信元)プロファイル(例えば、ゲストプロファイル、別のプロファイルに統合される第1のプロファイル)とデスティネーション(宛先)プロファイル(例えば、メンバープロファイル、第1のプロファイルデータが統合される第2のプロファイル)との間のプロファイル調整を、ソースプロファイル及びデスティネーションプロファイルがコミュニケーションプラットフォームの同じユーザーに関連付けられるという決定に基づいて管理することができる。プロファイル調整は、2つ以上のユーザープロファイル(例えば、ソースプロファイル、デスティネーションプロファイルなど)に関連付けられたデータを単一のユーザープロファイルに統合することを含んでよい。
さまざまな例において、プロファイル調整コンポーネント116は、ソースプロファイルとデスティネーションプロファイルとの間のアイデンティティ関連付けを特定することができる。いくつかの例では、アイデンティティ関連付けは、モデリング規則に基づいて特定されてよい。少なくとも1つの例では、アイデンティティ関連付けは、2つ以上のユーザープロファイルが同じユーザーエンティティに関連付けられる尤度を含んでよい。アイデンティティ関連付けは、2つ以上のユーザープロファイル間のアイデンティティ関連付けスコアがアイデンティティ関連付け閾値を超えるかどうかを示すブーリアン値を含んでよい。
いくつかの例では、アイデンティティ関連付け(例えば、ソースプロファイル及びデスティネーションプロファイルが同じエンティティに関連付けられるという決定)に基づいて、プロファイル調整コンポーネント116は、ソースプロファイル及びデスティネーションプロファイルに関して1つ又は複数のプロファイル調整ルーチンを実行することができる。プロファイル調整ルーチンの3つのセットの例は、クロスプロファイル通信履歴統合ルーチン、クロスプロファイルパーソナルデータ統合ルーチン、及びクロスプロファイルデータ統合ルーチンを含み、これらの各々は、以下に詳細に説明される。しかしながら、関連技術の当業者であれば、他のプロファイル調整ルーチン(例えば、通信履歴ストリーム、パーソナルデータオブジェクト、及び参照データオブジェクト以外のコンテンツデータに対する他のクロスプロファイルデータ統合ルーチン)が、プロファイル調整プロセスの一部として実行されてよいことを認識するであろう。例えば、いくつかの実施形態では、アイデンティティ関連付けを特定することに応答して、プロファイル調整コンポーネント116は、ソースプロファイルに関連付けられたコンテンツデータのソースオーナーシップインジケータを変更して、コンテンツデータのオーナーシップをデスティネーションプロファイルに移行させることができる。
少なくとも1つの例では、チャンネル管理コンポーネント118は、コミュニケーションチャンネルを管理することができる。上述したように、少なくとも1つの例では、コミュニケーションプラットフォームは、いくつかの例では、ユーザーのグループによって使用可能であり得る、チャンネルベースのメッセージングプラットフォームとすることができる。コミュニケーションプラットフォームのユーザーは、コミュニケーションチャンネルを介して他のユーザーと通信することができる。コミュニケーションチャンネル、又は仮想空間は、コミュニケーションプラットフォームに関連付けられたシステム及びデバイス間並びにシステム及びデバイス同士でデータを交換するために使用されるデータ経路であり得る。少なくとも1つの例では、チャンネル管理コンポーネント118は、さまざまなユーザーコンピューティングデバイス間及びユーザーコンピューティングデバイス同士でコミュニケーションチャンネルを確立し、ユーザーコンピューティングデバイスが相互に又は互いにデータを通信及び共有することを可能にし得る。
少なくとも1つの例では、チャンネル管理コンポーネント118は、かかる通信及び/又はデータの共有を管理することができる。チャンネル管理コンポーネント118は、コミュニケーションチャンネルを閲覧するために関連付けられた認証情報及び/又は許可を有するユーザー間でメッセージ(例えば、ユーザーコンピューティングデバイス104によって提供されるテキスト、イメージ、ビデオ、オーディオ又はそれらの組み合わせを含むメッセージ通信、メッセージ識別子、メッセージコンテンツ、送信ユーザー識別子、グループ識別子、コミュニケーションチャンネル識別子、タイムスタンプなどを含むメッセージに関連付けられたメタデータ)を転送することができる。さまざまな例において、コミュニケーションチャンネル識別子、又は特定のコミュニケーションチャンネルに関連付けられた一意の識別子は、そこでコンテンツとインタラクトする権限があるユーザーのユーザープロファイルに関連付けられ得る。かかる例では、チャンネル管理コンポーネント118は、ユーザープロファイルに格納されたデータに基づいて、コミュニケーションチャンネルのコンテンツとインタラクトするための認証情報及び/又は許可を有するユーザーを特定することができる。
チャンネル管理コンポーネント118は、関連する認証情報を有するユーザーを特定し、各コミュニケーションチャンネルに関連付けられたメッセージを権限があるユーザーに表示させることができる。コミュニケーションチャンネルに関連付けられたデータは、ユーザーインターフェイスを介して提示され得る。いくつかの例では、異なるユーザーに関連付けられたデータは、関連するユーザーインターフェイス上で異なるように提示され得る。例えば、ゲストプロファイルに関連付けられた第1のユーザーインターフェイスは、メンバープロファイルに関連付けられた第2のユーザーインターフェイスと異なるように提示されてよい。少なくとも1つの例では、チャンネル管理コンポーネント118は、プロファイル調整コンポーネント116とインタラクトし、ユーザーがゲストプロファイルとメンバープロファイルとのどちらに関連付けられているかに基づいて、コミュニケーションチャンネルに関連付けられた機能を含むユーザーインターフェイスの生成、提示、及び/又はアクセスを管理することができる。
いくつかの例では、チャンネル管理コンポーネント118によって管理されるチャンネルは、特定の組織に関連付けられてもよい。かかる例では、コミュニケーションチャンネルは、組織識別子(例えば、グループ識別子)に関連付けられることができ、特定の組織のメンバー及び/又はそのゲストが利用可能であり得る。組織又はグループ識別子は、特定の組織又はユーザーのグループを特定することができる一意の識別子を含んでよい。組織のメンバー及び/又は組織のゲストがアクセス可能なコミュニケーションチャンネル及び/又はコミュニケーションチャンネルは、本明細書では非共有チャンネルと呼ばれる。
いくつかの例では、チャンネル管理コンポーネント118によって管理されるチャンネルは、2つ以上の組織及び/又は2つ以上の組織識別子に関連付けられてもよい。2つ以上の組織に関連付けられているコミュニケーションチャンネルは、本明細書では共有コミュニケーションチャンネルと呼ばれる。さまざまな例において、チャンネル管理コンポーネント118は、非共有コミュニケーションチャンネルに関連付けられた組織の管理者などからの要求の受信に応答して、非共有コミュニケーションチャンネルを共有コミュニケーションチャンネルに変更するように構成されることができる。いくつかの例では、共有コミュニケーションチャンネルは、将来的な関連する組織の管理者からその承認を受けることに基づいて生成されてよい。
さまざまな例において、チャンネル管理コンポーネント118は、1つ又は複数のワークスペースに関連付けられたコミュニケーションチャンネルを管理することができる。上述したように、各ワークスペースは、ワークスペースのユーザー同士のデータ伝送のための1つ又は複数のコミュニケーションチャンネルを含んでよい。ワークスペースは、特定の組織に関連付けられてもよく、ひいては組織識別子をそれに関連付けられてよい。いくつかの例では、組織に関連付けられているワークスペースは、組織のメンバー及び組織のゲストがアクセス可能であってよい。ゲストは、組織に関連付けられた管理者(例えば、管理者プロファイルに関連付けられたユーザー、管理アクセス権限を有するユーザーなど)によって、組織が管理するワークスペースに関連付けられた特定のコミュニケーションチャンネル及び/又は1つもしくは複数のコミュニケーションチャンネルに参加するように招待されてよい。管理者は、図5Aのゲスト招待ユーザーインターフェイス500及び/又は図5Bのゲスト招待ユーザーインターフェイス550などのゲストプロファイル招待ユーザーインターフェイスを利用することができる。さまざまな例において、ゲスト招待ユーザーインターフェイスは、ターゲットグループベースコミュニケーションチャンネル及び/又はワークスペースの管理者が、1つ又は複数のゲストプロファイルを作成し、各ゲストプロファイル(例えば、ゲストユーザープロファイル)に対してゲストアクセス基準(例えば、アクセス期間、アクセスチャンネルの関連付け、読み取り/書き込み許可、ファイル転送許可など)を定義することを可能にし得る。
さまざまな例において、ゲストユーザープロファイルの作成に応答して、チャンネル管理コンポーネント118は、アクセス権限に基づいてユーザーインターフェイスを生成することができる。例えば、第1のゲストは、ワークスペース内の第1のコミュニケーションチャンネルへのアクセスを認められるが、ワークスペース内の第2のコミュニケーションチャンネルへのアクセスは許可されない場合がある。チャンネル管理コンポーネント118は、ゲストユーザープロファイルに関連付けられたユーザーインターフェイスを生成することができ、ユーザーインターフェイスは、第1のコミュニケーションチャンネルに関連付けられたコンテンツを表示するが第2のコミュニケーションチャンネルを表示しない選択可能なオプションを含む。いくつかの例では、アクセス権限は、ゲストがアクセスを認められたコミュニケーションチャンネルを介して送信されるコンテンツとのインタラクトに関する制限を含みんでよい。例えば、ゲストプロファイルは、ゲストがコミュニケーションチャンネルを介してメッセージの下書き及び送信を行うことは許可するが、それにファイルを添付することは許可しない、ファイル転送制限を含んでよい。
いくつかの例では、チャンネル管理コンポーネント118によって管理されるワークスペースは、2つ以上の組織及び/又は2つ以上の組織識別子に関連付けられ得る。2つ以上の組織に関連付けられているワークスペースは、本明細書において、共有コミュニケーションワークスペース又は共有ワークスペースと呼ばれる。さまざまな例において、チャンネル管理コンポーネント118は、組織の管理者などからの要求(例えば、共有コミュニケーションチャンネル生成要求、共有コミュニケーションワークスペース生成要求)の受信に応答して、単一の組織に関連付けられているコミュニケーションチャンネル及び/又はワークスペースを共有コミュニケーションチャンネル及び/又はワークスペースに変更するように構成することができる。いくつかの例では、共有コミュニケーションチャンネルは、将来的な関連する組織の管理者からその承認を受けることに基づいて生成されてよい。
いくつかの例では、共有コミュニケーションチャンネル及び/又はコミュニケーションワークスペースが、非共有コミュニケーションチャンネル及び/又はコミュニケーションワークスペースの共有状態を有することへの移行を実行することによって決定される場合、非共有コミュニケーションチャンネル及び/又はコミュニケーションワークスペースは、共有グループベースコミュニケーションワークスペースに対するイニシエータコミュニケーションチャンネル及び/又はコミュニケーションワークスペースと呼ばれてよい。かかる例では、イニシエータコミュニケーションチャンネル及び/又はコミュニケーションワークスペースに関連付けられた組織識別子が、本明細書においてプライマリ組織識別子と呼ばれることがある。共有コミュニケーションチャンネル及び/又はコミュニケーションワークスペースに追加されている組織(例えば、イニシエータではない)に関連付けられた識別子は、本明細書ではセカンダリ組織識別子と呼ばれることがある。
少なくとも1つの例では、オペレーティングシステム120は、サーバー102のプロセッサ108、コンピュータ可読媒体110、ハードウェア、ソフトウェアなどを管理することができる。
少なくとも1つの例では、データストア122は、アクセス可能、管理可能、及び更新可能なデータを格納するように構成することができる。いくつかの例では、データストア122は、図1に示すように、サーバー102と統合することができる。他の例では、データストア122は、サーバー102から遠隔に位置することができ、サーバー102及び/又はユーザーデバイス104などのユーザーデバイスにアクセス可能であり得る。データストア122は、ユーザーデータ124、許可データ126、ワークスペースデータ128、及びチャンネルデータ130を含み得る複数のデータベースを含み得る。追加の又代替のデータは、データストア及び/又は1つもしくは複数の他のデータストアに格納されてよい。
少なくとも1つの例では、ユーザーデータ124は、コミュニケーションプラットフォームのユーザーに関連付けられたデータを格納することができる。少なくとも1つの例では、ユーザーデータ124は、ユーザープロファイル(これは、「ユーザーカウント」とも呼ばれ得る)内のデータを格納することができ、これらのプロファイルには、限定されないが、ユーザーが関連付けられている複数の異なる組織又はエンティティに関連付けられた1つもしくは複数のユーザー識別子、ユーザーがアクセスを認められているコミュニケーションチャンネルに関連付けられた1つもしくは複数のコミュニケーションチャンネル識別子、ユーザーが関連付けられているグループ(又は、組織、チーム、エンティティなど)の1つもしくは複数のグループ識別子、ユーザーがコミュニケーションチャンネルのオーナー又はマネージャーであるかどうかの表示、ユーザーに任意のコミュニケーションチャンネル制限があるかどうかの表示、複数のメッセージ、複数の絵文字、複数の会話、複数の会話トピック、アバター、電子メールアドレス、実名(例えば、John Doe)、ユーザーネーム(例えば、j doe)、パスワード、タイムゾーン、ステータス、トークンなどが含まれる。いくつかの例では、ユーザーデータ124は、組織の管理者によって送信された要求に応答して生成された1つ又は複数のゲストプロファイルを含み得る。
少なくとも1つの例では、許可データ126は、コミュニケーションプラットフォームの個々のユーザーの許可に関連付けられたデータを格納することができる。いくつかの例では、許可は、自動的に、又はコミュニケーションプラットフォームの管理者、雇用者、企業、組織、もしくはコミュニケーションプラットフォームを利用する他のエンティティ、チームリーダー、グループリーダー、もしくはチームメンバー、グループメンバーなどと通信するためにコミュニケーションプラットフォームを利用する他のエンティティ、個々のユーザーなどによって設定されることができる。いくつかの例では、個々のユーザーに関連付けられた許可は、ユーザーデータ124に関連付けられたアカウント又はプロファイルにマッピングされ、又は他の方法で関連付けられ得る。いくつかの例では、許可は、どのユーザーが他のユーザーと直接通信できるか、どのチャンネルにユーザーがアクセスすることが許可されているか、個々のチャンネルに対する制限、どのワークスペースにユーザーがアクセスすることが許可されているか、個々のワークスペースに対する制限などを示すことができる。少なくとも1つの例では、許可は、定義済みのユーザーのグループへのアクセスを制限するためのセキュリティを維持することによって、コミュニケーションプラットフォームをサポートすることができる。いくつかの例では、かかるユーザーは、上述したように、共通のアクセス認証情報、グループ識別子などによって定義することができる。
いくつかの例では、許可データ126は、特定のユーザープロファイルが、フルアクセス権限(例えば、メンバーアクセス権限)又は制限付きアクセス権限(例えば、ゲストアクセス権限)に関連付けられているかどうかを含み得る。本明細書で使用される場合、制限付きアクセス権限は、コミュニケーションプラットフォームに関連付けられた機能への制限付きアクセスを含み得る。例えば、制限付きアクセス権限を有するユーザープロファイルは、他のコミュニケーションチャンネル及び/又はワークスペースへの参加を要求する特権、コミュニケーションチャンネル及び/又はワークスペースへの参加を他のメンバーに招待する特権などが拒否され得る。さまざまな例において、制限付きアクセス権限を有するユーザープロファイルは、1つもしくは複数のコミュニケーションチャンネル及び/又はワークスペースに関するフルアクセス権限を得るためにアクセス権限要求を送信することができる。アクセス権限要求は、ゲスト(もしくは制限付きアクセス)プロファイルに関連付けられた個々のユーザー、又は関連するコミュニケーションチャンネル及び/もしくはワークスペースの管理者によって送信され得る。
いくつかの例では、アクセス権限要求の受信に応答して、コミュニケーションプラットフォームは、要求において示された特定のコミュニケーションチャンネル及び/又はワークスペースに関するフルアクセス権限を含むためにユーザープロファイルに関連付けられた許可データ126を更新することができる。本明細書で使用される場合、フルアクセス権限は、特定のユーザーカウントに基づくなど、コミュニケーションプラットフォームに関連付けられた利用可能な非管理機能にアクセスする権限を含み得る。例えば、フルアクセス権限を有するユーザープロファイルは、追加のコミュニケーションチャンネル及び/又はワークスペースへの参加要求、他のメンバーのコミュニケーションチャンネル及び/又はワークスペースへの招待などを含み得る。
少なくとも1つの例では、ワークスペースデータ128は、個々のワークスペースに関連付けられたデータを格納することができる。上述したように、コミュニケーションプラットフォームは、ユーザーのグループに関連付けられたワークスペースに分割され得る。少なくとも1つの例では、グループ識別子をワークスペースに関連付けられ得る。少なくとも1つの例では、グループ識別子は、対応するワークスペースに関連したデータが格納されるワークスペースデータ128内の物理アドレスを示すことができる。少なくとも1つの例では、ワークスペース許可に関連付けられたデータは、グループ識別子に関連付けて格納することができ、ワークスペースに関連付けられたユーザーを特定するデータは、グループ識別子に関連付けて格納することができ、ワークスペースに関連付けられたメッセージ及び/又は他のコンテンツに関連付けられたデータは、グループ識別子に関連付けて格納することができ、ワークスペースに関連付けられたコミュニケーションチャンネルに関連付けられたデータは、グループ識別子に関連付けて格納することができるなどである。いくつかの例では、ワークスペースは、1つもしくは複数の組織識別子に関連付けることができ、この組織識別子は、コミュニケーションプラットフォームに関連付けられた組織又は他のエンティティに関連付けられ得る。いくつかの例では、かかるデータは、データストア122内の他の種類のデータ(例えば、ユーザーデータ124、許可データ126、チャンネルデータ130など)にマッピングすることができ、又は他の方法で関連付けられ得る。
少なくとも1つの例では、チャンネルデータ130は、個々のコミュニケーションチャンネルに関連付けられたデータを格納することができる。少なくとも1つの例では、チャンネル管理コンポーネント118は、さまざまなユーザーコンピューティングデバイス間及びユーザーコンピューティングデバイス同士でコミュニケーションチャンネルを確立し、ユーザーコンピューティングデバイスが相互に又は互いにデータを通信及び共有することを可能にし得る。少なくとも1つの例では、コミュニケーションチャンネル識別子がコミュニケーションチャンネルに割り当てられてよく、これは、そのコミュニケーションチャンネルに関連したデータが格納されるチャンネルデータ130内の物理アドレスを示す。コミュニケーションチャンネルは、(例えば、組織識別子に関連付けられた)組織内の任意のユーザーがコミュニケーションチャンネルを介したデータ共有に参加及び加入することを可能にし得る「公開(public)」であってもよく、コミュニケーションチャンネルは、特定のユーザー又は特定の役割を有するユーザー(例えば、マネージャ、管理者など)にコミュニケーションチャンネルでのデータ通信を制限し得る「非公開(private)」であってもよい。いくつかの例では、コミュニケーションチャンネルは、「共有(shared)」であってもよく、これは、異なる組織(例えば、異なる組織識別子に関連付けられたエンティティ)に関連付けられたユーザーがコミュニケーションチャンネルを介してデータ共有に参加及び加入することを可能にし得る。共有チャンネルは、いずれかの組織の任意のユーザーがアクセス可能であるように公開されていてもよく、又は両方の組織から特定のユーザー又は特定の役割を有するユーザーによるアクセスが制限されているように非公開であってもよい。
プライマリ組織識別子に関連付けられたチャンネルデータ130は、プライマリ組織識別子に対応する1つもしくは複数のコミュニケーションチャンネル及び/又はワークスペースに関連付けられたコミュニケーションデータ(例えば、メッセージ、ファイルなど)を格納するように構成されたプライマリストレージプラットフォーム上に格納され得る。セカンダリ組織識別子に関連付けられたチャンネルデータ130は、セカンダリ組織識別子に対応する1つもしくは複数のコミュニケーションチャンネル及び/又はワークスペースに関連付けられた通信データを格納するように構成されたセカンダリストレージプラットフォーム上に格納され得る。プライマリ及び/又はセカンダリストレージプラットフォームは、コンピュータネットワークを介して接続されている複数の分散記憶装置などの1つもしくは複数の記憶装置を含み得る。プライマリストレージプラットフォームの各記憶装置は、1つもしくは複数のデータアセット及び/又は1つもしくは複数のデータアセットの算出プロパティに関する1つもしくは複数のデータのうちの少なくとも1つを格納することができる。さらに、プライマリストレージプラットフォームの各記憶装置は、ハードディスク、ROM、PROM、EPROM、EEPROM、フラッシュメモリ、MMC、SDメモリカード、メモリスティック、CBRAM、PRAM、FeRAM、NVRAM、MRAM、RRAM、SONOS、FJG RAM、ミリピードメモリ、レーストラックメモリなどを含むがこれらに限定されない1つもしくは複数の不揮発性記憶媒体又はメモリ媒体を含んでよい。
いくつかの例では、データストア122は、個別にアクセス及び管理され得るデータの離散的な項目に分割され得る(例えば、データシャード)。データシャードは、データ保持、展開(例えば、メッセージコンテンツがリンクを含むことを検出し、リンクのメタデータをクロールし、メタデータの一様なサマリを決定する)、及び統合設定などの多くの技術タスクを簡素化することができる。いくつかの例では、データシャードは、組織、グループ(例えば、ワークスペース)、コミュニケーションチャンネル、ユーザーなどに関連付けられ得る。
いくつかの例では、個々の組織は、特定の組織識別に関連するデータを格納するデータストア122内のデータベースシャードに関連付けられ得る。例えば、データベースシャードは、特定の組織のメンバーに関連付けられた電子通信データを格納することができ、これにより、その特定の組織のメンバーは、リアルタイム又はほぼリアルタイムで同じ組織の他のメンバーと通信及びデータ交換を行うことが可能になる。この例では、組織自体がデータベースシャードの所有者となり得、関連データをどこに、そしてどのように格納するかをコントロールする。いくつかの例では、データベースシャードは、(例えば、共有チャンネルのように)2つ以上の組織に関連するデータを格納することができる。
いくつかの例では、個々のグループは、特定のグループ識別(例えば、ワークスペース)に関連するデータを格納するデータストア122内のデータベースシャードに関連付けられ得る。例えば、データベースシャードは、特定のグループメンバーに関連付けられた電子通信データを格納してもよく、これにより、その特定のグループのメンバーは、リアルタイム又はほぼリアルタイムで同じグループの他のメンバーと通信及びデータ交換を行うことが可能になる。この例では、組織自体がデータベースシャードの所有者となり得、関連データをどこに、そしてどのように格納するかをコントロールする。
いくつかの例では、コミュニケーションチャンネルは、特定のチャンネル識別に関連するデータを格納するデータストア122内のデータベースシャードに関連付けられ得る。例えば、データベースシャードは、コミュニケーションチャンネルに関連付けられた電子通信データを格納してもよく、これにより、その特定のコミュニケーションチャンネルのメンバーは、リアルタイム又はほぼリアルタイムで同じコミュニケーションチャンネルの他のメンバーと通信及びデータ交換を行うことが可能になる。この例では、グループ又は組織がデータベースシャードの所有者となり得、関連データをどこに、そしてどのように格納するかをコントロールする。
いくつかの例では、個々のユーザーは、特定のユーザーカウントに関連するデータを格納するデータストア122内のデータベースシャードに関連付けられ得る。例えば、データベースシャードは、個々のユーザーに関連付けられた電子通信データを格納してもよく、これにより、ユーザーは、リアルタイム又はほぼリアルタイムでコミュニケーションプラットフォームの他のユーザーと通信及びデータ交換を行うことが可能になる。いくつかの例では、ユーザー自体がデータベースシャードの所有者となり得、関連データをどこに、そしてどのように格納するかをコントロールする。
コミュニケーションインターフェイス112は、ネットワーク106上で又は直接など、さまざまな他のデバイス(例えば、ユーザーコンピューティングデバイス104)との通信を可能にするための1つもしくは複数のインターフェイス及びハードウェアコンポーネントを含み得る。いくつかの例では、コミュニケーションインターフェイス112は、Websocket、アプリケーションプログラミングインターフェイス(API)(例えば、APIコールを使用)、HypterText Transfer Protocol(HTTP)などを介した通信を促進することができる。
サーバー102はさらに、さまざまな入力/出力デバイス114(例えば、I/Oデバイス)を含み得る。かかるI/Oデバイス114は、ディスプレイ、さまざまなユーザーインターフェイスコントロール(例えば、ボタン、ジョイスティック、キーボード、マウス、タッチスクリーンなど)、オーディオスピーカー、接続ポートなどを含み得る。
少なくとも1つの例では、ユーザーコンピューティングデバイス104は、1つ又は複数のプロセッサ132、コンピュータ可読媒体134、1つ又は複数のコミュニケーションインターフェイス136、及び入力/出力デバイス138を含み得る。
少なくとも1つの例では、プロセッサ132の各プロセッサは、単一の処理ユニットもしくは複数の処理ユニットとすることができ、単一もしくは複数のコンピューティングユニット又は複数の処理コアを含み得る。プロセッサ132は、プロセッサ108を参照して上述したプロセッサの種類のいずれかを含むことができ、プロセッサ108と同じであってもよいし、プロセッサ108とは異なっていてもよい。
コンピュータ可読媒体134は、コンピュータ可読媒体110を参照して上述したコンピュータ可読媒体134の種類のいずれかを含むことができ、コンピュータ可読媒体110と同じであってもよいし、コンピュータ可読媒体110とは異なっていてもよい。コンピュータ可読媒体に格納された機能的コンポーネントは、任意選択的に、少なくとも1つのアプリケーション140及びオペレーティングシステム142を含み得る。
少なくとも1つの例では、アプリケーション140は、モバイルアプリケーション、ウェブアプリケーション、もしくはデスクトップアプリケーションとすることができ、これは、コミュニケーションプラットフォームによって提供され得るか、又はそうでなければ専用のアプリケーションとすることができる。いくつかの例では、環境100に関連付けられた個々のユーザーコンピューティングデバイスは、アプリケーション140のインスタンス又はバージョン管理されたインスタンスを有することができ、これは、アプリケーションストアからダウンロードすることができるか、インターネットを介してアクセス可能であるか、又はそうでなければプロセッサ132によって実行可能であり、本明細書に記載されるような操作を実行することができる。すなわち、アプリケーション140は、ユーザーコンピューティングデバイス104が、コミュニケーションプラットフォームを介して利用可能な通信サービスにアクセス及び/又はそれを使用するためにサーバー102とインタラクトすることを可能にする、アクセスポイントになり得る。少なくとも1つの例では、アプリケーション140は、例えば、サーバー102を介した、さまざまな他のユーザーコンピューティングデバイス間及びユーザーコンピューティングデバイス同士のデータの交換を促進することができる。少なくとも1つの例では、アプリケーション140は、本明細書に記載するように、ユーザーインターフェイスを提示することができる。少なくとも1つの例では、ユーザーは、タッチ入力、キーボード入力、マウス入力、音声入力、又は任意の他の種類の入力を介してユーザーインターフェイスとインタラクトすることができる。
ユーザーインターフェイス144の非限定的な例が、図1に示されている。図1に示されるように、ユーザーインターフェイス144は、1つ又は複数のコミュニケーションチャンネルに、いくつかの例では、1つ又は複数のワークスペースに関連付けられたデータを提示することができる。すなわち、いくつかの例では、ユーザーインターフェイスは、複数のワークスペースからのデータを単一のユーザーインターフェイスに統合することができ、(例えば、ユーザーコンピューティングデバイス104の)ユーザーが、他の人が関連付けられている複数のワークスペースに関連付けられたデータにアクセス及び/又はそれとインタラクトすることができ、かつ/又はそうでなければ複数のワークスペースに関連付けられた他のユーザーと通信できるようにすることができる。いくつかの例では、ユーザーインターフェイス144は、第1の領域146、又はペインを含むことができ、これは、ユーザー(例えば、ユーザーのアカウント)が関連付けられているワークスペースに関連付けられたインジケータ(例えば、ユーザーインターフェイス要素もしくはオブジェクト)を含む。いくつかの例では、ユーザーインターフェイス144は、第2の領域148、又はペインを含むことができ、これは、ユーザー(例えば、ユーザーのアカウント)が関連付けられているワークスペースに関連付けられたデータを表すインジケータ(例えば、ユーザーインターフェイス要素もしくはオブジェクト)を含む。第2の領域148及びインジケータに関連付けられた追加の詳細は、図2を参照して以下に説明される。
少なくとも1つの例では、ユーザーインターフェイス144は、第3の領域150、又はペインを含むことができ、これは、本明細書に記載するように、1つもしくは複数のコミュニケーションチャンネル及び/又は通信を促進するための他の仮想空間(例えば、ダイレクトメッセージ通信に関連付けられた仮想空間、イベント及び/又はアクションに関連付けられた仮想空間など)に関して投稿されたメッセージ及び/又は取られたアクションを示すデータフィード(もしくは「フィード」)に関連付けられ得る。少なくとも1つの例では、第3の領域150に関連付けられたデータを、同じワークスペース又は異なるワークスペースに関連付けられ得る。すなわち、いくつかの例では、第3の領域150は、統合フィードを介して、同じワークスペース又は異なるワークスペースに関連付けられたデータを提示することができる。いくつかの例では、データは、ワークスペース、時間(例えば、関連データが投稿されたとき、又は関連操作が他の方法で実行されたとき)、アクションの種類、コミュニケーションチャンネル、ユーザーなどによって整理されることができ、かつ/又はソート可能である。いくつかの例では、かかるデータは、どのユーザー(例えば、コミュニケーションチャンネルのメンバー)がメッセージを投稿し、かつ/又はアクションを実行したかについての表示に関連付けられ得る。第3の領域150が複数のワークスペースに関連付けられたデータを提示する例では、少なくともいくつかのデータを、そのデータがどのワークスペースに関連付けられているかの表示に関連付けられ得る。ユーザーインターフェイス144、及び第3の領域150に関連付けられた追加の詳細は、図2を参照して以下に説明される。
少なくとも1つの例では、オペレーティングシステム142は、サーバー102のプロセッサ132、コンピュータ可読媒体134、ハードウェア、ソフトウェアなどを管理することができる。
コミュニケーションインターフェイス136は、ネットワーク106上で又は直接など、さまざまな他のデバイス(例えば、ユーザーコンピューティングデバイス104)との通信を可能にするための1つもしくは複数のインターフェイス及びハードウェアコンポーネントを含み得る。いくつかの例では、コミュニケーションインターフェイス136は、Websocket、API(例えば、APIコールを使用)、HTTPなどを介して通信を促進することができる。
ユーザーコンピューティングデバイス104はさらに、さまざまな入力/出力デバイス138(例えば、I/O装置)を含み得る。かかるI/Oデバイス138は、ディスプレイ、さまざまなユーザーインターフェイスコントロール(例えば、ボタン、ジョイスティック、キーボード、マウス、タッチスクリーンなど)、オーディオスピーカー、接続ポートなどを含み得る。
本明細書に記載される技術は、プロファイル調整コンポーネント116、チャンネル管理コンポーネント118、及びアプリケーション140によって実行されるものとして説明されるが、本明細書に記載される技術は、サーバー102、ユーザーコンピューティングデバイス104、又はそれらの組み合わせに関連付けられ得る、任意の他のコンポーネント、又はコンポーネントの組み合わせによって実行することができる。
図2は、図1を参照して上述したように、フルアクセス権限を含むユーザープロファイルに関連付けられたデータを提示するユーザーインターフェイス144に関連付けられた追加の詳細を示す。
上述したように、少なくとも1つの例では、ユーザーインターフェイス144は、第1の領域146、又はペインを含むことができ、これは、ユーザー(例えば、ユーザーのアカウント)が関連付けられているワークスペースのインジケータ(例えば、ユーザーインターフェイス要素又はオブジェクト)を含む。図2に示されるように、ユーザー(例えば、ユーザーF)は、3つの異なるワークスペースに関連付けられ得る。いくつかの例では、ワークスペースは、同じ組織に関連付けられ得る(例えば、同じ組織識別子、非共有コミュニケーションワークスペースに関連付けられ得る)。いくつかの例では、ワークスペースの1つもしくは複数は、異なる組織に関連付けられ得る(例えば、異なる組織識別子、共有コミュニケーションワークスペースに関連付けられ得る)。いくつかの例では、ワークスペースの1つは、単一の組織からのユーザーに関連付けることができ(例えば、同じ組織識別子に関連付けることができ)、ワークスペースの別のものは、2つ以上の異なる組織からのユーザーに関連付けられ得る(例えば、異なる組織識別子に関連付けられ得る)。
少なくとも1つの例では、各ワークスペースは、第1の領域146を介して提示される、異なるインジケータ200~204に関連付けられ得る。少なくとも1つの例では、ユーザー(例えば、ユーザーF)のユーザーカウントは、(例えば、ユーザーデータ124及び/又はワークスペースデータ128によって決定されるように)ワークスペースの各々に対応するグループ識別子に関連付けられ得る。このように、ユーザーのユーザーカウントは、ワークスペースの各々に関連付けられ得る。第1のインジケータ200は、第1のワークスペースを表すことができ、第2のインジケータ202は、第2のワークスペースを表すことができ、第3のインジケータ204は、第3のワークスペースを表すことができる。
いくつかの例では、ユーザーは、あるワークスペースからログアウトし、他のワークスペースの各々にログインする必要なく、インジケータ200~204の各々に関連付けられたコントロールを作動させることによって、ワークスペース間をナビゲートすることができる。かかるインジケータの非限定的な例、又は本明細書に記載される任意のインジケータとしては、アイコン、シンボル、リンク、タブ、又は他のユーザーインターフェイス要素もしくはオブジェクトを挙げることができる。いくつかの例では、かかるインジケータは、ユーザーがインジケータを選択して別のワークスペースに移行することを可能にするための作動メカニズムに関連付けられ得る。いくつかの例では、視覚的インジケータは、ユーザーが現在どのワークスペースとインタラクトしているか、かつ/又は直近にインタラクトしたかを示すことができる。例えば、第2のインジケータ202は、第1のインジケータ200及び第3のインジケータ204よりも太い輪郭で描かれ、それによって、ユーザーが現在どのワークスペースとインタラクトしているか、かつ/又は直近にインタラクトしたかを示す。いくつかの例では、インジケータ200~204は、対応するワークスペースが更新されたことを示す別のインジケータに関連付けられ得る。一例は、第3のインジケータ204に関して示される。
図2には3つのインジケータ200~204が示されているが、ユーザーは任意の数のワークスペースに関連付けられ得る。いくつかの例では、ユーザーが関連付けられているワークスペースのすべてに関連付けられたインジケータを、第1の領域146を介して提示することができる。いくつかの例では、ユーザーが関連付けられているワークスペースのすべてに関連付けられたインジケータのいくつかを、第1の領域146を介して提示することができ、ユーザーは、ユーザーインターフェイス144とインタラクトし、追加の又は代替のインジケータを見ることができる。すべてのワークスペースよりも少ない数のワークスペースがユーザーインターフェイス144を介して表される例では、インジケータは、アルファベット順、直近のインタラクションの順、最も頻度の高いインタラクションに基づく順、又は他の何らかの順で配置され得る。
いくつかの例では、第1の領域146は、ユーザーインターフェイス144に含まれなくてもよく、かかる情報は、追加の又は代替のメカニズムを介してユーザーインターフェイス144に統合され得る。
いくつかの例では、ユーザーインターフェイス144は、第2の領域148、又はペインを含むことができ、これは、ユーザー(例えば、ユーザーのアカウント)が関連付けられているワークスペースに関連付けられた仮想空間を表すインジケータ(例えば、ユーザーインターフェイス要素又はオブジェクト)を含む。少なくとも1つの例では、第2の領域148は、1つもしくは複数のサブセクション、又はサブペインを含むことができ、これは、異なる仮想空間を表すことができる。例えば、第1のサブセクション206は、複数のコミュニケーションチャンネル及び/又はワークスペースに関連付けられたデータを集約することができる仮想空間を表すインジケータを含み得る。少なくとも1つの例では、各仮想空間は、第1のサブセクション206内のインジケータに関連付けられ得る。いくつかの例では、インジケータは、作動されると、対応する仮想空間に第3の領域150を介して関連付けられたデータをアプリケーション140に提示させることができるような作動メカニズムに関連付けられ得る。少なくとも1つの例では、仮想空間は、ユーザーが関連付けられているワークスペースの各々に関連付けられたすべての未読データに関連付けられ得る。すなわち、いくつかの例では、ユーザーが「未読」に関連付けられた仮想空間へのアクセスを要求すると、ユーザーによって読まれていない(例えば、閲覧されていない)すべてのデータが、例えばフィードで、第3の領域150に提示され得る。かかる例では、異なるコミュニケーションチャンネル及び/又は仮想空間に関連付けられ得る異なる種類のイベント及び/又はアクションを、同じフィードを介して提示することができる。いくつかの例では、かかるデータは、ワークスペース、時間、アクションの種類、コミュニケーションチャンネル、ユーザーなどによって整理されることができ、かつ/又はソート可能である。いくつかの例では、かかるデータは、どのユーザー(例えば、コミュニケーションチャンネルのメンバー)がメッセージを投稿し、かつ/又はアクションを実行したかの表示に関連付けられ得る。
いくつかの例では、各仮想空間は、同じ種類のイベント及び/又はアクションに関連付けられ得る。例えば、「スレッド」は、コミュニケーションチャンネルに投稿されたメッセージにスレッドで投稿されたメッセージ、ファイルなどに関連付けることができ、「メンション及びリアクション」(例えば、「M&R」)は、ユーザー(例えば、ユーザーF)が(例えば、タグを介して)メンションしたメッセージもしくはスレッド、又は別のユーザーがユーザーによって投稿されたメッセージもしくはスレッドに対して(例えば、絵文字、リアクションなどを介して)リアクションしたスレッドに関連付けられ得る。すなわち、いくつかの例では、異なるコミュニケーションチャンネル及び/又は仮想空間に関連付けられ得る同じ種類のイベント及び/又はアクションを、同じフィードを介して提示することができる。「未読」仮想空間と同様に、かかる仮想空間に関連付けられたデータは、ワークスペース、時間、アクションの種類、コミュニケーションチャンネル、ユーザーなどによって整理されることができ、かつ/又はソート可能である。
少なくとも1つの例では、ユーザーインターフェイス144の第2の領域148は、第2のサブセクション208、又はサブペインを含むことができ、これは、コミュニケーションチャンネルを表すインジケータを含む。いくつかの例では、コミュニケーションチャンネルは、公開チャンネル、非公開チャンネル、共有チャンネル(例えば、グループ又は組織間)、単一のワークスペースチャンネル、クロスワークスペースチャンネル、前述の組み合わせなどを含み得る。いくつかの例では、表されるコミュニケーションチャンネルは、単一のワークスペースに関連付けられ得る。いくつかの例では、表されるコミュニケーションチャンネルは、異なるワークスペース(例えば、クロスワークスペース)に関連付けられ得る。少なくとも1つの例では、コミュニケーションチャンネルが(例えば、異なるワークスペースに関連付けられた)クロスワークスペースである場合、ユーザーは両方のワークスペースに関連付けられることができるか、又はワークスペースの一方にのみ関連付けられることができる。いくつかの例では、表されるコミュニケーションチャンネルは、単一のワークスペースに関連付けられたコミュニケーションチャンネルと、異なるワークスペースに関連付けられたコミュニケーションチャンネルとの組み合わせに関連付けられ得る。
いくつかの例では、第2のサブセクション208は、ユーザーがアクセスする許可を有する(例えば、許可データ126によって決定される)すべてのコミュニケーションチャンネル、又はすべてのコミュニケーションチャンネルのサブセットを示すことができる。かかる例では、コミュニケーションチャンネルは、アルファベット順に、直近のインタラクションに基づいて、インタラクションの頻度に基づいて、コミュニケーションチャンネルの種類(例えば、公開、非公開、共有、クロスワークスペースなど)に基づいて、ワークスペースに基づいて、ユーザーが指定したセクションなどに配置され得る。いくつかの例では、第2のサブセクション208は、ユーザーがメンバーであるすべてのコミュニケーションチャンネル、又はすべてのコミュニケーションチャンネルのサブセットを示すことができ、ユーザーは、ユーザーがメンバーではないが第2のサブセクション208に現在表示されていない他のコミュニケーションチャンネルを閲覧又は表示するためにユーザーインターフェイス144とインタラクトすることができる。いくつかの例では、異なる種類のコミュニケーションチャンネル(例えば、公開、非公開、共有、クロスワークスペースなど)は、第2のサブセクション208の異なるセクションにあることができ、又はユーザーインターフェイス144において独自のサブ領域、又はサブペインを有することができる。いくつかの例では、異なるワークスペースに関連付けられたコミュニケーションチャンネルは、第2のサブセクション208の異なるセクションにあることができ、又はユーザーインターフェイス144において独自の領域、又はペインを有することができる。
いくつかの例では、インジケータは、コミュニケーションチャンネルの種類を視覚的に区別するグラフィカル要素に関連付けられ得る。例えば、チャンネルBは、円形の視覚的要素の代わりに四角形の視覚的要素に関連付けられている。非限定的な例として、そしてこの議論の目的のために、正方形の視覚的要素は、ユーザーがチャンネルBの現在のメンバーではないことを示すことができ、一方、円形の視覚的要素は、ユーザーがチャンネルA、D、及びNの現在のメンバーであることを示すことができる。いくつかの例では、追加の又は代替のグラフィック要素を使用して、公開コミュニケーションチャンネル、非公開コミュニケーションチャンネル、共有コミュニケーションチャンネル、異なるワークステーションに関連付けられたコミュニケーションチャンネルなどを区別することができる。他の例では、ユーザーが現在のメンバーではないコミュニケーションチャンネルは、ユーザーインターフェイス144の第2のサブセクション208に表示されない場合がある。かかる例では、ユーザーは、ユーザーがアクセス可能であるがユーザーが現在メンバーではない追加のチャンネルを閲覧するために別のインターフェイス(図示せず)にナビゲートしてもよい。
第2のサブセクション208に加えて、第2の領域148は、第3のサブセクション210、又はサブペインを含むことができ、これは、(例えば、組織のメンバーのすべて、又はサブセットの代わりに)個々のユーザー又は複数の指定されたユーザーとの通信を表すインジケータを含み得る。かかる通信は、「ダイレクトメッセージ」と呼ぶことができる。すなわち、第3のサブセクション210、又はサブペインは、2人以上のユーザー間の非公開メッセージに関連付けられている仮想空間を表すインジケータを含み得る。
上述したように、少なくとも1つの例では、ユーザーインターフェイス144は、第3の領域150、又はペインを含むことができ、これは、通信を促進するためのコミュニケーションチャンネル及び/又は他の仮想空間(例えば、ダイレクトメッセージ通信に関連付けられた仮想空間、イベント及び/又はアクションに関連付けられた仮想空間など)に関して投稿されたメッセージ及び/又は取られたアクションを示すフィードに関連付けられている。上述したように、少なくとも1つの例では、第3の領域150に関連付けられたデータは、同じワークスペース又は異なるワークスペースに関連付けられ得る。すなわち、いくつかの例では、第3の領域150は、統合フィードを介して同じワークスペース又は異なるワークスペースに関連付けられたデータを提示することができる。いくつかの例では、データは、ワークスペース、時間、アクションの種類、コミュニケーションチャンネル、ユーザーなどによって整理されることができ、かつ/又はソート可能である。いくつかの例では、かかるデータは、どのユーザーがメッセージを投稿し、かつ/又はアクションを実行したかの表示に関連付けられ得る。第3の領域150が複数のワークスペースに関連付けられたデータを提示する例では、少なくともいくつかのデータは、そのデータがどのワークスペースに関連付けられているかの表示に関連付けられ得る。
例えば、図2において、ユーザー(例えば、ユーザーF)は、ユーザーインターフェイス144とインタラクトし、「メンション及びリアクション」に対応する仮想空間に関連付けられたデータを見ることができる。図2において、仮想空間に関連付けられたデータは、異なるコミュニケーションチャンネル及び異なるワークスペースに関連付けられ得る。図示されるように、データは、コミュニケーションチャンネル(例えば、#チャンネルD及び#チャンネルK)ごとに整理される。しかしながら、上述したように、データは、ワークスペース、時間、アクションの種類、ユーザーなどによって整理されることができ、かつ/又はソート可能である。図示されるように、別のユーザー(例えば、ユーザーM)は、コミュニケーションチャンネル(例えば、#チャンネルD)に関連付けられているインジケータ212(例えば、ユーザーインターフェイス要素、オブジェクトなど)によって表されるメッセージで、ユーザー(例えば、ユーザーF)にメンションした。また、ユーザー(例えば、ユーザーF)は、インジケータ214(例えば、ユーザーインターフェイス要素、オブジェクトなど)によって表されるメッセージを、同じコミュニケーションチャンネルに投稿した。インジケータ214によって表されるメッセージに対して、1人もしくは複数の他のユーザーが絵文字でリアクションした。このように、両方のメッセージに関連付けられたインジケータを、第3の領域150に提示することができる。データはコミュニケーションチャンネルごとに整理されるため、両方のメッセージに関連付けられたインジケータは一緒に提示される。少なくとも1つの例では、コミュニケーションチャンネル(例えば、#チャンネルD)は、第2のワークスペースに関連付けられ得る(例えば、第2のインジケータ202に関連付けられ得る)。いくつかの例では、ユーザーは第2のワークスペースと現在インタラクトしている(又は直近でインタラクトした)ため、インジケータ212又は214のいずれもワークスペースインジケータ(例えば、第2のインジケータ202)に関連付けられている。
図示されるように、別のユーザー(例えば、ユーザーL)は、コミュニケーションチャンネル(例えば、#チャンネルK)に関連付けられているインジケータ216(例えば、ユーザーインターフェイス要素又はオブジェクト)によって表されるメッセージで、ユーザー(例えば、ユーザーF)にメンションした。このように、インジケータ216は、第3の領域150に提示され得る。データはコミュニケーションチャンネルごとに整理されるため、インジケータ216は、他のインジケータ212及び214とは異なるフィード内の位置に提示され得る。少なくとも1つの例では、コミュニケーションチャンネル(例えば、#チャンネルK)は、第3のワークスペースに関連付けられ得る(例えば、第3のインジケータ204に関連付けられ得る)。いくつかの例では、ユーザーは第2のワークスペースと現在インタラクトしている(又は直近でインタラクトした)ため、インジケータ216は、ユーザーが第3のワークスペース(例えば、第3のインジケータ204)に関連付けられていることを示すインジケータを含みんでよい。
この議論の目的のために、「メッセージ」は、ユーザーコンピューティングデバイス104を使用してユーザーによって提供され、かつ本明細書に記載するように、コミュニケーションチャンネル及び/又は通信を促進するための他の仮想空間(例えば、ダイレクトメッセージ通信に関連付けられた仮想空間など)内に表示するように構成された、任意の電子的に生成されたデジタルオブジェクトを指すことができる。メッセージは、(ユーザーコンピューティングデバイスを使用して)ユーザーによって提供される任意のテキスト、画像、ビデオ、オーディオ、又はそれらの組み合わせを含んでよい。例えば、ユーザーは、メッセージコンテンツとして、テキストとともに、画像及びビデオをメッセージ内に含むメッセージも提供してよい。かかる例では、テキスト、画像、及びビデオは、メッセージ含むことになる。コミュニケーションプラットフォームのコミュニケーションチャンネルに送信又は投稿される各メッセージは、送信ユーザー識別子、メッセージ識別子、メッセージコンテンツ、グループ識別子、コミュニケーションチャンネル識別子などを含むメタデータを含み得る。少なくとも1つの例では、前述の識別子の各々は、情報交換用米国標準コードASCIIテキスト、ポインタ、メモリアドレスなどを含み得る。
いくつかの例では、ユーザーは、「スレッド」内のメッセージにコメントすることができる。スレッドは、コミュニケーションチャンネルに投稿されず、代わりに、元のメッセージに関連付けられたオブジェクト内に維持される、別のメッセージに関連付けられたメッセージであり得る。メッセージ及び/又はスレッドは、ファイル、絵文字、アプリなどに関連付けられ得る。
コミュニケーションチャンネル又は他の仮想空間は、メッセージ以外のデータ及び/もしくはコンテンツ、又はメッセージに関連付けられているデータ及び/もしくはコンテンツに関連付けられ得る。例えば、ユーザーインターフェイス144の第3の領域150を介して提示することができる追加のデータの非限定的な例は、コミュニケーションチャンネルに追加されたメンバー及び/又はコミュニケーションチャンネルから削除されたメンバー、コミュニケーションチャンネルにアップロードされたファイル及び/又はコミュニケーションチャンネルから削除されたファイル(例えば、添付ファイル)、コミュニケーションチャンネルに追加されたアプリケーション及び/又はコミュニケーションチャンネルから削除されたアプリケーション、コミュニケーションチャンネルに追加された投稿又はコミュニケーションチャンネルから削除されたポスト(コミュニケーションチャンネルの1つもしくはメンバーによってほぼリアルタイムで共同編集できるデータ)、コミュニケーションチャンネルに追加、変更、及び/又は削除された記述、コミュニケーションチャンネルの特性の変更などを含む。
いくつかの例では、第3の領域150は、単一のコミュニケーションチャンネルに関連付けられたフィードを含み得る。かかる例では、コミュニケーションチャンネルに関連付けられたデータは、フィードを介して提示することができる。少なくとも1つの例では、コミュニケーションチャンネルに関連付けられたデータは、同じグループ識別子に関連付けられたユーザーのグループの少なくとも一部のユーザーに表示可能であり得る。いくつかの例では、コミュニケーションチャンネルのメンバーの場合、コミュニケーションチャンネルのコンテンツ(例えば、メッセージング通信)をコミュニケーションチャンネルの各メンバーに表示することができる。例えば、コミュニケーションチャンネルのコンテンツ(例えば、メッセージング通信)がコミュニケーションチャンネルのメンバーごとに変化することがないように、グループベースメッセージング通信の共通のセットをコミュニケーションチャンネルの各メンバーに表示することができる。いくつかの例では、コミュニケーションチャンネルに関連付けられたデータは、異なるユーザーに対して(例えば、パーソナル構成、グループメンバーシップなどに基づいて)異なるように表示され得る。
少なくとも1つの例では、個々のコミュニケーションチャンネル又は仮想空間のフォーマットは、異なるユーザーに対して異なるように表示されてよい。いくつかの例では、個々のコミュニケーションチャンネル又は仮想空間のフォーマットは、ユーザーが現在インタラクトしているか、又は直近にインタラクトしたワークスペースに基づいて異なるように表示されてよい。いくつかの例では、個々のコミュニケーションチャンネル又は仮想空間のフォーマットは、異なるユーザーに対して(例えば、パーソナル構成、グループメンバーシップなどに基づいて)異なるように表示され得る。
少なくとも1つの例では、ユーザーインターフェイス144は、ユーザーが検索用語を入力することができ、サーバー102がコミュニケーションプラットフォームに関連付けられた検索を実行することができる、検索メカニズム218を含み得る。いくつかの例では、検索は、ユーザーが関連付けられている各ワークスペースにわたって実行することができるか、又は検索は、ユーザー仕様に基づいて特定のワークスペースに制限することができる。
ユーザーインターフェイス144は、ユーザーコンピューティングデバイス104を介して(例えば、アプリケーション140によって)提示され得るユーザーインターフェイスの非限定的な例である。いくつかの例では、アプリケーション140は、プロファイル調整コンポーネント116及び/又はチャンネル管理コンポーネント118からデータを受信することができ、アプリケーション140は、データに基づいてユーザーインターフェイス144を生成及び提示することができる。他の例では、アプリケーション140は、チャンネル管理コンポーネント118からデータを受信し、プロファイル調整コンポーネント116及び/又はチャンネル管理コンポーネント118からユーザーインターフェイス144を生成するための命令を受信することができる。かかる例では、アプリケーション140は、命令に基づいてユーザーインターフェイス144を提示することができる。ユーザーインターフェイスを介して追加の又は代替のデータを提示することができ、追加の又は代替の構成を仮定することができる。
図3は、図1を参照して上述したように、制限付きアクセス権限を含むゲストプロファイルに対応するコミュニケーションプラットフォームの例示的なユーザーインターフェイス302を提示する、ユーザーコンピューティングデバイス104などの例示的なユーザーコンピューティングデバイス300を例示する。
さまざまな例において、コミュニケーションプラットフォームは、組織の管理者から、特定のコミュニケーションチャンネル及び/又はワークスペースに関連付けられたゲストプロファイルを生成する要求を受信することに応答して、ユーザーインターフェイス302を生成してよい。上述及び後述するように、管理者は、図5Aのゲストプロファイル招待ユーザーインターフェイス500及び/又は図5Bの550などのゲストプロファイル招待ユーザーインターフェイスを介して要求を送信してよい。さまざまな例において、管理者は、ゲストプロファイル及び/又はユーザーインターフェイス302に関連付けられる許可を指定することができる。かかる例では、コミュニケーションプラットフォームは、許可に基づいてユーザーインターフェイス302を生成することができる。
図示の例では、ユーザー(「ユーザーM」)は、ユーザーが単一のチャンネル(「チャンネルD」)に関連付けられたデータとインタラクトすることができるゲストプロファイルに関連付けられてよい。しかし、これはそのように限定することを意図しておらず、ゲストプロファイルは、1つ又は複数のチャンネル、1つ又は複数のワークスペース、1つ又は複数のダイレクトメッセージングインスタンスなどに関連付けられてよい。
さまざまな例において、ユーザーインターフェイス302は、第2のサブセクション208、又はサブペインを伴う第2の領域148を含んでもよく、これは、ユーザーがアクセス及び/又は閲覧許可を有する1つもしくは複数のコミュニケーションチャンネルを表すインジケータを含む。いくつかの例では、第2のサブセクション208は、ユーザーが少なくとも部分的に関連付けられているワークスペースに関連付けられた1つ又は複数のコミュニケーションチャンネルを含んでよい。例えば、ユーザーインターフェイス302に関連付けられたゲストプロファイルは、第1のコミュニケーションチャンネル304(「チャンネルD」)に対応するデータとインタラクトする許可をユーザーに関連付けられてよい。いくつかの例では、第2のサブセクション208は、ユーザーが1つ又は複数のコミュニケーションチャンネルのうちの少なくとも1つのコミュニケーションチャンネルに関連付けられたコンテンツとインタラクトする許可を有することを視覚的に示すインジケータを含み得る。
第2のサブセクション208に加えて、第2の領域148は、第3のサブセクション210、又はサブペインを含むことができ、これは、(例えば、組織のメンバーのすべて、又はサブセットの代わりに)個々のユーザー又は複数の指定されたユーザーとの通信を表すインジケータを含み得る。かかる通信は、「ダイレクトメッセージ」と呼ぶことができる。すなわち、第3のサブセクション210、又はサブペインは、1人もしくは複数のユーザー間の非公開メッセージに関連付けられている仮想空間を表すインジケータを含み得る。
少なくとも1つの例では、ユーザーインターフェイス302は、第3の領域150、又はペインを含むことができ、これは、通信を促進するためのコミュニケーションチャンネル及び/又は他の仮想空間(例えば、ダイレクトメッセージ通信に関連付けられた仮想空間、イベント及び/又はアクションに関連付けられた仮想空間など)に関して投稿されたメッセージ及び/又は取られたアクションを示すフィードに関連付けられている。上述したように、少なくとも1つの例では、第3の領域150に関連付けられたデータは、ユーザーのゲストプロファイルに関連付けられた許可に基づいて、同じもしくは異なるコミュニケーションチャンネル及び/又はワークスペースに関連付けられ得る。例えば、ユーザーインターフェイス302に関連付けられたゲストプロファイルは、第1のコミュニケーションチャンネル304を介して送信されたメッセージを表すインジケータ212及び214を含めることができるが、ゲストプロファイルがアクセス許可を有しない別のコミュニケーションチャンネル208(例えば、図2に示されるチャンネルK)に関連付けられたインジケータ216を含めなくてもよい。
さまざまな例において、ユーザーインターフェイス302は、上述したように、ユーザーがアクセス権限要求を送信することができるアクセス権限選択可能コントロール306を含み得る。さまざまな例において、アクセス権限選択可能コントロール306の選択を受信することに応答して、コミュニケーションプラットフォームは、ゲストプロファイルに関連付けられたアクセス権限構成設定をアップグレードすることができる。代替的な例では、アクセス権限要求は、ゲストプロファイルが関連付けられている組織の管理者によって送信されてもよい。
本開示のさまざまな例は、一般に、コミュニケーションシステム100などのコミュニケーションシステムにおいて動的プロファイル調整を実行するための方法、装置、及びシステムに関するものである。プロファイル調整は、2つ以上のユーザープロファイル(例えば、ソースプロファイル及びデスティネーションプロファイル)に関連付けられたデータを統合するように構成された1つもしくは複数のコンピュータ実装プロセスを含んでよく、2つ以上のユーザープロファイルは、同じユーザーエンティティに関連付けられると決定される。プロファイル調整ルーチンの例としては、クロスプロファイル通信履歴統合ルーチン、クロスプロファイルパーソナルデータ統合ルーチン、及びクロスプロファイルデータ統合ルーチンが挙げられる。
クロスプロファイル通信履歴統合ルーチンは、2つ以上のユーザープロファイルに関連付けられた2つの通信履歴ストリーム(例えば、ソースプロファイルに関連付けられたソース通信履歴ストリーム及びデスティネーションプロファイルに関連付けられた対応するデスティネーション通信履歴ストリーム)を統合するように構成された1つ又は複数のコンピュータ実装プロセスを含み得る。通信履歴ストリームは、1つ又は複数の加入受信者プロファイル間の通信のセットに関する情報を含み得る。例えば、通信履歴ストリームは、第1のユーザープロファイルと別のユーザープロファイルとの非公開通信のための非公開メッセージスレッドに関する情報を含んでよい。別の例では、通信履歴ストリームは、第1のユーザープロファイルと特定のユーザープロファイルグループ内のユーザープロファイルとのグループ通信のためのグループメッセージスレッドに関する情報を含んでよい。さらに別の例では、通信履歴ストリームは、コミュニケーションチャンネル(例えば、グループベースコミュニケーションチャンネル)に関連付けられたメッセージのグループに関する情報を含んでもよく、コミュニケーションチャンネルは、第1のユーザープロファイルに関連付けられている。
上述したように、クロスプロファイル通信履歴統合は、ソースプロファイルに関連付けられたソース通信履歴ストリームを、デスティネーションプロファイルに関連付けられた対応するデスティネーション通信履歴ストリームに統合してもよい。例えば、クロスプロファイル通信履歴統合は、ソースプロファイル及びデスティネーションプロファイルの統合通信履歴ストリームを生成するために、ソースプロファイルに関連付けられたソース通信履歴ストリームと、デスティネーションプロファイルに関連付けられた対応するデスティネーション通信履歴ストリームとをマージするように構成されてもよい。
クロスプロファイルパーソナルデータ統合ルーチンは、2つ以上のユーザープロファイル(例えば、ソースプロファイルに関連付けられたソース通信履歴ストリーム及びデスティネーションプロファイルに関連付けられた対応するデスティネーション通信履歴ストリーム)に関連付けられたパーソナルデータオブジェクトのセットを統合するように構成された1つ又は複数のコンピュータ実装プロセスを含んでよい。例えば、クロスプロファイルデータ統合は、ソースプロファイルのパーソナルデータオブジェクトをデスティネーションプロファイルのパーソナルデータオブジェクトに統合するように構成されてもよい。別の例では、クロスプロファイルデータ統合は、ソースプロファイル及びデスティネーションプロファイルの統合されたパーソナルデータオブジェクトを生成するために、ソースプロファイルのパーソナルデータオブジェクトをデスティネーションプロファイルのパーソナルデータオブジェクトとマージするように構成されてもよい。
クロスプロファイル参照データ統合は、2つ以上のユーザープロファイル(例えば、ソースプロファイルに関連付けられたソース通信履歴ストリーム及びデスティネーションプロファイルに関連付けられた対応するデスティネーション通信履歴ストリーム)に関連付けられた参照データオブジェクトのセット(例えば、@メンションなどによって特定のユーザーがメンションされているか、又はそうでなければ言及されているメッセージ及び/又は他の通信)を統合するように構成された1もしくは複数のコンピュータ実装プロセスを含んでよい。例えば、クロスプロファイルデータ統合は、ソースプロファイルの参照データオブジェクトをデスティネーションプロファイルの参照データオブジェクトに統合するように構成されてもよい。別の例では、クロスプロファイルデータ統合は、ソースプロファイル及びデスティネーションプロファイルの統合された参照データオブジェクトを生成するために、ソースプロファイルの参照データオブジェクトをデスティネーションプロファイルの参照データオブジェクトとマージするように構成されてもよい。いくつかの例では、クロスプロファイル参照データ統合は、第1のユーザープロファイルに関連付けられた(例えば、第1のユーザープロファイルを参照する)参照データオブジェクトを、参照データオブジェクトが代わりに第2のユーザープロファイルに関連付けられる(例えば、第2のユーザープロファイルを参照する)ように変更することを含む。
本明細書に記載される技術は、コミュニケーションシステム(例えば、コミュニケーションプラットフォーム)に関して記載されているが、関連技術の当業者であれば、本明細書に記載されるさまざまな技術を使用して、さまざまな分散通信ソフトウェアアプリケーションなどの他のさまざまなソフトウェアアプリケーションにおいて動的プロファイル調整を実行できることを認識するであろう。
図4は、コミュニケーションサーバーにおいてプロファイル調整を実行するための例示的なプロセス400のフローチャート図である。プロセス400のさまざまな操作を介して、コミュニケーションプラットフォームは、プロファイルレベルのカテゴリー分類にわたってデータリソースを統合整理するために、クロスプロファイルデータ統合を効率的に実行してもよく、したがってコミュニケーションシステムのストレージの複雑性を軽減することができる。少なくとも、ストレージの複雑性を軽減することによって、本明細書に記載される技術は、コミュニケーションプラットフォームに関連する利用可能なストレージの量を増加させ、それによって、それに関連付けられたコンピューティングデバイスを向上させることができる。
プロセス400は、コミュニケーションプラットフォームが、ソースプロファイルとデスティネーションプロファイルとの間のアイデンティティ関連付けを特定するとき、操作402で開始し、ソースプロファイルとデスティネーションプロファイルとは、コミュニケーションプラットフォームのターゲットコミュニケーションチャンネル及び/又はワークスペースにおいて同じユーザーに関連付けられている。アイデンティティ関連付けは、2つ以上のユーザープロファイル(例えば、ソースプロファイル及びデスティネーションプロファイル)が同じユーザーに関連付けられている尤度を含み得る。いくつかの例では、アイデンティティ関連付けは、2つ以上のユーザープロファイル間のアイデンティティ関連付けスコアがアイデンティティ関連付け閾値を超えるかどうかを示すブーリアン値を含み得る。いくつかの例では、2つ以上のユーザープロファイル間のアイデンティティ関連付けスコアは、2つ以上のユーザープロファイルが同じユーザーエンティティに関連付けられている尤度を決定するための1つ又は複数のアイデンティティ関連付けモデリング規則に基づいて決定される。ソースプロファイルは、コミュニケーションプラットフォームにおいてプロファイル調整を実行するために、別のプロファイル(すなわち、デスティネーションプロファイル)に統合されている、対応するデータを含むユーザープロファイルを含んでよい。いくつかの例では、ソースプロファイルは、ソースプロファイルに関連付けられている1つ又は複数のコミュニケーションチャンネルに関して制限付きアクセス権限(例えば、ゲストアクセス権限)を有する。制限付きアクセス権限は、対応するコミュニケーションチャンネルに関する少なくとも1つの管理権限に対する関連ユーザープロファイルの拒否を含みんでよい。例えば、制限付きアクセス権限を有するユーザープロファイルは、特定の時間に、ゲストユーザープロファイルに現在関連付けられているコミュニケーションチャンネル以外の、対応するコミュニケーションプラットフォームのコミュニケーションチャンネルへのアクセスを要求する権限を拒否されたゲストユーザープロファイルを含んでよい。別の例では、制限付きアクセス権限を有するユーザープロファイルは、ゲストユーザープロファイルに関連付けられたコミュニケーションチャンネルに新しいメンバーを追加する権限を拒否されたゲストユーザープロファイルであってもよい。いくつかの例では、ソースプロファイルは、コミュニケーションプラットフォームのワークスペースに関して制限付きアクセス権限を有していてもよい。例えば、ソースプロファイルは、ワークスペースに関連付けられた第1のコミュニケーションチャンネルへのアクセスを有してもよいが、ワークスペースに関連付けられた第2のコミュニケーションチャンネルへのアクセスは拒否されてもよい。
デスティネーションプロファイルは、コミュニケーションプラットフォームにおいてプロファイル調整を実行するために、デスティネーションプロファイルデータに統合されている別のプロファイル(すなわち、ソースプロファイル)に関連付けられたデータを含むユーザープロファイルを含み得る。いくつかの例では、デスティネーションプロファイルは、ソースプロファイルに関連付けられている任意のコミュニケーションチャンネルに関してフルアクセス権限(例えば、メンバーレベルアクセス権限、メンバーアクセス権限など)を有する。フルアクセス権限は、対応するコミュニケーションチャンネルに関して利用可能な各非管理アクセス権限へのアクセスを認められているユーザープロファイルに関連付けられてよい。例えば、フルアクセス権限を有するユーザープロファイルは、特定の時間に、メンバーユーザープロファイルに現在関連付けられているコミュニケーションチャンネル以外の、対応するコミュニケーションプラットフォームの任意のコミュニケーションチャンネルへのアクセスを要求する権限を有するメンバーユーザープロファイルであってもよい。別の例では、フルアクセス権限を有するユーザープロファイルは、メンバーユーザープロファイルに関連付けられた任意のコミュニケーションチャンネルに新しいメンバーを追加する権限を有するメンバーユーザープロファイルであってもよい。
上述したように、コミュニケーションチャンネルは、ユーザーのグループ及び/又は共通のグループ識別子に関連付けられた通信オブジェクトのセットを含み得る。いくつかの例では、通信オブジェクトの少なくとも一部は、通信オブジェクトがグループメンバーにアクセス可能になる前に、グループメンバーが特定の認証情報又は適切な許可を有することを要求する場合がある。ターゲットコミュニケーションチャンネルは、ユーザープロファイルのグループを含んでもよく、ユーザープロファイルの少なくとも1つは、1つ又は複数の他のユーザープロファイルと調整されることが期待される。いくつかの例では、ターゲットコミュニケーションチャンネルは、1つ又は複数のプロファイル調整を使用して共有コミュニケーションチャンネルに変換されることが期待されるコミュニケーションチャンネルである。
共有コミュニケーションチャンネルは、2つ以上の組織識別子と組織的に関連付けられているコミュニケーションチャンネルを含んでもよく、コミュニケーションチャンネルと特定の組織識別子との間の関連付けは、組織識別子に関連付けられている通信プロファイルが、コミュニケーションチャンネルに関してフルアクセス権限を有することを可能にする。いくつかの例では、共有コミュニケーションチャンネルが、非共有コミュニケーションチャンネルの共有状態を有することへの移行を実行することによって決定される場合、非共有コミュニケーションチャンネルは、共有コミュニケーションワークスペースに対するイニシエータコミュニケーションチャンネルと呼ばれることがある。さまざまな例において、共有コミュニケーションチャンネルは、少なくとも2つの組織識別子に関連付けられたユーザープロファイルが、メンバープロファイルとしてコミュニケーションチャンネルにアクセスすることを可能にし得る。
いくつかの例では、ソースプロファイルとデスティネーションプロファイルとの間のアイデンティティ関連付けを特定するために、コミュニケーションプラットフォームは、ソースプロファイルとデスティネーションプロファイルとが同じユーザーに関連付けられているという決定された尤度が、アイデンティティ関連付け閾値を超えると判定する。いくつかの例では、ソースプロファイルとデスティネーションプロファイルとが同じユーザーに関連付けられているという決定された尤度を算出するために、コミュニケーションプラットフォームは、2つ以上のユーザープロファイル(例えば、ソースプロファイル及びデスティネーションプロファイル)が同じユーザーに関連付けられている尤度を決定するための1つもしくは複数のアイデンティティ関連付けモデリング規則を利用する。
いくつかの例では、ソースプロファイルは、ターゲットコミュニケーションチャンネルに関して制限付きアクセス権限を有し、例えば、ターゲットコミュニケーションチャンネルのゲストユーザープロファイルである。いくつかの例では、デスティネーションプロファイルは、ターゲットコミュニケーションチャンネルに関してフルアクセス権限を有し、例えば、ターゲットコミュニケーションチャンネルのメンバーである。いくつかの例では、アイデンティティ関連付けを決定するステップは、ターゲットコミュニケーションチャンネルのゲストユーザープロファイルが、別のコミュニケーションプラットフォームのメンバーユーザープロファイルと同じユーザーに関連付けられていることを判定するステップを含む。いくつかの例では、アイデンティティ関連付けを特定するステップは、ソースプロファイルのアクセス権限要求の受信に応答して実行される。アクセス権限要求は、コミュニケーションプラットフォームの1つ又は複数のコミュニケーションチャンネルに関して制限付きアクセス権限を有するユーザープロファイルによる、1つ又は複数のコミュニケーションチャンネルに関するフルアクセス権限を取得するための要求を含み得る。例えば、アクセス権限要求は、対応するユーザープロファイルによるアクションに応答して生成されて、言及した対応するユーザープロファイルに関連付けられたアクセス権限構成設定をアップグレードすることができる。別の例では、アクセス権限は、アクセス権限選択可能コントロール306を選択するなどして、言及した対応するユーザープロファイルの制限付きアクセス権限を与えられた対応するユーザープロファイルに現在認められていないアクセス権限を求める対応するユーザープロファイルによるアクションに応答して生成されてもよい。さらに別の例では、アクセス権限は、対応するコミュニケーションチャンネルの管理者ユーザープロファイルによるアクションによるアクションに応答して生成されてもよい。
いくつかの例では、アイデンティティ関連付けを特定するステップは、イニシエータコミュニケーションチャンネルをターゲットコミュニケーションチャンネルに変換する共有コミュニケーションチャンネル生成要求を受信することに応答して実行される。共有コミュニケーションチャンネル生成要求は、共有コミュニケーションワークスペースではないイニシエータコミュニケーションチャンネルを共有コミュニケーションチャンネルに変換する要求を含む。いくつかの例では、特定のイニシエータコミュニケーションチャンネルのための共有コミュニケーションチャンネル生成要求は、対応するイニシエータコミュニケーションチャンネルの管理者ユーザープロファイルによって生成されてもよい。いくつかの例では、特定のイニシエータコミュニケーションチャンネルのための共有コミュニケーションチャンネル生成要求は、対応するイニシエータコミュニケーションチャンネルの非管理者ユーザープロファイルによって生成され得る。追加的又は代替的に、コミュニケーションプラットフォームは、管理者などからの要求(例えば、共有コミュニケーションワークスペース生成要求)の受信に基づいて、非共有ワークスペースを共有ワークスペースに変換することができる。
いくつかの例では、共有コミュニケーションチャンネル生成要求は、非共有コミュニケーションチャンネルを共有コミュニケーションチャンネルに変換する要求(例えば、管理者要求)に応答して生成されてもよい。いくつかの例では、イニシエータコミュニケーションチャンネルは、プライマリ組織識別子に関連付けられ、ターゲットコミュニケーションチャンネルは、プライマリ組織識別子とセカンダリ組織識別子とに関連付けられる。いくつかの例では、イニシエータコミュニケーションチャンネルに関連付けられたイニシエータコンテンツデータは、プライマリ組織プロファイルに関連付けられたプライマリストレージプラットフォームに格納され、ターゲットコミュニケーションワークスペースに関連付けられたターゲットコンテンツデータは、プライマリ組織識別子に関連付けられたプライマリストレージプラットフォームとセカンダリ組織識別子に関連付けられたセカンダリストレージプラットフォームとの両方に格納される。
いくつかの例では、ゲストユーザープロファイルは、ターゲットコミュニケーションチャンネル及び/又はワークスペースの管理者ユーザープロファイルによる1つもしくは複数のアクションに基づいて作成される。いくつかの例では、ゲストユーザープロファイルを作成するために、管理者ユーザープロファイルは、図5Aのゲスト招待ユーザーインターフェイス500及び図5Bのゲスト招待ユーザーインターフェイス550などのゲストプロファイル招待ユーザーインターフェイスを利用する。図5A及び図5Bに示されているように、ゲスト招待ユーザーインターフェイス500及びゲスト招待ユーザーインターフェイス550は、対応するターゲットコミュニケーションワークスペースの管理者ユーザープロファイルが、1又は複数のゲストユーザープロファイルを作成し、1又は複数の定義済みのゲストユーザープロファイルの各グループに対してゲストアクセス基準(例えば、ゲストアクセス期間、ゲストアクセスチャンネルの関連付けなど)を定義することを可能にする。
ゲストレベルの許可が認められると、ゲストユーザープロファイルは、例えば、図6の例示的なコミュニケーションワークスペースインターフェイス600の関係開始ユーザーインターフェイス要素601などの関係開始ユーザーインターフェイス要素を使用して、ゲストユーザープロファイルとしてゲストユーザープロファイルがゲストレベルのアクセス権限を有するコミュニケーションチャンネルに関連付けられている他のユーザープロファイルに紹介されてもよい。いくつかの例では、ゲストユーザープロファイルは、ターゲットコミュニケーションワークスペース内のコミュニケーションチャンネルの予め定義済みのリスト(例えば、図7のゲストプロファイルサイドバーユーザーインターフェイス700の共有チャンネルリストユーザーインターフェイス要素701によって示される共有チャンネル)へのアクセスを認められてもよく、コミュニケーションチャンネルの言及した予め定義済みのリスト以外のコミュニケーションチャンネル(例えば、非共有チャンネルリストユーザーインターフェイス要素702によって示される非共有コミュニケーションチャンネル)へのアクセス要求権が拒否されてもよい。
いくつかの例では、ソースプロファイルとデスティネーションプロファイルとの間のアイデンティティ関連付けを特定するステップに応答して、コミュニケーションプラットフォームは、ソースプロファイルとデスティネーションプロファイルとに関して1つ又は複数のプロファイル調整ルーチンを実行する。プロファイル調整ルーチンの3つのセットの例としては、クロスプロファイル通信履歴統合ルーチン、クロスプロファイルパーソナルデータ統合ルーチン、及びクロスプロファイルデータ統合ルーチンが挙げられる。しかしながら、関連技術の当業者であれば、他のプロファイル調整ルーチン(例えば、通信履歴ストリーム、パーソナルデータオブジェクト、及び参照データオブジェクト以外のコンテンツデータに対する他のクロスプロファイルデータ統合ルーチン)が、プロファイル調整プロセスの一部として実行されてもよいことを認識するであろう。例えば、いくつかの例では、アイデンティティ関連付けを特定するステップに応答して、コミュニケーションプラットフォームは、ソースプロファイルに関連付けられたコンテンツデータのソースオーナーシップインジケータを変更して、コンテンツデータのオーナーシップをデスティネーションプロファイルに移行させる。ソースオーナーシップインジケータは、どのユーザープロファイルが特定の対応するデータオブジェクトにアクセスできるかを記述するインジケータを含んでよい。データオブジェクトのソースオーナーシップインジケータは、静的に定義されてもよく、かつ/又はデータオブジェクトに関連付けられたデータ検索システム(例えば、コミュニケーションシステム)の1つもしくは複数のアクセス権限規則に基づいて動的に決定されてもよい。
操作404において、アイデンティティ関連付けを特定するステップに応答して、コミュニケーションプラットフォームは、ソースプロファイルとデスティネーションプロファイルとの間のクロスプロファイル通信履歴統合を実行する。クロスプロファイル通信履歴統合は、2つ以上のユーザープロファイルに関連付けられた通信履歴ストリーム(例えば、ソースプロファイルに関連付けられたソース通信履歴ストリームと、デスティネーションプロファイルに関連付けられた対応するデスティネーション通信履歴ストリーム)を統合するように構成された1つ又は複数のコンピュータ実装プロセスを含み得る。例えば、クロスプロファイル通信履歴統合は、ソースプロファイルに関連付けられたソース通信履歴ストリームを、デスティネーションプロファイルに関連付けられた対応するデスティネーション通信履歴ストリームに統合するように構成されてもよい。別の例では、クロスプロファイル通信履歴統合は、ソースプロファイル及びデスティネーションプロファイルの統合通信履歴ストリームを生成するために、ソースプロファイルに関連付けられたソース通信履歴ストリームと、デスティネーションプロファイルに関連付けられた対応するデスティネーション通信履歴ストリームとをマージするように構成されてもよい。
いくつかの例では、クロスプロファイル通信履歴統合を実行するステップは、ソースプロファイルに関連付けられたソース通信履歴ストリームと、デスティネーションプロファイルに関連付けられた対応するデスティネーション通信履歴ストリームとを特定するステップと、それぞれのデータオブジェクト(例えば、ソースプロファイル及びデスティネーションプロファイルから送信されたメッセージ)を統合するステップとを含む。ソース通信データオブジェクトは、ゲストプロファイルからユーザーによって送信されたメッセージを含み得る。コミュニケーションプラットフォームは、ゲストプロファイルオブジェクトから送信されたメッセージを特定してもよく、プロファイル調整に先立って、それぞれのコミュニケーションチャンネル(又はダイレクトメッセージインスタンス)を介して、ゲストプロファイルからのものとしてメッセージを提示してもよい。例えば、コミュニケーションプラットフォームは、メッセージ(例えば、ソース通信データオブジェクト)を、「ゲストJane」によって送信されたものとして提示してもよい。プロファイル調整に応答して、コミュニケーションプラットフォームは、ソースプロファイル及びデスティネーションプロファイルを調整して、フルアクセス権限を有するメンバーによって送信されたものとしてメッセージを提示することができる(例えば、デスティネーション通信データオブジェクト)。例えば、コミュニケーションプラットフォームは、以前に送信されたメッセージを、「ゲストJane」に代えて、「Jane」によって送信されたデスティネーション通信データオブジェクトとして提示してもよい。したがって、プロファイル調整が完了した時点で、ソースプロファイル又はデスティネーションプロファイルのいずれかを介して「Jane」が送信したデータは、コミュニケーションチャンネルのメンバーがアクセス可能であってもよい。
ソース通信履歴ストリームは、ソースプロファイルと1つ又は複数の受信者プロファイルとの間の通信のセットに関する情報を記述するデータオブジェクトを含み得る。例えば、ソース通信履歴ストリームは、ソースプロファイルと別のユーザープロファイルとの非公開通信を含む非公開メッセージスレッドに関する情報を含み得る。別の例では、ソース通信履歴ストリームは、ソースプロファイルと特定のユーザープロファイルグループ内のユーザープロファイルとのグループ通信を含むグループメッセージスレッドに関する情報を含み得る。さらに別の例では、ソース通信履歴ストリームは、コミュニケーションチャンネルに関連付けられたメッセージのグループに関する情報を含んでもよく、コミュニケーションチャンネルは、ソースプロファイルに関連付けられている。いくつかの例では、クロスプロファイル通信履歴統合を実行するステップに続いて、コミュニケーションプラットフォームは、デスティネーションプロファイルに関連付けられたクライアントデバイスによってアクセス可能であるように構成されたデスティネーションストリームコミュニケーションインターフェイスを生成する。デスティネーションストリームコミュニケーションインターフェイスは、1つ又は複数のデスティネーション通信履歴ストリームに関連付けられたデータを表示するように構成されたユーザーインターフェイスを含み得る。例えば、デスティネーションストリームコミュニケーションインターフェイスは、非公開メッセージスレッドに関連付けられた非公開メッセージオブジェクトを時間的順序で表示するように構成されたユーザーインターフェイスを記述することができる。別の例では、デスティネーションストリームコミュニケーションインターフェイスは、グループメッセージスレッドに関連付けられたグループメッセージオブジェクトを時間的順序で表示するように構成されたユーザーインターフェイスを記述することができる。さらに別の例では、デスティネーションストリームコミュニケーションインターフェイスは、コミュニケーションチャンネルに関連付けられたコミュニケーションチャンネルメッセージを時間的及び/又は階層的順序で表示するように構成されたユーザーインターフェイスを記述することができる。
いくつかの例では、クロスプロファイル通信履歴統合を実行するステップに続いて、コミュニケーションプラットフォームは、デスティネーション通信履歴ストリームを表示するように構成されたデスティネーションストリームコミュニケーションインターフェイスを生成する。デスティネーション通信履歴ストリームは、デスティネーションプロファイルと1又は複数の受信者プロファイルとの間の通信のセットに関する情報を記述するデータオブジェクトを含み得る。例えば、デスティネーション通信履歴ストリームは、デスティネーションプロファイルと別のユーザープロファイルとの非公開通信を含む非公開メッセージスレッドに関する情報を含み得る。別の例では、デスティネーション通信履歴ストリームは、デスティネーションプロファイルと特定のユーザープロファイルグループ内のユーザープロファイルとのグループ通信を含むグループメッセージスレッドに関する情報を含み得る。さらに別の例では、デスティネーション通信履歴ストリームは、コミュニケーションチャンネルに関連付けられたメッセージのグループに関する情報を含んでもよく、コミュニケーションチャンネルはデスティネーションプロファイルに関連付けられる。
いくつかの例では、デスティネーション通信履歴ストリームが特定のソース通信履歴ストリームに対応することを判定するために、コミュニケーションプラットフォームは、デスティネーション通信履歴ストリームに関連付けられた1つ又は複数の非デスティネーションプロファイルユーザープロファイルが、ソース通信履歴ストリームに関連付けられた1つ又は複数の非ソースプロファイルユーザープロファイルと同じであると判定する。言い換えれば、コミュニケーションプラットフォームは、以下の場合に、2つの異なるユーザープロファイルに関連付けられた2つの通信履歴ストリームが互いに対応することを判定する:(i)第1の通信履歴ストリームに関連付けられた少なくとも1つの第1のユーザープロファイルが、第2の通信履歴ストリームに関連付けられた少なくとも1つの第2のユーザープロファイルとのアイデンティティ関連付けを有する場合、並びに(ii)第1のユーザープロファイル及び第2のユーザープロファイル以外に、2つの通信履歴ストリームが、関連ユーザープロファイルの同じセットを有する場合。いくつかの例では、デスティネーション通信履歴ストリームが特定のソース通信履歴ストリームに対応することを判定するために、コミュニケーションプラットフォームは、デスティネーション通信履歴ストリームが特定のソース通信履歴ストリームに対応するかどうかに関する1つ又は複数の追加の予測信号、例えば、2つの通信履歴ストリームの主題指定子の少なくとも1つに基づいて定義される1つ又は複数の追加の予測信号、2つの通信履歴ストリームに関連付けられたコンテンツデータ、2つの通信履歴ストリームのタイミングを利用する。
いくつかの例では、1つ又は複数のソース通信データオブジェクトを1つ又は複数のデスティネーション通信データオブジェクトに統合するステップは、1つ又は複数のソース通信データオブジェクトに関連付けられたソース時間マーカーと1つ又は複数のデスティネーション通信データオブジェクトに関連付けられたデスティネーション時間マーカーとに基づいて実行される。ソース時間マーカーは、対応するソース通信データオブジェクトに関連付けられたタイムスタンプである。例えば、ソース時間マーカーは、ソース通信データオブジェクトの送信時刻を示してよい。別の例では、ソース時間マーカーは、ソース通信データオブジェクトの送信時刻とソース通信データオブジェクトの最新の修正時刻とのうち後者を示してもよい。さらに別の例では、ソース時間マーカーは、ソース通信データオブジェクトの最初の受信時刻を示してもよい。タイムスタンプは、対応する時点の日付及び/又は時計時刻を示してもよい。デスティネーション時間マーカーは、対応するデスティネーション通信データオブジェクトに関連付けられたタイムスタンプを含み得る。例えば、デスティネーション時間マーカーは、デスティネーション通信データオブジェクトの送信時刻を示してよい。別の例では、デスティネーション時間マーカーは、デスティネーション通信データオブジェクトの送信時刻とデスティネーション通信データオブジェクトの最新の修正時刻のうち後者を示してもよい。さらに別の例では、デスティネーションテン時間マーカーは、デスティネーション通信データオブジェクトの最初の受信時刻を示してもよい。
いくつかの例では、1つ又は複数のソース通信データオブジェクトを1つ又は複数のデスティネーション通信データオブジェクトに統合するために、コミュニケーションプラットフォームは、1つ又は複数のソース通信データオブジェクトと1つ又は複数のデスティネーション通信データオブジェクトを統合リストにマージしてもよく、統合リストにおける通信データオブジェクトの順序は、言及した通信データオブジェクトに関連付けられたタイムスタンプの昇順又は降順に基づいて決定される。その後、コミュニケーションプラットフォームは、統合リストに基づいて、1つ又は複数のデスティネーション通信オブジェクトを、言及した時間的順序で更新することができる。
時間的通信データオブジェクト統合プロセス800の操作例が、図8に示されている。図8に示されているように、時間的通信データオブジェクト統合プロセス800は、ソース通信データオブジェクト811~812に関連付けられたソース通信履歴ストリーム801とともに、デスティネーション通信データオブジェクト821~822に関連付けられたデスティネーション通信履歴ストリーム802も入力として受信するように構成される。図示の例では、ソース通信履歴ストリーム801は、第1のメンバーX1とコミュニケーションチャンネルのゲスト「ゲストY」との間のメッセージを含み、プロファイル調整後に生成されたデスティネーション通信履歴ストリーム802は、第2のメンバーX2と、今ではコミュニケーションチャンネルのフルメンバーであるYとの間のメッセージを含む。
図8にさらに示されているように、時間的通信データオブジェクト統合プロセス800は、デスティネーション通信履歴ストリーム802Aを更新するために、ソース通信履歴ストリーム801及びデスティネーション通信履歴ストリーム802を処理してソース通信データオブジェクト811~812をデスティネーション通信データオブジェクト821~822に統合するように構成される。図8の時間的通信データオブジェクト統合プロセス800に従って、ソース通信データオブジェクト811~812の時間的マーカーは、デスティネーション通信データオブジェクト821~822の時間的マーカーに時間的に先行するため、ソース通信データオブジェクト811~812のデスティネーション通信データオブジェクト821~822への統合後に、ソース通信データオブジェクト811~812がデスティネーション通信データオブジェクト821~822の前に現れる。図示されるように、更新されたデスティネーション通信履歴ストリーム802は、Yがフルアクセス権限を有するメンバーであること(例えば、もはや「ゲスト」に関連付けられないこと)を示す。いくつかの例では、Yがフルアクセス権限を有するメンバーであるという表示は、ユーザー名、ニックネーム、アバターなどの提示を含み得る。少なくとも1つの例では、Yがフルアクセス権限を有するメンバーであるという表示は、メッセージに関連する「ゲスト」という単語を削除することを含み得る。
図4に戻り、操作406において、アイデンティティ関連付けを特定するステップに応答して、コミュニケーションプラットフォームは、ソースプロファイル及びデスティネーションプロファイルのクロスプロファイルパーソナルデータ統合を実行する。いくつかの例では、クロスプロファイルパーソナルデータ統合は、プロセス400の任意のステップであり得る。いくつかの例では、ソースプロファイル及びデスティネーションプロファイルのクロスプロファイルパーソナルデータ統合を実行するために、コミュニケーションプラットフォームは、ソースプロファイルに関連付けられた1つ又は複数のパーソナルデータオブジェクトを特定し、1つ又は複数のパーソナルデータオブジェクトの各パーソナルデータオブジェクトは、パーソナルデータオブジェクトユーザー識別子に関連付けられ、1つ又は複数のパーソナルデータオブジェクトのパーソナルデータオブジェクトユーザー識別子は、ソースプロファイルに関連付けられたソース識別子を示す。パーソナルデータオブジェクトは、コミュニケーションプラットフォームの任意の他のユーザープロファイルと共有されないユーザープロファイルに関連付けられたコンテンツデータを記述するデータオブジェクトを含み得る。パーソナルデータオブジェクトの例としては、ブックマークデータオブジェクト、リマインダーデータオブジェクト、ノートデータオブジェクト、セーブリンクデータオブジェクトなどが挙げられる。いくつかの例では、ソースプロファイルに関連付けられた1つ又は複数のパーソナルデータオブジェクトを特定するステップに続いて、コミュニケーションプラットフォームは、パーソナルデータオブジェクトのパーソナルデータオブジェクトユーザー識別子を、デスティネーションプロファイルに関連付けられたデスティネーション識別子を示すように変更する。パーソナルデータオブジェクトユーザー識別子は、対応するパーソナルデータオブジェクトに関連付けられたユーザープロファイルを一意に特定する識別子を含み得る。例えば、ブックマークデータオブジェクトに関連付けられたパーソナルデータオブジェクトユーザー識別子は、ブックマークデータオブジェクトに関連付けられたブックマークを生成することを要求したユーザープロファイルを記述するデータオブジェクトであってもよい。別の例では、リマインダーデータオブジェクトのパーソナルデータオブジェクトユーザー識別子は、リマインダーデータオブジェクトに関連付けられたリマインダーの生成を要求したユーザープロフィールを記述するデータオブジェクトである。さらに別の例では、ノートデータオブジェクトのパーソナルデータオブジェクトユーザー識別子は、ノートデータオブジェクトに関連付けられたノートを生成することを要求したユーザープロファイルを記述するデータオブジェクトである。さらに別の例では、セーブリンクデータオブジェクトのパーソナルデータオブジェクトユーザー識別子は、セーブリンクデータオブジェクトに関連付けられたセーブリンクを生成することを要求したユーザープロファイルを記述するデータオブジェクトである。
いくつかの例では、ソースプロファイル及びデスティネーションプロファイルのクロスプロファイルパーソナルデータ統合を実行するために、コミュニケーションプラットフォームは、ソースユーザープロファイルに関連付けられたブックマークデータオブジェクトをデスティネーションユーザープロファイルに関連付ける。別の例では、いくつかの例では、ソースプロファイル及びデスティネーションプロファイルのクロスプロファイルパーソナルデータ統合を実行するために、コミュニケーションプラットフォームは、ソースユーザープロファイルに関連付けられたリマインダーデータオブジェクトをデスティネーションユーザープロファイルに関連付けてもよい。さらに別の例では、いくつかの例では、ソースプロファイル及びデスティネーションプロファイルのクロスプロファイルパーソナルデータ統合を実行するために、コミュニケーションプラットフォームは、ソースユーザープロファイルに関連付けられたノートデータオブジェクトをデスティネーションユーザープロファイルに関連付ける。更なる例として、いくつかの例では、ソースプロファイル及びデスティネーションプロファイルのクロスプロファイルパーソナルデータ統合を実行するために、コミュニケーションプラットフォームは、ソースユーザープロファイルに関連付けられたセーブリンクデータオブジェクトをデスティネーションユーザープロファイルに関連付ける。
いくつかの例では、クロスプロファイルパーソナルデータ統合を実行するステップに続いて、コミュニケーションプラットフォームは、1つ又は複数のパーソナルデータオブジェクトのための1つ又は複数のデスティネーションパーソナルデータインターフェイスを生成する。デスティネーションパーソナルデータインターフェイスは、1つ又は複数のパーソナルデータオブジェクトに関連付けられたデータを表示するように構成されたユーザーインターフェイスを含み得る。例えば、デスティネーションパーソナルデータインターフェイスは、非公開通信メッセージ、グループ通信メッセージ、通信メッセージなどに各々関連付けられた1つ又は複数のメッセージブックマークを表示するように構成されたユーザーインターフェイスを記述することができる。別の例では、デスティネーションパーソナルデータインターフェイスは、デスティネーションプロファイルに関連付けられた1つ又は複数のノートデータオブジェクトを表示するように構成されたユーザーインターフェイスを記述することができる。さらに別の例では、デスティネーションパーソナルデータインターフェイスは、デスティネーションプロファイルデスティネーションプロファイルに関連付けられた1つ又は複数のノートデータオブジェクトを表示するように構成されたユーザーインターフェイスを記述する。
1つ又は複数のデスティネーションパーソナルデータインターフェイスの各デスティネーションパーソナルデータインターフェイスは、デスティネーションプロファイルに関連付けられたクライアントデバイスによってアクセス可能であるように構成されてよい。いくつかの例では、1つ又は複数のデスティネーションパーソナルデータインターフェイスを生成するために、コミュニケーションプラットフォームは、少なくとも部分的に、デスティネーションプロファイルが、ソースプロファイルに関連付けられたソースパーソナルデータオブジェクトを今や含むデスティネーションパーソナルデータオブジェクトにアクセスすることを可能にするユーザーインターフェイスを生成する。いくつかの例では、デスティネーションパーソナルデータインターフェイスは、デスティネーションプロファイルに関連付けられた少なくとも1つのパーソナルデータオブジェクト、例えば、デスティネーションプロファイルに関連付けられた少なくとも1つのブックマークデータオブジェクト、デスティネーションプロファイルに関連付けられた少なくとも1つのセーブリンクデータオブジェクト、デスティネーションプロファイルに関連付けられた少なくとも1つのリマインダーデータオブジェクト、デスティネーションプロファイルに関連付けられた少なくとも1つのノートデータオブジェクトなどの表示を示す任意のユーザーインターフェイスである。
操作408において、アイデンティティ関連付けを特定するステップに応答して、コミュニケーションプラットフォームは、ソースプロファイル及びデスティネーションプロファイルのクロスプロファイルデータ統合を実行することができる。いくつかの例では、クロスプロファイルデータ統合は、プロセス400の任意のステップであり得る。いくつかの例では、ソースプロファイル及びデスティネーションプロファイルのクロスプロファイルデータ統合を実行するために、コミュニケーションプラットフォームは、ソースプロファイルに関連付けられた1つ又は複数のパーソナルデータオブジェクトを特定する。いくつかの例では、クロスプロファイルデータ統合は、1つ又は複数の参照データオブジェクトに関連付けられたクロスプロファイルデータ統合を含み得る。参照データオブジェクトは、対応するユーザープロファイル及び/又は対応するユーザープロファイルに関連付けられた(例えば、オーサリングされた)メッセージオブジェクトへの参照を伴うデータオブジェクト(例えば、対応するメッセージデータオブジェクト)を含む。例えば、特定の参照データオブジェクトは、対応するメッセージデータオブジェクト(例えば、メッセージ)が、対応するユーザープロファイルにタグ付け(例えば、@メンション)されたことを記述することができる。別の例では、特定の参照データオブジェクトは、対応するメッセージデータオブジェクトが、対応するユーザープロファイルに関連付けられた(例えば、オーサリングされた)コンテンツデータにリンクしていることを記述することができる。
いくつかの例では、1つ又は複数の参照データオブジェクトの各参照データオブジェクトは、参照データオブジェクトユーザー識別子に関連付けられ得る。かかる例では、1つ又は複数の参照データオブジェクトの各参照データオブジェクトユーザー識別子は、ソースプロファイルに関連付けられたソース識別子を示す。参照データオブジェクトユーザー識別子は、対応する参照データオブジェクトによって参照されるユーザープロファイルを一意に特定する識別子を含み得る。例えば、参照データオブジェクトユーザー識別子は、他のデータオブジェクトによってタグ付け(例えば、@メンション)されたユーザープロファイルを示すことができる。別の例では、参照データオブジェクトユーザー識別子は、対応するユーザープロファイルに関連付けられたコンテンツデータにリンクされたユーザープロファイルを示すことができる。いくつかの例では、1つ又は複数の参照データオブジェクトを特定するステップに続いて、コミュニケーションプラットフォームは、各参照データオブジェクトの参照データオブジェクトユーザー識別子を、デスティネーションプロファイルに関連付けられたデスティネーション識別子を示すように変更する。
例えば、ソースプロファイル及びデスティネーションプロファイルのクロスプロファイルデータ統合を実行するために、コミュニケーションプラットフォームは、ソースプロファイルの参照を含む各メッセージデータオブジェクトを変更して、代わりにデスティネーションソースプロファイルの参照を含めることができる。別の例では、ソースプロファイル及びデスティネーションプロファイルのクロスプロファイルデータ統合を実行するために、コミュニケーションサーバー107は、ソースプロファイルに関連付けられた第1のコンテンツへのリンクを含む各メッセージデータオブジェクトを変更して、代わりにデスティネーションソースプロファイルに関連付けられた第2のコンテンツへのリンクを含めることができる。さらに別の例では、ソースプロファイル及びデスティネーションプロファイルのクロスプロファイルデータ統合を実行するために、コミュニケーションプラットフォームは、ソースプロファイルによってオーサリングされた各メッセージデータオブジェクトに関連付けられたオーサーインジケータを変更して、代わりにメッセージデータオブジェクトがデスティネーションプロファイルによってオーサリングされたことを示してもよい。
いくつかの例では、クロスプロファイルデータ統合を実行するステップに続いて、コミュニケーションプラットフォームは、1つ又は複数の参照データオブジェクトのための1つ又は複数のデスティネーション参照データインターフェイスを生成する。参照データインターフェイスは、1つ又は複数の参照先データオブジェクトに関連付けられたデータを表示するように構成されたユーザーインターフェイスを含み得る。例えば、参照パーソナルデータインターフェイスは、ユーザーが参照及び/又はタグ付け(例えば、@メンションを使用)された1つもしくは複数のメッセージを表示するように構成されたユーザーインターフェイスを記述することができる。別の例では、デスティネーションパーソナルデータインターフェイスは、ユーザーによってオーサリングされたメッセージが参照及び/又はタグ付けされた(例えば、コメント付き共有機能及び/又はメッセージ返信機能を使用して)1つもしくは複数のメッセージを表示するように構成されたユーザーインターフェイスを記述することができる。
1つ又は複数のデスティネーション参照データインターフェイスの各デスティネーション参照データインターフェイスは、デスティネーションプロファイルに関連付けられたクライアントデバイスによってアクセス可能であるように構成されてもよい。いくつかの例では、デスティネーション参照データインターフェイスは、ソースプロファイルに予め関連付けられていた参照データオブジェクトを含む、デスティネーションプロファイルに関連付けられた少なくとも1つの参照データオブジェクトを含む、デスティネーションプロファイルにアクセス可能なユーザーインターフェイスである。参照データインターフェイスの例は、特定のユーザープロファイルを参照(例えば、タグ付け)したすべてのメッセージデータオブジェクトを含むユーザーインターフェイス、例えば、特定のユーザープロファイルの@メンションを含むすべてのメッセージデータオブジェクトを含むユーザーインターフェイスである。
クロスプロファイルデータ統合プロセス900の操作例が、図9に示されている。図9に示されているように、クロスプロファイルデータ統合プロセス900は、第1のメッセージデータオブジェクト911がソースプロファイルX1への参照を含む第1の通信ストリーム901と、ソースプロファイルX1によってオーサリングされたメッセージである第2のメッセージデータオブジェクト912とを入力として受信するように構成される。図9にさらに示されているように、第1の通信ストリーム901を処理することによって、クロスプロファイルデータ統合プロセス900は、第1の通信ストリーム901の第1のメッセージデータオブジェクト911に対応し、デスティネーションプロファイルX2への参照を含む第1のメッセージデータオブジェクト921とともに、第1の通信ストリーム901の第2のメッセージデータオブジェクト912に対応し、デスティネーションプロファイルX2によってオーサリングされたと見なされる第2のメッセージデータオブジェクト922も含む、第2の通信ストリーム902を生成することができる。
いくつかの例では、非共有コミュニケーションチャンネルに関連付けられたゲストプロファイルの少なくとも一部をメンバーレベルプロファイルに変換することを含む非共有コミュニケーションチャンネルの共有コミュニケーションチャンネルへの変換の後、変換されたユーザープロファイルに関連付けられた組織識別子は、変換されたユーザープロファイルに関連付けられたコンテンツデータのオーナーシップを有すると見なされる。いくつかの例では、記載された変換後、コミュニケーションサーバー107は、言及した組織識別子が、変換されたユーザープロファイルに関連付けられたコンテンツデータを暗号化するためにその独自の暗号化キーを利用することを可能にする。さまざまな例において、コミュニケーションプラットフォームは、対応する組織識別子に関連付けられたポリシーに少なくとも部分的に基づいて、データを格納及び/又は暗号化してもよい。例えば、非共有コミュニケーションチャンネルは、プライマリ組織識別子に関連付けられ得る。コミュニケーションプラットフォームは、プライマリ組織識別子に基づく第1のポリシーに従って、非共有コミュニケーションチャンネルに関連付けられたデータを格納してもよい。コミュニケーションチャンネルを変換する要求に基づいてなど、非共有コミュニケーションチャンネルを共有コミュニケーションチャンネルに変換した後、コミュニケーションプラットフォームは、第1のポリシーと第2の組織識別子に関連付けられた第2のポリシーとに従って、共有コミュニケーションチャンネルに関連付けられたデータを格納してもよい。
図4に戻り、操作410において、操作404におけるクロスプロファイル通信履歴統合、操作406におけるクロスプロファイルパーソナルデータ統合、及び操作408におけるクロスプロファイルデータ統合のうちの少なくとも1つを実行するステップに続いて、コミュニケーションプラットフォームは、ソースプロファイルを非アクティブにする。いくつかの例では、ソースプロファイルを非アクティブにするために、コミュニケーションプラットフォームは、ソースプロファイルに関連付けられたすべてのデータを削除する。いくつかの例では、ソースプロファイルを非アクティブにするために、コミュニケーションプラットフォームは、ソースプロファイルに関連付けられたすべてのデータを非アクティブとしてマークする。いくつかの例では、ソースプロファイルを非アクティブにするために、コミュニケーションプラットフォームは、コミュニケーションプラットフォームに関連付けられたユーザーアクティビティ追跡データベースにおいてソースプロファイルを非アクティブとしてマークする。
いくつかの例では、プロセス400は、コミュニケーションチャンネル及び/又はワークスペースを共有コミュニケーションチャンネル及び/又はワークスペースに変換するステップの一部として実行される。いくつかの例では、コミュニケーションチャンネル及び/又はワークスペースを共有コミュニケーションチャンネル及び/又はワークスペースに変換するために、コミュニケーションプラットフォームは、コミュニケーションチャンネル及び/又はワークスペースに関連付けられたデータの少なくとも一部を、共有コミュニケーションワークスペースに関連付けられたセカンダリ組織プロファイルに複製する。コミュニケーションワークスペースを共有コミュニケーションワークスペースに変換する間に、セカンダリ組織プロファイルのセカンダリストレージプラットフォーム1002にデータを複製するための例示的なプロセス1000の伝送フロー図が、図10に示されている。
図10に示されているように、操作1011において、コミュニケーションプラットフォーム(例えば、サーバー102)は、コミュニケーションチャンネルのためのプライマリ組織識別子に関連付けられたプライマリストレージプラットフォーム1001からコミュニケーションチャンネルに関連付けられたイニシエータコンテンツデータを取得する。いくつかの例では、イニシエータコンテンツデータを特定するために、コミュニケーションサーバーは、プライマリ組織識別子に関連付けられたプライマリストレージプラットフォーム1001上に格納されている、コミュニケーションチャンネルに関連付けられた1つ又は複数のデータベースシャードの少なくとも一部を特定する。
操作1012において、コミュニケーションサーバー102は、イニシエータコンテンツデータに基づいてターゲットコンテンツデータを決定する。いくつかの例では、コミュニケーションサーバー102は、コミュニケーションチャンネル及び/又はコミュニケーションワークスペースに関連付けられた1つ又は複数のデータベースシャードのすべてをターゲットコンテンツデータとして判定する。いくつかの例では、コミュニケーションサーバー102は、コミュニケーションチャンネルに関連付けられた1つ又は複数のデータベースシャードのうち、セカンダリ組織識別子に関連付けられた少なくとも1つのプロファイルに関連している部分をターゲットコンテンツデータとして判定する。
操作1013において、コミュニケーションサーバー102は、共有コミュニケーションワークスペースのためのセカンダリ組織プロファイルに関連付けられたセカンダリストレージプラットフォーム1002にターゲットコンテンツデータを格納させる。共有コミュニケーションチャンネル及び/又はワークスペースのためのセカンダリ組織プロファイルに関連付けられたセカンダリストレージプラットフォーム1002にターゲットコンテンツデータを格納させるいくつかの例では、コミュニケーションサーバー102は、セカンダリストレージプラットフォーム1002に関連付けられたアプリケーションソフトウェアにターゲットコンテンツデータを送信し、アプリケーションソフトウェアに、送信したターゲットコンテンツデータをセカンダリストレージプラットフォーム1002上に格納するよう要求する。共有コミュニケーションチャンネル及び/又はワークスペースのためのセカンダリ組織プロファイルに関連付けられたセカンダリストレージプラットフォーム1002にターゲットコンテンツデータを格納させるいくつかの例では、コミュニケーションサーバー102は、ターゲットコンテンツデータの格納場所へのリンクをセカンダリストレージプラットフォーム1002に関連付けられたアプリケーションソフトウェアに送信し、アプリケーションソフトウェアに、言及した格納場所からターゲットコンテンツデータをダウンロードし、言及したコンテンツターゲットデータをダウンロードした後に、ダウンロードしたターゲットコンテンツデータをセカンダリストレージプラットフォーム1002に格納するよう要求する。
いくつかの例では、コミュニケーションサーバー102は、ゲストユーザープロファイルに関連付けられたユーザーコンテンツデータを、メンバーレベルユーザープロファイルに関連付けられたユーザーコンテンツデータに変換する。言及した例のいくつかでは、変換プロセスの一部として、コミュニケーションサーバー102は、ゲストユーザープロファイルに関連付けられた識別情報を、メンバーレベルユーザープロファイルに関連付けられた識別情報に更新する。例えば、図11に示されているように、コミュニケーションプラットフォームは、ユーザーコンテンツ変換プロセス1100を実行して、コミュニケーションプラットフォームのゲストユーザーカウントに関連付けられたゲストユーザープロファイル識別データ1101(ゲストレベルアバター及びゲストプロファイルのユーザー名に隣接するゲストマークを含む)をコミュニケーションプラットフォームのメンバーレベルユーザープロファイルに関連付けられたメンバーレベルユーザープロファイル識別データ1102に変換することが可能である。
図1において例示的な処理システムを説明したが、本明細書に記載される主題の例及び機能的操作は、本明細書に開示される構造及びその構造的等価物を含む、他の種類のデジタル電子回路、又はコンピュータソフトウェア、ファームウェア、もしくはハードウェアにおいて、又はそれらの1つもしくは複数の組み合わせにおいて実装することができる。
本明細書は多くの特定の例示的な詳細を含むが、これらは、任意の開示の範囲又は特許請求され得るものの制限として解釈されるべきではなく、むしろ特定の開示の特定の例に固有の特徴の説明として解釈されるべきである。個別の例の文脈で本明細書に記載されている特定の特徴は、単一の例において組み合わせて実施されることもできる。逆に、単一の例の文脈で説明されるさまざまな特徴は、複数の例において個別に又は任意の適切な下位組み合わせで実施されることもできる。さらに、特徴は、特定の組み合わせで作用するものとして上述され、最初はそのように主張されることさえあるが、主張された組み合わせからの1つもしくは複数の特徴は、場合によっては組み合わせから削除することができ、主張された組み合わせは、下位組み合わせ又は下位組み合わせの変形例に向けられることもある。
同様に、図面には特定の順序で操作が示されているが、これは、特に説明しない限り、望ましい結果を達成するために、かかる操作を示された特定の順序で、又は順次行うこと、又は図示されたすべての操作を行うことを要求していると理解されるべきではない。特定の状況下では、マルチタスキング及び並列処理が有利であり得る。さらに、上述した例におけるさまざまなシステム構成要素の分離は、すべての例においてかかる分離を要求していると理解されるべきではなく、説明したプログラム構成要素及びシステムは、一般に、単一のソフトウェア製品に一緒に統合することができるか、又は複数のソフトウェア製品にパッケージングすることができると理解されるべきである。
このようにして、主題の特定の例が説明された。他の例は、以下の特許請求の範囲の範囲内にある。場合によっては、特許請求の範囲に記載されたアクションは、異なる順序で実行することができ、それでも望ましい結果を達成することができる。さらに、添付の図に示されたるプロセスは、特に説明しない限り、望ましい結果を達成するために、示された特定の順序、又は順次行うことを必ずしも必要としない。特定の例では、マルチタスキング及び並列処理が有利であり得る。
結語
本明細書に記載される開示の多くの変更例及び他の例が、前述の説明及び関連する図面に提示された教示の利益を有することは、これらの開示に属する技術分野の当業者であれば想起するであろう。したがって、本開示は、開示された特定の例に限定されるものではなく、変更例及び他の例は、添付の特許請求の範囲内に含まれることが意図されていると理解されるべきである。本明細書では特定の用語が採用されているが、これらは一般的かつ説明的な意味でのみ使用されており、限定を目的としたものではない。