JP2020126600A - 地理的に分散したデータの管理及びこれに基づく検索インデックス生成のための方法、装置、並びにコンピュータプログラム製品 - Google Patents

地理的に分散したデータの管理及びこれに基づく検索インデックス生成のための方法、装置、並びにコンピュータプログラム製品 Download PDF

Info

Publication number
JP2020126600A
JP2020126600A JP2019225306A JP2019225306A JP2020126600A JP 2020126600 A JP2020126600 A JP 2020126600A JP 2019225306 A JP2019225306 A JP 2019225306A JP 2019225306 A JP2019225306 A JP 2019225306A JP 2020126600 A JP2020126600 A JP 2020126600A
Authority
JP
Japan
Prior art keywords
data
message
geographic
resident
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019225306A
Other languages
English (en)
Other versions
JP7086918B2 (ja
Inventor
レッサ ラーグマン
Largman Raissa
レッサ ラーグマン
キース アダムズ
Adams Keith
キース アダムズ
ジェームズ シャインブラム
Scheinblum James
ジェームズ シャインブラム
リチャード クラウリー
Crowley Richard
リチャード クラウリー
ラットナディープ バッタチャルジー
Bhattacharjee Deep
ラットナディープ バッタチャルジー
マイロウ ワタナベ
Watanabe Milo
マイロウ ワタナベ
リア ジョーンズ
Jones Leah
リア ジョーンズ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Slack Technologies LLC
Original Assignee
Slack Technologies LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Slack Technologies LLC filed Critical Slack Technologies LLC
Publication of JP2020126600A publication Critical patent/JP2020126600A/ja
Priority to JP2022043400A priority Critical patent/JP7428742B2/ja
Application granted granted Critical
Publication of JP7086918B2 publication Critical patent/JP7086918B2/ja
Priority to JP2024009640A priority patent/JP7458565B1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】グループベースの通信システムにおいて地理的に分散されたデータ格納を管理するためのシステム、装置、方法及びコンピュータプログラム製品を提供する。【解決手段】第1の地理的境界によって規定される第1の地理的領域に物理的に位置する装置による方法であって、メッセージに関連付けられたエンティティ識別子が地理的データ格納ポリシーに関連付けられていると判断すると、装置は、メッセージのメッセージデータを含む地理的データ常駐メッセージパッケージを、第2の地理的境界によって規定された第2の地理的領域に物理的に位置する地理的データ常駐サーバに送信する。第2の地理的領域は、地理的データ格納ポリシーに関連付けられており、装置は、地理的データ常駐サーバから受信された常駐トークンデータでメッセージのメッセージデータを更新する。【選択図】図4B

Description

関連出願の相互参照
この出願は、2018年12月14日に出願された米国仮出願番号62/780,067、2019年9月3日に出願された米国仮出願番号62/895,333、及び2019年12月3日に提出された「METHODS, APPARATUSES, AND COMPUTER PROGRAM PRODUCTS FOR MANAGEMENT OF AND SEARCH INDEX GENERATION BASED ON GEOGARPHICALLY DISTRIBUTED DATA」という名称の米国非仮出願番号16/702,197の優先権を主張し、それぞれの内容はその全体の参照によってここに組み込まれる。
メッセージングシステムは、一般に、地理的に分散した様々なクライアントデバイス間の電子通信を容易にするように構成されている。出願人は、従来のメッセージングシステムにおけるメッセージデータの送信に関連する多くの欠陥及び問題を特定した。注いだ努力、創意工夫、及び革新を通じて、これらの特定された問題の多くは、本開示のいくつかの実施形態に含まれる解決策により解決された。
本開示は、グループベースの通信システムにおけるメッセージデータの送信及びアクセスの管理に関する。更に、本開示は、様々な地理的領域に格納するための1つ以上の検索インデックスの生成、及び/又はグループベースの通信システムに格納されたメッセージデータ(例えば、メッセージテキストデータ及び/又はメッセージファイルデータ)に関連付けられた1つ以上の検索インデックスの利用に関する。
実施形態では、グループベースの通信システムにおいて地理的に分散したデータの格納を管理するための装置が提供される。この装置は、第1の地理的境界によって規定された第1の地理的領域に物理的に位置している。この装置は、少なくとも1つのプロセッサと、コンピュータプログラムコードを含む少なくとも1つの非一時的メモリとを備え、この少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサにより、装置に以下を行わせるように構成されている:メッセージに関連付けられたエンティティ識別子(an entity identifier)が地理的データ格納ポリシーに関連付けられていると判定すると、そのメッセージのメッセージデータを含む地理的データ常駐メッセージパッケージを、第2の地理的境界によって規定された第2の地理的領域に物理的に位置する地理的データ常駐サーバに送信する。第2の地理的領域は、地理的データ格納ポリシーに関連付けられている。いくつかの実施形態では、少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサにより、装置に、更に、地理的データ常駐サーバから受信した常駐トークンデータで、メッセージのメッセージデータを更新するように構成されている。いくつかの実施形態では、少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサにより、装置に、更に、第1の地理的境界によって規定された第1の地理的領域に物理的に位置する地理的データ常駐ローカルリポジトリに、更新されたメッセージを格納させるように構成されている。いくつかの実施形態では、更新されたメッセージは、常駐トークンデータ、メッセージメタデータ、及びメッセージ識別子を含んでいる。いくつかの実施形態では、地理的データ常駐ローカルリポジトリアドレスは、地理的データ格納ポリシーに関連付けられた第2の地理的境界に物理的に位置する地理的データ常駐ローカルリポジトリに関連付けられている。いくつかの実施形態では、メッセージに関連付けられた受信者識別子は、作成者識別子が関連付けられているものとは異なる地理的データ格納ポリシーに関連付けられている。いくつかの実施形態では、装置は、更に、第2の地理的領域に物理的に位置する地理的データ常駐サーバがアクセス不可であるかを判定させられ、以下を行う;メッセージのメッセージデータを含む地理的データ常駐メッセージパッケージを、地理的データ格納ポリシーに関連付けさせられバックアップ地理的境界によって規定されたバックアップ地理的領域に物理的に位置する地理的データ常駐サーバに送信する;バックアップ地理的データ常駐サーバから受信したバックアップ常駐トークンデータでメッセージのメッセージデータを更新する;更新されたメッセージデータを、第1の地理的境界によって規定された第1の地理的領域に物理的に位置する地理的データ常駐ローカルリポジトリに格納する。追加又は代替として、いくつかの実施形態では、装置は、更に、第2の地理的領域に物理的に位置する地理的データ常駐サーバがアクセス可能になったことを判定し、バックアップ地理的領域に物理的に位置するバックアップ地理的データ常駐サーバからの地理的データ常駐メッセージパッケージを識別する。ここで、地理的データ常駐メッセージパッケージを物理的に第2の地理的領域に位置する地理的データ常駐サーバへ送信することは、第2の地理的領域に位置する地理的データ常駐サーバがアクセス可能になったとの判定に応答して行う。
実施形態では、グループベースの通信システムにおいて地理的に分散したデータ格納を管理するための装置が提供される。この装置は、第1の地理的境界によって規定された第1の地理的領域に物理的に位置している。この装置は、少なくとも1つのプロセッサと、コンピュータプログラムコードを含む少なくとも1つの非一時的メモリとを備え、この少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサにより、装置に、メッセージメタデータからエンティティ識別子を抽出させるように構成されている。いくつかの実施形態では、少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサにより、装置に、更に、エンティティ識別子が地理的データ格納ポリシーに関連付けられていると判定すると、メッセージのメッセージデータを含む地理的データ常駐メッセージパッケージを、第2の地理的境界によって規定された第2の地理的領域に物理的に位置する地理的データ常駐サーバに送信させるように構成されている。第2の地理的領域は、地理的データ格納ポリシーに関連付けられている。いくつかの実施形態では、少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサにより、装置に、更に、地理的データ常駐サーバから、メッセージデータに関連付けられた地理的データ常駐ローカルリポジトリアドレス、第2の地理的境界内に物理的に位置し、地理的データ格納ポリシーに関連付けられた地理的データ常駐ローカルリポジトリに関連付けられた地理的データ常駐ローカルリポジトリアドレスを参照する常駐トークンデータを受信させるように構成されている。いくつかの実施形態では、少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサにより、装置に、更に、地理的データ常駐サーバから受信した常駐トークンデータでメッセージのメッセージデータを更新させるように構成されている。更新されたメッセージは、常駐トークンデータ、メッセージメタデータ、及びメッセージ識別子を含んでいる。いくつかの実施形態では、少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサにより、装置に、更に、更新されたメッセージを、第1の地理的境界により規定された第1の地理的領域に物理的に位置するローカルリポジトリに格納させるように構成されている。
いくつかの実施形態では、地理的データ常駐メッセージパッケージは、メッセージデータのサブセットを含み、このメッセージデータのサブセットは、更新されたメッセージ内の常駐トークンデータで置き換えられる。いくつかの実施形態では、少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサにより、装置に、更に、第2のクライアントデバイスから、メッセージ識別子を含むメッセージ取得リクエストを受信させるように構成されている。いくつかの実施形態では、少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサにより、装置に、更に、ローカルリポジトリから更新されたメッセージを取得させるように構成されている。いくつかの実施形態では、少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサにより、装置に、更に、更新されたメッセージが常駐トークンデータを含むと判定すると、その常駐トークンデータを含む地理的データ常駐データ取得リクエストを、その常駐トークンデータに関連付けられた地理的データ常駐サーバに送信させるように構成されている。いくつかの実施形態では、少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサにより、装置に、更に、地理的データ常駐サーバから、常駐トークンデータに関連付けられた地理的データ常駐ローカルリポジトリアドレスにおける地理的データ常駐ローカルリポジトリに格納されたメッセージデータを受信させるように構成されている。いくつかの実施形態では、少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサにより、装置に、更に、クライアントデバイスにメッセージデータを送信させるように構成されている。
いくつかの実施形態では、第1の地理的境界は、第1の複数の緯度及び経度座標によって規定され、第2の地理的境界は、第2の複数の緯度及び経度座標によって規定されている。いくつかの実施形態では、第1の地理的境界は第1のデータ格納ポリシーに従い、第2の地理的境界は第2のデータ格納ポリシーに従う。いくつかの実施形態では、地理的データ常駐メッセージパッケージは、メッセージメタデータのサブセットを更に含み、このメッセージメタデータのサブセットはまた更新されたメッセージにおけるデータ常駐データで置き換えられる。いくつかの実施形態では、地理的データ常駐サーバは、第3の地理的境界によって規定された第3の地理的領域に物理的に位置している。いくつかの実施形態では、メッセージデータは短期メモリに格納され、メッセージデータが永続的に存在するのは地理的データ常駐ローカルリポジトリにおいてのみである。いくつかの実施形態では、地理的データ格納ポリシーは、特定の地理的境界に関連付けられた法的データ格納要件に関連付けられている。いくつかの実施形態では、第1の地理的境界、第2の地理的境界、及び特定の地理的境界の各々は、アジア、西ヨーロッパ、及び北米のうちの1つ以上である。いくつかの実施形態では、常駐トークンデータは、メッセージ識別子、格納場所識別子、又はメッセージ暗号化キーのうちの1つ以上を含んでいる。いくつかの実施形態では、メッセージに関連付けられたグループベースの通信チャネル識別子に関連付けられた少なくとも1つの組織識別子は、エンティティ識別子に関連付けられた組織識別子とは異なっている。いくつかの実施形態では、メッセージ暗号化キーは、組織識別子に関連付けられた第1のメッセージ暗号化キー及び少なくとも1つの組織識別子に関連付けられた第2のメッセージ暗号化キーを含んでいる。いくつかの実施形態では、このメッセージ暗号化キーは、グループベースの通信サーバによって管理された中央管理のメッセージ暗号化キーと組み合わせて復号に使用される。いくつかの実施形態では、常駐トークンデータは、装置によって受信される前に、地理的データ常駐サーバによってグループベースの通信暗号化キー管理サーバに送信される。いくつかの実施形態では、地理的データ常駐サーバが常駐トークンデータを位置特定できない場合に、地理的データ常駐サーバにメッセージ取得リクエストが転送される。
いくつかの例示的な実施形態では、グループベースの通信システムにおいて地理的に分散したデータ格納に基づき検索インデックスを生成するための装置が提供される。この装置は、第1の地理的境界によって規定された第1の地理的領域に物理的に位置している。この装置は、少なくとも1つのプロセッサと、コンピュータプログラムコードを含む少なくとも1つの非一時的メモリとを備え、少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサにより、装置に、第2の地理的境界によって規定された第2の地理的領域に位置する地理的データ常駐サーバから、少なくとも常駐トークンデータセットを含むメッセージメタデータセットを受信させるように構成されている。いくつかの実施形態では、少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサにより、装置に、更に、第2の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリから、少なくとも常駐トークンデータセットに基づくメッセージデータセットを取得させるように構成されている。いくつかの実施形態では、少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサにより、装置に、更に、メッセージメタデータセット及びメッセージデータセットに基づき検索インデックスを生成させるように構成されている。いくつかの実施形態では、少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサにより、装置に、更に、第2の地理的領域における地理的データ常駐ローカルリポジトリに検索インデックスを格納させるように構成されている。
いくつかの実施形態では、装置は、第2の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリから、少なくとも常駐トークンデータセットに基づくメッセージデータセットを以下によって取得するように構成されている:常駐トークンデータセットを含む地理的データ常駐データ取得リクエストを生成する;地理的データ常駐データ取得リクエストを第2の地理的領域に関連付けられた地理的データ常駐サーバに送信して、地理的データ常駐サーバに第2の地理的領域に関連付けられた地理的データ常駐ローカルリポジトリからメッセージデータを取得させる;そして、第2の地理的領域に関連付けられた地理的データ常駐サーバからの応答としてメッセージデータセットを受信する。
いくつかの実施形態では、装置は、第2の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリから、少なくとも常駐トークンデータセットに基づきメッセージデータセットを以下によって取得するように構成されている:常駐トークンデータセットに関連付けられた少なくとも1つの復号キーを識別する;常駐トークンデータセットを含む地理的データ常駐データ取得リクエストを生成する;第2の地理的領域に関連付けられた地理的データ常駐サーバからの応答として、暗号化されたメッセージデータセットを受信する;少なくとも1つのメッセージ復号キーを使用して暗号化されたメッセージセットを復号して、メッセージデータセットを識別する。
いくつかの実施形態では、装置は、1つ以上の常駐トークンデータセット又はメッセージ識別セットに基づきメッセージデータセットを取得するように構成されている。いくつかの実施形態では、地理的データ常駐ローカルリポジトリは、地理的データ常駐ローカルキャッシュを含んでいる。
いくつかの例示的な実施形態では、グループベースの通信システムにおける分散した検索インデックスを使用して検索結果データを生成するための装置が提供される。この装置は、第1の地理的境界によって規定された第1の地理的領域に物理的に位置している。この装置は、少なくとも1つのプロセッサと、コンピュータプログラムコードを含む少なくとも1つの非一時的メモリとを備え、少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサにより、装置に、リクエスタシステム(a requestor system)から、検索エンティティ識別子に関連付けられた検索リクエストを受信させるように構成されている。この検索エンティティ識別子は、第2の地理的境界によって規定された第2の地理的領域に関連付けられている。いくつかの実施形態では、少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサにより、装置に、更に、第2の地理的領域に関連付けられた地理的データ常駐サーバから、検索エンティティ識別子についての検索インデックスを取得させるように構成されている。いくつかの実施形態では、少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサにより、装置に、更に、検索インデックスに基づき検索結果データを識別させるように構成されている。いくつかの実施形態では、少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサにより、装置に、更に、検索結果データをリクエスタシステムに提供させるように構成されている。
いくつかの実施形態では、検索結果データは少なくともメッセージデータセットを含み、検索インデックスに基づき検索結果データを識別し、装置は、以下のように構成されている:検索リクエスト及び検索インデックスに基づき、検索結果データに関連付けられた常駐トークンデータセットを識別する;第2の地理的領域に関連付けられた地理的データ常駐サーバから、少なくとも常駐トークンデータセットに基づきメッセージデータセットを含む検索結果データを受信する;そして、少なくともメッセージデータセットを含む検索結果データをリクエスタシステムに提供する。
いくつかの実施形態では、メッセージデータセットは暗号化されたメッセージデータセットを含み、装置は、更に、以下のように構成されている:常駐トークンデータセットに基づきメッセージ復号キーセットを識別する;メッセージ復号キーセットに基づき暗号化されたメッセージデータセットを復号して、暗号化されていないメッセージデータセットを識別する;そして、その暗号化されていないメッセージデータセットを検索結果データに含める。
いくつかの実施形態では、装置は、更に、以下のように構成されている:エンティティ検索キーに基づき第2の地理的境界に関連付けられた地理的データ常駐サーバから検索インデックスを取得する。ここで、エンティティ検索キーは、検索エンティティ識別子に基づき取得可能である。
いくつかの例示的な実施形態では、グループベースの通信システムにおいて地理的に分散したデータ格納に基づき検索インデックスを生成するための装置が提供される。この装置は、第1の地理的境界によって規定された第1の地理的領域に物理的に位置している。この装置は、少なくとも1つのプロセッサと、コンピュータプログラムコードを含む少なくとも1つの非一時的メモリとを備え、この少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサにより、装置に、第1の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリから、共通のグループベースの通信チャネル識別子に関連付けられたメッセージメタデータセット及び第1のメッセージデータサブセットを取得するように構成されている。
いくつかの実施形態では、少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサにより、装置に、更に、第2の地理的境界によって規定された第2の地理的領域に位置する地理的データ常駐サーバから、少なくとも常駐トークンデータセットに基づき第2のメッセージデータサブセットを受信させるように構成されている。第2のメッセージデータサブセットは、共通のグループベースの通信チャネル識別子に関連付けられている。いくつかの実施形態では、少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサにより、装置に、更に、第1のメッセージデータサブセット、第2のメッセージデータサブセット、及びメッセージメタデータセットに基づき、検索インデックスを生成させるように構成されている。いくつかの実施形態では、少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサにより、装置に、更に、第1の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリに検索インデックスを格納させるように構成されている。
いくつかの実施形態では、第2のメッセージデータサブセットを取得するために、装置は、以下のように構成されている:第2の地理的領域に位置する地理的データ常駐サーバに少なくとも常駐トークンデータセットを送信し、ここで、第2の地理的領域における地理的データ常駐サーバは、常駐トークンデータセットに基づき、第2の地理的領域における第2の地理的データ常駐ローカルリポジトリから第2のメッセージデータサブセットを取得する;そして、この送信に応答して、第2の地理的領域における地理的データ常駐サーバから第1のメッセージデータサブセットを受信する。
いくつかの実施形態では、装置は、更に、共通のグループベースの通信チャネル識別子に関連付けられた第2のエンティティデータオブジェクト識別子の少なくとも1つのメッセージ復号キーを識別するように構成されている。いくつかの実施形態では、第2のエンティティデータオブジェクト識別子は、第2の地理的領域に対応するデータ常駐ポリシーデータオブジェクトに関連付けられている。
いくつかの実施形態では、第2のメッセージデータサブセットを取得するために、装置は、以下のように構成されている:第2の地理的領域に位置する地理的データ常駐サーバに常駐トークンデータセットを送信する、ここで、第2の地理的領域における地理的データ常駐サーバは、第2の復号メッセージデータサブセットを、第2の地理的領域における第2の地理的データ常駐ローカルリポジトリから、リポジトリトークンデータセットに基づき、取得する;第2の地理的領域における地理的データ常駐サーバから第2の暗号化メッセージデータのサブセットを受信する;そして、少なくとも1つのメッセージ復号キーを使用して、第2の暗号化メッセージデータサブセットを復号する。
いくつかの実施形態では、装置は、更に、メッセージメタデータセット又は常駐トークンデータセットの一部の1つ以上に基づき、第2の地理的領域に関連付けられた地理的データ常駐サーバを特定するように構成されている。いくつかの実施形態では、装置は、更に、第2の地理的境界に関連付けられた地理的データ常駐サーバにメッセージメタデータセットを複製させるように構成されている。
いくつかの例示的な実施形態では、グループベースの通信システムにおいて地理的に分散したデータ格納を管理するためのコンピュータに実装された方法が提供される。このコンピュータに実装された方法は、メッセージに関連付けられたエンティティ識別子が地理的データ格納ポリシーに関連付けられていると判定すると、メッセージのメッセージデータを含む地理的データ常駐メッセージパッケージを、第2の地理的境界によって規定された第2の地理的領域に物理的に位置する地理的データ常駐サーバに送信する。第2の地理的領域は、地理的データ格納ポリシーに関連付けられている。いくつかの実施形態では、コンピュータに実装された方法は、更に、地理的データ常駐サーバから受信した常駐トークンデータでメッセージのメッセージデータを更新することを含んでいる。いくつかの実施形態では、コンピュータに実装された方法は、更に、第1の地理的境界によって規定された第1の地理的領域に物理的に位置する地理的データ常駐ローカルリポジトリに、更新されたメッセージを格納することを含んでいる。いくつかの実施形態では、コンピュータに実装された方法は、更に、以下を含んでいる:第2の地理的領域に物理的に位置する地理的データ常駐サーバがアクセス不可であると判定する;メッセージのメッセージデータを含む地理的データ常駐メッセージパッケージを、バックアップ地理的境界によって規定された地理的データ格納ポリシーに関連付けられたバックアップ地理的領域に物理的に位置するバックアップ地理的データ常駐サーバに送信する;バックアップ地理的データ常駐サーバから受信したバックアップ常駐トークンデータで、メッセージのメッセージデータを更新する;そして、この更新されたメッセージデータを、第1の地理的境界によって規定された第1の地理的領域に物理的に位置する地理的データ常駐ローカルリポジトリに格納する。追加又は代替として、いくつかの実施形態では、コンピュータに実装された方法は、更に、第2の地理的領域に物理的に位置する地理的データ常駐サーバがアクセス可能になったことを判定し、バックアップ地理的領域に物理的に位置するバックアップ地理的データ常駐サーバから地理的データ常駐メッセージパッケージを識別することを含んでいる。ここで、地理的データ常駐メッセージパッケージを第2の地理的領域に物理的に位置する地理的データ常駐サーバへ送信するのは、第2の地理的領域に位置する地理的データ常駐サーバがアクセス可能になったとの判定に応答して行う。
いくつかの実施形態では、更新されたメッセージは、常駐トークンデータ、メッセージメタデータ、及びメッセージ識別子を含んでいる。いくつかの実施形態では、地理的データ常駐ローカルリポジトリアドレスは、地理的データ格納ポリシーに関連付けられた第2の地理的境界内に物理的に位置する地理的データ常駐ローカルリポジトリに関連付けられている。いくつかの実施形態では、メッセージに関連付けられた受信者識別子は、作成者識別子が関連付けられているものとは異なる地理的データ格納ポリシーに関連付けられている。
いくつかの例示的な実施形態では、グループベースの通信システムにおける地理的に分散したデータ格納を管理するためのコンピュータに実装された方法が提供される。このコンピュータに実装された方法は、第1のクライアントデバイスから、第1の地理的境界によって規定された第1の地理的領域に物理的に位置する装置において、メッセージデータ、メッセージメタデータ、及びメッセージ識別子を含むメッセージを受信することを含んでいる。いくつかの実施形態では、コンピュータに実装された方法は、更に、メッセージメタデータからエンティティ識別子を抽出することを含んでいる。いくつかの実施形態では、コンピュータに実装された方法は、更に、エンティティ識別子が地理的データ格納ポリシーに関連付けられていると判定すると、メッセージのメッセージデータを含む地理的データ常駐メッセージパッケージを、第2の地理的境界によって規定された第2の地理的領域に物理的に位置する地理的データ常駐サーバに送信することを含んでいる。第2の地理的領域は、地理的データ格納ポリシーに関連付けられている。いくつかの実施形態では、コンピュータに実装された方法は、更に、地理的データ常駐サーバから、メッセージデータに関連する地理的データ常駐ローカルリポジトリアドレスを参照する常駐トークンデータを受信することを含んでいる。この地理的データ常駐ローカルリポジトリアドレスは、地理的データ格納ポリシーに関連付けられた第2の地理的境界内に物理的に位置する地理的データ常駐ローカルリポジトリに関連付けられている。いくつかの実施形態では、コンピュータに実装された方法は、更に、地理的データ常駐サーバから受信した常駐トークンデータでメッセージのメッセージデータを更新することを含んでいる。この更新されたメッセージは、常駐トークンデータ、メッセージメタデータ、及びメッセージ識別子を含んでいる。いくつかの実施形態では、コンピュータに実装された方法は、更に、第1の地理的境界によって規定された第1の地理的領域に物理的に位置するローカルリポジトリに、この更新されたメッセージを格納することを含んでいる。
いくつかの実施形態では、地理的データ常駐メッセージパッケージは、メッセージデータのサブセットを含み、メッセージデータのサブセットは、更新されたメッセージにおける常駐トークンデータで置き換えられる。
いくつかの実施形態では、コンピュータに実装された方法は、更に、第2のクライアントデバイスから、メッセージ取得リクエストを受信することを含み、このメッセージ取得リクエストは、メッセージ識別子を含んでいる。いくつかの実施形態では、コンピュータに実装された方法は、更に、ローカルリポジトリから更新されたメッセージを取得することを含んでいる。いくつかの実施形態では、コンピュータに実装された方法は、更に、更新されたメッセージが常駐トークンデータを含むと判定すると、常駐トークンデータを含む地理的データ常駐データ取得リクエストを常駐トークンデータに関連付けられた地理的データ常駐サーバに送信することを含んでいる。いくつかの実施形態では、コンピュータに実装された方法は、更に、地理的データ常駐サーバから、常駐トークンデータに関連付けられた地理的データ常駐ローカルリポジトリアドレスにおける地理的データ常駐ローカルリポジトリに格納されたメッセージデータを受信することを含んでいる。いくつかの実施形態では、コンピュータに実装された方法は、更に、メッセージデータをクライアントデバイスに送信することを含んでいる。
いくつかの実施形態では、第1の地理的境界は第1の複数の緯度及び経度座標によって規定され、第2の地理的境界は第2の複数の緯度及び経度座標によって規定される。いくつかの実施形態では、第1の地理的境界は第1のデータ格納ポリシーに従い、第2の地理的境界は第2のデータ格納ポリシーに従う。いくつかの実施形態では、地理的データ常駐メッセージパッケージは、更に、メッセージメタデータのサブセットを含み、メッセージメタデータのサブセットはまた更新されたメッセージ内のデータ常駐データで置き換えられる。いくつかの実施形態では、地理的データ常駐サーバは、第3の地理的境界によって規定された第3の地理的領域に物理的に位置している。いくつかの実施形態では、メッセージデータは短期メモリに格納され、メッセージデータが永続的に存在するのは地理的データ常駐ローカルリポジトリにおいてのみである。いくつかの実施形態では、地理的データ格納ポリシーは、特定の地理的境界に関連付けられた法的データ格納要件に関連付けられている。いくつかの実施形態では、第1の地理的境界、第2の地理的境界、及び特定の地理的境界の各々は、アジア、西ヨーロッパ、及び北米のうちの1つ以上である。いくつかの実施形態では、常駐トークンデータは、メッセージ識別子、格納場所識別子、又はメッセージ暗号化キーのうちの1つ以上を含んでいる。いくつかの実施形態では、メッセージに関連付けられたグループベースの通信チャネル識別子に関連付けられた少なくとも1つの組織識別子は、エンティティ識別子に関連付けられた組織識別子とは異なっている。いくつかの実施形態では、メッセージ暗号化キーは、組織識別子に関連付けられた第1のメッセージ暗号化キー及び少なくとも1つの組織識別子に関連付けられた第2のメッセージ暗号化キーを含んでいる。いくつかの実施形態では、このメッセージ暗号化キーは、グループベースの通信サーバによって管理された中央管理のメッセージ暗号化キーと組み合わせて復号に使用される。いくつかの実施形態では、常駐トークンデータは、装置によって受信される前に、地理的データ常駐サーバによってグループベースの通信暗号化キー管理サーバに送信される。いくつかの実施形態では、地理的データ常駐サーバが常駐トークンデータを位置特定できない場合に、地理的データ常駐サーバにメッセージ取得リクエストが転送される。
いくつかの実施形態では、グループベースの通信システムにおける地理的に分散したデータ格納に基づき検索インデックスを生成するためのコンピュータに実装された方法が提供される。このコンピュータに実装された方法は、第2の地理的境界によって規定された第2の地理的領域に位置する地理的データ常駐サーバから、第1の地理的境界によって規定された第1の地理的領域に物理的に位置する装置で、少なくとも1つの常駐トークンデータセットを含むメッセージメタデータを受信することを含んでいる。いくつかの実施形態では、コンピュータに実装された方法は、更に、第2の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリから、少なくとも常駐トークンデータセットに基づくメッセージデータセットを取得することを含んでいる。いくつかの実施形態では、コンピュータに実装された方法は、更に、メッセージメタデータセット及びメッセージデータセットに基づき検索インデックスを生成することを含んでいる。いくつかの実施形態では、コンピュータに実装された方法は、更に、第2の地理的領域の地理的データ常駐ローカルリポジトリに検索インデックスを格納することを含んでいる。いくつかの実施形態では、第2の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリから、少なくとも常駐トークンデータセットに基づくメッセージデータセットを取得することは、以下を含んでいる:常駐トークンデータセットを含む地理的データ常駐データ取得リクエストを生成する;地理的データ常駐データ取得リクエストを第2の地理的領域に関連付けられた地理的データ常駐サーバに送信して、地理的データ常駐サーバに、第2の地理的領域に関連付けられた地理的データ常駐ローカルリポジトリからメッセージデータを取得させる;そして、第2の地理的領域に関連付けられた地理的データ常駐サーバからの応答としてメッセージデータセットを受信する。
いくつかの実施形態では、第2の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリから、少なくとも常駐トークンデータセットに基づくメッセージデータセットを取得することは、以下を含む:常駐トークンに関連する少なくとも1つのメッセージ復号キーを識別する;常駐トークンデータセットを含む地理的データ常駐データ取得リクエストを生成する;暗号化されたメッセージデータセットを、第2の地理的領域に関連付けられた地理的データ常駐サーバからの応答として受信する;そして、少なくとも1つのメッセージ復号キーを使用して暗号化されたメッセージセットを復号して、メッセージデータセットを識別する。
いくつかの実施形態では、コンピュータに実装された方法は、更に、常駐トークンデータセット又はメッセージ識別セットのうちの1つ以上に基づきメッセージデータセットを取得することを含んでいる。いくつかの実施形態では、地理的データ常駐ローカルリポジトリは、地理的データ常駐ローカルキャッシュを含んでいる。
いくつかの実施形態では、グループベースの通信システムにおける分散した検索インデックスを使用して検索結果データを生成するためのコンピュータに実装された方法が提供される。このコンピュータに実装された方法は、リクエスタシステムから、第1の地理的境界によって規定された第1の地理的領域に物理的に位置する装置で、検索エンティティ識別子に関連付けられた検索リクエストを受信することを含んでいる。この検索エンティティ識別子は、第2の地理的境界によって規定された第2の地理的領域に関連付けられている。いくつかの実施形態では、コンピュータに実装された方法は、更に、第2の地理的領域に関連付けられた地理的データ常駐サーバから、検索エンティティ識別子の検索インデックスを取得することを含んでいる。いくつかの実施形態では、コンピュータに実装された方法は、更に、検索インデックスに基づき検索結果データを識別することを含んでいる。いくつかの実施形態では、コンピュータに実装された方法は、更に、検索結果データをリクエスタシステムに提供することを含んでいる。
いくつかの実施形態では、検索結果データは少なくともメッセージデータセットを含み、検索インデックスに基づき検索結果データを識別することは以下を含む:検索リクエスト及び検索インデックスに基づき、検索結果データに関連する常駐トークンデータセットを識別する;第2の地理的領域に関連付けられた地理的データ常駐サーバから、少なくとも常駐トークンデータセットに基づくメッセージデータセットを含む検索結果データを受信する;そして、少なくともメッセージデータセットを含む検索結果データをリクエスタシステムに提供する。
いくつかの実施形態では、メッセージデータセットは暗号化されたメッセージデータセットを含み、この方法は、更に、常駐トークンデータセットに基づきメッセージ復号キーセットを識別する;メッセージ復号キーセットに基づき暗号化されたメッセージデータセットを復号して、暗号化されていないメッセージデータセットを識別する;そして、その暗号化されていないメッセージデータセットを検索結果データに含める。いくつかの実施形態では、コンピュータに実装された方法は、更に、検索エンティティ識別子に基づき取得可能なエンティティ検索キーに基づき、第2の地理的境界に関連付けられた地理的データ常駐サーバから、検索インデックスを取得することを含んでいる。
いくつかの実施形態では、グループベースの通信システムにおける地理的に分散したデータ格納に基づき検索インデックスを生成するためのコンピュータに実装された方法が提供される。このコンピュータに実装された方法は、第1の地理的境界によって規定された第1の地理的領域に物理的に位置する装置により、第1の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリから、共通のグループベースの通信チャネル識別子に関連付けられたメッセージメタデータセット及び第1のメッセージデータサブセットを取得することを含んでいる。いくつかの実施形態では、コンピュータに実装された方法は、更に、第2の地理的境界によって規定された第2の地理的領域に位置する地理的データ常駐サーバから、少なくともメッセージメタデータセットの常駐トークンデータセットに基づく第2のメッセージデータサブセットを受信することを含んでいる。この第2のメッセージデータサブセットは、共通のグループベースの通信チャネル識別子に関連付けられている。いくつかの実施形態では、コンピュータに実装された方法は、更に、第1のメッセージデータサブセット、第2のメッセージデータサブセット、及びメッセージメタデータセットに基づき、検索インデックスを生成することを含んでいる。いくつかの実施形態では、コンピュータに実装された方法は、更に、第1の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリに検索インデックスを格納することを含んでいる。
いくつかの実施形態では、第2のメッセージデータサブセットを取得することは、以下を含む:少なくとも常駐トークンデータセットを第2の地理的領域に位置する地理的データ常駐サーバに送信し、ここで、この第2の地理的領域における地理的データ常駐サーバは、常駐トークンデータセットに基づき、第2のメッセージデータサブセットを、第2の地理的領域における第2の地理的データ常駐ローカルリポジトリから取得する;そして、その送信に応答して、第1のメッセージデータサブセット第2の地理的領域における地理的データ常駐サーバからを受信する。
いくつかの実施形態では、コンピュータに実装された方法は、更に、共通のグループベースの通信チャネル識別子に関連付けられた第2のエンティティデータオブジェクト識別子の少なくとも1つのメッセージ復号キーを識別することを含んでいる。いくつかの実施形態では、第2のエンティティデータオブジェクト識別子は、第2の地理的領域に対応するデータ常駐ポリシーデータオブジェクトに関連付けられている。
いくつかの実施形態では、第2のメッセージデータサブセットを取得することは、以下を含んでいる:常駐トークンデータセットを、第2の地理的領域に位置する地理的データ常駐サーバに送信する、ここで、この第2の地理的領域における地理的データ常駐サーバは、常駐トークンデータセットに基づき、第2の地理的領域における第2の地理的データ常駐ローカルリポジトリから第2の暗号化されたメッセージデータサブセットを取得する;この第2の地理的領域における地理的データ常駐サーバから第2の暗号化メッセージデータサブセットを受信する;少なくとも1つのメッセージ復号キーを利用して、第2の暗号化メッセージデータサブセットを復号する。
いくつかの実施形態では、この方法は、更に、メッセージメタデータセット又は常駐トークンデータセットの一部の1つ以上に基づき、第2の地理的領域に関連付けられた地理的データ常駐サーバを特定することを含んでいる。
いくつかの実施形態では、この方法は、更に、第2の地理的境界に関連付けられた地理的データ常駐サーバに、メッセージメタデータセットを複製させることを含んでいる。
いくつかの例示的な実施形態では、グループベースの通信システムにおける地理的に分散したデータ格納を管理するためのコンピュータプログラム製品が提供される。このコンピュータプログラム製品は、コンピュータ実行可能プログラムコード命令が格納された少なくとも1つの非一時的コンピュータ可読記憶媒体を備え、プロセッサで実行されるこのコンピュータ実行可能プログラムコード命令は、以下のように構成されている:メッセージに関連付けられたエンティティ識別子が、地理的データ格納ポリシーに関連付けられていると判定すると、メッセージのメッセージデータを含む地理的データ常駐メッセージパッケージを、第2の地理的境界によって規定された第2の地理的領域に物理的に位置する地理的データ常駐サーバに送信する。この第2の地理的領域は、地理的データ格納ポリシーに関連付けられている。プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、地理的データ常駐サーバから受信した常駐トークンデータでメッセージのメッセージデータを更新するように構成されている。プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、第1の地理的境界によって規定された第1の地理的領域に物理的に位置する地理的データ常駐ローカルリポジトリに、更新されたメッセージを格納するように構成されている。いくつかの実施形態では、このコンピュータプログラム製品は、更に、以下のように構成されている:第2の地理的領域に物理的に位置する地理的データ常駐サーバがアクセス不可であると判定する;メッセージのメッセージデータを含む地理的データ常駐メッセージパッケージを、地理的データ格納ポリシーに関連付けられたバックアップ地理的境界により規定された、バックアップ地理的領域に物理的に位置する地理的データ常駐サーバに送信する;メッセージのメッセージデータを、バックアップ地理的データ常駐サーバから受信したバックアップ常駐トークンデータで更新する;そして、この更新されたメッセージデータを、第1の地理的境界によって規定された第1の地理的領域に物理的に位置する地理的データ常駐ローカルリポジトリに格納する。追加又は代替として、いくつかの実施形態では、コンピュータプログラム製品は、更に、第2の地理的領域に物理的に位置する地理的データ常駐サーバがアクセス可能になったことを判定し、バックアップ地理的領域に物理的に位置するバックアップ地理的データ常駐サーバからの地理的データ常駐メッセージパッケージを識別するように構成されている。ここで、地理的データ常駐メッセージパッケージを第2の地理的領域に物理的に位置する地理的データ常駐サーバへの送信は、第2の地理的領域に位置する地理的データ常駐サーバがアクセス可能になったとの判定に応答して行う。
いくつかの実施形態では、更新されたメッセージは、常駐トークンデータ、メッセージメタデータ、及びメッセージ識別子を含んでいる。
いくつかの実施形態では、地理的データ常駐ローカルリポジトリアドレスは、地理的データ格納ポリシーに関連付けられた第2の地理的境界内に物理的に位置する地理的データ常駐ローカルリポジトリに関連付けられている。
いくつかの実施形態では、メッセージに関連付けられた受信者識別子は、作成者識別子が関連付けられているものとは異なる地理的データ格納ポリシーに関連付けられている。
いくつかの例示的な実施形態では、グループベースの通信システムにおける地理的に分散したデータ格納を管理するためのコンピュータプログラム製品が提供される。このコンピュータプログラム製品は、コンピュータ実行可能プログラムコード命令が格納された少なくとも1つの非一時的コンピュータ可読記憶媒体を備え、プロセッサで実行されるこのコンピュータ実行可能プログラムコード命令は、以下のように構成されている。第1のクライアントデバイスから、第1の地理的境界により規定された第1の地理的領域に物理的に位置する装置において、メッセージデータ、メッセージメタデータ、及びメッセージ識別子を含むメッセージを受信する。プロセッサで実行されるこのコンピュータ実行可能プログラムコード命令は、更に、メッセージメタデータからエンティティ識別子を抽出するように構成されている。プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、エンティティ識別子が地理的データ格納ポリシーに関連付けられていると判定すると、メッセージのメッセージデータを含む地理的データ常駐メッセージパッケージを、第2の地理的境界によって規定された第2の地理的領域に物理的に位置する地理的データ常駐サーバに送信するように構成されている。この第2の地理的領域は、地理的データ格納ポリシーに関連付けられている。プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、地理的データ常駐サーバから、メッセージデータに関連付けられた地理的データ常駐ローカルリポジトリアドレスを参照する常駐トークンデータを受信するように構成されている。この地理的データ常駐ローカルリポジトリアドレスは、地理的データ格納ポリシーに関連付けられた第2の地理的境界内に物理的に位置する、地理的データ常駐ローカルリポジトリに関連付けられている。プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、メッセージのメッセージデータを、地理的データ常駐サーバから受信した常駐トークンデータで更新するように構成されている。この更新されたメッセージは、常駐トークンデータ、メッセージメタデータ、及びメッセージ識別子を含んでいる。プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、この更新されたメッセージを、第1の地理的境界によって規定された第1の地理的領域に物理的に位置するローカルリポジトリに格納するように構成されている。
いくつかの実施形態では、地理的データ常駐メッセージパッケージは、メッセージデータのサブセットを含み、このメッセージデータのサブセットは、更新されたメッセージ内の常駐トークンデータに置き換えられる。
いくつかの実施形態では、プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、以下のように構成されている:第2のクライアントデバイスから、メッセージ識別子を含む、メッセージ取得リクエストを受信する;ローカルリポジトリから、更新されたメッセージを取得する;この更新されたメッセージが常駐トークンデータを含むと判定したら、この常駐トークンデータを含む地理的データ常駐データ取得リクエストを、その常駐トークンデータに関連付けられた地理的データ常駐サーバに送信する;地理的データ常駐サーバから、その常駐トークンデータに関連付けられた地理的データ常駐ローカルリポジトリアドレスにおける地理的データ常駐ローカルリポジトリに格納されたメッセージデータを受信する;このメッセージデータをクライアントデバイスに送信する。
いくつかの実施形態では、第1の地理的境界は、第1の複数の緯度及び経度座標によって規定され、第2の地理的境界は、第2の複数の緯度及び経度座標によって規定される。いくつかの実施形態では、第1の地理的境界は第1のデータ格納ポリシーに従い、第2の地理的境界は第2のデータ格納ポリシーに従う。いくつかの実施形態では、地理的データ常駐メッセージパッケージは、更に、メッセージメタデータのサブセットを含み、このメッセージメタデータのサブセットはまた更新されたメッセージ内のデータ常駐データで置き換えられる。いくつかの実施形態では、地理的データ常駐サーバは、第3の地理的境界によって規定された第3の地理的領域に物理的に位置している。いくつかの実施形態では、メッセージデータは短期メモリに格納され、メッセージデータが永続的に存在するのは地理的データ常駐ローカルリポジトリにおいてのみである。いくつかの実施形態では、地理的データ格納ポリシーは、特定の地理的境界に関連付けられた法的データ格納要件に関連付けられている。いくつかの実施形態では、第1の地理的境界、第2の地理的境界、及び特定の地理的境界の各々は、アジア、西ヨーロッパ、及び北米のうちの1つ以上である。いくつかの実施形態では、常駐トークンデータは、メッセージ識別子、格納場所識別子、又はメッセージ暗号化キーのうちの1つ以上を含んでいる。
いくつかの実施形態では、メッセージに関連付けられたグループベースの通信チャネル識別子に関連付けられた少なくとも1つの組織識別子は、エンティティ識別子に関連付けられた組織識別子とは異なっている。いくつかの実施形態では、メッセージ暗号化キーは、組織識別子に関連付けられた第1のメッセージ暗号化キー及び少なくとも1つの組織識別子に関連付けられた第2のメッセージ暗号化キーを含んでいる。いくつかの実施形態では、このメッセージ暗号化キーは、グループベースの通信サーバによって管理された中央管理のメッセージ暗号化キーと組み合わせて復号に使用される。いくつかの実施形態では、常駐トークンデータは、装置によって受信される前に、地理的データ常駐サーバによってグループベースの通信暗号化キー管理サーバに送信される。いくつかの実施形態では、地理的データ常駐サーバが常駐トークンデータを位置特定できない場合に、地理的データ常駐サーバにメッセージ取得リクエストが転送される。
いくつかの実施形態では、グループベースの通信システムにおける地理的に分散したデータ格納に基づき検索インデックスを生成するためのコンピュータプログラム製品が提供される。このコンピュータプログラム製品は、コンピュータ実行可能プログラムコード命令が格納された少なくとも1つの非一時的コンピュータ可読記憶媒体を備え、プロセッサで実行されるこのコンピュータ実行可能プログラムコード命令は、以下のように構成されている:第1の地理的境界により規定された第1の地理的領域に位置する装置において、第2の地理的境界により規定された第2の地理的領域に位置する地理的データ常駐サーバから、少なくとも常駐トークンデータセットを含むメッセージメタデータセットを受信する。いくつかの実施形態では、プロセッサで実行されるこのコンピュータ実行可能プログラムコード命令は、更に、第2の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリから、少なくとも常駐トークンデータセットに基づくメッセージデータセットを取得するように構成されている。いくつかの実施形態では、プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、メッセージメタデータセット及びメッセージデータセットに基づき検索インデックスを生成するように構成されている。いくつかの実施形態では、プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、第2の地理的領域における地理的データ常駐ローカルリポジトリに検索インデックスを格納するように構成されている。
いくつかの実施形態では、プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、第2の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリから、少なくとも常駐トークンデータセットに基づき、以下によってメッセージデータセットを取得するように構成されている:常駐トークンデータセットを含む地理的データ常駐データ取得リクエストを生成する;地理的データ常駐データ取得リクエストを、第2の地理的領域に関連付けられた地理的データ常駐サーバに送信して、この地理的データ常駐サーバに、第2の地理的領域に関連付けられた地理的データ常駐ローカルリポジトリからメッセージデータを取得する;そして、第2の地理的領域に関連付けられたこの地理的データ常駐サーバからの応答としてメッセージデータセットを受信する。
いくつかの実施形態では、プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、第2の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリから、少なくとも常駐トークンデータセットに基づくメッセージデータセットを、以下によって取得するように構成されている:常駐トークンデータセットに関連付けられた少なくとも1つのメッセージ復号キーを識別する;常駐トークンデータセットを含む地理的データ常駐データ取得リクエストを生成する;暗号化メッセージデータセットを、第2の地理的領域に関連付けられた地理的データ常駐サーバからの応答として受信する;そして、少なくとも1つのメッセージ復号キーを使用して、暗号化されたメッセージセットを復号して、メッセージデータセットを識別する。
いくつかの実施形態では、プロセッサで実行されるこのコンピュータ実行可能プログラムコード命令は、更に、常駐トークンデータセット又はメッセージ識別セットの1つ以上に基づきメッセージデータセットを取得するように構成されている。いくつかの実施形態では、地理的データ常駐ローカルリポジトリは、地理的データ常駐ローカルキャッシュを含んでいる。
いくつかの実施形態では、グループベースの通信システムにおける分散した検索インデックスを使用して、検索結果データを生成するためのコンピュータプログラム製品が提供される。このコンピュータプログラム製品は、コンピュータ実行可能プログラムコード命令が格納された少なくとも1つの非一時的コンピュータ可読記憶媒体を備え、プロセッサで実行されるこのコンピュータ実行可能プログラムコード命令は以下のように構成されている:第1の地理的境界によって規定された第1の地理的領域に位置する装置において、リクエスタシステムから、検索エンティティ識別子に関連付けられた検索リクエストを受信する。この検索エンティティ識別子は、第2の地理的境界によって規定された第2の地理的領域に関連付けられている。いくつかの実施形態では、プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、第2の地理的領域に関連付けられた地理的データ常駐サーバから、検索エンティティ識別子についての検索インデックスを取得するように構成されている。いくつかの実施形態では、プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、検索インデックスに基づき検索結果データを識別するように構成されている。いくつかの実施形態では、プロセッサで実行されるこのコンピュータ実行可能プログラムコード命令は、更に、検索結果データをリクエスタシステムに提供するように構成されている。いくつかの実施形態では、この検索結果データは少なくともメッセージデータセットを含み、検索インデックスに基づき検索結果データを識別するために、プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、以下のように構成されている:検索リクエスト及び検索インデックスに基づき、検索結果データに関連付けられた常駐トークンデータセットを識別する;第2の地理的領域に関連付けられた地理的データ常駐サーバから、少なくとも常駐トークンデータセットに基づくメッセージデータセットを含む検索結果データを受信する;そして、少なくともメッセージデータセットを含む検索結果データをリクエスタシステムに提供する。
いくつかの実施形態では、メッセージデータセットは暗号化されたメッセージデータセットを含み、プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、以下のように構成されている:常駐トークンデータセットに基づきメッセージ復号キーセットを識別する;このメッセージ復号キーセットに基づき暗号化メッセージデータセットを復号して、暗号化されていないメッセージデータセットを識別する;この暗号化されていないメッセージデータセットを検索結果データに含める;いくつかの実施形態では、プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、以下のように構成されている:エンティティ検索キーに基づき第2の地理的境界に関連付けられた地理的データ常駐サーバから検索インデックスを取得する、ここで、このエンティティ検索キーは、検索エンティティ識別子に基づき取得可能である。
いくつかの実施形態では、グループベースの通信システムにおける地理的に分散したデータ格納に基づき検索インデックスを生成するためのコンピュータプログラム製品が提供される。コンピュータプログラム製品は、コンピュータ実行可能プログラムコード命令が格納された少なくとも1つの非一時的コンピュータ可読記憶媒体を備えている。プロセッサで実行されるこのコンピュータ実行可能プログラムコード命令は、第1の地理的境界により規定された第1の地理的領域に位置する装置において、第1の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリから、第1のメッセージデータサブセット、及び共通グループベースの通信チャネル識別子に関連付けられたメッセージメタデータセットを取得するように構成されている。いくつかの実施形態では、プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、第2の地理的境界によって規定された第2の地理的領域に位置する地理的データ常駐サーバから、少なくともメッセージメタデータセットの常駐トークンデータセットに基づく第2のメッセージデータサブセットを受信するように更に構成されており、この第2のメッセージデータサブセットは、共通のグループベースの通信チャネル識別子に関連付けられている。いくつかの実施形態では、プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、第1のメッセージデータサブセット、第2のメッセージデータサブセット、及びメッセージメタデータセットに基づき検索インデックスを生成するように構成されている。いくつかの実施形態では、プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、第1の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリに検索インデックスを格納するように更に構成されている。
いくつかの実施形態では、第2のメッセージデータサブセットを取得するために、プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、以下のように構成されている:少なくとも常駐トークンデータセットを第2の地理的領域に位置する地理的データ常駐サーバに送信する、ここで、この第2の地理的領域に位置する地理的データ常駐サーバは、常駐トークンデータセットに基づき、第2の地理的領域における第2の地理的データ常駐ローカルリポジトリから第2のメッセージデータサブセットを取得する;送信に応答して、第2の地理的領域における地理的データ常駐サーバから第1のメッセージデータサブセットを受信する。
いくつかの実施形態では、プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、共通のグループベースの通信チャネル識別子に関連付けられた第2のエンティティデータオブジェクト識別子の少なくとも1つのメッセージ復号キーを識別するように構成されている。いくつかの実施形態では、この第2のエンティティデータオブジェクト識別子は、第2の地理的領域に対応したデータ常駐ポリシーデータオブジェクトに関連付けられている。いくつかの実施形態では、第2のメッセージデータサブセットを取得するために、プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、以下のように構成されている:常駐トークンデータセットを第2の地理的領域に位置する地理的データ常駐サーバに送信する、ここで、この第2の地理的領域における地理的データ常駐サーバは、第2の暗号化メッセージデータサブセットを、第2の地理的領域における第2の地理的データ常駐ローカルリポジトリから、常駐トークンデータセットに基づき、取得する;第2の暗号化メッセージデータサブセットを、第2の地理的領域における地理的データ常駐サーバから受信する;少なくとも1つのメッセージ復号キーを利用して、第2の暗号化メッセージデータサブセットを復号する。
いくつかの実施形態では、プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、メッセージメタデータセットの一部の1つ以上又は常駐トークンデータセットに基づき第2の地理的領域に関連付けられた地理的データ常駐サーバを識別するように構成されている。いくつかの実施形態では、プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、第2の地理的境界に関連する地理的データ常駐サーバにメッセージメタデータセットを複製させるように構成されている。
その他のシステム、装置、方法、コンピュータ可読媒体、及び特徴は、以下の図面及び詳細な説明から、当業者に明らかである。そのような追加のシステム、装置、方法、コンピュータ可読媒体、及び機能はすべて、本明細書に含まれ、本開示の範囲に含まれ、特許請求の範囲によって保護される。
前記では本開示を一般的な用語で説明したが、以下では、添付図面を参照する。尚、図面は必ずしも縮尺通りに描かれていない。
本開示の実施形態を実施するように構成されたグループベースの通信システムのシステムアーキテクチャを示す図である。 本開示の実施形態に係るコンピューティングエンティティを示す例示的な概略図である。 本開示の実施形態に係る例示的な遠隔装置を示す概略図である。 本開示の実施形態に係る、地理的に分散したデータ格納を管理するための例示的な信号送信フローを示す図である。 本開示の実施形態に係る、地理的に分散したデータ格納を管理するための例示的なデータフローを示す図である。 本開示の実施形態に係る、地理的に分散したデータ格納を取得するための例示的な信号送信フローを示す図である。 本開示の実施形態に係る、地理的に分散したデータ格納を取得するための例示的なデータフローを示す図である。 本開示の実施形態に係る、地理的領域に関連付けられた検索インデックスを生成するための例示的なデータフローを示す図である。 本開示の実施形態に係る、格納された検索インデックスを利用して検索リクエストを処理するための例示的なデータフローを示す図である。 本開示の実施形態に係る、検索インデックス生成のために実行される例示的な動作を示す図である。 本開示の実施形態に係る、検索インデックス生成のために実行される例示的な動作を示す図である。 本開示の実施形態に係る、検索インデックス生成のために実行される例示的な動作を示す図である。 本開示の実施形態に係る、検索インデックス生成のために実行される例示的な動作を示す図である。 本開示の実施形態に係る、検索インデックス生成のために実行される例示的な動作を示す図である。 本開示の実施形態に係る、検索インデックス生成のために実行される例示的な動作を示す図である。 本開示の実施形態に係る、検索インデックスを利用するための例示的な動作を示す図である。 本開示の実施形態に係る、検索インデックスを利用するための例示的な動作を示す図である。
詳細な説明
以下、本開示の実施形態を、本開示のすべてではないがいくつかの実施形態が示されている添付の図面を参照して、より完全に説明する。実際、本開示の実施形態は、多くの異なる形態で具現化することができ、本明細書に記載の実施形態に限定されると解釈されるべきではない。これらの実施形態は、本開示が、適用される法的要件を満たすようにするために提供される。全体を通して、同じ番号は同じ要素を指す。
概要
本開示の様々な実施形態は、一般に、グループベースの通信システムにおけるメッセージデータの送信及びアクセスを管理するためのプロトコルに関する。
いくつかの実施形態では、常駐トークンデータは、規定された地理的境界を越えて送信されるグループベースの通信メッセージ内のメッセージデータの置換として生成される。この常駐トークンデータを使用して、規定された地理的境界内に位置するローカルデータベースに関連付けられたローカルデータベースアドレスからメッセージデータを取得し、例えば、受信クライアントデバイスにメッセージデータを提供することができる。
他の実施形態では、グループベースの通信メッセージは、常駐トークンデータ及びメッセージデータを含むように構成されている。このメッセージデータは、暗号化されたメッセージデータを含んでいてもよい。暗号化されたメッセージデータを復号する復号キーを格納するために、規定された地理的境界内に位置するローカルデータベースに関連付けられた第2のローカルデータベースアドレスへの参照として、第2の常駐トークンデータを生成して使用できる。そのような実施形態では、規定された地理的境界を越えて送信されるグループベースの通信メッセージは、常駐トークンデータ、第2の常駐トークンデータ、及び暗号化されたメッセージデータを含むメッセージデータを含んでいる。
規定された地理的境界の外側に位置するグループベースの通信サーバによって、1つ以上の復号キーを取得できる。この1つ以上の復号キーは、規定された地理的境界内にあるローカルデータベースから取得され、暗号化されたメッセージデータを読み取り可能な形式に復号するために使用される。グループベースの通信システムは、復号されたメッセージデータを含むレンダリング可能なグループベースの通信メッセージを生成するように構成され、このレンダリング可能なグループベースの通信メッセージを、レンダリングのためにクライアントデバイスに送信できる。
追加又は代替として、本開示の様々な実施形態は、一般に、いくつかの地理的境界を越えて分散したデータに関連付けられた検索インデックスを生成、格納、及び/又は使用するためのプロトコルに関する。この検索インデックス、及び/又はグループベースのメッセージに関連付けられたメッセージデータは、地理的データ常駐ローカルリポジトリと通信する地理的データ常駐サーバによって維持されてもよい。いくつかの実施形態では、地理的データ常駐サーバ及び/又は地理的データ常駐ローカルリポジトリは、特定の地理的領域に位置している。複数の地理的データ常駐サーバ及び/又は地理的データ常駐ローカルリポジトリが様々な地理的領域に分散しており、各地理的データ常駐サーバは、その地理的領域において1つ以上の地理的データ常駐ローカルリポジトリを管理するように構成されている。
いくつかの実施形態では、1つ以上の地理的データ常駐ローカルリポジトリは、異なる地理的領域に位置する少なくとも1つの他の地理的データ常駐ローカルリポジトリによって格納される1つ以上のグループベースのメッセージに関連付けられたメッセージメタデータ及び/又は常駐トークンデータを格納している。地理的データ常駐サーバは、対応するグループベースのメッセージのメッセージデータを取得するために、常駐トークンデータを、単独で、又は、関連する地理的データ常駐ローカルサーバに格納された他のメッセージメタデータと組み合わせて、利用できる。各地理的データ常駐サーバは、将来受信する検索リクエストの処理で使用する検索インデックスを生成及び/又は格納するために、1つの地理的データ常駐ローカルリポジトリ、及び/又は1つ以上の分散した地理的データ常駐サーバを介した1つ以上の地理的データ常駐ローカルリポジトリと通信できる。
定義
いくつかの実施形態では、前記の動作のいくつかは変更されるか、又は更に拡張される場合がある。更に、いくつかの実施形態では、追加のオプションの動作が含まれてもよい。前記の操作に対する変更、拡張、又は追加は、任意の順序及び任意の組み合わせで行ってもよい。
本明細書に記載される本開示の多くの修正及び他の実施形態は、前述の説明及び関連する図面の開示によって利益を得る、これらの発明に関係する当業者が、想到するであろう。従って、本発明は開示された特定の実施形態に限定されるものではなく、変更された他の実施形態は特許請求の範囲に含まれることを理解されたい。更に、前述の説明及び関連する図面は、要素及び/又は機能の特定の例示的な組み合わせの文脈で、例示的な実施形態を説明しているが、要素及び/又は機能の異なる組み合わせが、特許請求の範囲から逸脱することなく、代替の実施形態によって提供できることを理解されたい。これに関して、例えば、特許請求の範囲のいくつかの請求項に記載されているように、前述で明示されたものとは異なる要素及び/又は機能の組み合わせも考えられる。ここでは特定の用語が使用されるが、それらは一般的かつ説明的な意味でのみ使用されており、限定の目的ではない。
本明細書では、「データ」、「コンテンツ」、「デジタルコンテンツ」、「デジタルコンテンツオブジェクト」、「情報」、及びこれらに類似する用語は、本開示の実施形態に従って、送信、受信、及び/又は格納ができるデータを言及するために、交換可能に使用される。従って、そのような用語の使用は、本開示の実施形態の思想及び範囲を限定するものと解釈されるべきではない。更に、別のコンピューティングデバイスからデータを受信するためのコンピューティングデバイスが本明細書で説明される場合、データは他のコンピューティングデバイスから直接受信されるか、又は、例えば1つ以上の中間コンピューティングデバイス(1つ以上のサーバ、リレー、ルータ、ネットワークアクセスポイント、基地局、ホストなどであり、本明細書では「ネットワーク」と呼ぶ場合がある。)を介して間接的に受信されることを理解されたい。同様に、データを別のコンピューティングデバイスに送信するためのコンピューティングデバイスが本明細書で説明される場合、データは別のコンピューティングデバイスに直接送信されるか、又は1つ以上のサーバ、リレー、ルータ、ネットワークアクセスポイント、基地局、ホストなどの、1つ以上の中間コンピューティングデバイスを介して間接的に送信されることを理解されたい。
「グループベース」は、本明細書では、決まったユーザグループのみがアクセスできるように十分なセキュリティを備えたシステム、チャネル、メッセージ、又は仮想環境を指すために使用される。そのグループは、組織や営利企業などの共通のアクセス資格情報によって定義できる。更に、アクセスは、参加するための認証済みリクエスト、又は、グループへのアクセスを許可された1人のユーザからグループへのアクセスを許可されていない別のエンティティへの招待によって円滑に進めることができる。グループ識別子は、データ、情報、メッセージなどを特定のグループに関連付けるために使用される。
「グループベースの通信システム」という用語は、複数のグループベースの通信インターフェース及びすべての関連機能をサポート及び管理するように構成された通信ソフトウェアプラットフォーム並びに関連ハードウェアを指す。グループベースの通信システムユーザは、組織グループに編成され(例えば、異なる会社の従業員は別々の組織グループである場合がある)、各グループはそれぞれのグループベースの通信インターフェースを介してシステムとインタラクションする。例えば、グループベースの通信システムは、特に、Slack Corporationのグループベースの通信インターフェース及びACME Corporationのグループベースの通信インターフェースをサポートする場合がある。
「グループベースの通信サーバ」という用語は、グループベースの通信システムの様々なグループベースの通信インターフェースへのアクセスを管理するように構成されたソフトウェアプラットフォーム及び関連するハードウェアを指す。グループベースの通信サーバは、グループベースの通信システムのアプリケーション製品論理回路に対して、アクセスし、管理し、及びサポートし、グループベースの通信リポジトリなどの1つ以上のデータリポジトリにアクセスするように構成されている。グループベースの通信リポジトリには、1つ以上の地理的データ常駐ローカルリポジトリが含まれていてもよい。グループベースの通信サーバには、異なる地理的領域にあるいくつかの地理的データ常駐サーバが含まれていてもよい。
「グループベースの通信インターフェース」という用語は、グループベースの通信システムとのユーザのインタラクションを容易にするように構成された仮想通信環境を指す。各グループベースの通信インターフェースは、ビジネス又は組織の従業員グループなどの、選択したユーザグループがアクセス及び閲覧できる(例えば、Slack CorporationインターフェースはSlack従業員がアクセス及び閲覧できるが、ACME Corporationグループベースの通信インターフェースは、Slackの従業員はアクセス及び閲覧できない)。グループベースの通信インターフェースは、以下に定義される複数のグループベースの通信チャネル(例えば、マーケティングチャネル、販売チャネル、会計チャネルなど)を含んでいる。
「グループベースの通信チャネル」という用語は、チャネルメンバ(例えば、クライアントデバイスを使用して環境にアクセスする認証済みユーザ)によって投稿された、グループのメンバにのみ閲覧可能なメッセージング通信を表示するように構成された仮想通信環境又はフィードを指す。このグループベースの通信チャネルのフォーマットは、グループベースの通信チャネルのメンバごとに異なっていてもよい。しかし、グループベースの通信チャネルのコンテンツ(つまり、メッセージング通信)は、グループベースの通信チャネルの各メンバに表示される。例えば、グループベースのメッセージング通信の共通セットは、グループベースの通信チャネルのコンテンツ(つまり、メッセージング通信)がメッセージのメンバごとに変化しないように、それぞれのグループベースの通信チャネルの各メンバに表示される。
いくつかの実施形態では、1つのグループベースの通信チャネルは、1つ以上の組織識別子に関連付けられていてもよい。1つ以上の組織識別子に関連付けられたグループベースの通信チャネルは、「共通のグループベースの通信チャネル」である。
「グループベースの通信チャネル識別子」又は「チャネル識別子」という用語は、グループベースの通信システムによってグループベースの通信チャネルを一意的に識別できる、1つ以上のデータ項目を指す。例えば、グループベースの通信チャネル識別子は、ASCII(American Standard Code for Information Interchange)テキスト、ポインタ、メモリアドレスなどを含んでいてもよい。共通のグループベースの通信チャネルに関連付けられたグループベースの通信チャネル識別子は、「共通のグループベースの通信チャネル識別子」である。
「グループ識別子」又は「チーム識別子」という用語は、グループベースの通信システム内のグループを一意的に識別できる1以上のデータ項目を指す。例えば、グループ識別子は、ASCIIテキスト、ポインタ、メモリアドレスなどを含んでいてもよい。例えば、スラックコーポレーション(Slack Corporation)ワークスペースのメンバユーザ(つまり、グループベースの通信インターフェース)に関連付けられたグループ識別子は、104356721である。
グループベースの通信システムのユーザは組織グループに編成され(例えば、各会社の従業員は別個の組織グループであってもよい)、各組織グループは、ユーザが割り当てられ得る又はユーザが参加できる、1つ以上のグループベースの通信チャネル(以下で説明)を有していてもよい(例えば、グループベースの通信チャネルは、部門、オフィスなどの地理的位置、製品ライン、ユーザの関心、トピック、問題などを表していてもよい)。グループ識別子は、メッセージのアクセス制御を容易にするために使用される(例えば、検索クエリへの応答として検索結果の一部としてこのメッセージを返すなど、このメッセージへのアクセスは、ユーザプロファイルが関連するグループ識別子を有するユーザに制限されていてもよい)。このグループ識別子は、メッセージのコンテキストを判定するために使用してもよい(例えば、組織の名前及び/又は簡単な説明など、グループの説明をグループ識別子に関連付けてもよい)。
グループベースの通信システムのユーザは、グループベースの通信チャネルに参加できる。いくつかのグループベースの通信チャネルは、ユーザプロファイルに関連付けられた特定の組織グループ識別子を有するユーザ(つまり、組織のメンバであるユーザ)がグローバルにアクセス可能であってもよい。一部のグループベースの通信チャネルへのアクセスは、指定されたグループのメンバに制限されていてもよい。これにより、ユーザプロファイルに関連付けられた特定のグループ識別子を有するユーザはグループベースの通信チャネルにアクセス可能である。このグループベースの通信チャネル識別子は、メッセージのアクセス制御を容易にするために使用してもよい(例えば、検索クエリへの応答として検索結果の一部としてメッセージを返すなど、メッセージへのアクセスは、ユーザプロファイルに関連付けられたグループベースの通信チャネル識別子を有するユーザ、又はグループベースの通信チャネルに参加できるユーザに制限されていてもよい)。グループベースの通信チャネル識別子は、このメッセージのコンテキストを判定するために使用してもよい(例えば、グループベースの通信チャネルで議論されたプロジェクトの説明など、グループベースの通信チャネルの説明は、グループベースの通信チャネル識別子に関連付けられていてもよい)。
本明細書で使用される「グループベースの通信メッセージ」、「グループベースのメッセージ」、及び「メッセージ」という用語は、クライアントデバイスを使用するユーザによって提供され且つグループベースの通信チャネルにおいて表示用に構成された、電子的に生成されたあらゆるデバイスレンダリングオブジェクトを指す。グループベースの通信メッセージは、ユーザが(クライアントデバイスを使用して)提供するテキスト、ファイル、画像、動画、オーディオ、又はそれらの組み合わせを含んでいる。例えば、ユーザは、メッセージの内容としてグループベースのメッセージ内にテキスト、画像、及び動画を含むグループベースのメッセージを提供してもよい。このような場合、そのテキスト、画像、及び動画が、グループベースのメッセージ又はデバイスレンダリングオブジェクトを構成する。グループベースの通信システムのグループベースの通信チャネルに送信又は投稿される各メッセージは、送信ユーザ識別子、メッセージ識別子、メッセージの内容、グループ識別子、及びグループベースの通信チャネル識別子を含むメタデータを含んでいる。前述の識別子の各々は、ASCIIテキスト、ポインタ、メモリアドレスなどを含んでいてもよい。いくつかの実施形態では、ユーザは、アプリケーションプログラミングインターフェース(API)を介してファイルをアップロードすることによりグループベースのメッセージを提供してもよく、そのファイルはグループベースの通信チャネルにおいてレンダリング可能となり得る。
「送信ユーザ識別子」は、特定のユーザ(すなわち、その特定のユーザに関連付けられたクライアントデバイス)によって送信されるメッセージの集合に関連付けられている。これらのメッセージは、解析してユーザに関するコンテキストを判定してもよい(例えば、あるトピックに関するユーザの専門知識や関心を、そのメッセージ内のトピック又はトピックに関連するキーワードについて言及する頻度に基づき判定してもよい)。いくつかの実施形態では、送信ユーザ識別子は、作成者識別子として使用されてもよい。
「作成者識別子」は、ユーザアカウント識別子、組織識別子、又は他のエンティティ識別子に関連付けられたクライアントデバイスによって開始された1つ以上のメッセージに関連付けられている。いくつかの実施形態では、この作成者識別子はユーザ識別子の形態をとってもよく、送信ユーザ識別子を作成者識別子として使用してもよい。いくつかの実施形態では、この作成者識別子は組織識別子の形態をとってもよい。いくつかの実施形態では、この作成者識別子は、別のエンティティ識別子の形態をとってもよい。
この「エンティティ」という用語は、1人のユーザやグループベースの通信チャネル若しくはワークスペースへのアクセス権を有するユーザなどのサブセットのユーザなど、1人以上のユーザ又は組織を含む実体を指す。ユーザ識別子、組織識別子、又はサブセットのユーザに関連付けられた他の識別子の形態をとり得るエンティティ識別子は、グループベースの通信チャネル識別子又はワークスペース識別子などのエンティティを一意的に識別してもよい。
「受信者識別子」という用語は、ユーザ識別子、組織識別子、又はメッセージの受信者に関連付けられた他の識別子の集合を指す。いくつかの実施形態では、あるチャネル識別子に関連付けられたメッセージの受信者識別子は、このチャネル識別子に関連付けられたユーザ識別子及び/又は組織識別子の1つ以上である。
「メッセージ」という用語は、グループベースの通信システム内のメッセージテキストデータ及び/又はメッセージファイルデータを含むグループベースの通信メッセージのクライアントデバイスから受信した電子メッセージを指す。メッセージリクエストは、クライアントデバイスを介したユーザ入力に基づき電子的に生成されたメッセージデータ及びメッセージメタデータを含んでいてもよい。
「更新されたメッセージ」という用語は、メッセージに組み込まれた1つ以上のメッセージデータオブジェクトを常駐トークンデータで置換した「メッセージ」を指す。例えば、更新されたメッセージは、その更新されたメッセージが常駐トークンデータ、メッセージメタデータ、及びメッセージ識別子を含むように、メッセージからのメッセージデータのすべて又はサブセットを常駐トークンデータで置き換えることにより、作成してもよい。他の実施形態では、更新されたメッセージは、その更新されたメッセージが常駐トークンデータ、メッセージデータオブジェクト、及びメッセージ識別子を含むように、メッセージメタデータのすべて又はサブセットを常駐トークンデータで置き換えることにより、作成してもよい。本開示の範囲から逸脱することなく、メッセージデータのすべて又はサブセットとメタデータのすべて又はサブセットとの組み合わせを常駐トークンデータで置き換えてもよいことが理解されよう。
「ユーザ」という用語は、個人、個人のグループ、ビジネス、組織などを指すと理解されるべきである。ここで言及されるユーザは、クライアントデバイスを使用してグループベースの通信又はメッセージングシステムにアクセスしている。
「ユーザプロファイル」、「ユーザアカウント」、及び「ユーザアカウントの詳細」という用語は、例えば、ユーザ識別子、ユーザがアクセスを許可されたグループベースの通信チャネルに関連付けられた1つ以上のグループベースの通信チャネル識別子、ユーザが関連するグループの1つ以上のグループ識別子、ユーザが関連する組織の1つ以上の組織識別子、ユーザプロファイルに関連付けられたクライアントデバイスがそれぞれの1つ以上の第三者パーティへのアクセスを許可されているかどうかを示す、1つ以上の第三者パーティのリソースプロバイダ識別子、ユーザがグループベースの通信チャネルの所有者であるかどうかの表示、ユーザがグループベースの通信チャネル制限を有しているかどうかの表示、複数のメッセージ、絵文字、複数の会話、複数の会話トピック、アバター、メールアドレス、実名(John Doeなど)、ユーザ名(jdoeなど)、パスワード、実名、タイムゾーン、ステータスなどを含む、ユーザに関連付けられた情報を指す。ユーザアカウントの詳細は、例えば、ユーザのユーザ名及びパスワードを含むユーザのログイン情報など、ユーザ資格情報のサブセット指定を含んでいてもよい。
「グループベースの通信リポジトリ」という用語は、グループベースの通信システムによってデータが永続的に格納、アクセス、変更、及び管理されるクライアントデバイスの外部の場所を指す。この格納されたデータは、グループベースの通信システムの運用を容易にする情報を含んでいる。このグループベースの通信リポジトリは、1つ以上のデータ格納デバイス若しくはデバイス、1つ以上の個別のデータベースサーバ、又はデータ格納デバイスと個別のデータベースサーバとの組み合わせとして具現化されていてもよい。更に、いくつかの実施形態では、このグループベースの通信リポジトリは、いくつかの格納データがグループベースの通信システム内の場所に集中的に格納され、他のデータが単一の遠隔地又は複数の遠隔地に格納されるように、分散したリポジトリとして具現化されていてもよい。或いはこれに代えて、いくつかの実施形態では、このグループベースの通信リポジトリは、複数の遠隔の格納場所のみに分散していてもよい。いくつかの実施形態では、このグループベースの通信リポジトリは、異なる地理的領域に位置する1つ以上の地理的データ常駐ローカルリポジトリを含んでいてもよい。
「グループベースの通信インターフェース」という用語は、ユーザとグループベースの通信システムとのインタラクションを容易するように構成された仮想通信環境を指す。各グループベースの通信インターフェースは、ビジネス又は組織の従業員グループなどのユーザの選択グループがアクセス及び表示可能である(例えば、Slack Corp.インターフェースはSlack従業員がアクセス及び表示可能であるが、ACME Corporationグループベースの通信インターフェースは、Slackの従業員はアクセス及び表示不可能である)。このグループベースの通信インターフェースは、以下で定義される複数のグループベースの通信チャネル(例えば、マーケティングチャネル、販売チャネル、会計チャネルなど)を含んでいる。いくつかの実施形態では、異なる組織(例えば、Slack Corp.及びACME Corporation)のユーザは、組織間通信を容易にするために、グループベースの通信インターフェースにより、1つ以上の共通のグループベースの通信チャネルなどの特定のグループベースの通信チャネルにアクセスし、これを介して通信し、及び/又はこれを表示できるようになる。
「地理的データ格納ポリシー」、「地理的データセキュリティポリシー」、「データ格納ポリシー」、「データ常駐ポリシー」、及び「データセキュリティポリシー」という用語は、特定のデータを永続的に格納できる(すなわち、短期の格納ではない)物理的な場所を管理するポリシーを指す。例えば、地理的データ格納ポリシーは、多くの場合国際的に転送される(通常、情報がどのように使用されるかをユーザに通知し、同意を得るなど、地域のプライバシー保護法又はデータ保護法を満たした後に転送される)より前に、国民若しくは居住者に属し又はそれらに関するデータを、その国内で収集し、処理し、及び/又は保存することを求める法律に準拠していてもよい。更に、地理的データ格納ポリシーは、国民若しくは居住者に属し又はそれらに関する記録が、個人又は金融データ処理法に従うことを要求してもよい。データの局所化は、最初の収集、処理、及び格納が最初に国境内で発生することを要求するステップに更に進む。場合によっては、国民又は居住者に関するデータは、データ主体の国のシステムから削除する前に、外国のシステムから削除する必要もある。従って、いくつかの実施形態では、地理的データ格納ポリシーは、特定の地理的境界に関連する法的データ格納要件に関連付けられている(例えば、アジア、西ヨーロッパ、北米、米国、ドイツ、インド、中国、日本、ヨーロッパ、フランスなど)。
「地理的領域」という用語は、サーバ、リポジトリ、及び/又は他のコンピューティングハードウェアが物理的に位置する物理的領域を指す。地理的領域は、特定の地理的領域を囲む地域境界を指す「地理的境界」によって規定される。一部の事例では、地理的領域は、物理的な国境によって規定された国を指す。いくつかの実施形態では、地理的領域を規定する地理的境界は、囲まれた領域を規定する様々な位置マーカ(例えば、GPS座標、緯度及び経度座標など)を含んでいる。様々なレベルの細かさで様々な地理的領域を構築できることを理解されたい。地理的領域の非限定的な例は、少なくとも地理的データ常駐サーバ及び地理的データ常駐ローカルリポジトリなどのコンピューティングデバイスが物理的に位置する様々な都市、州、及び/又は国を含んでいる。コンテキストの一例では、地理的データ領域は、フランクフルト、パリ、ロンドン、東京、米国、及びカナダを含むが、これらに限定されない。いくつかの実施形態では、グループベースの通信システムによってアクセス可能な地理的領域は、地理的境界内の物理的及び/又は仮想的コンピューティングデバイスへのアクセスを可能にするクラウドサービス及び/又は他の遠隔コンピューティングサービスを介してアクセス可能なコンピューティングデバイスに基づき規定される。
地理的データ格納ポリシーは、1つ以上の地理的領域を識別するように構成されていてもよい。「主要な地理的領域」という用語は、地理的データ格納ポリシーにおいて識別されるエンティティに関連付けられたメッセージデータ及び/又はメタデータを格納するための地理的領域として、この地理的データ格納ポリシーの中で識別される地理的領域を指す。これに関して、いくつかの実施形態は、主要な地理的領域におけるコンピューティングデバイスにアクセス可能な状況では、この主要な地理的領域に位置するコンピューティングデバイスに、エンティティに関連付けられたメッセージデータ及び/又は関連するメタデータを格納するように構成されている。
「バックアップ地理的領域」という用語は、地理的データ格納ポリシーにおいて識別されるエンティティに関連付けられたメッセージデータ及び/又はメタデータを格納するための一時的及び/又は第2の地理的領域として地理的データ格納ポリシーの中で識別される第2の地理的領域を指す。これに関して、いくつかの実施形態は、主要な地理的領域におけるコンピューティングデバイスにアクセス可能な状況では、このバックアップ地理的領域に位置するコンピューティングデバイスに、エンティティに関連付けられたメッセージデータ及び/又は関連付けられたメタデータを格納するように構成されている。いくつかの実施形態では、各主要な地理的領域は、地理的データ格納ポリシーを生成し及び/又は編集するときに、対応するエンティティの管理者ユーザアカウントによる選択が可能なバックアップ地理的領域の所定のリストにリンクしている。
「アクセス不可」という用語は、コンピューティングデバイスに関して使用される場合、第1のコンピューティングデバイスが、第2のコンピューティングデバイスに、正常に、1つ以上のリクエスト、送信、及び/若しくは他のデータの処理及び/若しくは通信ができない、並びに/或いは、第2のコンピューティングデバイスから、正常に、1つ以上のリクエスト、応答、送信、及び/若しくは他のデータを受信及び/若しくは処理ができない、第1のコンピューティングデバイスと第2のコンピューティングデバイスとの間の通信状態を指す。いくつかの実施形態では、コンピューティングデバイスは、例えばこの第2のコンピューティングデバイスへの試行送信が送信タイムアウトとなるなど、エラー応答を受信することにより他のコンピューティングデバイスにアクセスできないと判定するように構成されている。いくつかの実施形態では、コンピューティングデバイスは、1つ以上の関連するコンピューティングデバイス及び/又はサブシステムがアクセス不可のままである場合、他のコンピューティングデバイスにエラー応答を送信するように構成されている。例えば、地理的領域における地理的データ常駐ローカルリポジトリにアクセスできないが、対応する地理的データ常駐サーバが通信を受信できるという状況では、この地理的データ常駐サーバは、この地理的データ常駐サーバがアクセス不可であることを示すエラー応答を送信するように構成されていてもよい。コンピューティングデバイスは、例えば通信ネットワークの欠陥や悪天候などの一時的な事情のために、一時的にアクセス不可となる場合がある。コンピューティングデバイスは、例えばコンピューティングデバイスが破壊され、及び/又はその中のデータに永久にアクセス不可となる状況で、永久にアクセスできなくなる場合がある。同様に、「アクセス可能」という用語は、コンピューティングデバイスに関して使用される場合、第1のコンピューティングデバイスが第2のコンピューティングデバイスと正常に通信でき、並びに/又は、第2のコンピューティングデバイスへの1以上のリクエスト、送信、及び/若しくは他のデータ通信を正常に完了でき、並びに/又は、第2のコンピューティングデバイスからの1つ以上のリクエスト、応答、送信、及び/若しくは他のデータの受信、処理を正常に完了できる状態を指す。
「地理的データ常駐ローカルリポジトリ」という用語は、特定の地理的領域に位置し、グループベースの通信システム機能に関連する様々なデータを格納するように構成されたコンピューティングハードウェアを指す。いくつかの実施形態では、地理的データ常駐ローカルリポジトリは、少なくともメッセージメタデータセット、メッセージデータセット、常駐トークンデータセット、検索インデックスセット、データ暗号化キーセット、エンティティ検索キーセット、又はそれらの任意の組み合わせを格納するように構成されている。いくつかの実施形態では、この地理的データ常駐ローカルデータリポジトリは、この地理的データ常駐ローカルリポジトリが物理的に位置する地理的領域に関連付けられた1つ以上のエンティティ(例えば、組織、グループベースの通信ワークスペース、又はグループベースの通信ユーザ)のデータを格納するように構成されている。例えば、いくつかの実施形態では、エンティティは、このエンティティに関連付けられたデータを格納するための特定の地理的領域を識別する特定のデータ常駐ポリシーデータオブジェクトに関連付けられている。そのようなリポジトリに格納したデータは、地理的データ常駐ローカルリポジトリアドレスに関連付けられていてもよい。「バックアップ地理的データ常駐ローカルリポジトリ」という用語は、特定の地理的データ格納ポリシーのためのバックアップ地理的領域に物理的に位置する地理的データ常駐ローカルリポジトリを指す。いくつかのそのような実施形態では、特定の地理的データ格納ポリシーのための主要な地理的領域における地理的データ常駐ローカルリポジトリにアクセスできない場合、データはバックアップ地理的データ常駐ローカルリポジトリに格納される。
「メッセージ行」という用語は、数値、カテゴリ、及び/又はテキスト識別子によって識別される、地理的データ常駐ローカルリポジトリ内の所定位置に位置する1つ以上のデータ列を指す。いくつかの実施形態では、メッセージ行は、常駐トークンデータオブジェクトを特定のグループベースのメッセージに対応するメッセージ行を取得し及び/又は識別するために使用できるように、その常駐トークンデータオブジェクトに対応している。いくつかの実施形態では、特定のグループベースのメッセージに対応するメッセージ行の1つ以上の列は、グループベースのメッセージのためのメッセージデータオブジェクトを定義する。
「地理的データ常駐サーバ」という用語は、特定の地理的領域に位置し、1つ以上の他のコンピューティングシステム、コンピューティングデバイス、及び/又は他のコンピューティングハードウェアとの通信用に構成されているコンピューティングハードウェアを指す。いくつかの実施形態では、地理的データ常駐サーバは、1つ以上のネットワークを介して通信するように構成されている。いくつかの実施形態では、地理的データ常駐サーバは、例えば、地理的データ常駐ローカルリポジトリを介してデータを格納し、データを取得し、及び/又はデータを管理するために、同じ地理的領域における少なくとも1つの地理的データ常駐ローカルリポジトリと通信するように構成されている。いくつかの実施形態では、地理的データ常駐サーバは、複数のサブサーバ及び/又は分散クラウドサーバーを含んでいる。「バックアップ地理的データ常駐サーバ」という用語は、特定の地理的データ格納ポリシーのためのバックアップ地理的領域に物理的に位置する地理的データ常駐サーバを指す。いくつかのそのような実施形態では、バックアップ地理的データ常駐サーバは、特定の地理的データ格納ポリシーのための主要な地理的領域における地理的データ常駐サーバ及び/又は地理的データ常駐ローカルリポジトリがアクセス不可であるときに、対応するバックアップ地理的データ常駐ローカルリポジトリと、そのバックアップ地理的データ常駐ローカルリポジトリに格納するために、通信する。
「常駐トークンデータオブジェクト」及び「常駐トークンデータ」という用語は、第2の地理的領域に関連付けられた第2の地理的データ常駐ローカルリポジトリに格納された特定のグループベースのメッセージのためのメッセージデータオブジェクトを参照する、第1の地理的領域に位置する第1の地理的データ常駐ローカルリポジトリによって格納された電子的に管理されたデータを指す。
いくつかの実施形態では、常駐トークンデータオブジェクトは、この常駐トークンデータオブジェクトに対応するメッセージデータオブジェクトを取得するために、地理的データ常駐ローカルリポジトリに提供される。地理的データ常駐ローカルリポジトリは、0個以上の常駐トークンデータオブジェクトを具現化するデータオブジェクトを指す「常駐トークンデータセット」を含んでいてもよい。いくつかの実施形態では、常駐トークンデータオブジェクトは、メッセージ識別子(時間制限されたユニバーサルユニーク識別子(UUID)や、ランダムに生成されたUUIDなどを含むが、これらに限定されない)、格納場所識別子、及びメッセージ暗号化キーを含んでいる。
「バックアップ常駐トークンデータオブジェクト」及び「バックアップ常駐トークンデータ」という用語は、特定の地理的データ格納ポリシーのためのバックアップ地理的領域にあるバックアップ地理的データ常駐ローカルリポジトリに格納されているデータを識別する常駐トークンデータオブジェクトを指す。いくつかの実施形態では、バックアップ常駐トークンデータは、データが格納されている現在の地理的領域がバックアップ地理的領域であることを示すデータを含んでいる。
「組織識別子」という用語は、グループベースの通信システムにおける組織エンティティ(例えば、各企業の従業員が別個の組織/ビジネスであってもよい)を識別できる1つ以上のデータ項目を指す。例えば、組織識別子は、ASCIIテキスト、数字などを含んでいてもよい。
「メッセージ識別子」という用語は、グループベースの通信システムを介して送信される特定のグループベースのメッセージを一意的に示す電子的に管理されたデータを指す。いくつかのそのような実施形態では、メッセージ識別子は、特定のエンコーディング(例えば、ASCIIテキスト、Unicodeテキストなど)の少なくとも最小数の文字を含むユニバーサルユニーク識別子(UUID)を含んでいる。いくつかの実施形態では、メッセージ識別子は、グループベースのメッセージがグループベースの通信システムによって受信された時刻を表すタイムスタンプに基づき時系列に並べられたUUIDである。
「メッセージメタデータデータオブジェクト」という用語は、特定のグループベースのメッセージに関連する情報及び/又はデータを指し、対応するグループベースのメッセージ若しくは関連するメッセージデータを識別し、位置特定し、及び/又は取得するために使用される。いくつかの実施形態では、メッセージメタデータデータオブジェクトは、ユーザが明示的に入力する情報及び/又はデータなしでグループベースの通信システムによって識別され及び/又は判定されるデータを含む情報及び/又はデータを含んでいる。いくつかの例示的な実施形態では、メッセージメタデータデータオブジェクトは、チーム識別子、チャネル識別子、作成者識別子、言及識別子セット、タイムスタンプ、本明細書で定義されるあらゆる形式のエンティティ識別子、又はそれらの任意の組み合わせを含むが、これらに限定されない。いくつかの実施形態では、メッセージメタデータデータオブジェクトは、対応するグループベースのメッセージを識別し、位置特定し、及び/又は取得するためにグループベースの通信システムによって生成されたデータを含んでいる。例えば、いくつかの実施形態では、メッセージメタデータデータオブジェクトは、他の地理的領域に物理的に位置する地理的データ常駐ローカルリポジトリから関連するメッセージデータを識別し、特位置定し、及び/又は取得する常駐トークンデータオブジェクトを含んでいる。「メッセージメタデータセット」又は「メッセージメタデータ」という用語は、各々がグループベースのメッセージに関連付けられた1つ以上のメッセージメタデータデータオブジェクトを指す。
「メッセージデータ」という用語は、1つ以上のメッセージデータオブジェクトの集合を指す。この「メッセージデータオブジェクト」という用語は、グループベースのメッセージに関連付けられた実質的なコンテンツを含む電子的に管理されたデータを指す。メッセージデータオブジェクトの例は、メッセージテキストデータ、メッセージファイルデータ、メッセージ画像データ、メッセージビデオデータ、メッセージオーディオデータ、又はそれらのあらゆる組み合わせを含むが、これらに限定されない。いくつかの実施形態では、特定のグループベースのメッセージに関連付けられたメッセージデータオブジェクトは、グループベースのメッセージのためのメッセージメタデータデータオブジェクトの特定のデータに基づき特定の地理的データ常駐ローカルリポジトリに格納されている。
「メッセージファイルデータ」という用語は、1つ以上のファイルデータオブジェクトの集合を指す。「ファイルデータオブジェクト」という用語は、グループベースの通信システムによって管理されるデータのパッケージを含む電子的に管理されるデータを指す。
いくつかの実施形態では、ファイルデータオブジェクトは、グループベースの通信システムの外部リソースによって管理される、及び/又は外部リソースを介してアクセス可能なデータを含んでいる。追加又は代替として、いくつかの実施形態では、ファイルデータオブジェクトは、第三者パーティのアプリケーション(a third-party application)によって管理される、及び/又は第三者パーティのアプリケーションを介してアクセス可能なデータを含んでいる。いくつかの実施形態では、グループベースのメッセージは、メッセージデータの一部としてメッセージファイルデータを含んでいる。いくつかのそのような実施形態では、グループベースのメッセージは、例えば、グループベースのメッセージにおいて提供されるテキスト、画像、ビデオ、及び/若しくはオーディオデータに加え、又は、これらの代替として、他のメッセージデータ及び/若しくはメッセージメタデータに添付されたファイルデータを含んでいる。いくつかの実施形態では、メッセージファイルデータは、APIを介してアップロードされたユーザ識別子に関連付けられたファイルであってもよく、このファイルはグループベースの通信チャネルにおいてレンダリング可能であってもよい。
「地理的データ常駐メッセージパッケージ」という用語は、1つ以上のデータ構造の電子送信を指し、この1つ以上のデータ構造は、メッセージ識別子、組織識別子、及び1つ以上のメッセージデータのすべて若しくはサブセット、又は、メッセージ識別子に関連付けられたメッセージメタデータのすべて若しくはサブセットを含んでいる。この地理的データ常駐メッセージパッケージは、地理的データ常駐サーバに送信され、この地理的データ常駐サーバは、メッセージデータのすべて若しくはサブセットの1つ以上、又はメッセージ識別子に関連付けられたメッセージメタデータのすべて若しくはサブセットの1つ以上を、組織識別子に関連付けられたデータ格納/セキュリティポリシーに従い格納のためのリポジトリに、適切に送信できる。
「メッセージデータオブジェクトの取得リクエスト」という用語は、1つ以上のメッセージ内の1つ以上のメッセージデータオブジェクトを取得するためにクライアントデバイス(又は他のコンピューティングデバイス)から受信した電子的リクエストを指す。いくつかの実施形態では、このメッセージデータオブジェクトの取得リクエストはメッセージ識別子を含んでいる。例えば、クライアントデバイスは、結果としてのいくつかのメッセージを返すグループベースの通信システムで、検索クエリを実行してもよい。このような例では、このクライアントデバイスは、その結果に含まれるメッセージの1つ以上のメッセージデータオブジェクトを取得するようにリクエストしてもよい。そのために、このクライアントデバイスは、メッセージ識別子を含むメッセージデータオブジェクトの取得リクエストを送信する。
「地理的データ常駐データ取得リクエスト」という用語は、この地理的データ常駐データ取得リクエストに含まれる常駐トークンデータによって参照されるリポジトリアドレスに格納されたメッセージデータ及び/又はメタデータについて、グループベースの通信サーバによって地理的データ常駐サーバに送られた電子的リクエストを指す。
「検索インデックス」という用語は、グループベースの通信システムによって制御されるゼロ以上のデータオブジェクトに検索データをリンクするための電子的に管理されたデータセット、ファイル、又は情報表現を指す。例えば、いくつかの実施形態では、検索インデックスは、特定の地理的データ常駐ローカルリポジトリによって格納されたグループベースのメッセージがこの検索インデックスを使用して簡単に検索できるように、検索用語をゼロ以上のグループベースのメッセージにリンクするための情報を含んでいる。いくつかの実施形態では、検索インデックスは、グループベースのメッセージの作成者及び/又は受信者のユーザアカウントに関連付けられた1つ以上のポリシーに基づき、地理的データ常駐ローカルリポジトリに局所的に格納されている。いくつかの実施形態では、この検索インデックスは、「暗号化検索インデックス」と呼ばれる地理的データ常駐ローカルリポジトリにおいて暗号化される。
「エンティティ検索キー」という用語は、特定のエンティティに対応する電子的に管理されたデータを指し、そのエンティティに関連付けられた暗号化検索インデックスを復号するために使用される。これに関して、いくつかの実施形態では、地理的データ常駐ローカルリポジトリは、地理的データ常駐ローカルリポジトリが存在する地理的領域に対応するデータ常駐ポリシーデータオブジェクトに関連付けられた各エンティティを含むエンティティセットに関連付けられたエンティティ検索キーを格納している。「組織検索キー」という用語は、例えば、地理的データ常駐ローカルリポジトリによって格納される特定のエンティティ検索キーを指す。ここで、この組織検索キーは、グループベースの通信システムの特定の組織に対応し、その組織はこの組織検索キーが格納された地理的データ常駐ローカルリポジトリが位置する地理的境界にリンクされたデータ常駐ポリシーデータオブジェクトに関連付けられている。
「メッセージ復号キー」という用語は、特定のエンティティに対応する、エンティティに関連付けられた1つ以上のグループベースのメッセージ又はその一部を復号する際に使用する電子的に管理されたデータを指す。いくつかの実施形態では、例えば、メッセージ復号キーは、組織内のユーザアカウントに関連付けられたグループベースのメッセージを復号するために使用できるように、グループベースの通信システムのその組織に関連付けられて格納されている。他の実施形態では、メッセージ復号キーは、このメッセージ復号キーを使用してグループベースの通信ワークスペースに関連付けられたグループベースのメッセージを復号できるように、特定のグループベースの通信ワークスペースに関連付けられている。他の実施形態では、メッセージ復号キーは、このメッセージ復号キーを使用してユーザアカウントに関連付けられたグループベースのメッセージを復号できるように、特定のユーザアカウントに関連付けられている。いくつかの実施形態では、復号キーは、復号アルゴリズムを使用してメッセージデータをスクランブルし及びスクランブル解除する(unscrambling)ために設計された単語、数字、フレーズ、又はランダムな一連のデータビットであってもよい。いくつかの実施形態では、メッセージ復号キーは、グループベースの通信メッセージを暗号化するために使用されるメッセージ暗号化キーと同じであってもよい。
「メッセージ暗号化キー」という用語は、特定のエンティティに対応する、エンティティに関連付けられた1つ以上のグループベースのメッセージ又はその一部の暗号化に使用する電子的に管理されたデータを指す。いくつかの実施形態では、例えば、メッセージ暗号化キーは、このメッセージ暗号化キーを組織内のユーザアカウントに関連付けられたグループベースのメッセージを暗号化するために使用できるように、グループベースの通信システムの組織に関連付けられて格納されている。他の実施形態では、メッセージ暗号化キーは、このメッセージ暗号化キーをグループベースの通信ワークスペースに関連付けられたグループベースのメッセージを暗号化するために使用できるように、特定のグループベースの通信ワークスペースに関連付けられている。他の実施形態では、メッセージ暗号化キーは、このメッセージ暗号化キーを使用して、対応するユーザアカウントに関連付けられたグループベースのメッセージを暗号化できるように、特定のユーザアカウントに関連付けられている。いくつかの実施形態では、メッセージ暗号化キーは、暗号化アルゴリズムを使用してメッセージデータをスクランブル及びスクランブル解除するために設計された単語、数字、フレーズ、又はランダムな一連のデータビットであってもよい。いくつかの実施形態では、このメッセージ暗号化キーはメッセージ復号キーと同じであってもよい。いくつかの実施形態では、このメッセージ暗号化キーはメッセージ復号キーと異なっていてもよい。
「リクエスタシステム」という用語は、処理のために特定の地理的領域に関連付けられた地理的データ常駐サーバにリクエストを送信するグループベースの通信システムのサブデバイス、システム、及び/又はコンピューティングハードウェアを指す。いくつかの実施形態では、リクエスタシステムは、クライアントデバイスからの1つ以上のリクエストの受信に応じて、1つ以上の地理的データ常駐サーバ及び/又は地理的データ常駐ローカルリポジトリと通信するように構成されている。
「検索リクエスト」という用語は、特定のコンテンツを含む又は特定のコンテンツに関連する、グループベースのメッセージ(又は関連する識別子)又は対応するメッセージデータのクエリを表す電子的に管理されたデータを指す。検索リクエストは、検索対象のコンテンツを表す検索リクエストデータを含んでいる。いくつかの実施形態では、この検索リクエストデータは、グループベースの通信システムから、格納されたメッセージデータ及び/又はメッセージメタデータ(例えば、1つ以上のメッセージ識別子)を取得するためにグループベースの通信システムによって使用される。いくつかの実施形態では、検索リクエストは、その検索リクエストに関連するエンティティに対応する特定の地理的領域の地理的データ常駐ローカルリポジトリによって格納された1つ以上の検索インデックスを利用するグループベースの通信システムによって処理される。いくつかの実施形態では、検索リクエストは、特定の地理的データ常駐ローカルリポジトリに関連付けられた地理的データ常駐サーバに提供され、及び/又は処理される。「検索結果データ」という用語は、検索リクエストに応答してローカルリポジトリにある1つ以上の地理的データから取得した電子的に管理されたデータを指す。検索結果データの例には、グループベースのメッセージセット、メッセージデータセット、1つ以上のデータオブジェクト識別子、ユーザ識別子セット、及び/又はそれらの任意の組み合わせが含まれるが、これらに限定されない。
「短期メモリ」という用語は、グループベースの通信システムにおけるメッセージデータを格納し、送信し、又はこのメッセージデータにアクセスする目的で、情報又はデータを一時的に格納し及び管理するために使用されるデータベース又はメモリを指す。例えば、短期メモリは、データ処理のためにデータ消去期間におけるメッセージデータ又は復号キーを保持又は格納するために使用されるキャッシュメモリ、ランダムアクセスメモリ(RAM)、静的ランダムアクセスメモリ(SRAM)などであってもよい。このような例では、このデータ消去期間は、メッセージ又は復号キーが処理されるために必要な期間を超えない短い期間であってもよい。例えば、このデータワイプ期間は、所定の秒数であってもよい。短期メモリの1つの例は、地理的データ常駐ローカルキャッシュである。
システムアーキテクチャ及び例示的な装置
本開示に係る方法、装置、及びコンピュータプログラム製品は、様々なデバイスのいずれによって具現化されていてもよい。例えば、例示的な実施形態の方法、装置、及びコンピュータプログラム製品は、1つ以上のクライアントデバイスなどの1つ以上のデバイスと通信するように構成された、サーバ又は他のネットワークエンティティなどのネットワークデバイス(例えば、エンタープライズプラットフォーム)によって具現化されていてもよい。追加又は代替として、このコンピューティングデバイスは、パーソナルコンピュータ又はコンピュータワークステーションなどの固定コンピューティングデバイスを含んでいてもよい。更に、例示的な実施形態は、携帯情報端末(PDA)、携帯電話、スマートフォン、ラップトップコンピュータ、タブレットコンピュータ、ウェアラブル、又はこれらのデバイスのあらゆる組み合わせなど、様々なモバイルデバイスのいずれかによって具現化されていてもよい。
図1は、本開示の実施形態が動作できる例示的なコンピューティングシステム100を示している。ユーザは、クライアントデバイス101A〜101Nを使用して、通信ネットワーク104を介してグループベースの通信システム105にアクセスできる。
通信ネットワーク104は、例えば、有線若しくは無線のローカル領域ネットワーク(LAN)、パーソナル領域ネットワーク(PAN)、メトロポリタン領域ネットワーク(MAN)、又はワイド領域ネットワーク(WAN)を含むあらゆる有線若しくは無線の通信ネットワーク、並びに、それを実装するために必要なハードウェア、ソフトウェア、及び/又はファームウェア(例えば、ネットワークルーターなど)を含んでいてもよい。例えば、通信ネットワーク104は、携帯電話、802.11、802.16、802.20、及び/又はWiMaxネットワークを含んでいてもよい。更に、通信ネットワーク104は、インターネットなどのパブリックネットワーク、イントラネットなどのプライベートネットワーク、又はそれらの組み合わせを含んでいてもよく、TCP/IPベースのネットワークプロトコルを含むがこれに限定されない、現在利用可能か又は将来開発される様々なネットワークプロトコルを利用できる。例えば、このネットワークプロトコルは、グループベースの通信システムのニーズに合わせてカスタマイズされてもよい。いくつかの実施形態では、このプロトコルは、Websocketチャネルを介して送信されるJSON(JavaScript(登録商標) Object Notation)オブジェクトのカスタムプロトコルである。いくつかの実施形態では、このプロトコルは、RPC上のJSON、REST/HTTP上のJSONなどである。
グループベースの通信サーバ106Aは、1つ以上のコンピュータとして実施してもよい。このグループベースの通信サーバ106Aは、クライアントデバイス101A〜101Nを含むが必ずしもこれに限定されない様々なソースからの電子データの受信を提供してもよい。例えば、このグループベースの通信サーバ106Aは、クライアントデバイス101A〜101Nによって提供されるグループベースのメッセージング通信を受信及び投稿又は送信するように動作可能であってもよい。いくつかの実施形態では、このグループベースの通信サーバ106Aは、グループベースの通信サーバ106Aが位置する地理的領域とは異なる地理的領域に位置する地理的データ常駐サーバとして機能する1つ以上の他のグループベースの通信サーバ106B〜106Cと通信できる。
グループベースの通信リポジトリ107Aは、1つ以上のネットワーク接続格納(Network Attached Storage(NAS))デバイスなどのデータ格納デバイスとして、又は1つ以上の別個のリポジトリサーバとして、実施してもよい。このグループベースの通信リポジトリ107Aは、グループベースの通信システム105の動作を容易にするために、グループベースの通信サーバ106Aによってアクセス及び格納される情報を含んでいる。例えば、グループベースの通信リポジトリ107Aは、限定することなく、複数のグループベースの通信チャネルで体系化された複数のメッセージング通信などを含んでいてもよい。いくつかの実施形態では、地理的データ常駐サーバとして機能するグループベースの通信サーバ106B〜106Cの各々は、地理的データ常駐ローカルリポジトリとして機能する独自のグループベースの通信リポジトリ107B〜107Cに関連付けられてもよい。
クライアントデバイス101A〜101Nは、前記で定義されたような任意のコンピューティングデバイスであってもよい。グループベースの通信サーバ106Aによってクライアントデバイス101A〜101Nから受信された電子データは、様々な形態で、様々な方法を介して提供され得る。例えば、これらのクライアントデバイス101A〜101Nは、デスクトップコンピューター、ラップトップコンピュータ、スマートフォン、ネットブック、タブレットコンピュータ、ウェアラブルなどを含んでいてもよい。
いくつかの実施形態では、クライアントデバイス101A〜101Nがスマートフォン又はタブレットなどのモバイルデバイスであり、これらのクライアントデバイス101A〜101Nは、「アプリ」を実行して、グループベースの通信システム105とインタラクションしてもよい。このようなアプリは、通常、タブレット又はスマートフォンなどのモバイルデバイスで実行するように設計されている。例えば、iOS(商標登録)、Android(商標登録)、Windows(商標登録)などのモバイルデバイスのオペレーティングシステムで実行されるアプリが提供されていてもよい。通常、これらのプラットフォームは、アプリが、相互に、並びに、モバイルデバイスの特定のハードウェア及びソフトウェアコンポーネントと通信できるようにするフレームワークを提供している。例えば、前記のモバイルオペレーティングシステムは、各々、位置情報サービス回路、有線及び無線ネットワークインターフェース、ユーザの連絡先、並びにその他のアプリケーションとインタラクションするためのフレームワークを提供している。アプリの外部で実行されるハードウェア及びソフトウェアモジュールとの通信は、通常、モバイルデバイスのオペレーティングシステムによって提供されるAPIを介して提供されている。
追加又は代替として、クライアントデバイス101A〜101Nは、ウェブブラウザを介してグループベースの通信システム105とインタラクションしてもよい。更に別の例として、これらのクライアントデバイス101A〜101Nは、グループベースの通信システム105とインターフェースするように設計された様々なハードウェア又はファームウェアを含んでいてもよい。
グループベースの通信システム105の、例示的ないくつかの実施形態では、メッセージ通信又はメッセージング通信は、クライアントデバイス101A〜101Nからグループベースの通信システム105に送信されてもよい。様々な実装形態では、そのメッセージは、クライアントデバイス101A〜101Nによって通信ネットワーク104を介して、直接、グループベースの通信システム105に送信されてもよく、メッセージサーバなどを介してグループベースの通信システム105に送信されてもよい。例えば、クライアントデバイス101A〜101Nは、クライアントアプリケーション(例えば、グループベースの通信アプリ)を実行しているデスクトップ、ラップトップ、タブレット、スマートフォンなどであってもよい。一実装形態では、このメッセージは、メッセージ識別子、送信ユーザ識別子、グループ識別子、グループベースの通信チャネル識別子、メッセージコンテンツ(例えば、テキスト、絵文字、画像、リンクなど)、添付されたもの(ファイルなど)、メッセージ階層データ(例えば、そのメッセージは別のメッセージへの返信であってもよい)、第三者パーティのメタデータなどのデータを含んでいてもよい。一実施形態では、これらのクライアントデバイス101A〜101Nは、以下に示す、eXtensible Markup Language(「XML」)フォーマットデータを含む、実質的には(セキュア)ハイパーテキスト転送プロトコル((Secure) Hypertext Transfer Protocol)(「HTTP(S)」)POSTメッセージの形式を含む以下の例のメッセージ例を提供してもよい:
POST /authrequest.php HTTP/1.1
Host: www.server.com
Content-Type: Application/XML
Content-Length: 667
<?XML version = “1.0” encoding = “UTF-8”?>
<auth_request>
<timestamp>2020-12-31 23:59:59</timestamp>
<user_accounts_details>
<user_account_credentials>
<user_name>ID_user_1</user_name>
<password>abc123</password>
//OPTIONAL <cookie>cookieID</cookie>
//OPTIONAL <digital_cert_link>www.mydigitalcertificate.com/
JohnDoeDaDoeDoe@gmail.com/mycertifcate.dc</digital_cert_link>
//OPTIONAL <digital_certificate>_DATA_</digital_certificate>
</user_account_credentials>
</user_accounts_details>
<client_details> //iOS Client with App and Webkit
//it should be noted that although several client details
//sections are provided to show example variants of client
//sources, further messages will include only on to save
//space
<client_IP>10.0.0.123</client_IP>
<user_agent_string>Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 like Mac OS X)
AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D201
Safari/9537.53</user_agent_string>
<client_product_type>iPhone6,1</client_product_type>
<client_serial_number>DNXXS1S1XXXX</client_serial_number>
<client_UDID>3XXXXXXXXXXXXXXXXXXXXXXXXD</client_UDID>
<client_OS>iOS</client_OS>
<client_OS_version>7.1.1</client_OS_version>
<client_app_type>app with webkit</client_app_type>
<app_installed_flag>true</app_installed_flag>
<app_name>MSM.app</app_name>
<app_version>1.0 </app_version>
<app_webkit_name>Mobile Safari</client_webkit_name>
<client_version>537.51.2</client_version>
</client_details>
<client_details> //iOS Client with Webbrowser
<client_IP>10.0.0.123</client_IP>
<user_agent_string>Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 like Mac OS X)
AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D201
Safari/9537.53</user_agent_string>
<client_product_type>iPhone6,1</client_product_type>
<client_serial_number>DNXXS1S1XXXX</client_serial_number>
<client_UDID>3XXXXXXXXXXXXXXXXXXXXXXXXD</client_UDID>
<client_OS>iOS</client_OS>
<client_OS_version>7.1.1</client_OS_version>
<client_app_type>web browser</client_app_type>
<client_name>Mobile Safari</client_name>
<client_version>9537.53</client_version>
</client_details>
<client_details> //Android Client with Webbrowser
<client_IP>10.0.0.123</client_IP>
<user_agent_string>Mozilla/5.0 (Linux; U; Android 4.0.4; en-us; Nexus S
Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile
Safari/534.30</user_agent_string>
<client_product_type>Nexus S</client_product_type>
<client_serial_number>YXXXXXXXXZ</client_serial_number>
<client_UDID>FXXXXXXXXX-XXXX-XXXX-XXXX-
XXXXXXXXXXXXX</client_UDID>
<client_OS>Android</client_OS>
<client_OS_version>4.0.4</client_OS_version>
<client_app_type>web browser</client_app_type>
<client_name>Mobile Safari</client_name>
<client_version>534.30</client_version>
</client_details>
<client_details> //Mac Desktop with Webbrowser
<client_IP>10.0.0.123</client_IP>
<user_agent_string>Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3)
AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3
Safari/537.75.14</user_agent_string>
<client_product_type>MacPrK5,1</client_product_type>
<client_serial_number>YXXXXXXXXZ</client_serial_number>
<client_UDID>FXXXXXXXXX-XXXX-XXXX-XXXX-
XXXXXXXXXXXXX</client_UDID>
<client_OS>Mac OS X</client_OS>
<client_OS_version>10.9.3</client_OS_version>
<client_app_type>web browser</client_app_type>
<client_name>Mobile Safari</client_name>
<client_version>537.75.14</client_version>
</client_details>
<message>
<message_identifier>ID_message_10</message_identifier>
<team_identifier>ID_team_1</team_identifier>
<channel_identifier>ID_channel_1</channel_identifier>
<contents>That is an interesting invention. I have attached a copy our paten t policy.</contents>
<attachments>patent_policy.pdf</attachments>
</message>
</auth_request>
グループベースの通信システム105は、メッセージのインデックス付け及びグループベースの通信リポジトリ107Aへの格納を容易にするために、受信されたメッセージに基づき格納メッセージを作成できる、少なくとも1つのグループベースの通信サーバ106Aを備えている。一実施形態では、この格納メッセージは、メッセージ識別子、グループ識別子、グループベースの通信チャネル識別子、送信ユーザ識別子、トピック、応答、メッセージコンテンツ、添付ファイル、メッセージ階層データ、第3者パーティのメタデータなどのデータを含むことができ、会話プリミティブデータ(conversation primitive data)など。例えば、グループベースの通信サーバ106Aは、以下に提供されるように、実質的にXML形式のデータを含むHTTP(S)POSTメッセージの形式で、以下の例示的な格納メッセージを提供してもよい。
POST /storage_message.php HTTP/1.1
Host: www.server.com
Content-Type: Application/XML
Content-Length: 667
<?XML version = “1.0” encoding = “UTF-8”?>
<storage_message>
<message_identifier>ID_message_10</message_identifier>
<team_identifier>ID_team_1</team_identifier>
<channel_identifier>ID_channel_1</channel_identifier>
<sending_user_identifier>ID_user_1</sending_user_identifier>
<topics>
<topic>inventions</topic>
<topic>patents</topic>
<topic>policies</topic>
</topics>
<responses>
<response>liked by ID_user_2</response>
<response>starred by ID_user_3</response>
</responses>
<contents>That is an interesting invention. I have attached a copy our patent policy.</contents>
<attachments>patent_policy.pdf</attachments>
<conversation_primitive>
conversation includes messages: ID_message_8, ID_message_9, ID_message_10,
ID_message_11, ID_message_12
</conversation_primitive>
</storage_message>
いくつかの実施形態では、グループベースの通信サーバ106Aは、グループベースの通信メッセージに関連付けられたエンティティ識別子が地理的データ格納ポリシーに関連付けられていることを判定し、メッセージデータを含む地理的データ常駐メッセージパッケージを地理的データ常駐サーバとして機能するグループベースの通信サーバ106B〜106Cの1つに送信してもよい。地理的データ常駐サーバとして機能するこのグループベースの通信サーバ106B〜106Cは、地理的データ常駐ローカルリポジトリとして機能するグループベースの通信リポジトリ107B〜107Cにメッセージデータを格納してもよい。地理的データ常駐サーバとして機能するこのグループベースの通信サーバ106B〜106Cは、そのメッセージデータに従って常駐トークンデータを生成し、この常駐トークンデータをグループベースの通信サーバ106Aに送り返してもよい。グループベースの通信サーバ106Aは、グループベースの通信リポジトリ107Aにこの常駐トークンデータを格納してもよい。
いくつかの実施形態では、前記で定義されたグループ識別子は、メッセージに関連付けられていてもよい。
いくつかの実施形態では、前記で定義されたグループベースの通信チャネル識別子は、メッセージに関連付けられていてもよい。
いくつかの実施形態では、前記で定義された送信ユーザ識別子は、メッセージに関連付けられてもよい。一実装形態では、メッセージを解析して(例えば、PHPのコマンドを使用して)、メッセージを送信したユーザの送信ユーザ識別子を判定してもよい。
いくつかの実施形態では、トピックはメッセージに関連付けられてもよい。一実装形態では、メッセージの内容を解析して(例えば、PHPのコマンドを使用して)メッセージで議論されたトピックを判定してもよい。例えば、メッセージ内のハッシュタグは、そのメッセージに関連付けられたチャネルであってもよい。他の例では、そのメッセージは、解析(例えば、会話プリミティブ(a conversation primitive)内の他のメッセージとともに解析する)し、又はトピックモデリングなどの機械学習技術を使用して解析し、そのメッセージに関連付けられたトピックを判定してもよい。
いくつかの実施形態では、応答を示すデータがメッセージに関連付けられていてもよい。例えば、他のユーザによるメッセージへの応答は、リアクション(例えば、そのメッセージに関連付けられた絵文字の選択、そのメッセージに関連付けられた「いいね(like)」ボタンの選択)、そのメッセージに埋め込まれたハイパーリンクのクリック、そのメッセージへの返信(例えば、そのメッセージに応答してグループベースの通信チャネルにメッセージを投稿する)、そのメッセージに関連付けられたファイルをダウンロードする、1つのグループベースの通信チャネルからのメッセージを別のグループベースの通信チャネルと共有する、メッセージをピン留めする(pinning)、そのメッセージにスターを付けるなどを含んでいてもよい。一実装形態では、他のユーザによるそのメッセージへの応答に関するデータをメッセージに含めてもよく、そのメッセージを解析して(例えば、PHPのコマンドを使用して)応答を判定してもよい。他の実施では、そのメッセージへの応答に関するデータをリポジトリから取得してもよい。例えば、以下のようなMySQLリポジトリコマンドを使用して、そのメッセージへの応答に関するデータを取得してもよい。
SELECT messageResponses
FROM MSM_Message
WHERE messageID = ID_message_10.
例えば、そのメッセージへの応答に関するデータを使用して、そのメッセージのコンテキスト(例えば、あるユーザの観点からのそのメッセージのソーシャルスコア)を判定してもよい。他の例では、そのメッセージへの応答に関するデータを解析して、ユーザに関するコンテキストを判定してもよい(例えば、トピックに関するそのユーザの専門知識を、そのトピックに関するそのユーザのメッセージへの応答に基づき判定してもよい)。
いくつかの実施形態では、添付ファイルをメッセージに含んでいてもよい。添付ファイルがある場合、ファイルがそのメッセージに関連付けられていてもよい。一実装形態では、そのメッセージを解析して(PHPコマンドを使用するなど)、その添付ファイルのファイル名を判定してもよい。例えば、ファイルコンテンツを解析して、そのメッセージのコンテキストを判定してもよい(例えば、特許方針文書は、そのメッセージがトピック「特許」に関連付けられていることを示していてもよい)。
いくつかの実施形態では、第三者パーティのメタデータがメッセージに関連付けられていてもよい。例えば、第三者パーティのメタデータは、企業、グループ、グループベースの通信チャネルなどに固有のメッセージ又はユーザに関する追加のコンテキストを提供してもよい。一実装形態では、そのメッセージを解析して(例えば、PHPコマンドを使用して)第三者パーティのメタデータを判定してもよい。例えば、第三者パーティのメタデータは、メッセージを送信したユーザがグループベースの通信チャネルの許可された代理人であるかどうかを示していてもよい(例えば、許可された代理人は、グループベースの通信チャネルの質問に回答するために、会社によって許可されていてもよい)。
いくつかの実施形態では、会話プリミティブがメッセージに関連付けられていてもよい。一実装形態では、会話プリミティブは、そのメッセージの解析、インデックス付け、格納などに使用される要素である。例えば、メッセージはそれ自体で解析され、独自の会話プリミティブを形成していてもよい。他の例では、メッセージは、会話を構成する他のメッセージとともに解析され、この会話を構成するメッセージが会話プリミティブを形成していてもよい。一実装形態では、この会話プリミティブは、そのメッセージ、指定された数(例えば、2)の先行メッセージ、及び指定された数(例えば、2)の後続メッセージが判定されてもよい。他の実施では、この会話プリミティブは、そのメッセージ及び他のメッセージ(例えば、チャネルにおいての)で議論されたトピックの解析及び/又はこれらのメッセージの近接度(例えば、メッセージ送信順序近接度、メッセージ送信時刻近接度)に基づき判定されてもよい。
いくつかの実施形態では、前述のように判定される様々なメタデータ、及び/又はメッセージのコンテンツを使用して、メッセージのインデックス付け(例えば、会話プリミティブを使用して)を行って、様々な検索(すなわち、グループベースの通信リポジトリ107Aから結果を返す検索クエリ)の局面を容易にする。一実装形態では、グループベースの通信リポジトリ107Aでのインデックス付けを容易にするために、グループベースの通信サーバ106Aから格納メッセージを送信してもよい。他の実装形態では、メッセージに関連付けられたメタデータを判定してもよく、そのメッセージをグループベースの通信リポジトリ107Aでインデックス付けしてもよい。一実施形態では、メッセージは、1つの会社又はグループのメッセージを別にインデックス付けしてもよい(例えば、他のグループ及び/又は会社と共有されないグループ及び/又は会社に関連付けられた別個のインデックスによって)。一実施形態では、メッセージは、別の分散リポジトリでインデックス付けされてもよい(例えば、セキュリティ目的のためのデータの分離を促すため)。いくつかの実施形態では、検索リクエストは、グループベースの通信サーバ106Aから発信されてもよく、地理的データ常駐サーバとして機能するこのグループベースの通信サーバ106B〜106Cは、他の図と併せてより詳細に説明するように、それに応じて検索を実行してもよい。
メッセージに関連する添付ファイルがある場合、検索を容易にするために、関連するファイルのファイルコンテンツを使用して、グループベースの通信リポジトリ107A内のそのようなファイルをインデックス付けしてもよい。一実施形態では、1つの会社又はグループのファイルが別の分散リポジトリでインデックス付けされるように、ファイルにインデックス付けしてもよい。
本開示の実施形態に係る例示的な装置
グループベースの通信サーバ106A〜106Cは、図2に示す装置200などの1つ以上のコンピューティングシステムによって実施してもよい。この装置200は、プロセッサ202、メモリ201、入出力回路203、通信回路205、グループベースの通信回路204、ローカル検索モジュール206、及び検索管理モジュール207を備えていてもよい。この装置200は、ここで説明する操作を実行するように構成されている。コンポーネントは機能上の制限に関して説明するが、特定の実施には必ず特定のハードウェアの使用が含まれることを理解されたい。また、本明細書で説明される特定のコンポーネントには、同様の又は共通のハードウェアが含まれることがあることも理解されたい。例えば、2組の回路は両方とも同じプロセッサ、ネットワークインターフェース、記憶媒体などの使用を活用して、関連する機能を実行するため、回路の各セットのためにハードウェアの複製は必要ない。従って、装置のコンポーネントに関して本明細書で使用される「回路」及び「モジュール」という用語の使用は、本明細書で説明される特定の回路に関連する機能を実行するように構成された特定のハードウェアを含むと理解されるべきである。
「回路」及び「モジュール」という用語は、ハードウェアを含み、いくつかの実施形態では、そのハードウェアを構成するためのソフトウェアを含むと広く理解されるべきである。例えば、いくつかの実施形態では、「回路」は、処理回路、記憶媒体、ネットワークインターフェース、入力/出力デバイスなどを含む場合がある。いくつかの実施形態では、装置200の他の要素は、特定の回路の機能を提供又は補足してもよい。例えば、プロセッサ202は処理機能を提供してもよく、メモリ201は格納機能を提供してもよく、通信回路205はネットワークインターフェース機能などを提供してもよい。
いくつかの実施形態では、プロセッサ202(及び/又はコプロセッサ、又はプロセッサを補助する又はそうでなければプロセッサに関連するあらゆる他の処理回路)は、装置のコンポーネント間で情報を受け渡すバスを介してメモリ201と通信してもよい。メモリ201は、非一時的であってもよく、例えば、1つ以上の揮発性及び/又は不揮発性メモリを含んでいてもよい。言い換えれば、例えば、メモリは、電子記憶装置(例えば、コンピュータ可読記憶媒体)であってもよい。メモリ201は、本開示の例示的な実施形態に従って、装置が様々な機能を実行できるようにするために、情報、データ、コンテンツ、アプリケーション、命令などを格納するように構成されていてもよい。
プロセッサ202は、いくつかの異なる方法で具現化することができ、例えば、独立して実行するように構成された1つ以上の処理デバイスを含んでいてもよい。追加又は代替として、プロセッサは、バスを介して直列(タンデム)に構成された1つ以上のプロセッサを含んでいてもよく、命令の独立した実行、パイプライン処理、及び/又はマルチスレッドを可能にできる。「処理回路」という用語の使用は、シングルコアプロセッサ、マルチコアプロセッサ、装置内の複数のプロセッサ、及び/又は遠隔又は「クラウド」プロセッサを含むと理解してもよい。
例示的な実施形態では、プロセッサ202は、メモリ201に格納された命令又はプロセッサにアクセス可能な命令を実行するように構成されていてもよい。代替又は追加として、プロセッサはハードコーディングされた機能を実行するように構成されていてもよい。そのようなものとして、ハードウェア、ソフトウェア、及びそれらの組み合わせのいずれによって構成されているかどうかにかかわらず、このプロセッサは、適切な構成の本開示の実施形態に係る動作を実行できるエンティティ(例えば、回路において物理的に具現化される)を表していてもよい。或いは、他の例として、プロセッサがソフトウェア命令を実行するものとして具現化される場合、その命令は、その命令が実行されるときに本明細書で説明されるアルゴリズム及び/又は動作を実行させるようにプロセッサを具体的に構成していてもよい。
いくつかの実施形態では、装置200は、プロセッサ202と通信する入出力回路203を含んでいてもよく、この入出力回路203が、ユーザに出力を提供し、いくつかの実施形態では、ユーザの入力を受信する。この入出力回路203は、ユーザインターフェースを含んでいてもよく、ディスプレイを含んでいてもよく、ウェブユーザインターフェース、モバイルアプリケーション、クライアントデバイス、キオスクなどを含んでいてもよい。いくつかの実施形態では、入出力回路203は、また、キーボード、マウス、ジョイスティック、タッチスクリーン、タッチ領域、ソフトキー、マイクロフォン、スピーカ、又は他の入出力機構も含んでいてもよい。プロセッサ及び/又はプロセッサを含むユーザインターフェース回路は、プロセッサにアクセス可能なメモリ(メモリ201など)に格納されたコンピュータプログラム命令(例えばソフトウェア及び/又はファームウェア)を通じて1つ以上のユーザインターフェース要素の1つ以上の機能を制御するように構成されていてもよい。
通信回路205は、ネットワーク及び/若しくは装置200と通信するあらゆるデバイス、回路、若しくはモジュールからデータを受信し並びに/又はこれらにデータを送信するように構成されたハードウェア或いはハードウェアとソフトウェアとの組み合わせのいずれかで具現化されるデバイス或いは回路などのあらゆる手段であってもよい。これに関して、通信回路205は、例えば、有線又は無線通信ネットワークとの通信を可能にするためのネットワークインターフェースを含んでいてもよい。例えば、通信回路205は、1つ以上のネットワークインターフェースカード、アンテナ、バス、スイッチ、ルータ、モデム、並びにサポートハードウェア及び/又はソフトウェア、或いはネットワークを介した通信を可能にするのに適した他のあらゆるデバイスを含んでいてもよい。追加又は代替として、通信インターフェースは、アンテナを介して信号の送信を引き起こすために、又はアンテナを介して受信する信号の受信を処理するために、アンテナとインタラクションする回路を含んでいてもよい。
グループベースの通信回路204は、グループベースの通信システムにおけるグループベースの通信及びアクセスをサポートするように構成されたハードウェアを含む。このグループベースの通信回路204は、プロセッサ202などの処理回路を利用して、クライアントデバイス101A〜101Nからメッセージリクエストを受信すること、又はグループベースの通信メッセージをクライアントデバイス101A〜101Nに送信することを含む動作を実行してもよい。このグループベースの通信回路204は、グループベースの通信リポジトリ107Aからのメッセージデータを格納及び/又はこれにアクセスできる。このグループベースの通信回路204は、地理的データ常駐ローカルリポジトリ107B/Cとして機能するグループベースの通信リポジトリからメッセージデータを割り当て及び/又は取得してもよい。いくつかの実施では、送信及び/又は受信データは、規定された地理的境界内に位置する地理的データ常駐ローカルリポジトリ107B/Cとして機能するグループベースの通信リポジトリに永続的に格納されるか、又は、規定された地理的境界外にあるグループベースの通信リポジトリ107Aに一時的に格納されるように制限されるメッセージコンテンツを含んでいてもよい。また、いくつかの実施形態では、グループベースの通信回路204は、別個のプロセッサ、特別に構成されたフィールドプログラマブルゲートアレイ(FPGA)、又は特定用途向け集積回路(ASIC)を含んでいてもよいことも理解されたい。
検索管理モジュール207は、様々な地理的データ常駐ローカルリポジトリ全体に配信されるグループベースのメッセージに関連する検索インデックスの生成及び管理をサポートするように構成されたハードウェア、ソフトウェア、又はそれらの組み合わせを含んでいる。この検索管理モジュール207は、例えば、いくつかの実施形態では、異なる地理的領域に格納された少なくとも1つのグループベースのメッセージのメッセージメタデータセットを識別するように構成されている。例えば、検索管理モジュール207は、装置200と同じ地理的領域のメッセージデータベースと通信して、グループベースのメッセージのメッセージデータ及び/又は他のコンテンツが異なる地理的領域にある地理的データ常駐ローカルリポジトリに格納されることを示す格納データを取得してもよい。追加又は代替として、この検索管理モジュール207は、1つ以上のリクエスト、データ、情報などを生成し、及び/又は、少なくとも1つの地理的データ常駐サーバに送信し、地理的データ常駐サーバと通信可能な地理的データ常駐ローカルリポジトリに格納されているグループベースのメッセージのためのメッセージデータを取得するように構成されたハードウェア、ソフトウェア、又はそれらの組み合わせを含んでいてもよい。いくつかのそのような実施形態では、以前に取得された格納データを使用して、通信する1つ以上の地理的データ常駐サーバを識別してもよい。例えば、その格納データは、常駐トークンデータセットを含んでいてもよく、各常駐トークンデータオブジェクトは、グループベースのメッセージに対応するメッセージデータが格納され、アクセス可能な、特定の地理的データ常駐サーバ及び/又は地理的領域を識別してもよい。追加又は代替として、検索管理モジュール207は、取得された情報の1つ以上の部分に基づき検索インデックスの生成及び/又は格納を行うように構成されていてもよい。
いくつかの実施形態では、検索管理モジュール207は、ハードウェア、ソフトウェア、又はそれらの組み合わせを使用して、検索リクエストの処理に使用される検索インデックスを取得するように構成されている。いくつかの実施形態では、例えば、検索管理モジュール207は、特定のエンティティ識別子に関連付けられた検索リクエストを受信するためのハードウェア、ソフトウェア、又はそれらの組み合わせを含んでいてもよく、ここで、そのエンティティ識別子は、特定の地理的領域に関連付けられている(例えば、そのエンティティ識別子にリンクした1つ以上のデータ常駐ポリシーに基づく)。いくつかの実施形態では、検索管理モジュール207は、エンティティ識別子及び/又はリンクした情報に基づき地理的領域及び/又は地理的データ常駐サーバを識別するように構成されている。検索管理モジュール207は、例えば、地理的データ常駐サーバへの検索インデックス取得リクエストの送信を通じて、地理的データ常駐サーバに関連付けられた地理的データ常駐ローカルリポジトリから検索インデックスを取得するように構成されていてもよい。検索管理モジュール207は、追加又は代替として、取得された検索インデックス及び/若しくは検索リクエストに基づき、例えばその中の検索リクエストデータを使用して、検索結果データを識別するように構成されたハードウェア、ソフトウェア、又はそれらの組み合わせを含んでいてもよい。検索管理モジュール207は、検索結果データを、検索リクエストを発信し若しくは送信したシステム、デバイス、又は他のコンピューティングハードウェアに提供するハードウェア、ソフトウェア、又はそれらの組み合わせを追加又は代替として含んでいてもよい。
いくつかの実施形態では、検索管理モジュール207は、1つ以上の種類の格納データを暗号化解除するためのキーデータを識別し、取得し、及び/又は利用するように構成されていてもよい。いくつかの実施形態では、例えば、検索管理モジュール207は、1つ以上のエンティティ検索キー又はメッセージ復号キーを識別でき、これらは、例えば他の地理的領域にある地理的データ常駐サーバからのそれぞれ特定のデータを復号するため及び/又は復号データを取得するために使用してもよい。例えば、いくつかの実施形態では、検索管理モジュール207は、ハードウェア、ソフトウェア、又はそれらの組み合わせを介して、復号されたメッセージデータセットを取得する際に使用するメッセージ復号キー及び/若しくは復号された検索インデックスを取得する際に使用するエンティティ検索キーを識別し並びに/又は取得するように構成されていてもよい。
いくつかの実施形態では、検索管理モジュール207は、装置200に関して説明した1つ以上の他のモジュールを利用して、前記の動作の一部又は全部を実行できることを理解されたい。例えば、いくつかの実施形態では、検索管理モジュール207は、プロセッサ202などの処理回路を利用して、前記の動作の少なくとも1つを実行する。いくつかの実施形態では、検索管理モジュール207は、別個のプロセッサ、特別に構成されたフィールドプログラマブルゲートアレイ(FPGA)、又は特別に構成された特定用途向け集積回路(ASIC)を含んでいてもよいことも理解されたい。
前述のように、また本開示に基づき理解されるように、本開示の実施形態は、方法、モバイルデバイス、バックエンドネットワークデバイスなどとして構成されていてもよい。従って、実施形態は、完全なハードウェア、又はソフトウェア及びハードウェアのあらゆる組み合わせを含む、様々な手段を備えていてもよい。更に、実施形態は、記憶媒体に組み込まれたコンピュータ可読プログラム命令(例えば、コンピュータソフトウェア)を有する少なくとも1つの非一時的コンピュータ可読記憶媒体上のコンピュータプログラム製品の形態であってもよい。非一時的ハードディスク、CD−ROM、フラッシュメモリ、光学式記憶デバイス、又は磁気記憶デバイスを含む、あらゆる適切なコンピュータ可読記憶媒体を利用できる。
本開示の実施形態に係る例示的なクライアントデバイス/遠隔装置
規定された地理的境界の外側に位置するクライアントデバイス101A〜101Nのうちのいくつかのクライアントデバイス/遠隔装置は、図3に示される装置320などの1つ以上のコンピューティングシステムによって具現化されてもよい。この遠隔装置320は、プロセッサ322、メモリ321、入力/出力回路323、及び通信回路325を含んでいてもよい。この遠隔装置320は、本明細書で説明する動作を実行するように構成されていてもよい。コンポーネントは機能上の制限に関して説明するが、特定の実装には必ず特定のハードウェアの使用が含まれることを理解されたい。また、本明細書で説明される特定のコンポーネントには、同様の又は共通のハードウェアが含まれることがあることも理解されたい。例えば、2組の回路は両方とも同じプロセッサ、ネットワークインターフェース、記憶媒体などの使用を活用して、関連する機能を実行するため、回路の各セットのためにハードウェアの複製は必要ない。従って、装置のコンポーネントに関して本明細書で使用される「回路」という用語の使用は、本明細書で説明する特定の回路に関連する機能を実行するように構成された特定のハードウェアを含むと理解されるべきである。
「回路」という用語は、ハードウェアを含み、いくつかの実施形態では、ハードウェアを構成するためのソフトウェアを含むと広く理解されるべきである。例えば、いくつかの実施形態では、「回路」は、処理回路、記憶媒体、ネットワークインターフェース、入出力デバイスなどを含み得る。いくつかの実施形態では、遠隔装置320の他の要素は、特定の回路の機能を提供又は補完してもよい。例えば、プロセッサ322は処理機能を提供してもよく、メモリ321は記憶機能を提供してもよく、通信回路325はネットワークインターフェース機能などを提供してもよい。
いくつかの実施形態では、プロセッサ322(及び/又はコプロセッサ、又はプロセッサを補助する又はそうでなければプロセッサに関連するあらゆる他の処理回路)は、装置のコンポーネント間で情報を受け渡すバスを介してメモリ321と通信してもよい。メモリ321は、非一時的であってもよく、例えば、1つ以上の揮発性及び/又は不揮発性メモリを含んでいてもよい。言い換えれば、例えば、メモリは、電子記憶装置(例えば、コンピュータ可読記憶媒体)であってもよい。メモリ321は、本開示の例示的な実施形態に従って、装置が様々な機能を実行できるようにするために、情報、データ、コンテンツ、アプリケーション、命令などを格納するように構成されていてもよい。
プロセッサ322は、いくつかの異なる方法で具現化することができ、例えば、独立して実行するように構成された1つ以上の処理デバイスを含んでいてもよい。追加又は代替として、プロセッサは、バスを介して直列(タンデム)に構成された1つ以上のプロセッサを含んでいてもよく、命令の独立した実行、パイプライン処理、及び/又はマルチスレッドを可能にできる。「処理回路」及び「処理モジュール」という用語の使用は、シングルコアプロセッサ、マルチコアプロセッサ、装置内の複数のプロセッサ、及び/又は遠隔又は「クラウド」プロセッサを含むと理解してもよい。
例示的な実施形態では、プロセッサ322は、メモリ321に格納された命令又はプロセッサにアクセス可能な命令を実行するように構成されていてもよい。代替又は追加として、プロセッサはハードコーディングされた機能を実行するように構成されていてもよい。そのようなものとして、ハードウェア、ソフトウェア、及びそれらの組み合わせのいずれによって構成されているかどうかにかかわらず、このプロセッサは、適切な構成の本開示の実施形態に係る動作を実行できるエンティティ(例えば、回路において物理的に具現化される)を表していてもよい。或いは、他の例として、プロセッサがソフトウェア命令を実行するものとして具現化される場合、その命令は、その命令が実行されるときに本明細書で説明されるアルゴリズム及び/又は動作を実行させるようにプロセッサを具体的に構成していてもよい。
いくつかの実施形態では、遠隔装置320は、プロセッサ322と通信する入出力回路323を含んでいてもよく、この入出力回路323が、ユーザに出力を提供し、いくつかの実施形態では、ユーザの入力を受信する。この入出力回路323は、ユーザインターフェースを含んでいてもよく、ディスプレイを含んでいてもよく、ウェブユーザインターフェース、モバイルアプリケーション、クライアントデバイス、キオスクなどを含んでいてもよい。いくつかの実施形態では、入出力回路323は、また、キーボード、マウス、ジョイスティック、タッチスクリーン、タッチ領域、ソフトキー、マイクロフォン、スピーカ、又は他の入出力機構も含んでいてもよい。プロセッサ及び/又はプロセッサを含むユーザインターフェース回路は、プロセッサにアクセス可能なメモリ(メモリ321など)に格納されたコンピュータプログラム命令(例えばソフトウェア及び/又はファームウェア)を通じて1つ以上のユーザインターフェース要素の1つ以上の機能を制御するように構成されていてもよい。
通信回路325は、ネットワーク及び/若しくは遠隔装置320と通信するあらゆるデバイス、回路、若しくはモジュールからデータを受信し並びに/又はこれらにデータを送信するように構成されたハードウェア或いはハードウェアとソフトウェアとの組み合わせのいずれかで具現化されるデバイス或いは回路などのあらゆる手段であってもよい。これに関して、通信回路325は、例えば、有線又は無線通信ネットワークとの通信を可能にするためのネットワークインターフェースを含んでいてもよい。例えば、通信回路325は、1つ以上のネットワークインターフェースカード、アンテナ、バス、スイッチ、ルータ、モデム、並びにサポートハードウェア及び/又はソフトウェア、或いはネットワークを介した通信を可能にするのに適した他のあらゆるデバイスを含んでいてもよい。追加又は代替として、通信インターフェースは、アンテナを介して信号の送信を引き起こすために、又はアンテナを介して受信する信号の受信を処理するために、アンテナとインタラクションする回路を含んでいてもよい。
前述のように、また本開示に基づき理解されるように、本開示の実施形態は、方法、モバイルデバイス、バックエンドネットワークデバイスなどとして構成されていてもよい。従って、実施形態は、完全なハードウェア、又はソフトウェア及びハードウェアのあらゆる組み合わせを含む、様々な手段を備えていてもよい。更に、実施形態は、記憶媒体に組み込まれたコンピュータ可読プログラム命令(例えば、コンピュータソフトウェア)を有する少なくとも1つの非一時的コンピュータ可読記憶媒体上のコンピュータプログラム製品の形態であってもよい。非一時的ハードディスク、CD−ROM、フラッシュメモリ、光学式記憶デバイス、又は磁気記憶デバイスを含む、あらゆる適切なコンピュータ可読記憶媒体を利用できる。
メッセージデータの送信、格納、及び取得の管理のための例示的な処理
図4A及び4Bは、本開示の実施形態に係る地理的に分散したデータ格納を管理するための例示的なデータフロー400を示している。いくつかの実施形態では、装置は、グループベースの通信システムにおいて地理的に分散したデータ格納を管理するために構成されている。いくつかの実施形態では、この装置は、第1の地理的境界により規定された第1の地理的領域(例えば、地理的領域1)に物理的に位置している。この装置は、少なくとも1つのプロセッサと、この少なくとも1つのプロセッサとともに、装置にデータフロー400の機能を含む様々な機能を実行させるコンピュータプログラムコードを含む少なくとも1つの非一時的メモリとを備える。いくつかの実施形態では、この装置は、グループベースの通信システム106Aである。いくつかの実施形態では、第1の地理的境界は、複数の第1の緯度及び経度座標によって規定される。
いくつかの実施形態では、データフロー400は、グループベースの通信サーバにより、第1のクライアントデバイスから、メッセージデータ、メッセージメタデータ、及びメッセージ識別子を含むメッセージを受信すること401を含んでいる。
いくつかの実施形態では、データフロー400は、メッセージメタデータからエンティティ識別子を抽出すること402と、エンティティ識別子が地理的データ格納ポリシーに関連付けられていることを判定することとを含んでいる。いくつかの実施形態では、メッセージに関連付けられた受信者識別子は、エンティティ識別子が関連付けられているものとは異なる地理的データ格納ポリシーに関連付けられている。いくつかの実施形態では、装置は、メッセージメタデータから組織識別子を抽出し、この組織識別子をエンティティ識別子として使用するように構成されていてもよい。いくつかの実施形態では、装置は、メッセージメタデータから送信ユーザ識別子を抽出し、抽出されたこの送信ユーザ識別子を使用してグループベースの通信リポジトリにクエリして、送信ユーザ識別子に関連付けられた組織識別子を識別し、この組織識別子を抽出されたエンティティ識別子として識別するように構成されていてもよい。
いくつかの実施形態では、データフロー400、エンティティ識別子が地理的データ記憶ポリシーに関連付けられていると判定すると、メッセージデータを含む地理的データ常駐メッセージパッケージを、地理的データ格納ポリシーに関連付けられた第2の地理的境界(地理的領域2など)により規定された第2の地理的領域に物理的に位置する地理的データ常駐サーバに送信すること403に続く。いくつかの実施形態では、地理的データ常駐サーバは、常駐トークンデータを生成する(403A)。この常駐トークンデータは、メッセージデータに関連付けられた地理的データ常駐ローカルリポジトリアドレスを参照する。いくつかの実施形態では、地理的データ常駐サーバは、メッセージデータ及び任意で常駐トークンデータを、格納のための地理的データ記憶ポリシーに関連付けられた第2の地理的境界内に物理的に位置する地理的データ常駐ローカルリポジトリに提供する(403B)。いくつかの実施形態では、第2の地理的境界は、複数の第2の緯度及び経度座標によって規定される。いくつかの実施形態では、第1の地理的境界は第1の地理的データ格納ポリシーに従い、第2の地理的境界は第2の地理的データ格納ポリシーに従う。いくつかの実施形態では、地理的データ常駐メッセージパッケージは、メッセージメタデータのサブセットを更に含み、このメッセージメタデータのサブセットはまた、更新されたメッセージのデータ常駐データで置き換えられる。いくつかの実施形態では、メッセージに関連付けられた受信者識別子は、エンティティ識別子が関連付けられたものとは異なる地理的データ格納ポリシーに関連付けられている。
いくつかの実施形態では、データフロー400は、地理的データ常駐サーバから、メッセージデータに関連付けられた地理的データ常駐ローカルリポジトリアドレスを参照する常駐トークンデータを受信すること404に続く。いくつかの実施形態では、この地理的データ常駐ローカルリポジトリアドレスは、地理的データ格納ポリシーに関連付けられた第2の地理的境界内に物理的に位置する地理的データ常駐ローカルリポジトリに関連付けられている。いくつかの実施形態では、常駐トークンデータは、メッセージ識別子、格納場所識別子、及びメッセージ暗号化キーを含んでいる。いくつかの実施形態では、このメッセージ暗号化キーは、エンティティ識別子、受信者識別子、送信ユーザ識別子などのうちの1つ以上に従ってグループ化されたメッセージのサブセットに固有のメッセージ暗号化キーであってもよい。いくつかの実施形態では、このメッセージ暗号化キーは、独立型(standalone)のメッセージ復号キーとして使用されてもよい。いくつかの実施形態では、このメッセージ暗号化キーは、暗号化又は復号のためにグループベースの通信サーバ106Aによって管理される他の中央管理メッセージ暗号化キーと併せて使用されてもよい。いくつかの実施形態では、このメッセージ暗号化キーは、グループベースの通信暗号化キー管理サーバによって管理されていてもよく、これは、その内容全体が参照によりここに組み込まれる、2019年6月6日に出願された、「METHOD, APPARATUS, AND COMPUTER PROGRAM PRODUCT FOR ENCRYPTION KEY MANAGEMENT WITHIN A GROUP-BASED COMMUNICATION SYSTEM」という名称の米国特許出願番号16/434,097でより詳細に議論されている。いくつかの実施形態では、常駐トークンデータは、操作404の前に地理的データ常駐サーバからグループベースの通信暗号化キー管理サーバに送信されてもよい。
例えば404で、常駐トークンデータを受信することにより、グループベースの通信サーバは、地理的データ常駐サーバとの通信を通じて、対応するメッセージデータの取得を可能にするように構成されている。同様に、メッセージが複数のデータ常駐ポリシーに関連付けられた共通のグループベースの通信チャネルに関連付けられているいくつかの実施形態では、例えば常駐トークンデータを含むメッセージメタデータが、データ常駐ポリシーのための他の地理的領域における地理的データ常駐サーバを介して、他の地理的領域における任意の数の他の地理的データ常駐ローカルリポジトリに複製されてもよい。これに関して、共通のグループベースの通信チャネルが、各エンティティがデータを異なる地理的領域に格納することを示すデータ保持ポリシーを割り当てられている複数のエンティティからアクセス可能である場合、そのメッセージコンテンツは、メッセージを作成した作成者ユーザアカウントに関連付けられた地理的領域に格納されてもよく、そして、残りの地理的領域は、そのメッセージに関連付けられたメッセージメタデータを格納するように構成されていてもよい。そのメッセージメタデータを各地理的領域、例えば他の地理的領域における地理的データ常駐サーバと通信可能な地理的データ常駐ローカルリポジトリ内に、格納することにより、メッセージコンテンツが格納された地理的領域からそのメッセージコンテンツを取得するためにそのメッセージメタデータを使用してもよい。この点に関して、そのメッセージコンテンツは、1人以上のユーザへの表示、並びに/又は、例えば本明細書に記載の1つ以上の検索インデックスの作成し及び/若しくは格納するための処理のために、取得されてもよい。例示的なコンテキストでは、共通のグループベースの通信チャネルは、少なくとも3つの組織識別子に関連付けられ、各組織識別子はデータを格納するための異なる地理的領域(又は少なくともいくつかの実施形態では異なる主要な地理的領域)を識別する異なる地理的データ格納ポリシーに関連付けられている。この点に関して、共通のグループベースの通信チャネルは各地理的データ格納ポリシーに関連付けられており、メッセージが共通グループベースの通信チャネルに投稿されると、そのメッセージコンテンツ及び/又はメッセージメタデータが、様々な地理的データ格納ポリシーに基づき、適切な各地理的領域にある各地理的データ常駐ローカルリポジトリに複製される。例えば、そのメッセージコンテンツは、メッセージを投稿した認証済みユーザアカウントの組織に関連付けられた地理的データ格納ポリシーによって識別される地理的領域に複製されてもよく、対応するメッセージメタデータは、共通のグループベースの通信チャネルにおける他の組織に関連付けられた残りの地理的データ格納ポリシーによって識別される他の各地理的領域に格納されてもよい。
いくつかの実施形態では、メッセージに関連付けられたグループベースの通信チャネル識別子に関連付けられた少なくとも1つの組織識別子は、エンティティ識別子に関連付けられた組織識別子とは異なる。そのような実施形態では、メッセージ暗号化キーは、組織識別子に関連付けられた第1のメッセージ暗号化キーと、少なくとも1つの組織識別子に関連付けられた第2のメッセージ暗号化キーとを含んでいる。
いくつかの実施形態では、データフロー400は、メッセージからのメッセージデータを常駐トークンデータで置き換えることによる、メッセージの更新405に続く。その更新されたメッセージは、常駐トークンデータ、メッセージメタデータ、及びメッセージ識別子を含んでいる。
いくつかの実施形態では、データフロー400は、その更新されたメッセージを、第1の地理的境界により規定された第1の地理的領域に物理的に位置するローカルリポジトリに格納すること406/407に続く。
いくつかの実施形態では、データフロー400は、メッセージが正常に配信され及び処理されたことの確認をクライアントデバイスにオプションで送信408してもよい。
地理的データ常駐サーバは、任意の地理的領域に位置していてもよく、例えば、図4Aに示す地理的領域1又は地理的領域2のいずれにも結び付けられていないことが理解されよう。
いくつかの実施形態では、地理的データ常駐メッセージパッケージは、メッセージデータのサブセットを含み、このメッセージデータのサブセットは、更新されたメッセージ内の常駐トークンデータで置き換えられる。
図5A及び5Bは、本開示の実施形態に係る、地理的に分散したデータ格納を取得するための例示的なデータフロー500を示している。いくつかの実施形態では、装置は、グループベースの通信システムにおいて地理的に分散したデータ格納を管理するために構成されている。いくつかの実施形態では、装置は、第1の地理的境界により規定された第1の地理的領域(例えば、地理的領域1)に物理的に位置している。この装置は、少なくとも1つのプロセッサと、少なくとも1つのプロセッサとともに、装置にデータフロー500の機能を含む様々な機能を実行させるコンピュータプログラムコードを含む少なくとも1つの非一時的メモリとを備える。
いくつかの実施形態では、データフロー500は、第2のクライアントデバイスからメッセージ識別子を含むメッセージ取得リクエストを受信すること501を含んでいる。
いくつかの実施形態では、データフロー500は、ローカルリポジトリから、メッセージ識別子に関連付けられた更新されたメッセージを取得すること502を含む。
いくつかの実施形態では、データフロー500は、その更新されたメッセージが常駐トークンデータを含むと判定すると、その常駐トークンデータに関連付けられた地理的データ常駐サーバに、その常駐トークンデータを含む地理的データ常駐データ取得リクエストを送信すること503を含んでいる。いくつかの実施形態では、地理的データ常駐サーバは、地理的データ格納ポリシーに関連付けられた第2の地理的境界内に物理的に位置する地理的データ常駐ローカルリポジトリからメッセージデータを取得する(503A)。いくつかの実施形態では、メッセージデータの永続性が地理的データ常駐ローカルリポジトリにのみ存在するように、メッセージデータは短期メモリに格納される。いくつかの実施形態では、地理的データ常駐サーバが常駐トークンデータを取得できない場合に、地理的データ常駐取得リクエストをグループベースの通信暗号化キー管理サーバに送信してもよい。
いくつかの実施形態では、データフロー500は、地理的データ常駐サーバから、常駐トークンデータに関連付けられた地理的データ常駐ローカルリポジトリアドレスにおける地理的データ常駐ローカルリポジトリに格納されたメッセージデータを受信すること504を含んでいる。
いくつかの実施形態では、データフロー500は、メッセージデータをクライアントデバイスに送信すること505を含んでいる。
いくつかの実施形態では、第1の地理的境界は第1の複数の緯度及び経度座標によって規定され、第2の地理的境界は第2の複数の緯度及び経度座標によって規定される。
いくつかの実施形態では、第1の地理的境界は第1のデータ格納ポリシーに従い、第2の地理的境界は第2のデータ格納ポリシーに従う。
いくつかの実施形態では、地理的データ常駐メッセージパッケージはメッセージメタデータのサブセットを更に含み、メッセージメタデータのサブセットはまた、更新されたメッセージ内の常駐トークンデータで置き換えられる。
いくつかの実施形態では、地理的データ常駐サーバは、第3の地理的境界によって規定された第3の地理的領域に物理的に位置している。
いくつかの実施形態では、メッセージデータの永続性が地理的データ常駐ローカルリポジトリにのみ存在するように、メッセージデータは短期メモリに格納される。
いくつかの実施形態では、常駐トークンデータはトークンを含んでいる。
いくつかの実施形態では、地理的データ格納ポリシーは、特定の地理的境界に関連付けられた法的データ格納要件に関連付けられている。
いくつかの実施形態では、地理的境界は、アジア、西ヨーロッパ、北米、米国、ドイツ、インド、中国、日本、ヨーロッパ、及びフランスのうちの1つ以上である。
検索インデックス生成の例示的なデータフロー
図6は、特定の地理的領域に関連する検索インデックスを生成し及び/又は管理するための例示的なデータフローを示している。このデータフロー図は、例示的なコンピューティングアーキテクチャの様々なコンピューティングデバイスによって実行される例示的な動作を含んでいる。具体的には、このコンピューティングアーキテクチャは、地理的データ常駐ローカルリポジトリ606Aと通信する地理的データ常駐サーバ604A、及び地理的データ常駐ローカルリポジトリ606Bと通信する地理的データ常駐サーバ604Bを含んでいる。地理的データ常駐サーバ604A及び地理的データ常駐ローカルリポジトリ606Aは、第1の地理的領域608Aに物理的に位置し、地理的データ常駐サーバ604B及び地理的データ常駐ローカルリポジトリ606Bは、第2の地理的領域608Bに物理的に位置している。オプションとして、いくつかの実施形態では、この例示的なコンピューティングアーキテクチャは、地理的データ常駐サーバの一方(例えば、地理的データ常駐サーバ604A)、又は地理的データ常駐サーバの両方と通信可能なリクエスタシステム602を含んでいてもよい。リクエスタシステム602は、地理的データ常駐サーバに対して、局所的に(例えば、同じ地理的領域に)格納された検索インデックスの生成及び/又は更新を開始するために、地理的データ常駐サーバと通信してもよい。いくつかのそのような実施形態では、リクエスタシステム602は、グループベースの通信サーバ106Aなどのグループベースの通信サーバ、又はクライアントデバイス101A〜101Nのうちの1つなどのクライアントデバイスによって具現化されてもよい。他の実施形態では、地理的データ常駐サーバは、リクエスタシステム602を具現化してもよく、そうでなければそのようなシステムと通信することなく機能してもよい(例えば、各地理的データ常駐サーバは、例えば予め決められたスケジュールに基づき、自動的に更新するように構成されていてもよい)。
図示された特定のデータフローは、単一のデバイスによって実行されてもよい、又は複数のデバイス(例えば、送信デバイス及び受信デバイス)によって実行される1つ以上の動作を介して実行されてもよいステップを含む。いくつかの実施形態では、各ステップは1つ以上のサブステップを含んでいてもよいことを理解されたい。追加又は代替として、いくつかの実施形態では、ステップは、全体的に又は部分的に他のコンピューティングデバイスによって実行されてもよい。オプションのステップは破線(broken lines)(又は「断続線(dashed line)」)で示されている。いくつかの実施形態では、1つ以上のこのオプションの動作を実行してもよく、又は、対応するコンピューティングデバイスがそのようなオプションの動作の実行用に構成されていてもよく、他の実施形態では、動作を実行しないか、1つ以上のコンピューティングデバイスがそのような実行のために構成されていなくてもよい。
オプションのステップ652で、リクエスタシステム602は、検索インデックス生成リクエストを地理的データ常駐サーバ604Aに送信してもよい。これに関して、このリクエスタシステムは、1つ以上の地理的データ常駐サーバによって格納される検索インデックスの生成及び/又は更新を促すように構成されていてもよい。例えば、このリクエスタシステム602は、例えば、複数の地理的データ常駐サーバと関連して、相関する地理的データ常駐ローカルリポジトリにより格納され、そして、様々な地理的領域に分散した検索インデックスの更新を調整するように構成されていてもよい。このリクエスタシステム602は、このリクエスタシステムによって識別された特定のユーザインタラクションなどの特定の動作又はイベントに応じて検索インデックス生成リクエストを生成及び/又は送信するように構成されていてもよい。代替又は追加として、いくつかの実施形態では、このリクエスタシステム602は、1つ以上のタイムスタンプを追跡及び/又は解析して、検索インデックスの更新がいつ必要になるかを判断することによって1つ以上の予め決められた時間(例えば、毎時、毎日、毎週、毎月など)に検索インデックス生成リクエストを生成及び/又は送信するように構成されていてもよい。
いくつかの実施形態では、検索インデックス生成リクエストなどの及び/又は1つ以上の他の送信などのリクエスタシステム602からの送信は、地理的データ常駐サーバ604Aに1つ以上のアクションを開始及び/又は実行させてもよい。例えば、地理的データ常駐サーバ604Aは、この送信の受信に応答して、以下に説明するステップのうちの1つ以上を開始してもよい。この送信は、後続のステップに使用されるデータの取得、そのようなデータの復号、及び/又はデータを取得するべき1つ以上のコンピューティングデバイスの識別に使用するための、データ及び/又は情報を含んでいてもよい。例えば、検索インデックス生成リクエストは、メッセージメタデータセット、常駐トークンデータセット、メッセージデータセット、エンティティ検索キー(又はそのセット)、メッセージ復号キー(又はそのセット)など、及び/又はそれらの任意の組み合わせを含んでいてもよい。
ステップ654では、地理的データ常駐サーバ604Aは、地理的データ常駐ローカルリポジトリ606Aに、1つ以上の局所的に格納された(例えば、同じ地理的領域に格納された)グループベースのメッセージに関連するメッセージデータセットについてクエリするように構成されている。いくつかの実施形態では、この地理的データ常駐サーバ604Aは、1つ以上のリクエストを生成し、及び/又は、これを地理的データ常駐ローカルリポジトリ606Aに送信してもよい。例えば、地理的データ常駐サーバ604Aは、地理的データ常駐データ取得リクエストを生成してもよく、及び/又は地理的データ常駐データ取得リクエストを地理的データ常駐ローカルリポジトリ606Aに送信してもよい。いくつかの実施形態では、地理的データ常駐データ取得リクエストは、地理的データ常駐ローカルリポジトリ606Aに格納されたすべてのメッセージデータをリクエストするように構成されていてもよい。いくつかの実施形態では、地理的データ常駐データ取得リクエストは、地理的データ常駐サーバ604Aによって識別され及び/又は受信された情報に基づき構成されていてもよい。いくつかのそのような実施形態では、地理的データ常駐データ取得リクエストは、地理的データ常駐ローカルリポジトリ606Aに格納されたメッセージデータのサブセットを取得するように構成されていてもよい。例えば、この地理的データ常駐データ取得リクエストは、特定のエンティティ識別子に関連付けられたメッセージデータを取得するように、特別に構成されていてもよい。
ステップ656で、地理的データ常駐ローカルリポジトリ606Aは、例えばそれより前のリクエスト(例えば、ステップ654において)に応答して、メッセージデータセットを取得してそれを地理的データ常駐サーバ604Aに提供してもよい。そのメッセージデータセットを取得するために、地理的データ常駐ローカルリポジトリ606Aは、ステップ654での送信によって表された、又はこの送信に関連した、1つ以上のクエリを実行してもよい。例えば、地理的データ常駐ローカルリポジトリ606Aは、すべてのメッセージデータ、又は特定のエンティティ識別子に関連付けられた(例えば、特定の組織に関連付けられた)メッセージデータのサブセットのための、クエリを実行してもよい。いくつかの実施形態では、地理的データ常駐サーバ604Aはこのクエリを開始し(例えば、リクエストを利用して)、地理的データ常駐ローカルリポジトリ606Aはそのクエリを実行し、地理的データ常駐サーバ604Aは、その実行されたクエリに応答して結果データとしてのメッセージデータセットを受信する。取得されたメッセージデータセットは、1つ以上の地理的データ格納ポリシーに基づき、第1の地理的領域608Aに格納された1つ以上のグループベースのメッセージのメッセージコンテンツを具現化してもよい。
オプションのステップ658で、地理的データ常駐サーバ604Aは、取得されたメッセージデータセットを復号してもよい。いくつかの実施形態では、例えば、地理的データ常駐サーバ604Aは、取得されたメッセージデータセットを復号する際に使用するための1つ以上のメッセージ復号キーを識別してもよい。いくつかの実施形態では、地理的データ常駐サーバ604Aは、安全な環境にメッセージ復号キーを格納するキー管理システムを含んでいてもよく、又はそれと通信してもよい。地理的データ常駐サーバ604Aは、地理的データ常駐ローカルリポジトリ606Aから取得された情報、例えばメッセージデータセット自体及び/又は関連するメタデータに基づき、1つ以上のメッセージ復号キーを取得してもよい。追加又は代替として、地理的データ常駐サーバ604Aは、前のステップで受信され及び/又は識別された情報に基づき、1つ以上のメッセージ復号キーを取得できる。例えば、地理的データ常駐サーバ604Aは、ステップ652で受信した送信から、又はそれに応答して、識別される、エンティティ識別子及び/又は他の情報を利用してもよい。
いくつかの実施形態では、メッセージデータセットは、局所的に格納されたグループベースのメッセージ(例えば、第1の地理的領域608Aにのみ格納されたメッセージ)のみを含んでいてもよい。いくつかのそのような実施形態では、データフローは、1つ以上の中間ステップを実行することなく、ステップ672に続いてもよい。
他の実施形態では、ステップ660で、地理的データ常駐サーバ604Aは、異なる地理的領域に関連付けられた地理的データ常駐サーバから取得されるべき第2のメッセージデータセットを識別してもよい。例えば、地理的データ常駐サーバ604Aは、地理的データ常駐ローカルリポジトリ606Aから取得されたメッセージデータセットが、非ローカルメッセージデータの識別及び/又は取得に使用するための常駐トークンデータセット(例えば、1つ以上の常駐トークンデータオブジェクト)を含むと判定してもよい。これに関して、いくつかのそのような実施形態では、地理的データ常駐サーバ604Aは、取得されたメッセージデータセット及び/又は関連するメタデータセットが、例えば1つ以上の検索方法を利用して、常駐トークンデータセットを含むと判定することによって、取得されるべき第2のメッセージデータセットを識別してもよい。代替又は追加として、いくつかの実施形態では、地理的データ常駐サーバ604Aは、受信したリクエストに含まれるデータの一部などの(例えば、1つ以上のエンティティ識別子)、事前に識別された1つ以上のインジケータ及び/又はデータに基づき、第2の地理的データ常駐サーバから取得されるべき第2のメッセージデータセットを識別してもよい。
オプションのステップ662で、地理的データ常駐サーバ604Aは、第2のメッセージデータセットを取得する際に使用するために、少なくともデータ常駐トークンデータセットを含むメッセージメタデータセットを、地理的データ常駐サーバ604Bに送信する。いくつかの実施形態では、メッセージメタデータセット、データ常駐トークンデータセットなどは、地理的データ常駐サーバ604Bに、第2のメッセージデータセットを取得するための1つ以上の動作を開始させるに構成された、地理的データ常駐データ取得リクエストなどの、1つ以上のリクエストの一部として送信されてもよい。いくつかの実施形態では、地理的データ常駐サーバ604Aは、セット内の1つ以上の常駐トークンデータオブジェクトに基づく少なくとも常駐トークンデータセットを送信するサーバを識別する。例えば、各常駐トークンデータオブジェクトは、地理的識別子に関連付けられた第2の地理的領域における地理的データ常駐サーバを識別するために使用してもよい、第2の地理的領域に関連付けられた、地理的領域識別子を含んでいてもよい。代替又は追加として、いくつかの実施形態では、地理的データ常駐サーバ604Aは、例えば前に受信したリクエストに含まれる、前のステップで受信され及び/又は識別されたデータを使用して地理的データ常駐サーバ604Bを識別してもよい。
地理的データ常駐サーバ604Bは、地理的データ常駐サーバ604Aとは異なる地理的領域に位置してもよい。例えば、図示されるように、地理的データ常駐サーバ604Bは、第2の地理的領域608Bに位置している。地理的データ常駐サーバ604A及び604Bは、任意の距離だけ離れていてもよい。例えば、いくつかの実施形態では、第1の地理的領域608Aは第1の国であってもよく、第2の地理的領域608Bは第2の国であってもよい。地理的領域は、特定の大陸又は他の場所の要件に限定されず、例えば、第1の地理的領域608Aは北米を定義し、第2の地理的領域608Bはヨーロッパを定義してもよい。通信を容易にするために、地理的データ常駐サーバ604A及び地理的データ常駐サーバ604Bは、1つ以上のネットワーク、例えばインターネットを介して、通信するように構成されていてもよい。いくつかの実施形態では、そのネットワークは、大きな物理的距離(例えば、数十、数百、数千マイル、又はそれ以上)を超えて送信するように構成されていてもよい。そのようなネットワークは、そのような送信を容易にするために1つ以上のサブネットワークを含んでいてもよい。
オプションのステップ664で、地理的データ常駐サーバ604Bは、地理的データ常駐ローカルリポジトリ606Bに、第2のメッセージデータセットをクエリするように構成されている。いくつかの実施形態では、地理的データ常駐サーバ604Bは、常駐トークンデータセット及び/又は地理的データ常駐サーバ604Aによって受信されるメッセージメタデータセットに含まれる若しくはこれに関連する他の情報を使用して、地理的データ常駐ローカルリポジトリ606Bにクエリするように構成されている。いくつかの実施形態では、地理的データ常駐サーバ604Bは、地理的データ常駐データ取得リクエストを生成し、及び/又はこの地理的データ常駐データ取得リクエストを地理的データ常駐ローカルリポジトリ606Aに送信してもよい。地理的データ常駐データ取得リクエストは、常駐トークンデータセットに基づき第2のメッセージデータセットのクエリ及び取得を開始するように特別に構成されていてもよい。第2のメッセージデータセットは、常駐トークンデータセット内の対応する常駐トークンデータオブジェクトを有する各グループベースのメッセージの、メッセージデータオブジェクトを含んでいてもよい。これに関して、地理的データ常駐データ取得リクエストは、地理的データ常駐ローカルリポジトリ606Bに格納された第2のメッセージデータサブセットの取得を促すように構成されてもよい。
ステップ666で、地理的データ常駐ローカルリポジトリ606Bは、第2のメッセージデータセットを取得し、それを地理的データ常駐サーバ604Bに提供してもよい。第2のメッセージデータセットを取得するために、地理的データ常駐ローカルリポジトリ606Bは、ステップ664での送信によって表され、又はこの送信によって開始される1つ以上のクエリを実行してもよい。いくつかの実施形態では、地理的データ常駐サーバ604Bは、その前のクエリに応答した結果データとして設定された第2のメッセージデータを受信してもよい。
オプションのステップ668で、地理的データ常駐サーバ604Bは、取得された第2のメッセージデータセットを復号してもよい。いくつかの実施形態では、例えば、地理的データ常駐サーバ604Bは、第2のメッセージデータセットを復号する際に使用するための1つ以上のメッセージ復号キーを識別してもよい。例えば、いくつかの実施形態では、地理的データ常駐サーバ604Bは、第2の地理的領域608Bの安全な環境にメッセージ復号キーを格納する第2のキー管理システムを含むか、又はそれと通信してもよい。地理的データ常駐サーバ604Bは、地理的データ常駐ローカルリポジトリ606Bから取得された情報、例えば第2のメッセージデータセット及び/又は関連するメタデータセット、に基づき1つ以上のメッセージ復号キーを取得してもよい。更にいくつかの実施形態では、メッセージ復号キーは、地理的データ常駐サーバ604Aから受信した情報に基づき識別されてもよく、及び/又は地理的データ常駐サーバ604Aから送信されたデータとして受信されてもよい。
オプションのステップ670で、地理的データ常駐サーバ604Bは、地理的データ常駐サーバ604Aに第2のメッセージデータセットを送信してもよい。例えば、地理的データ常駐サーバ604Bは、応答送信の一部として第2のメッセージデータセットを含んでいてもよい。送信は、前に受信した送信、例えばステップ662で受信したリクエストに応答して提供されてもよい。応答は、同様に、第2の地理的領域608B及び第1の地理的領域608A間で接続される1つ以上のネットワークデバイスを含む1つ以上のネットワーク及び/又はサブネットワークを介して送信されてもよい。
ステップ672で、地理的データ常駐サーバ604Aは、取得した及び/又は受信した情報に基づき検索インデックスを生成してもよい。いくつかの実施形態では、地理的データ常駐サーバ604Aは、少なくとも取得されたメッセージデータに基づき検索インデックスを生成する。追加又は代替として、いくつかの実施形態では、検索インデックスは、取得されたメッセージデータ及びメッセージメタデータセットの少なくとも一部に基づき生成される。いくつかの例示的なコンテキストでは、メッセージデータは、地理的データ常駐ローカルリポジトリ606Aから取得される。他の例示的なコンテキストでは、メッセージデータセットは、地理的データ常駐サーバ604Aから取得した第1のローカルメッセージデータセットと、地理的データ常駐サーバ604Bから取得した第2の分散メッセージデータセットとの組み合わせを含んでいる。いくつかのそのような例では、メッセージデータセットは、第1及び第2のメッセージデータセットからのすべてのデータオブジェクトを含んでいてもよい。
検索インデックスは、メッセージデータセット、又は組み合わされたメッセージデータセット及びメッセージメタデータセットの少なくとも一部を、検索インデックス生成アルゴリズムに適用することにより生成されてもよい。検索インデックス生成アルゴリズムは、1つ以上の検索インデックス方法論を使用して生成されてもよい。例えば、検索インデックスは、メッセージデータセットの様々なメッセージデータオブジェクトに基づき生成されてもよい。例示的なコンテキストでは、検索インデックスは、メッセージデータセットの各メッセージデータオブジェクト内のテキストコンテンツに基づき生成されてもよい。例えば、検索インデックスは、各メッセージデータオブジェクト内の特定のテキストデータ(例えば、特定の単語、フレーズなど)の特定の場所を特定してもよい。検索インデックスは、検索リクエストで特定されるテキストコンテンツを含むメッセージデータオブジェクトについてのメッセージデータオブジェクト識別情報の効率的かつ正確な検索を可能にするように構成されていてもよい。
いくつかの実施形態では、地理的データ常駐サーバ604Aは、生成された検索インデックスを暗号化してもよい。例えば、いくつかの実施形態では、地理的データ常駐サーバ604Aは、検索インデックスを暗号化する際に使用するためのエンティティ検索キーを受信し若しくは取得してもよく、又はそうでなければ識別する。いくつかの実施形態では、エンティティ検索キーは、検索インデックスの生成を開始するために受信した情報に基づき取得される。例えば、地理的データ常駐サーバ604Aは、検索インデックスにリンクしているか、そうでなければ関連付けられているエンティティデータオブジェクト識別子に基づきエンティティ検索キーを識別してもよい。例示的なコンテキストでは、検索インデックスは、組織データオブジェクト識別子に関連付けられたグループベースのメッセージのメッセージデータ内の特定のコンテンツを検索するために使用できるように、対応する組織データオブジェクト識別子を有する特定の組織データオブジェクトに関連付けて生成されてもよい。
ステップ674で、地理的データ常駐サーバ604Aは、生成された検索インデックスを格納するように構成されている。いくつかの実施形態では、例えば図に示されるように、地理的データ常駐サーバ604Aは、検索インデックスを地理的データ常駐ローカルリポジトリ606Aに格納するように構成されていてもよい。この検索インデックスは、エンティティデータオブジェクト識別子に関連付けて、例えば、第1の地理的領域608Aのデータ常駐ポリシーにリンクした特定のエンティティデータオブジェクトに関連付けて、格納してもよい。いくつかのそのような実施形態では、地理的データ常駐サーバ604Aは、格納用の検索インデックスを含む検索インデックス格納リクエストを生成するように構成されている。この検索インデックスは、暗号化されていない形式及び/又は暗号化された形式で格納されてもよいことを理解されたい。
オプションのステップ676で、地理的データ常駐サーバ604Aは、リクエスタシステム602に応答を送信するように構成されている。いくつかの実施形態では、その送信は、例えばステップ652で受信された、前に受信されたリクエストに対する応答を含んでいる。応答送信は、検索インデックスが正常に作成及び/又は格納されたことを示す情報を含んでいてもよい。代替又は追加として、いくつかの実施形態では、この応答送信は、検索インデックス、検索インデックス識別情報、及び/又は生成された検索インデックスに関連する他の情報を含んでいてもよい。リクエスタシステム602は、受信した情報を格納するように、及び/又は1つ以上のインターフェース、応答メッセージなどを生成する際にその情報を利用するように構成されていてもよい。例えば、リクエスタシステム602は、検索インデックスの生成が正常に処理されたかどうかを示す1つ以上のインターフェースコンポーネントを含む確認インターフェースをレンダリングしてもよい。
検索インデックス利用のための例示的なデータフロー
図7は、格納された検索インデックスを利用して検索リクエストに応答するための例示的なデータフロー図を示している。このデータフロー図は、他の例示的なコンピューティングアーキテクチャの様々なコンピューティングデバイスによって実行される例示的な動作を含んできる。具体的には、コンピューティングアーキテクチャは、グループベースの通信サーバ704と通信するクライアントデバイス702を含んでいる。グループベースの通信サーバ704は、地理的データ常駐ローカルリポジトリ606Aと通信する少なくとも地理的データ常駐サーバ604Aと通信する。グループベースの通信サーバ704は、第3の地理的領域508Cに物理的に位置し、地理的データ常駐サーバ604A及び地理的データ常駐ローカルリポジトリ606Aは、第1の地理的領域608Aに物理的に位置している。
第3の地理的領域508Cは、任意の物理的領域であってよいことを理解されたい。これに関して、いくつかのそのような実施形態では、この第3の地理的領域508Cは、第1の地理的領域608Aと同じ領域であってもよい。他の実施形態では、第3の地理的領域508Cは、第1の地理的領域608Aとは異なる物理的領域を規定する。これに関して、グループベースの通信サーバ704は、そのような地理的領域を接続するためのネットワークデバイスを含む1つ以上のネットワークを介して地理的データ常駐サーバ604Aと通信するように構成されていてもよい。クライアントデバイス702は、図示の第1、第2、若しくは第3の地理的領域、又は異なる地理的領域(図示しない)などの特定の地理的領域に位置していてもよいことを理解されたい。
図示された特定のデータフローは、単一のデバイスによって完全に実行されてもよいステップ、又は複数のデバイス(例えば、送信デバイス及び受信デバイス)によって実行される1つ以上の動作を介して実行されてもよいステップを含んでいる。いくつかの実施形態では、各ステップは1つ以上のサブステップを含んでいてもよいことを理解されたい。追加又は代替として、いくつかの実施形態では、ステップは、全体的又は部分的に他のコンピューティングデバイスによって実行されてもよい。オプションのステップは、破線(又は「断続線」)で示されている。いくつかの実施形態では、1つ以上のオプションの動作を実行するか、又は、対応するコンピューティングデバイスをそのようなオプションの動作の実行用に構成してもよく、その一方で、他の実施形態では、動作を実行しないか、又は、1つ以上のコンピューティングデバイスがそのような実行のために構成されていなくてもよい。
ステップ752で、クライアントデバイス702は、グループベースの通信サーバ704に検索リクエストを送信する。この検索リクエストは、検索を実行し、検索結果データを識別する際に使用される検索リクエストデータを含んでいてもよい。例えば、例示的なコンテキストでは、この検索リクエストデータは、検索結果データを識別するために検索を解析する際に使用するテキストデータを含んでいてもよい。検索リクエストは、クライアントデバイスを介してレンダリングされた1つ以上のインターフェースとのユーザインタラクションに応答して受信されてもよい。例えば、検索リクエストは、グループベースの通信サーバ704による処理のために検索データを入力し及び提出するユーザインタラクションに応答して、受信されてもよい。
いくつかの実施形態では、クライアントデバイス702は、特定の認証済みユーザアカウントに関連付けられていてもよい。例えば、クライアントデバイス702のユーザは、予め、認証資格情報(例えば、ユーザー名とパスワード)を提供するか、又は、グループベースの通信サーバ704によって提供されるサービスへのアクセスを許可するための認証プロセスを認証済みユーザセッション中に完了していてもよい。これに関して、その認証済みユーザセッション中に、クライアントデバイス702は、認証済みユーザアカウントに関連付けられた各リクエストを送信するように構成されていてもよい。これに関して、例えば、受信された検索リクエストは、少なくともリクエスタユーザアカウント識別子、及び/又はリクエスタユーザアカウント識別子に関連付けられ若しくはこれを使用して導き出される他の情報を含んでいてもよい。コンテキストの例では、検索リクエストは、認証済みユーザアカウントがリンクされている組織識別子を少なくとも含んでいる。
ステップ754で、グループベースの通信サーバ704は、検索インデックス取得リクエストを地理的データ常駐サーバ604Aに送信するように構成されている。検索インデックス取得リクエストを使用して、地理的データ常駐サーバ604Aに、格納された検索インデックスを取得するために、及び/又は処理のために取得された検索インデックスを提供するために、1つ以上の動作を開始させてもよい。
いくつかの実施形態では、認証済みユーザアカウントに関連する情報は、検索インデックス取得リクエストを送信する際にグループベースの通信サーバ704によって識別され及び/又は使用されてもよい。例えば、いくつかの実施形態では、グループベースの通信サーバ704は、認証済みユーザアカウントにリンクされ、含まれ、又は他の方法で関連付けられるエンティティ識別子を識別してもよい。例えば、エンティティ識別子は、認証済みユーザアカウントが登録された組織データオブジェクトを一意的に識別する組織識別子を含んでいてもよい。これに代えて、エンティティ識別子は、認証済みユーザアカウントにアクセス可能な1つ以上のワークスペース識別子を含んでいてもよい。これに代えて、更に他の実施形態では、エンティティ識別子は、認証済みユーザアカウント識別子自体を含んでいる。
グループベースの通信サーバ704は、エンティティ識別子、例えば、いくつかの実施形態では組織識別子を利用して、検索リクエストに関連する少なくとも1つのデータ常駐ポリシーデータオブジェクトを識別してもよい。これに関して、データ常駐ポリシーデータオブジェクトは、認証済みユーザアカウントに関連するデータ及び/又は情報が格納される物理的な地理的領域を示してもよい。いくつかの実施形態では、ユーザは、そのユーザがグループベースの通信サーバ704によって送信されるすべて又は一部のデータに適用したいデータ常駐ポリシーデータオブジェクトを選択するために、予め認証されたユーザアカウントを設定してもよい。代替又は追加として、いくつかの実施形態では、組織識別子又はワークスペース識別子などの各エンティティ識別子は、組織データオブジェクト又はグループベースのワークスペースに関連付けられた管理者ユーザによって提供される。これに関して、例えば、特定の組織識別子又はワークスペース識別子にリンクされたそのようなすべてのデータは、選択されたデータ常駐ポリシーデータオブジェクトに基づき格納されてもよい。
いくつかの実施形態では、識別されたデータ常駐ポリシーデータオブジェクトを使用して、格納された検索インデックスをそこから取得できるコンピューティングデバイスを識別してもよい。いくつかの実施形態では、データ常駐ポリシーデータオブジェクトは、対応するエンティティデータオブジェクト識別子に関連する、格納されたメッセージデータ及び/若しくは検索インデックスが格納された、特定の地理的領域を含んでおり又は示している。例えば、データ常駐ポリシーデータオブジェクトは、そのようなデータが格納されるべき地理的領域を表す地理的領域識別子を含んでいてもよい。地理的データ常駐サーバ604A及び/又はグループベースの通信サーバ704は、地理的領域識別子によって表される地理的領域における特定のコンピューティングデバイスと通信するために使用されるデータを識別するための、ルックアップテーブルなどのデータ及び/又は情報を含んでいてもよい。例示的な実施形態では、地理的データ常駐サーバ604A及び/又はグループベースの通信サーバ704は、ルックアップテーブル又は他の手段を利用して、地理的領域識別子をコンピューティングデバイスのIPアドレス又は他のコンピューティングデバイス識別子に関連付けるように構成されていてもよい。代替又は追加として、いくつかの実施形態では、データ常駐ポリシーデータオブジェクトは、特定のコンピューティングデバイスとの通信を一意的に可能にするデータ(例えば、地理的領域におけるコンピューティングデバイスに関連付けられたIPアドレス、又は、コンピューティングデバイスのそのようなIPアドレス若しくはその他のネットワーク識別子を識別するために用いてもよい他の識別子)を含んでいてもよい。図示のように、例えば、データ常駐ポリシーデータオブジェクトを使用して、第1の地理的領域608Aから検索インデックス及び/又はデータを取得するために通信する地理的データ常駐サーバ604Aを識別してもよい。
ステップ756で、地理的データ常駐サーバ604Aは、地理的データ常駐ローカルリポジトリ606Aから格納された検索インデックスを、クエリするように構成されている。地理的データ常駐サーバ604Aは、グループベースの通信サーバ704から送信されたエンティティデータオブジェクト識別情報に基づき、地理的データ常駐ローカルリポジトリ606Aにクエリしてもよい。例示的なコンテキストでは、例えば、地理的データ常駐サーバ604Aは、グループベースの通信サーバ704から送信された組織識別子を識別し、クエリするためにそのような組織識別子を利用してもよい。
ステップ758で、地理的データ常駐ローカルリポジトリ606Aは、格納された検索インデックスを取得し、その取得した検索インデックスを地理的データ常駐サーバ604Aに提供してもよい。いくつかの実施形態では、地理的データ常駐ローカルリポジトリ606Aは、前のステップで、例えばステップ756で、開始されたクエリを実行することによって、応答として検索インデックスを取得するように構成されている。取得された検索インデックスは、その実行されたクエリに応答して提供されてもよい。
オプションのステップ760で、地理的データ常駐サーバ604Aは、地理的データ常駐ローカルリポジトリ606Aから取得された検索インデックスを復号するように構成されている。いくつかの実施形態では、地理的データ常駐サーバ604Aは、その検索インデックスを復号する際に使用するための1つ以上のエンティティ検索キーを識別してもよい。地理的データ常駐サーバ604Aは、例えば、グループベースの通信サーバ704から地理的データ常駐ローカルサーバ604Aに送信される1つ以上のエンティティ識別子を提供することによって、1つ以上のキー管理システムと通信してエンティティ検索キーを取得してもよい。代替として、いくつかの実施形態では、例えば1つ以上のエンティティ検索キーを含むエンティティ検索キーセットが、例えば前のステップで、検索インデックスの復号のためにグループベースの通信サーバ704から地理的データ常駐サーバ604Aに送信されてもよい。例示的なコンテキストでは、1つ以上のエンティティ検索キーを含むエンティティ検索キーセットは、認証済みユーザアカウント識別子、この認証済みユーザアカウント識別子に関連付けられた組織識別子、及びこの認証済みユーザアカウントに関連付けられた少なくとも1つのグループベースのワークスペース識別子、のグループから選択される1つ以上を使用して識別される。
ステップ762で、地理的データ常駐サーバ604Aは、検索インデックスをグループベースの通信サーバ704に送信する。いくつかの実施形態では、地理的データ常駐サーバ604Aは、検索インデックスを、例えばステップ754で送信された検索インデックス取得リクエストへの応答などのように、前に送信されたリクエストへの応答として、グループベースの通信サーバ504に送信する。いくつかの実施形態では、検索インデックスは、グループベースの通信サーバ504による1つ以上の動作を開始するために提供される。例えば、地理的データ常駐サーバ604Aは、対応する検索インデックスが取得されるまで、受信された検索リクエストの処理を一時停止し、地理的データ常駐サーバ604Aからの応答を受信したときにのみ後続の検索リクエストの処理ステップに進んでもよい。
ステップ764で、グループベースの通信サーバ704は、検索インデックスに基づき、検索リクエストに応答して検索結果データを識別する。いくつかの実施形態では、グループベースの通信サーバ704は、検索インデックス及び前に受信された検索リクエストに基づき検索結果データを識別する。例えば、いくつかの実施形態では、グループベースの通信サーバ704は、受信した検索リクエストから検索リクエストデータを識別し、解析し、又は抽出し、その検索リクエストデータに基づき検索インデックスから検索リクエストデータを識別してもよい。例示的なコンテキストでは、検索インデックスを使用して、その検索リクエストデータを含み若しくはそれに関連するメッセージデータオブジェクトを表し又は識別する検索結果データを識別してもよい。例えば、検索インデックスを使用して、検索リクエストデータを含み又はそれに関連するすべてのメッセージデータオブジェクト識別子を含むメッセージデータオブジェクト識別子セットを識別してもよい。検索インデックス及び/又は検索リクエストデータに基づき検索結果データを識別するために、グループベースの通信サーバ704は、様々な検索インデックス結果識別アルゴリズム及び/又は方法論のいずれを利用してもよいことを理解されたい。
更にいくつかの実施形態では、検索インデックスは、検索結果データを識別するために使用される前に、グループベースの通信サーバ704によって復号される。これに関して、グループベースの通信サーバ704は、地理的データ常駐サーバ604Aから受信された検索インデックスを復号する際に使用するための1つ以上のエンティティ検索キーを識別するように構成されていてもよい。いくつかの実施形態では、グループベースの通信サーバ704は、キー管理システムと通信して、例えば認証済みユーザアカウント識別子、関連する組織データオブジェクト識別子、及び/又は1つ以上の関連するグループベースのワークスペース識別子を使用して、エンティティ検索キーセットを取得してもよい。そのようなエンティティ検索キーセットを識別するために使用されるデータは、例えば、ステップ752でクライアントデバイスから送信された検索リクエストの一部として含まれ、又は前のステップで提供された情報から導出されるなど、前のステップで受信されてもよい。
ステップ766で、グループベースの通信サーバ704は、検索結果データをクライアントデバイス702に送信する。いくつかの実施形態では、この検索結果データは、クライアントデバイス504に送信される検索応答データオブジェクト内で送信される。この検索結果データは、検索リクエストデータを含み若しくはこれに関連するメッセージデータを含む各メッセージデータオブジェクトに関連付けられた、メッセージデータオブジェクト識別子セット、又はメッセージデータオブジェクトセットを含んでいてもよい。
いくつかの実施形態では、応答は、検索結果データの受信に応答してクライアントデバイス702に1つ以上の動作を実行させるように構成されていてもよい。いくつかの実施形態では、クライアントデバイス702のユーザが検索リクエストデータを含むメッセージデータオブジェクトを分析できるように、クライアントデバイス702に、検索結果データを含む検索結果インターフェースをレンダリングさせてもよい。いくつかのそのような実施形態では、検索結果インターフェースは、検索結果データで提供される1つ以上のメッセージデータオブジェクト(又は対応する識別子)の選択を表すユーザインタラクションを受信するように構成されていてもよい。そのような選択を表すユーザインタラクションに応答して、クライアントデバイス702は、グループベースの通信サーバ704及び/又はグループベースの通信システムの他のデバイスからの1つ以上のグループベースのメッセージの取得をリクエストしてもよい。いくつかの実施形態では、クライアントデバイス702は、グループベースの通信チャネルに関連して格納されたグループベースのメッセージを閲覧するための少なくともグループベースの通信チャネルインターフェースを含む、グループベースの通信インターフェースをレンダリングするために、グループベースのメッセージを使用できるように、選択されたメッセージデータに関連する特定のグループベースの通信チャネルのための1つ以上のグループベースのメッセージをリクエストしてもよい。例えば、グループベースの通信チャネルインターフェースは、検索結果データからの選択されたメッセージデータに対応するグループベースのメッセージ、並びに/又は、選択されたグループベースのメッセージの前及び/若しくは後の時間閾値内に一時的に配置され、且つ、選択されたグループベースのメッセージと同じグループベースの通信チャネル識別子に関連付けられて格納された、1つ以上のグループベースのメッセージを含み得る、取得されたグループベースのメッセージを含めてレンダリングされてもよい。
他の実施形態では、代替のデータフローは、図6及び図7に示されていない1つ以上の他のデバイスを含むシステムアーキテクチャ間で行われてもよいことを理解されたい。同様に、他の実施形態では、代替のデータフローは、1つ以上の追加のステップ、代替のステップ、又は図6及び図7に示されたステップとは異なる順序で実行される1つ以上のステップを含んでいてもよい。この点に関して、図示されている特定のデータフローは例示目的のみであり、本明細書の開示の範囲及び思想を限定するものではないことを理解されたい。
例示的装置による検索インデックス生成の例示的フローチャート
図8〜13は、本開示の実施形態に係る、検索インデックス生成のための例示的な動作を示すフローチャートを示している。オプションのブロックは、全体にわたって破線又は「断続線」で示されている。図示されたブロックの1つ以上は、同時に実行してもよく、又は図示された特定の順序とは別の順序で実行されてもよいことを理解されたい。特定の図示の内容は、本明細書の開示の範囲及び思想を限定するものではないことを理解されたい。
図8は、検索インデックス生成のために実行される例示的な動作を示している。いくつかの実施形態では、この動作は、例えば装置200によって具現化される地理的データ常駐サーバによって実行される。装置200は、第1の地理的境界によって規定された第1の地理的領域に物理的に位置していてもよい。
装置200は、ブロック802で、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202など、又はそれらの組み合わせなどの手段を含み、これらの手段は、少なくとも常駐トークンデータセットを含むメッセージメタデータセットを受信するように構成されている。いくつかの実施形態では、常駐トークンデータセットを含むメッセージメタデータセットは、第2の地理的境界によって規定された第2の地理的領域に位置している地理的データ常駐サーバから受信される。メッセージメタデータセットは、第2の地理的領域に関連付けられたデータ常駐ポリシーデータオブジェクトに関連付けられた認証済みユーザアカウントが新しいグループベースのメッセージを送信すると、受信される。この点で、グループベースのメッセージのコンテンツ(例えば、メッセージデータ)は、データ常駐ポリシーデータオブジェクトに従って特定の地理的領域に物理的に格納されており、その一方で、他の物理的領域に格納されているメッセージデータの取得を可能にするために、メッセージメタデータセットは1つ以上の他の物理的な地理的領域(例えば、第1の地理的領域)格納されていてもよい。
いくつかの実施形態では、メッセージメタデータセットは、異なるデータ常駐ポリシーを介して管理される2つのエンティティに関連付けられた共通のグループベースの通信チャネル内で送信されるメッセージデータに関連付けられている。例えば、いくつかの実施形態では、第1のエンティティが第1の地理的領域におけるメッセージデータの格納を示すデータ常駐ポリシーに関連付けられる一方、第2のエンティティが第2の地理的領域におけるメッセージデータの格納を示すデータ常駐ポリシーに関連付けられるように、装置200は、第1の地理的領域に関連付けられている。一つの例示的コンテキストでは、第1のエンティティは、第1のデータ常駐ポリシーによって管理される第1の組織であってもよく、ここで、例えば、第1の組織にリンクされた認証済みユーザアカウントによって共通グループベースの通信チャネル内で送信されるメッセージデータは、第1の地理的領域に格納される。同様に、この例のコンテキストでは、第2のエンティティは、第2のデータ常駐ポリシーによって管理される第2の組織であってもよく、ここで、例えば、第2の組織にリンクされた認証済みユーザアカウントによって共通のグループベースの通信チャネル内で送信されるメッセージデータは、第2の地理的領域に格納される。これに関して、各メッセージに対応するメッセージメタデータは、少なくとも共通のグループベースの通信チャネルに関連付けられたメッセージ用検索インデックスを発生させるときに、他の地理的領域における地理的データ常駐サーバがメッセージコンテンツを取得するためにそのようなメッセージメタデータセットを利用できるように、格納のために他の地理的領域に送信されてもよい。
更に他の例では、2つのエンティティは、各々が同じ組織識別子に関連付けられた第1のグループベースのワークスペース及び第2のグループベースのワークスペースによって具現化されていてもよい。これに関して、組織は、第1のグループベースの通信ワークスペース内のデータを第1のデータ保持ポリシーによって管理されるように、且つ、第2のグループベースの通信ワークスペース内のデータを第2のデータ保持ポリシーによって管理されるように割り当てていてもよい。共通のグループベースの通信チャネルが第1及び第2のグループベースのワークスペースを介してアクセスできる状況では、組織の管理者ユーザアカウントは、メッセージを取得し、及び/又は、両方の地理的領域でそのようなグループベースのワークスペースに対して検索インデックスが作成されるように、共通のグループベースの通信チャネルのメッセージメタデータを両方の領域に格納するように設定してもよい。この点で、第1の地理的領域に格納される各メッセージのメッセージメタデータは、第2の地理的領域の地理的データ常駐ローカルリポジトリに複製され、同様に、第2の地理的領域に格納される各メッセージのメッセージメタデータは、第1の地理的領域の地理的データ常駐ローカルリポジトリに複製されてもよい。
装置200は、ブロック804で、第2の地理的領域に関連付けられた地理的データ常駐ローカルリポジトリから、少なくとも常駐トークンデータセットに基づくメッセージデータセットを取得するように構成された、例えば、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202など、又はそれらの組み合わせなどの、手段を備えている。いくつかの実施形態では、メッセージデータセットを取得するために、装置200は、地理的データ常駐データ取得リクエストを生成し、第2の地理的領域に関連付けられた地理的データ常駐サーバに送信するように構成されていてもよい。この地理的データ常駐データ取得リクエストは、少なくとも常駐トークンデータセットを含んでいてもよく、いくつかの実施形態では、メッセージメタデータセットの1つ以上の他の部分を含んでいてもよい。この地理的データ常駐データ取得リクエストは、常駐トークンデータセットに関連するメッセージデータセットについての地理的データ常駐サーバのクエリを表していてもよい。この点に関して、地理的データ常駐データ取得リクエストにより、地理的データ常駐サーバは、常駐トークンデータセットに基づき、関連する地理的データ常駐リポジトリにそのようなメッセージデータセットをクエリし、装置200へ対応する結果データを(例えば、送信することによって)提供してもよい。
いくつかの実施形態では、装置200は、前のリクエストにより要求されたデータを格納している地理的データ常駐ローカルキャッシュからデータを取得するように構成されている。例えば、いくつかの実施形態では、装置200は、前のブロックの地理的データ常駐ローカルリポジトリから少なくとも常駐トークンデータセットに関連付けられたメッセージデータセットを取得し、このメッセージデータセットを将来の取得のために地理的データ常駐ローカルキャッシュに格納していてもよい。地理的データ常駐ローカルキャッシュは、装置200と同じ地理的領域にあり、第2の地理的領域における地理的データ常駐ローカルリポジトリと通信するために必要なネットワーキングリソースを利用せずにアクセスできる。
装置200は、ブロック806で、メッセージメタデータセット及びメッセージデータセットのグループから選択される1つ以上に基づく検索インデックスを生成するように構成された、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202など、又はそれらの組み合わせなどの手段を備えている。これに関して、その検索インデックスは、グループベースのメッセージセットを識別するために効率的に検索されるように構成され及び/若しくは編成されたデータオブジェクト、又は、特定の検索リクエストデータを含むメッセージデータに関連するグループベースのメッセージについての対応するグループベースのメッセージ識別子セットを、具現化していてもよい。検索インデックスは、様々な検索インデックスアルゴリズム(search indexing algorithms)及び/又は方法論のいずれかを使用して生成してもよいことを理解されたい。例えば、いくつかの実施形態では、検索インデックスは、テキストデータ(例えば、単語、句など)を1つ以上のグループベースのメッセージにリンクするためのツリー構造を含んでいる。いくつかの実施形態では、検索インデックスは、1つ以上の関連するグループベースのメッセージ内の検索リクエストデータに関する更なる情報及び/又はより詳細な情報を提供してもよいことを理解されたい。例えば、いくつかの実施形態では、検索インデックスは、検索リクエストデータを含むグループベースのメッセージ内の特定のテキストデータの場所に関する位置データを提供してもよい。
装置200は、ブロック808で、例えば、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202など、又はそれらの組み合わせなどの、第2の地理的領域に関連付けられた地理的データ常駐ローカルリポジトリに検索インデックスを格納するように構成された手段を備えている。いくつかの実施形態では、装置200は、検索インデックスを第2の地理的領域に位置する地理的データ常駐サーバに送信して、この地理的データ常駐サーバに、その検索インデックスを第2の地理的領域における第2の地理的データ常駐ローカルリポジトリに格納させてもよい。例えば、装置200は、検索インデックス格納リクエストを生成し、これを第2の地理的領域に関連付けられた地理的データ常駐サーバに送信してもよい。ここで、検索インデックス格納リクエストは、第2の地理的領域に格納するための検索インデックスを含んでいる。
図9は、検索インデックス生成のために、特に、第2の地理的領域に関連付けられた地理的データ常駐ローカルリポジトリから少なくとも常駐トークンデータセットに基づきメッセージデータセットを取得するために、実行される例示的な動作を示している。いくつかの実施形態では、この動作は、例えば装置200によって具現化される地理的データ常駐サーバによって実行される。装置200は、第1の地理的境界によって規定された第1の地理的領域に物理的に位置していてもよい。
装置200は、ブロック902で、常駐トークンデータセットを含む地理的データ常駐データ取得リクエストを生成するように構成された、例えば、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202など、又はそれらの組み合わせなどの手段を備えている。地理的データ常駐データ取得リクエストは、常駐トークンデータセットに関連するメッセージデータセットのクエリを表していてもよい。これに関して、常駐トークンデータセット内の各常駐トークンデータオブジェクトは、他の地理的領域、例えば第2の地理的領域に物理的に位置している地理的データ常駐ローカルリポジトリの特定のメッセージ行に対応していてもよい。これに関して、各常駐トークンデータオブジェクトは、常駐トークンデータオブジェクトに関連付けられたグループベースのメッセージのメッセージデータを取得するために、地理的データ常駐サーバ及び/又は対応する地理的データ常駐ローカルリポジトリによって利用されてもよい。
装置200は、ブロック904で、地理的データ常駐データ取得リクエストを第2の地理的領域に関連付けられた地理的データ常駐サーバに送信するように構成された、例えば、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202など、又はそれらの組み合わせなどの、手段を備えている。地理的データ常駐データ取得リクエストは、地理的データ常駐サーバに、第2の地理的領域に関連付けられた相関する地理的データ常駐ローカルリポジトリからメッセージデータセットを取得させるように構成されていてもよい。いくつかの実施形態では、地理的データ常駐サーバ及び/又は地理的データ常駐ローカルリポジトリは、常駐トークンデータセットの少なくとも一部に基づき識別されてもよい。例えば、常駐トークンデータセットは、1つ以上の常駐トークンデータオブジェクトを含んでいてもよく、各常駐トークンデータオブジェクトは、特定の常駐トークンデータオブジェクトと相互に関連するメッセージデータを取得するために使用される地理的データ常駐サーバや地理的データ常駐ローカルリポジトリに関連付けられたデバイス識別情報を含む。いくつかのそのような実施形態では、リクエストを受信すると、地理的データ常駐サーバは、常駐トークンデータセットに基づき地理的データ常駐ローカルリポジトリをクエリすることによってメッセージデータセットを取得してもよい。
装置200は、ブロック906で、第2の地理的領域に関連付けられた地理的データ常駐サーバからの応答としてメッセージデータを受信するように構成された、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202など、又はそれらの組み合わせなどの手段を備えている。いくつかの実施形態では、メッセージデータセットは、1つ以上の関連するグループベースのメッセージのコンテンツを含んでいる。メッセージデータセットは、様々なエンティティデータオブジェクト及び/又は地理的領域に関連付けられた1つ以上の検索インデックスを生成する際に使用するために提供されてもよい。例えば、いくつかのそのような実施形態では、常駐トークンデータセットは、メッセージデータセットが、特定のエンティティデータオブジェクト識別子に関連付けられたすべてのグループベースのメッセージのメッセージデータオブジェクトを含むように、特定のエンティティデータオブジェクト識別子に関連付けられた常駐トークンデータオブジェクトを含んでいる。これに関して、特にエンティティデータオブジェクト識別子に関連付けられた検索インデックスを生成するために、メッセージデータセットを使用してもよい。
図10は、特に、暗号化された環境でメッセージデータセットを取得するための、検索インデックスを生成するために実行される例示的な操作を示している。いくつかの実施形態では、この動作は、例えば装置200によって具現化される地理的データ常駐サーバによって実行される。装置200は、第1の地理的境界によって規定された第1の地理的領域に物理的に位置していてもよい。
装置200は、ブロック1002で、常駐トークンデータセットに関連付けられた少なくとも1つのメッセージ復号キーを識別するように構成された、例えば、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202など、又はそれらの組み合わせなどの手段を備えている。いくつかの実施形態では、装置200は、装置200と同じ地理的領域における安全な環境に、少なくともメッセージ復号キーを格納するように構成されたキー管理システムと通信するように構成されている。いくつかの実施形態では、このキー管理システムは、1つ以上のエンティティデータオブジェクト識別子に関連付けられたメッセージ復号キーを含んでいてもよい。いくつかの実施形態では、例えば、常駐トークンデータセットは、特定のエンティティデータオブジェクト識別子に関連付けられ、少なくとも1つのメッセージ復号キーは、同様に特定のエンティティデータオブジェクト識別子に関連付けられていてもよい。これに関して、1つ以上のメッセージ復号キーを利用して、対応するエンティティデータオブジェクト識別子に関連付けられた暗号化されたメッセージデータオブジェクトを復号してもよい。いくつかの実施形態では、1つ以上のメッセージ復号キーは、メッセージデータオブジェクトを暗号化するための暗号化キーとして同様に機能する。他の実施形態では、メッセージメッセージオブジェクトの暗号化を可能にするために、異なるメッセージ暗号化キーが1つ以上のメッセージ復号キーと対にされる。
装置200は、ブロック1004で、常駐トークンデータセットを含む地理的データ常駐データ取得リクエストを生成するように構成された、例えば、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202など、又はそれらの組み合わせなどの手段を備えている。地理的データ常駐データ取得リクエストは、常駐トークンデータセットに関連付けられたメッセージデータセットについてのクエリを表していてもよい。これに関して、常駐トークンデータセット内の各常駐トークンデータオブジェクトは、例えば第2の地理的領域などの、他の地理的領域に、物理的に位置している地理的データ常駐ローカルリポジトリの特定のメッセージ行に対応していてもよい。これに関して、各常駐トークンデータオブジェクトは、地理的データ常駐サーバ及び/又は対応する地理的データ常駐ローカルリポジトリによって利用されて、常駐トークンデータオブジェクトに関連するグループベースのメッセージのメッセージデータを取得してもよい。いくつかの実施形態では、地理的データ常駐データ取得リクエストは、地理的データ常駐サーバ及び/又は地理的データ常駐ローカルリポジトリによって使用される少なくとも1つのメッセージ復号キーを更に含んでいる。
装置200は、ブロック1006で、地理的データ常駐データ取得リクエストを、第2の地理的領域に関連付けられた地理的データ常駐サーバに送信するように構成された、例えば、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202など、又はそれらの組み合わせなどの手段を備えている。地理的データ常駐データ取得リクエストは、地理的データ常駐サーバに、暗号化されたメッセージデータセットを、第2の地理的領域に関連付けられた相関する地理的データ常駐ローカルリポジトリから取得させるように構成されていてもよい。いくつかの実施形態では、地理的データ常駐サーバ及び/又は地理的データ常駐ローカルリポジトリは、常駐トークンデータセットの少なくとも一部に基づき識別されてもよい。例えば、常駐トークンデータセットは、1つ以上の常駐トークンデータオブジェクトを含んでいてもよく、各常駐トークンデータオブジェクトは、特定の常駐トークンデータオブジェクトに関連するメッセージデータを取得するために使用される地理的データ常駐サーバ及び/又は地理的データ常駐ローカルリポジトリに関連付けられたデバイス識別情報を含んでいる。いくつかのそのような実施形態では、そのリクエストを受信すると、地理的データ常駐サーバは、常駐トークンデータセットに基づき地理的データ常駐ローカルリポジトリをクエリすることによって、暗号化されたメッセージデータセットを取得してもよい。例えば、各暗号化されたメッセージデータオブジェクトは、地理的データ常駐ローカルリポジトリに、常駐トークンデータセットの特定の常駐トークンデータオブジェクトに対応するメッセージ行として格納されていてもよい。
地理的データ常駐データ取得リクエストが少なくとも1つのメッセージ復号キーを更に含むいくつかの実施形態では、地理的データ常駐サーバ及び/又は地理的データ常駐ローカルリポジトリは、少なくとも1つのメッセージ復号キーを利用してメッセージデータセットを取得してもよい。例えば、いくつかの実施形態では、地理的データ常駐ローカルリポジトリは、少なくとも1つのメッセージ復号キーを利用して、メッセージデータを取得し及び/又は暗号化されたメッセージデータセットを復号してもよい。そのようないくつかの実施形態では、地理的データ常駐ローカルリポジトリは、少なくとも1つのメッセージ復号キーを利用してメッセージデータセットを取得し、及び/又は取得された暗号化データを復号するように構成されている。代替として、いくつかの実施形態では、地理的データ常駐サーバは、少なくとも1つのメッセージ復号キーを利用して、対応する地理的データ常駐ローカルリポジトリから取得されたメッセージデータセットを復号するように構成されている。
いくつかの実施形態では、装置200は、地理的データ常駐ローカルキャッシュが前に完了したリクエストに応答して、暗号化されたデータを格納している地理的データ常駐ローカルキャッシュから暗号化されたデータを取得するように構成されている。例えば、いくつかの実施形態では、装置200は、前のブロックで地理的データ常駐ローカルリポジトリから暗号化メッセージデータセットを取得し、将来の取得のためにその暗号化されたメッセージデータセットを地理的データ常駐ローカルキャッシュに格納していてもよい。地理的データ常駐ローカルキャッシュは、装置200と同じ地理的領域にあってもよく、第2の地理的領域における地理的データ常駐ローカルリポジトリと通信するために必要なネットワーキングリソースを利用せずにアクセスできる。
装置200は、ブロック1008で、少なくとも1つのメッセージ復号キーを使用して暗号化されたメッセージデータセットを復号するように構成された、例えば、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202など、又はそれらの組み合わせなどの手段を備えている。暗号化されたメッセージデータセットは、復号されてメッセージデータセットを識別してもよい。そのようないくつかの実施形態では、メッセージデータの暗号化は、メッセージ復号キーにアクセスできない他のサーバ及び/又は認証されていないコンピューティングデバイスによる暗号化メッセージデータの復号を防ぐことにより、システム全体のセキュリティを改善できる。更に、いくつかの実施形態では、認証済みユーザアカウントは、その認証済みユーザアカウントが管理者である1つ以上のエンティティデータオブジェクトに関連付けられた1つ以上のメッセージ復号キーを管理してもよい。これに関して、ユーザは、認証済みユーザアカウントを介して、特定のメッセージ復号キーへのアクセスを取り消し、及び/又は対応する暗号化されたメッセージデータへのアクセスを防止するためにそのメッセージ復号キーを削除してもよい。
図11は、検索インデックス生成のために、特に、少なくとも共通のグループベースの通信チャネル識別子に関連付けられたグループベースのメッセージのための検索インデックスを生成するために、実行される例示的な動作を示している。いくつかの実施形態では、この動作は、例えば装置200によって具現化される地理的データ常駐サーバによって実行される。装置200は、第1の地理的境界によって規定された第1の地理的領域に物理的に位置していてもよい。
装置200は、ブロック1102で、第1の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリから、共通のグループベースの通信チャネル識別子に関連付けられた第1のメッセージデータサブセット及びメッセージメタデータセットを取得する、例えば、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202など、又はそれらの組み合わせなどの手段を備えている。これに関して、第1のメッセージデータサブセットは、第1の領域に位置している地理的データ常駐リポジトリに格納されたグループベースのメッセージのメッセージデータを含んでいてもよい。メッセージメタデータセットは、他の地理的領域、例えば特定の第2の地理的領域における地理的データ常駐ローカルリポジトリに物理的に位置している1つ以上のコンピューティングデバイスによって格納されたメッセージデータを有する1つ以上のグループベースのメッセージを識別してもよい。メッセージメタデータセットは、追加又は代替として、対応する第1のメッセージデータサブセットを取得する際の、ユーザのための常駐トークンデータセットを含んでいてもよい。
いくつかのそのような実施形態では、メッセージメタデータセットは、共通のグループベースの通信チャネル識別子に関連付けられた格納されたメッセージデータを有する各グループベースのメッセージについてのデータ常駐トークンデータオブジェクトを含んでいる。共通のグループベースのチャネル識別子は、複数のエンティティデータオブジェクト(例えば、2つ以上の組織データオブジェクト)に関連付けられている。これに関して、グループベースのメッセージの一部分は、第1のデータ常駐ポリシーデータオブジェクトに関連付けられていてもよく、グループベースのメッセージの第2の一部分は、第2のデータ常駐ポリシーデータオブジェクトに関連付けられていてもよい。データ常駐ポリシーデータオブジェクトの少なくとも1つは、第1の地理的領域におけるメッセージデータの格納に関連し、その第2番目は第2の地理的領域におけるメッセージデータの格納に関連していてもよい。常駐トークンデータセットは、共通のグループベースの通信チャネル識別子に関連付けられたすべてのメッセージ行について、最初の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリにクエリを実行し、そのメッセージ行を、第1のメッセージデータサブセット(例えば、常駐トークンデータセットを含まないメッセージ行について)及びメッセージメタデータセット(例えば、常駐トークンデータオブジェクトを含む各メッセージ行についての少なくとも常駐トークンデータオブジェクトを含む)に分けて解析してもよい。
装置200は、オプションのブロック1104で、メッセージメタデータセットの少なくとも一部に基づき、第2の地理的領域に関連付けられた地理的データ常駐サーバを特定するように構成された、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202など、又はそれらの組み合わせなどの、手段を備えている。いくつかの実施形態では、地理的データ常駐サーバは、(1)常駐トークンデータセット及び(2)メッセージメタデータセットの第2の部分のグループからの1つ以上を使用して特定される。1つの例示的なコンテキストでは、常駐トークンデータセットは、各々がメッセージデータセットを取得するために通信されるデバイスを識別する情報を含む常駐トークンデータオブジェクトを含んでいる。例えば、1つ以上の常駐トークンデータオブジェクトには、地理的データ常駐サーバ及び/若しくは対応する地理的データ常駐ローカルリポジトリとの通信に使用でき、又は、これらとの通信に使用できる他の情報を導き出すために用いられる、IPアドレス或いは他の識別子を少なくとも含めてもよい。他の例示的なコンテキストでは、地理的データ常駐サーバは、メッセージメタデータセットに含まれるエンティティデータオブジェクト識別子に基づき特定される。
装置200は、オプションのブロック1106で、第2の地理的領域に関連付けられた地理的データ常駐サーバに、メッセージメタデータセットの少なくとも一部を複製させるように構成された、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202など、又はそれらの組み合わせなどの手段を備えている。例えば、いくつかの実施形態では、地理的データ常駐サーバは、少なくともグループベースのメッセージ識別情報を第2の地理的領域に関連付けられた地理的データ常駐ローカルリポジトリに複製して、その複製されたメタデータを使用して、どのメッセージデータが特定のグループベースのメッセージ行に対応するかを識別するようにしてもよい。いくつかの実施形態では、地理的データ常駐サーバは、検索インデックスに基づき検索結果データを識別する際に使用するために、メッセージメタデータセットの少なくとも一部を複製させられる(例えば、メッセージメタデータセットの一部に関連するメッセージデータが、局所的に又は他の地理的データ常駐サーバから取得できるように)。追加又は代替として、いくつかの実施形態では、地理的データ常駐サーバは、地理的データ常駐サーバが背後で装置200との通信をしなくてもメッセージメタデータセットを取得できるように、格納するメッセージメタデータセットの少なくとも一部を地理的データ常駐ローカルキャッシュに複製させられる。
装置200は、ブロック1108で、第2の地理的領域に位置している地理的データ常駐サーバから、共通のグループベースの通信チャネル識別子に関連付けられた第2のメッセージデータサブセットを受信するように構成された、例えば、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202など、又はそれらの組み合わせなどの、手段を備えている。いくつかの実施形態では、装置200は、第2の地理的領域に位置する地理的データ常駐サーバと通信して、取得されたメッセージメタデータセットに含まれる常駐トークンデータセットに基づき第2のメッセージデータサブセットを取得するように構成されている。常駐トークンデータセットは、共通のグループベースの通信チャネル識別子に関連付けられたグループベースのメッセージのメッセージデータに各々が関連する1つ以上の常駐トークンデータオブジェクトを含んでいてもよい。例えば、第2のメッセージデータサブセットは、第2の組織データオブジェクト識別子に関連して送信されるグループベースのメッセージを含んでいてもよい。ここで、その第2の組織データオブジェクト識別子は、第2の地理的領域にある組織データオブジェクトの認証済みユーザアカウントに関連付けられたグループベースのメッセージを格納するように構成された、データ常駐ポリシーデータオブジェクトに関連づけられている。
これに関して、装置200は、少なくとも常駐トークンデータセットと、更にいくつかの実施形態では共通のグループベースの通信チャネル識別子とを含む地理的データ常駐データ取得リクエストを生成し及び送信してもよい。地理的データ常駐データ取得リクエストは、常駐トークンデータセットに基づく第2のメッセージデータセットのクエリを表していてもよい。メッセージ取得セットは、第2の地理的領域に位置する地理的データ常駐サーバに、第2の地理的領域に関連付けられた第2の地理的データ常駐ローカルリポジトリから第2のメッセージデータサブセットを取得させるように構成されていてもよい。例えば、地理的データ常駐データ取得リクエストは、第2の地理的領域に位置する地理的データ常駐サーバに、第2のメッセージデータセットを取得するための第2の地理的データ常駐ローカルリポジトリへの1つ以上のクエリを開始させてもよい。次いで、地理的データ常駐サーバは、例えば、送信された地理的データ常駐データ取得リクエストに対する応答データとして、取得された第2のメッセージデータサブセットを装置200に提供してもよい。
いくつかの実施形態では、装置200は、地理的データ常駐ローカルキャッシュが前に完了したリクエストに応答して第2のメッセージデータサブセットを格納した地理的データ常駐ローカルキャッシュから、第2のメッセージデータサブセットを取得するように構成されている。例えば、いくつかの実施形態では、装置200は、前のブロックで地理的データ常駐ローカルリポジトリから第2のメッセージデータサブセットを取得し、将来の取得のためにその第2のメッセージデータサブセットを地理的データ常駐ローカルキャッシュに格納していてもよい。この地理的データ常駐ローカルキャッシュは、装置200と同じ地理的領域にあり、第2の地理的領域における地理的データ常駐ローカルリポジトリと通信するために必要なネットワーキングリソースを利用することなくアクセスできる。
装置200は、ブロック1110で、第1のメッセージデータサブセット、第2のメッセージデータサブセット、及びメッセージメタデータサブセットに基づき、検索インデックスを生成するように構成された、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202など、又はそれらの組み合わせなどの手段を備えていてもよい。これに関して、検索インデックスは、メッセージデータに関連するグループベースのメッセージについて、グループベースのメッセージセット、又は対応するグループベースのメッセージ識別子セットを識別するために、特定の検索リクエストデータを含む、第1又は第2のメッセージデータサブセットから、効率的に検索されるように構成され及び/又は編成されたデータオブジェクトを具現化していてもよい。検索インデックスは、様々な検索インデックスアルゴリズム及び/又は方法論のいずれかを使用して生成してもよいことを理解されたい。例えば、いくつかの実施形態では、検索インデックスは、テキストデータ(例えば、単語、句など)を1つ以上のグループベースのメッセージにリンクするためのツリー構造を含んでいる。いくつかの実施形態では、検索インデックスは、1つ以上の関連するグループベースのメッセージ内の検索リクエストデータに関する更なる情報及び/又はより詳細な情報を提供してもよいことを理解されたい。例えば、いくつかの実施形態では、検索インデックスは、検索リクエストデータを含むグループベースのメッセージ内の特定のテキストデータの場所に関する位置データを提供してもよい。特定のメッセージデータのインスタンスは、メッセージメタデータサブセットからのメッセージデータオブジェクト識別子、及び/又は常駐トークンデータオブジェクトに関連付けられて格納されてもよい。これらは、検索結果データで識別されたグループベースのメッセージを再構築し及び提供するために必要なすべての情報を取得するために使用されてもよい。
装置200は、ブロック1112で、第1の地理的領域に関連付けられた地理的データ常駐ローカルリポジトリに検索インデックスを格納するように構成された、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202など、又はそれらの組み合わせなどの手段を備えている。いくつかの実施形態では、装置200は、新たに生成された検索インデックスを、格納するために地理的データ常駐ローカルリポジトリに送信する。いくつかの実施形態では、装置200は、検索インデックスがメッセージメタデータセットからの情報の少なくとも一部に基づき取得可能であるように、検索インデックスを第1の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリに格納するように構成されている。例えば、いくつかの実施形態では、新しく生成された検索インデックスは、特定のエンティティデータオブジェクト識別子に関連付けられて格納される。これに関して、検索は、各々が特定のエンティティデータオブジェクトに関連付けられた検索インデックスを使用して実行されてもよい。例示的なコンテキストでは、例えば、検索インデックスは、特定の組織データオブジェクト識別子に関連付けられた検索リクエストを処理するために検索インデックスを取得及び利用できるように、組織データオブジェクト識別子に関連付けられて生成されてもよい。これに関して、そのような検索は、組織データオブジェクト識別子に関連付けられたグループベースのメッセージを識別してもよい(例えば、組織データオブジェクト識別子に関連付けられた認証済みユーザアカウントによって送信又は受信され、グループベースの通信チャネル及び/又は組織データオブジェクト識別子に関連付けられた共通のグループベースの通信チャネルに関連付けられて格納され、組織データオブジェクト識別子に関連付けられたグループベースのワークスペース内で送信されるなど)。
図12は、少なくとも常駐トークンデータセットに基づき、第2の地理的領域に関連付けられた地理的データ常駐ローカルリポジトリから、特に第2のメッセージデータサブセットを取得するための、検索インデックス生成のために実行される例示的な動作を示している。いくつかの実施形態では、この動作は、例えば装置200によって具現化される地理的データ常駐サーバによって実行される。装置200は、第1の地理的境界によって規定された第1の地理的領域に物理的に位置していてもよい。
装置200は、ブロック1202で、第2のメッセージデータサブセットを取得するために、少なくとも常駐トークンデータセットを第2の地理的領域に位置する地理的データ常駐サーバに送信するように構成された、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202、又はそれらの組み合わせなどの手段を備えている。いくつかの実施形態では、常駐トークンデータセットは、前に受信されたメッセージメタデータセットから解析され、抽出され、又はその識別される。いくつかの実施形態では、装置200は、地理的データ常駐サーバに、相関する地理的データ常駐ローカルリポジトリから第2のメッセージデータサブセットを取得させるために、常駐トークンデータセットを含む地理的データ常駐データ取得リクエストを生成し、この地理的データ常駐データ取得リクエストを第2の地理的領域に位置する地理的データ常駐サーバに送信するように構成されている。例えば、装置200は、地理的データ常駐サーバに、地理的データ常駐データ取得リクエストに含まれる常駐トークンデータセットに基づき、第2の地理的領域に位置する相関する地理的データ常駐ローカルリポジトリに格納されたメッセージデータのクエリを開始及び/又は実行させてもよい。
装置200は、ブロック1204で、前記の送信に応答して、第2地理的領域における地理的データ常駐サーバからの第2のメッセージデータサブセットを受信するように構成された、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202、又はそれらの組み合わせなどの手段を備えている。いくつかの実施形態では、第2のメッセージデータサブセットは、1つ以上の関連するグループベースのメッセージのメッセージコンテンツを含んでいる。第2のメッセージデータサブセットは、複数のエンティティデータオブジェクト及び/又は関連する地理的領域に関連付けられた1つ以上の検索インデックスを生成する際に使用するために提供されてもよい。例えば、いくつかのそのような実施形態では、第2のメッセージデータサブセットは、第2の組織データオブジェクト識別子などの特定の第2のエンティティデータオブジェクト識別子に関連付けられた認証済みユーザアカウントによって送信されるグループベースのメッセージのメッセージデータを含んでいる。第2のメッセージデータサブセットは、共通のグループベースの通信チャネル内の第2のエンティティデータオブジェクト識別子と通信する異なるエンティティデータオブジェクト識別子に特に関連付けられた検索インデックスを生成するために使用されてもよい。
送信は、1つ以上の通信ネットワークを介して行われてもよい。いくつかの実施形態では、1つ以上の通信ネットワークは、長距離間で(例えば、世界中の国々の間で)送信を伝播する複数のネットワークサブデバイスを含んでいる。いくつかの実施形態では、通信ネットワークは、装置200と、異なる地理的領域に位置する1つ以上の地理的データ常駐サーバとの間の直接の通信を可能にする。代替又は追加として、通信ネットワークは、装置200と地理的データ常駐サーバとの間の間接的な通信を可能にして、異なる地理的領域に位置する1つ以上の地理的データ常駐ローカルリポジトリにアクセスしてもよい。いくつかのそのような実施形態では、装置200は、異なる地理的領域からの地理的データ常駐サーバによる地理的データ常駐ローカルリポジトリの直接操作が実行できないように構成されてもよい。そうすることによって、1つ以上の地理的データ常駐ポリシーデータオブジェクトに従ってデータ常駐要件が確実に維持されるようにして、システム全体のセキュリティやユーザプライバシーを強化できる。
図13は、検索インデックス生成のために、特に、暗号化された環境において共通のグループベースの通信チャネル識別子に関連付けられたメッセージデータサブセットを取得するために、実行される例示的な動作を示している。いくつかの実施形態では、この動作は、例えば装置200によって具現化される地理的データ常駐サーバによって実行される。装置200は、第1の地理的境界によって規定された第1の地理的領域に物理的に位置していてもよい。他の実施形態では、この動作は、装置200によって具現化されるグループベースの通信サーバなどの、グループベースの通信サーバによって実行される。装置200は、同様に、第1の地理的境界によって規定された第1の地理的領域に物理的に位置していてもよい。
装置200は、ブロック1302で、少なくとも1つの共通のグループベースの通信チャネル識別子に関連付けられたエンティティデータオブジェクト識別子についての少なくとも1つのメッセージ復号キーを識別するように構成された、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202など、又はそれらの組み合わせなどの手段を備えている。いくつかの実施形態では、装置200は、少なくともメッセージ復号キーを、装置200と同じ地理的領域における安全な環境に格納するように構成されたキー管理システムと通信するように構成されている。いくつかの実施形態では、キー管理システムは、1つ以上のエンティティデータオブジェクト識別子及び/又は常駐トークンデータオブジェクトに関連付けられたメッセージ復号キーを格納してもよい。いくつかのそのような実施形態では、装置200は、常駐トークンデータセット内の各常駐トークンデータオブジェクトに関連付けられたエンティティデータオブジェクト識別子に関連づけられて格納されたメッセージ復号キーについてクエリすることにより、キー管理システムから1つ以上のメッセージ復号キーを識別する。これに関して、0個以上のメッセージ復号キーを含む、取得されたメッセージ復号キーセットを使用して、第2の地理的領域に位置する地理的データ常駐ローカルリポジトリに格納された暗号化メッセージデータのセットを復号してもよい。
装置200は、ブロック1304で、第2地理的領域における地理的データ常駐サーバに、第2のローカル地理的データ常駐リポジトリから第2の暗号化メッセージデータサブセットを取得させるために、少なくとも常駐トークンデータセットを、第2の地理的領域における地理的データ常駐サーバに送信するように構成された、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202、又はそれらの組み合わせなどの手段を備えている。いくつかの実施形態では、第2の地理的データ常駐ローカルリポジトリも第2の地理的領域と一緒に配置されている。いくつかの実施形態では、装置200は、常駐トークンデータセットを含む地理的データ常駐データ取得リクエストを生成し、次いで、これを地理的データ常駐サーバに送信するように構成されている。この地理的データ常駐データ取得リクエストは、常駐トークンデータセットに関連付けられた暗号化メッセージデータセットについてのクエリを表していてもよい。例えば、各常駐トークンデータセットは、第2の地理的領域における地理的データ常駐ローカルリポジトリの特定のメッセージ行に一意的に対応する情報を含んでいてもよい。
装置200は、ブロック1306で、前の送信に応答して、第2の暗号化メタデータサブセットを、第2の地理的領域における地理的データ常駐サーバから受信するように構成された、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202、又はそれらの組み合わせなどの手段を備えていてもよい。そのようないくつかの実施形態では、例えば地理的データ常駐データ取得リクエスト内の、常駐トークンデータセットの送信により、第2の地理的領域における地理的データ常駐サーバが、相関する地理的データ常駐ローカルリポジトリに、受信した常駐トークンデータセットに基づく暗号化メッセージデータサブセットについてのクエリの実行を開始させてもよい。例えば、いくつかのそのような実施形態では、セット内の各常駐トークンデータオブジェクトは、クエリによって結果データとして返される特定のメッセージ行に関連付けられてもよい。
装置200は、ブロック1308で、少なくとも1つのメッセージ復号キーを使用して第2の暗号化メッセージデータサブセットを復号するように構成された、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202、又はそれらの組み合わせなどの手段を備えている。第2の暗号化メッセージデータサブセットは、対応する検索インデックスを生成する際に使用するための第2のメッセージデータサブセットを識別するために復号されてもよい。第2のメッセージデータサブセットを復号することにより、第1及び第2のメッセージデータサブセットを組み合わせて、共通のグループベースの通信チャネルを介して通信する1つ以上の特定のエンティティデータオブジェクトに関連する完全なメッセージデータセットを形成してもよい。これに関して、各エンティティデータオブジェクトについてのメッセージデータは、特定のユーザグループが望むようにデータプライバシーを強化ために、各エンティティデータオブジェクトに関連するデータ常駐ポリシーに従って格納されてもよい。更に、第2のメッセージデータサブセットを暗号化すると、共通のグループベースの通信チャネル内で送信されるグループベースのメッセージに関連するシステムセキュリティ及びデータプライバシーが改善される。例えば、この点で、グループベースのメッセージへのアクセスを削除する必要がある場合、又はグループベースのメッセージへのアクセスができなくなった場合、特定のメッセージ復号キーへのアクセスにより、それに続く、グループベースのメッセージ若しくは特定の関連するメッセージデータ自体の格納への変更なしで、グループベースのメッセージへのアクセスの取り消しを可能にする。1つ以上のメッセージ復号キーへのそのようなアクセスを取り消すか、又はそのキーを削除すると、メッセージデータは1つ以上の他の認証済みユーザアカウント(例えば、アクセスが取り消された組織データオブジェクト識別子に関連付けられた認証済みユーザアカウント)がアクセス不可となってもよく、また、対応するメッセージデータに基づき新しい検索インデックスが作成されなくてもよい。
他の実施形態では、本明細書に示されるブロックは、追加の及び/若しくは代替のブロック、又は図示された1つ以上のブロックの異なる位置づけを含んでいてもよいことを理解されたい。追加又は代替として、いくつかの実施形態では、2つ以上のフローに関して説明された動作を、単一のフローを形成するように組み合わせてもよい。この点に関して、図6〜11に関して示されている特定のフロー及び動作は、ここでの開示の範囲と思想を制限するものではないことを理解されたい。
例示的装置による検索インデックス利用の例示的フローチャート
図14及び図15は、本開示の実施形態に係る、検索インデックス利用のための例示的な動作を示すフローチャートである。オプションのブロックは、全体にわたって破線又は「断続線」で示されている。図示されたブロックの1つ以上は、代替の順序か、同時か、又は図示された特定の順序とは異なる順序で実行されてもよいことを理解されたい。特定の図示は、ここでの開示の範囲及び思想を限定するものではないことを理解されたい。
図14は、検索インデックス利用のために実行される例示的な動作を示している。いくつかの実施形態では、動作は、例えば装置200によって具現化される地理的データ常駐サーバによって実行される。装置200は、第1の地理的境界によって規定された第1の地理的領域に物理的に位置していてもよい。
装置200は、ブロック1402で、リクエスタシステムから、検索エンティティ識別子に関連付けられた検索リクエストを受信するように構成された、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202、又はそれらの組み合わせなどの手段を備えている。いくつかの実施形態では、リクエスタシステムは、クライアントデバイスによって具現化され、例えば、認証されたセッション中に認証済みユーザアカウントに関連付けられたユーザによってアクセスされる。他の実施形態では、リクエスタシステムは、グループベースの通信サーバ、例えば、クライアントデバイスから受信した検索リクエストを適切なコンピューティングデバイスに処理のために転送するように構成されたグループベースの通信サーバ、によって具現化される。更に他の実施形態では、リクエスタデバイスは、検索リクエストを処理のために送信するように構成された地理的データ常駐サーバによって具現化される。
検索リクエストは、例えば認証されたセッション中に、クライアントデバイスを介してグループベースの通信システムにアクセスする認証済みユーザアカウントに関連付けられたユーザによって発信されてもよい。いくつかのそのような実施形態では、その検索リクエストは、グループベースの通信システムにアクセスするために使用される認証済みユーザアカウントに関連付けられたユーザアカウント識別子を含んでいてもよい。いくつかのそのような実施形態では、認証済みユーザアカウント識別子は、関連する検索エンティティ識別子を識別するために使用されてもよい。その検索エンティティ識別子は、特定の地理的データ常駐ポリシーデータオブジェクトにリンクされた特定の組織データオブジェクト識別子を含み、又はこれに関連付けられていてもよい。追加又は代替として、いくつかの実施形態では、検索リクエストは、検索が開始されたエンティティデータオブジェクトに関連付けられた検索エンティティ識別子を含んでいてもよい。
いくつかの実施形態では、検索エンティティ識別子は、検索リクエストに関連するものとして装置200によって判定される組織データオブジェクト識別子を含んでいる。例えば、組織データオブジェクト識別子は、例えば、ユーザが組織のメンバである場合に、検索リクエストを開始した認証済みユーザーアカウントデータオブジェクトにリンクされていてもよい。いくつかのそのような実施形態では、例えば、組織データオブジェクト識別子を使用して、組織データオブジェクト識別子に関連付けられたすべてのグループベースのメッセージを検索してもよい。他の文脈では、検索エンティティ識別子は、グループベースのワークスペース識別子を含んでいる。いくつかのそのような実施形態では、グループベースのワークスペース識別子は、検索リクエストを発信したユーザによって入力及び/又は選択されてもよい。これに関して、いくつかの実施形態では、例えば、ユーザは、特定のグループベースのワークスペース識別子(例えば、グループベースのメッセージがグループベースのワークスペース内で送信されるように、対応するグループベースのワークスペース識別子に関連付けられた、グループベースの通信チャネル内で送信されるグループベースのメッセージ)に関連付けられた検索結果データのみを検索することを選択してもよい。グループベースのワークスペース識別子は、グループベースのワークスペース識別子を使用して、特に組織データオブジェクト識別子に関連付けられ且つグループベースのワークスペース識別子によって識別されるグループベースのワークスペース内に位置する、グループベースのメッセージを検索できるように、特定の組織データオブジェクト識別子に関連付けられていてもよい。更に他のコンテキストでは、検索エンティティ識別子は、認証済みユーザアカウント識別子を含んでいる。装置200は、例えば、検索リクエストを発信及び/又は送信するために使用されるクライアントデバイスの認証されたセッションに基づき、検索リクエストに関連付けられた認証済みユーザアカウント識別子を自動的に判定するように構成されていてもよい。いくつかの実施形態では、検索リクエストは、認証済みユーザアカウント識別子、又はその証済みユーザアカウント識別子を識別するために使用されてもよいデータを含んでいる。認証済みユーザアカウント識別子は、その認証済みユーザアカウント識別子に関連付けられたメッセージデータ(例えば、認証済みユーザアカウント識別子によって作成され、及び/又は他の実施形態で認証済みユーザアカウント識別子によって受信された)が格納される地理的領域を示す、データ常駐ポリシーデータオブジェクトに関連付けられていてもよい。追加又は代替として、いくつかの実施形態では、認証済みユーザアカウント識別子は、その認証済みユーザアカウント識別子を特に組織データオブジェクト識別子に関連付けられたグループベースのメッセージの検索を実行するために使用できるように、特定の組織データオブジェクト識別子に関連付けられていてもよい(例えば、その認証済みユーザアカウントがその組織データオブジェクトのメンバである場合)。
装置200は、オプションのブロック1404で、検索エンティティ識別子に基づきエンティティ検索キーを取得するように構成された、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202、又はそれらの組み合わせなどの手段を備えている。いくつかの実施形態では、装置200は、第1の地理的領域に物理的に位置するキー管理システムからエンティティ検索キーを取得するように構成されている。いくつかのそのような実施形態では、キー管理システムは、少なくともエンティティ検索キーを格納するように構成されていてもよい。他の実施形態では、キー管理システムは、少なくともエンティティ検索キー及びメッセージ復号キーを格納するように構成されている。例示的なコンテキストでは、キー管理システムは、各検索エンティティ識別子にリンクされたエンティティ検索キーを生成及び/又は格納していてもよい。ここで、そのエンティティ検索キーは、検索エンティティ識別子に関連付けられた検索インデックスを復号するために利用されてもよい。
例示的な実施形態では、エンティティ検索キーは、各組織データオブジェクト識別子に関連付けられて格納される。同様に、検索インデックスは、例えばここで説明する検索インデックス生成プロセスの1つ以上を使用して、組織データオブジェクト識別子に関連付けられて、生成され格納されてもよい。検索インデックスは、組織データオブジェクト識別子にリンクされたグループベースのメッセージに関連するメッセージデータのコーパスを効率的に検索するように構成されていてもよい。検索エンティティは、例えばエンティティ検索キー又はエンティティ検索キーと暗号記法的に(cryptographically)対になった対応するエンティティ検索暗号化キーを使用して、暗号化及び復号を可能にするなど、格納前に暗号化されていてもよい。エンティティ検索キーは、多種多様の暗号化キー管理方法を使用して暗号化及び/若しくは復号するように設計並びに/又は構成されていてもよいことを理解されたい。
装置200は、ブロック1406で、第1の地理的領域に関連付けられた地理的データ常駐ローカルリポジトリから、検索エンティティ識別子に関連付けられた検索インデックスを取得するように構成された、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202、又はそれらの組み合わせなどの手段を備えている。例えば、いくつかの実施形態では、装置200は、検索エンティティ識別子に基づき地理的データ常駐ローカルリポジトリをクエリするか、又はクエリを開始するように構成されている。いくつかのそのような実施形態では、取得された検索インデックスは、特定の検索エンティティ識別子に関連付けられて直近に生成された検索インデックスを表していてもよい。
いくつかの実施形態では、暗号化検索インデックスは、地理的データ常駐ローカルリポジトリから取得される。いくつかのそのような実施形態では、装置200は、検索インデックスを識別するエンティティ検索キーを使用して、暗号化検索インデックスを復号するように構成された、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202、又はそれらの組み合わせなどの手段を備えている。これに関して、検索インデックスへのアクセスを制御し、偶発的な露出から保護してもよい。例えば、暗号化検索インデックスのみのデータ漏洩の場合、そのような暗号化検索インデックスは、対応するエンティティ検索キーへのアクセスなしでは使用できない。
いくつかの実施形態では、装置200は、地理的データ常駐ローカルキャッシュが前に完了したリクエストに応答して検索インデックスを格納している地理的データ常駐ローカルキャッシュから検索インデックスを取得するように構成されている。例えば、いくつかの実施形態では、装置200は、前のブロックで地理的データ常駐ローカルリポジトリから検索インデックスを取得し、将来の取得のためにその検索インデックス(又は暗号化形式)を地理的データ常駐ローカルキャッシュに格納していてもよい。地理的データ常駐ローカルキャッシュは、装置200と同じ地理的領域にあり、第2の地理的領域における地理的データ常駐ローカルリポジトリと通信するために必要なネットワーキングリソースを利用せずにアクセスできる。
装置200は、ブロック1408で、検索インデックスに基づき検索結果データを識別するように構成された、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202など、又はそれらの組み合わせなどの手段を備えている。検索結果データは、検索リクエストに含まれる検索リクエストデータに基づき検索インデックスから識別されてもよい。例えば、検索リクエストデータは、様々なグループベースのメッセージのメッセージデータ内で検索されるテキストデータを含んでいてもよい。代替的又は追加的に、検索リクエストデータは、装置200にアクセス可能な様々なファイルデータオブジェクトに関連して検索されるファイルデータを含んでいてもよい。いくつかのそのような実施形態では、検索結果データは、あらゆる多種多様な検索インデックストラバーサルアルゴリズム及び/又は方法論を使用した、検索インデックス及び/又は検索リクエストデータに基づき、識別されてもよい。例えば、いくつかの実施形態では、ツリートラバーサルアルゴリズムを適用して、検索インデックスから検索結果データを識別してもよい。
検索結果データは、検索リクエストに関連するグループベースのメッセージに関連するメッセージメタデータセット及び/又はメッセージデータセットを含んでいてもよい。例えば、検索結果データは、検索リクエストデータを含むメッセージデータを有するグループベースのメッセージに関連するデータを含んでいてもよい。いくつかの実施形態では、検索結果データは、検索リクエストに関連するものとして識別されてリンクされた1つ以上のグループベースのメッセージに関連付けられた少なくとも常駐トークンデータセットを含むメッセージメタデータセットを含んでいてもよい。
装置200は、ブロック1410で、検索結果データをリクエスタシステムに提供するように構成された、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202、又はそれらの組み合わせなどの手段を備えている。いくつかの実施形態では、検索結果データは、受信された検索リクエストに応答して提供される。検索結果データは、例えばインターネットを介して、2つ以上の地理的領域間で接続され得る1つ以上の通信ネットワークを介してリクエスタシステムに提供されてもよい。
検索結果データは、検索結果データの受信に応答して、リクエスタシステムに1つ以上の動作を実行させるように構成されていてもよい。例えば、いくつかの実施形態では、リクエスタシステムは、リクエスタシステムに関連付けられたユーザが見るために、検索結果データを含む1つ以上のインターフェースをレンダリングするように構成されている。代替として、リクエスタシステムは、レンダリングのために、検索結果データを他のデバイス、例えばクライアントデバイスに、転送してもよい。検索結果データは、ユーザによるユーザインタラクションを受信するために、例えば、リクエスタシステム及び/又は関連するクライアントデバイスによってレンダリングされてもよいことを理解されたい。例えば、いくつかの実施形態では、選択されたグループベースのメッセージに関連するメッセージデータを見るための、及び/又は、グループベースのメッセージを表示するために対応するグループベースの通信チャネルインターフェースをレンダリングするための、ユーザによる選択のための検索結果データを含むインターフェースが、レンダリングされてもよい。
いくつかの実施形態では、検索インデックスは、2つ以上の検索インデックスの組み合わせに基づき生成されてもよいことが理解されるべきである。例えば、共通のグループベースの通信チャネルのコンテキストでは、各グループベースのメッセージは1つ以上の組織データオブジェクトに関連付けられ、各々は、グループベースのメッセージ(メッセージデータなど)の一部が格納される地理的領域を示すデータ常駐ポリシーデータオブジェクトに関連付けられている。各組織データオブジェクトは、例えば、第1の組織データオブジェクトに関連するメッセージデータは、第1の地理的領域に格納され、第2の組織データオブジェクトに関連するメッセージデータは第2の地理的領域に格納されるなど、対応する各データ常駐ポリシーデータオブジェクトに基づき、様々な異なる領域のメッセージデータ格納に関連付けられていてもよい。いくつかの実施形態では、そのようなコンテキストにおいて、各組織データオブジェクトは、地理的領域のそれぞれにおいて物理的に地理的データ常駐ローカルリポジトリに格納された検索インデックスに関連付けられ得ていてもよい。装置200は、そのような検索インデックスを含む検索インデックスセットを取得してもよく、その検索インデックスセットは、異なる地理的領域に関連付けられた地理的データ常駐ローカルリポジトリからそのセット内の各サブ検索インデックスを取得することによって取得される。次いで、検索インデックスセットを組み合わせて、検索結果データを識別するために使用できる完全な検索インデックスを生成してもよい。これに関して、装置200は、各データ常駐ポリシーデータオブジェクトによって表されるデータ常駐要件への適合性を維持しながら、そのようなメッセージデータに関連する検索機能を引き続き有効にする。
図15は、検索インデックス利用のために、特に検索インデックスを利用して、暗号化された環境でメッセージデータを識別し及び提供するために実行される他の例示的な動作を示している。いくつかの実施形態では、この動作は、例えば装置200によって具現化される地理的データ常駐サーバによって実行される。装置200は、第1の地理的境界によって規定された第1の地理的領域に物理的に位置していてもよい。
装置200は、ブロック1502で、検索インデックス及び検索リクエストに基づき、検索結果データに関連付けられた常駐トークンデータセットを識別するように構成された、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202、又はそれらの組み合わせなどの手段を備えている。この点に関して、検索インデックスは、装置200の地理的領域における地理的データ常駐ローカルリポジトリによって格納された常駐トークンデータセットにリンクされていてもよい。常駐トークンデータセットは、他の地理的領域における1つ以上のシステムによって維持される対応するメッセージデータセットを取得するために使用されてもよい。
装置200は、ブロック1504で、第2の地理的領域に関連付けられた地理的データ常駐サーバから、少なくとも常駐トークンデータセットに基づくメッセージデータセットを含む検索結果を取得するように構成された、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202など、又はそれらの組み合わせなどの手段を備えている。例えば、いくつかの実施形態では、装置200は、地理的データ常駐データ取得リクエストを生成し及び/又はこれを地理的データ常駐サーバに送信するように構成されていてもよく、ここで、この地理的データ常駐データ取得リクエストは、地理的データ常駐サーバに、第2の地理的領域に関連付けられた第2の地理的データ常駐サーバからメッセージデータセットを取得させ、そのメッセージデータセットを装置200への応答として提供させるように構成されている。いくつかのそのような実施形態では、地理的データ常駐データ取得リクエストは常駐トークンデータセットを含んでいてもよい。追加又は代替として、いくつかの実施形態では、地理的データ常駐サーバは、常駐トークンデータセット又はその一部を使用して識別されてもよい。
装置200は、オプションのブロック1506で、常駐トークンデータセットに関連付けられた少なくとも1つのメッセージ復号キーを識別するように構成された、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202、又はそれらの組み合わせなどの手段を備えている。例えば、少なくとも1つのメッセージ復号キーは、メッセージ復号キーセットを構成していてもよい。メッセージ復号キーは、いくつかの実施形態では、常駐トークンデータセットに関連付けられていてもよい。追加又は代替として、いくつかの実施形態では、メッセージ復号キーは、検索エンティティ識別子、及び/又は関連データに基づき識別されてもよい。例えば、いくつかの実施形態では、少なくとも1つのメッセージ復号キーは、その少なくとも1つのメッセージ復号キーが認証済みユーザアカウント識別子に関連付けられたデータを復号するために使用されるように、その認証済みユーザアカウント識別子に関連付けられて格納されてもよく、又は、その少なくとも1つのメッセージ復号キーが認証済みユーザアカウント識別子に関連付けられたデータを復号するために使用されるように、組織データオブジェクト識別子に関連付けて格納されていてもよい。いくつかの実施形態では、装置200は、メッセージ復号キーを安全な環境に格納するキー管理システムを含み、又はそれと通信してもよい。装置は、常駐トークンデータセット及び/又は関連データ(例えば、組織データオブジェクト識別子などのエンティティデータオブジェクト識別子)に基づきキー管理システムにクエリを実行して、1つ以上のメッセージ復号キーを取得してもよい。
装置200は、オプションのブロック1508で、少なくとも1つのメッセージ復号キーに基づきメッセージデータを復号するように構成された、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202、又はそれらの組み合わせなどの手段を備えている。いくつかのそのような実施形態では、単一のメッセージ復号キーを利用して、メッセージデータセット全体を復号してもよい。他の実施形態では、単一のメッセージ復号キーを利用して、メッセージデータセットの一部を含む1つ以上のメッセージデータオブジェクトを復号してもよい。メッセージデータセットは、例えば格納時に、メッセージ復号キー又は関連付けられたメッセージ暗号化キーを使用して暗号化されていてもよい。メッセージデータを暗号化及び/又は復号するために、様々な暗号化キー暗号化方法論が利用されてもよいことを理解されたい。更に、そのような暗号化により、例えば特定の組織データオブジェクトにリンクされた認証済みユーザアカウントに関連付けられているユーザが、前に認証されたユーザがそのメッセージデータを解読しそのメッセージデータにアクセスすることを防止するために、1つ以上のメッセージを取り消し及び/又は1つ以上の復号キーを削除することができることを理解されたい。
装置200は、ブロック1510で、少なくともメッセージデータセットを含む検索結果データをリクエスタシステムに提供するように構成された、ローカル検索モジュール206、検索管理モジュール207、通信回路205、プロセッサ202、又はそれらの組み合わせなどの手段を備えている。いくつかの実施形態では、検索結果データは、追加又は代替として、取得メッセージデータセットに関連付けられたメッセージメタデータセットを含んでいる。検索結果データは、受信した検索リクエストに応答して提供される。検索結果データは、例えばインターネットを介して、2つ以上の地理的領域間で接続され得る1つ以上の通信ネットワークを介してリクエスタシステムに提供されてもよい。
検索結果データは、検索結果データの受信に応答して、リクエスタシステムに、1つ以上の動作を実行させるように構成されていてもよい。例えば、いくつかの実施形態では、リクエスタシステムは、リクエスタシステムに関連するユーザが見るための検索結果データを含む1つ以上のインターフェースをレンダリングするように構成されている。代替として、リクエスタシステムは、レンダリングのために、検索結果データを他のデバイス、例えばクライアントデバイスに転送してもよい。検索結果データは、ユーザによるユーザインタラクションを受信するために、例えばリクエスタシステム及び/又は関連するクライアントデバイスによって、レンダリングされてもよいことを理解されたい。例えば、いくつかの実施形態では、選択されたグループベースのメッセージに関連するメッセージデータを見るために、及び/又はグループベースのメッセージを表示するための対応するグループベースの通信チャネルインターフェースをレンダリングするために、ユーザによる選択のための検索結果データを含むインターフェースがレンダリングされてもよい。
そのようないくつかの実施形態では、検索時にメッセージデータセットを提供することにより、検索リクエストの完全な処理に関連する全体の処理時間を短縮できることが理解されるべきである。例えば、検索結果データを提供することで、互いにかなり離れた場所にあるデバイス間で必要な送信(例えば、グループベースの通信サーバと1つ以上の地理的データ常駐サーバとの間の送信)の数を減らすことができる。そのような実施形態は、ネットワークリソースを節約でき、コンピューティングハードウェアが送信を待機し及び/又は応答を待機する間に動いていない合計時間を削減できる。
前記のように、いくつかの実施形態では、データ保持ポリシーは、特定のエンティティに関連付けられたデータが格納される特定の地理的領域を特定する。いくつかの例示的なコンテキストでは、地理的領域は、市民権、居住地、又はそのエンティティを具現化する及び/若しくはそのエンティティに関連付けられた組織の他の場所の優先傾向に関連付けられている。この点で、その地理的領域のメッセージデータ及び/又はメタデータを物理的に格納する地理的データ常駐ローカルリポジトリは、その地理的領域に物理的に位置していてもよい。
単一の地理的領域に位置する物理的コンピューティングデバイスへの依存は、グループベースの通信システムを、データアクセス及び永続性に関するリスクにさらすおそれがある。例えば、例示的なコンテキストでは、地理的データ常駐サーバ及び/又は地理的データ内の地理的データ常駐ローカルリポジトリなどのコンピューティングデバイスは、ネットワーク内の1つ以上の他のコンピューティングデバイスとの通信のために利用できなくなるおそれがある。例えば、いくつかの実施形態では、ネットワークの中断又はコンピューティングデバイスの障害により、そのようなコンピューティングデバイスが一時的にアクセスできなくなるおそれがある。追加又は代替として、他の例示的なコンテキストでは、コンピューティングデバイスは、例えば、そのコンピューティングデバイスに物理的に影響を与える自然災害により、物理的に利用できなくなる又は完全に破壊されるおそれがある。データを格納するコンピューティングデバイスが単一の地理的領域に限定されている場合、そのような自然災害や、コンピューティングデバイスに物理的に影響を与えるその他の壊滅的な出来事は、そのようなコンピューティングデバイスに格納されるデータへのアクセスに永続的に影響を与えるおそれがある。
従って、いくつかの実施形態では、1つ以上のデータ保持ポリシーは、データ保持ポリシーに使用される主要な地理的領域に加え、バックアップ地理的境界によって規定されたバックアップ地理的領域を提供してもよい。バックアップ地理的領域は、バックアップ地理的データ常駐サーバ及び/又はバックアップ地理的データ常駐ローカルリポジトリを含んでいてもよい。これらのデバイスは、データ保持ポリシー内で表される主要な地理的領域の主要なものに格納されたデータのバックアップバージョンを格納するように構成されていてもよい。この点について、主要な地理的領域に関連付けられた地理的データ常駐サーバ及び/又は地理的データ常駐ローカルリポジトリが一時的又は永続的にアクセスできなくなった状況では、データ損失のリスクを最小限に抑えるために、バックアップ地理的データ常駐サーバ及び/又は地理的データ常駐ローカルリポジトリからのデータにアクセスしてもよい。
追加又は代替として、いくつかの実施形態では、データ保持ポリシーに従って、新しく受信したメッセージデータ及び/又はメッセージメタデータの格納を容易にするために、バックアップ地理的データ常駐サーバ及び/又は地理的データ常駐ローカルサーバを使用してもよい。例えば、新しく受信したメッセージに主要な地理的領域に格納すべきメッセージコンテンツが含まれるが、地理的データ常駐ローカルリポジトリ及び/又は対応する地理的データ常駐サーバに多種多様な理由で到達できない場合、メッセージコンテンツは、代わりにバックアップ地理的データ常駐サーバ及びバックアップデータ常駐ローカルリポジトリを使用して格納されてもよい。主要な地理的データ常駐サーバ及び/又は主要な地理的データ常駐ローカルリポジトリがアクセス可能になった場合(例えば、ある程度の時間が経過した後)、バックアップデータ常駐ローカルリポジトリ内に新しく格納されたデータが主要な地理的領域における主要な地理的データ常駐ローカルリポジトリに複製されてもよい。これに関して、いくつかのそのような例示的な実施形態では、データ常駐ポリシーにバックアップ地理的領域を含めることは、ユーザが経験するデータ損失及び/又は不整合のリスクの影響を最小限に抑える。
バックアップ地理的領域は、所定のエンティティに関連付けられた管理者によって選択されてもよく、ここで、例えば、その管理者は1つ以上のエンティティに対する1つ以上のデータ常駐ポリシーを作成し、編集し、及び/又は割り当てることを許可されている。例えば、いくつかの実施形態では、管理者は、データ常駐ポリシーの作成中、又はそれに続く既存のデータ常駐ポリシーの編集中に、バックアップ地理的領域を選択する。
いくつかの実施形態では、グループベースの通信システムは、データ保持ポリシーに関連付けられた各主要な地理的領域に対して所定のバックアップ地理的位置のセットを提供する。ここで、前記所定のバックアップ地理的位置のセットは、例えば管理者によって、選択され得る1つ以上のバックアップ地理的位置を含んでいる。いくつかのそのような実施形態では、各主要な地理的領域は、バックアップ地理的領域に適切な選択であると判定された任意の数のバックアップ地理的領域にリンクされていてもよい。前記所定のバックアップ地理的領域のセットは、データ保持ポリシーの主要な地理的領域に基づき事前に決定されていてもよい。これに関して、グループベースの通信システムは、1つ以上の関連するバックアップ地理的領域に関連付けられた各主要な地理的領域を格納してもよい。いくつかの実施形態では、特定の主要な地理的領域に関連付けられたバックアップ地理的領域は、各地理的領域に関連する情報の1つ以上の態様に依存していてもよい。例えば、いくつかの実施形態では、特定の主要な地理的領域のバックアップ地理的領域は、その地理的領域において適用可能な同じデータプライバシー制限を有していてもよく、又はその地理的領域の法的枠組みの間での比較に基づきその地理的領域において適用可能な同様のデータプライバシー制限を有すると判定されてもよい。例えば、フランクフルトが主要な地理的領域として提供される例示的なコンテキストでは、パリが選択可能なバックアップ地理的領域として提供され、及び/又はミュンヘンが他の選択可能なバックアップ地理的領域として提供されてもよい。代替又は追加として、東京が主要な地理的領域として提供される例示的なコンテキストでは、京都がバックアップ地理的領域として提供されてもよい。
追加又は代替として、少なくともいくつかの実施形態では、1つ以上のバックアップ地理的領域は、主要な地理的領域に関連付けられたより大きな地理的境界内にあってもよい。例えば、この主要な地理的領域は、特定の国内の州、省、都市、又は他の1つ以上の規定された境界であってもよく、事前に決められたバックアップ地理的領域のセットの1つ以上は、他の州、省、都市、又はその国内の他の地理的に規定された地理的領域を含んでいてもよい。いくつかの実施形態では、所定の組のバックアップ地理的領域は、所望のバックアップ閾値範囲によって制限される。これに関して、事前に決められたバックアップ地理的領域のセットは、各々、主要な地理的領域からの所望のバックアップ閾値の範囲内にあってもよい(例えば、主要な地理的領域と各バックアップ地理的領域との間の距離は、所望のバックアップ閾値の範囲以下である)。他の実施形態では、グループベースの通信システムは、管理者ユーザが、選択可能な地理的領域の完全なリストからバックアップ地理的領域を選択できるように構成されている。この地理的領域の完全なリストは、主要な地理的領域以外のすべての地理的領域が含んでいてもよく、グループベースの通信システムは、使用のためのバックアップコンピューティングデバイスを含む。
いくつかの実施形態では、グループベースの通信システムは、所定の更新タイムスタンプ閾値内で、データを、バックアップ地理的領域におけるバックアップデバイスから主要な地理的領域における主要なコンピューティングデバイスに移動及び/又は複製するように構成されている。いくつかの実施形態では、その所定の更新タイムスタンプ閾値は、グループベースの通信システムによって維持されるすべてのデータ常駐ポリシーに適用される。これに関して、新しいメッセージメタデータ及び/又はコンテンツをバックアップコンピューティングデバイスに書き込んだ後、バックアップコンピューティングデバイスから、その所定の更新タイムスタンプ閾値内の主要な地理的領域におけるコンピューティングデバイス内の永続的格納に書き込んでもよい。他の実施形態では、その所定の更新タイムスタンプ閾値は、新しいデータ保持ポリシーを作成するとき、及び/又は既存のデータ保持ポリシーを編集するときに設定されてもよい。
これに関して、いくつかの実施形態では、グループベースの通信システムは、所定のタイムスタンプ間隔でアクセスできなくなった地理的領域におけるコンピューティングデバイスとの通信を試みるように構成されている。その地理的領域におけるコンピューティングデバイスが再びアクセス可能になると、グループベースの通信システムは、前にバックアップ地理的領域におけるバックアップコンピューティングデバイスに書き込まれたデータの書き込みを開始してもよい。これに関して、グループベースの通信システムは、バックアップコンピューティングデバイスに、主要なコンピューティングデバイスにまだ書き込まれていないデータ(例えば、中断されたアクセスに関連する特定されたタイムスタンプ後に受信及び/又は書き込まれたデータ)を主要なコンピューティングデバイスに送信させることができる。主要なコンピューティングデバイスが所定の更新タイムスタンプ閾値内に再びアクセスできなくなる状況では、グループベースの通信システムは、そのグループベースの通信システムに関連する1人以上の管理者に及び/又は主要な地理的領域で維持される1つ以上のデータ常駐ポリシーに関連付けられた1人以上のエンティティ管理者に、主要なコンピューティングデバイスがアクセスできないままであることを知らせるエラー通知を生成し及び/又は提供してもよい。
様々な実施形態は、バックアップ地理的領域におけるバックアップ地理的データ常駐ローカルリポジトリへの格納について、そのような情報を格納することを可能にするために1つ以上の動作を実行するように構成されていてもよい。例えば、ここで説明される実施形態は、第2の地理的領域に物理的に位置する地理的データ常駐サーバがアクセスできないと判定するように構成されていてもよい。いくつかのそのような実施形態は、地理的データ常駐サーバが、新しいメッセージデータ及び/又はメタデータを格納するために地理的データ常駐サーバに送信する試みの間に、アクセスできないと判定してもよい。例えば、第2の地理的領域における地理的データ常駐サーバは、地理的データ格納ジポリシーに関連付けられた主要な地理的データ常駐サーバであってもよいが、地理的データ常駐サーバがその第2の地理的領域における地理的データ常駐サーバにアクセスできない状況では、送信が失敗したりエラーを返したりしてもよい。いくつかのそのような実施形態は、第2の地理的領域における地理的データ常駐サーバが、送信エラーを受信及び/又は処理したときに、アクセスできないと判定してもよい。
追加又は代替として、ここに記載の実施形態は、メッセージのメッセージデータを含む受信され及び/又は識別された地理的データ常駐メッセージパッケージを、規定されたバックアップ地理的領域に物理的に位置する地理的データ常駐サーバに送信するように構成されていてもよい。これに関して、いくつかのそのような実施形態は、地理的データ格納ポリシーからバックアップ地理的領域を特定してもよい。1つの例示的なコンテキストでは、地理的データ格納ポリシーは、バックアップ地理的領域を表すパラメータのデータ値を含んでいる。いくつかのそのようなコンテキストでは、そのような例示的な実施形態は、バックアップ地理的領域に基づき、例えば各地理的領域に関連付けられた1つ以上の既知のネットワークアドレスに基づき、バックアップ地理的領域に基づくバックアップ地理的データ常駐サーバを特定してもよい。これに関して、バックアップ地理的領域は、例えば、そのバックアップ地理的領域を、エンティティに関連付けられた管理者ユーザアカウントによって地理的データ格納ポリシーに割り当てると、地理的データ格納ポリシーに関連付けられる。他の実施形態では、バックアップ地理的領域に物理的に位置するバックアップ地理的データ常駐サーバは、そのバックアップ地理的データ常駐サーバが地理的データ格納ポリシー内のデータに基づきすぐに通信できるように、例えば1つ以上のネットワーク識別子に基づき、地理的データ格納ポリシーにおいて特定される。
バックアップ地理的データ常駐サーバは、受信された地理的データ常駐メッセージパケットの一部又はすべてを格納するように構成されていてもよい。例えば、バックアップ地理的データ常駐サーバは、バックアップ地理的領域に物理的に位置するバックアップ地理的データ常駐ローカルリポジトリと通信して、バックアップ地理的データ常駐ローカルリポジトリに地理的データ常駐メッセージパケットの少なくとも一部を格納させてもよい。地理的データ常駐サーバは、単独で、又は地理的データ常駐ローカルリポジトリと組み合わせて、格納されたデータの識別に使用するための対応するバックアップ常駐トークンデータを生成してもよい。そのようなデータは、格納されたデータを地理的データ常駐ローカルリポジトリから取得する際に使用するために、1つ以上の他のデバイス、装置、及び/又はシステムに送信されてもよい。
追加又は代替として、ここに記載の実施形態は、メッセージのメッセージデータを、バックアップ地理的データ常駐サーバから受信したバックアップ常駐トークンデータで更新するように構成されていてもよい。これに関して、バックアップ常駐トークンデータは、バックアップ地理的データ常駐サーバへの送信に応答して受信されてもよい。バックアップ常駐トークンデータは、バックアップ地理的領域に関連付けられたバックアップ地理的データ常駐ローカルリポジトリに格納するための常駐トークンデータを特に表していてもよい。これに関して、データはバックアップ地理的データ常駐ローカルリポジトリに格納されたままである一方、バックアップ常駐トークンデータを使用して、対応するバックアップ地理的データ常駐サーバとの通信を通じて、バックアップ地理的データ常駐ローカルリポジトリから情報を取得できるようにしてもよい。追加又は代替として、そのような実施形態は、更新されたメッセージデータを、第1の地理的境界によって規定された第1の地理的領域に物理的に位置する地理的データ常駐ローカルリポジトリに格納するように構成されていてもよい。
これに関して、対応するメッセージデータが、例えばクライアントデバイス又は他の地理的データ常駐サーバによってリクエストされるとき、バックアップ常駐トークンデータが、メッセージデータにアクセスするために取得され利用されてもよい。これに関して、バックアップ常駐トークンデータは、対応するメッセージデータをリクエストするために、使用するバックアップ地理的データ常駐サーバを特定してもよい。従って、メッセージデータがバックアップ地理的データ常駐ローカルリポジトリに残っている間、バックアップ常駐トークンデータは、通信する適切な地理的データ常駐サーバの特定、及び、適切な地理的データ常駐サーバを介してのアクセスの、両方を提供してもよい。
更に、いくつかの実施形態は、主要な地理的データ常駐サーバ及び/又は主要な地理的データ常駐ローカルリポジトリがアクセス可能となると、バックアップ地理的データ常駐ローカルリポジトリに格納されたデータの主要な地理的データ常駐ローカルリポジトリへの複製を試みるように構成されている。このような状況は、ネットワーク中断などの一時的な中断が修復され、コンピューティングデバイス間の通信が再び可能になるときに起こり得る。
これに関して、追加又は代替として、いくつかの実施形態は、第2の地理的領域に物理的に位置する地理的データ常駐サーバ(例えば、この例の目的のための主要な地理的領域における主要な地理的データ常駐サーバ)がアクセス可能になったと判定するように構成されている。例えば、いくつかの実施形態は、所定のタイムスタンプ間隔で第2の地理的領域における地理的データ常駐サーバとの通信を試みるように構成されている。例示的なコンテキストでは、いくつかの実施形態は、毎分、毎時、毎日など、地理的データ常駐サーバとの通信を試みるように構成されている。通信を試みるために、いくつかのそのような実施形態は、地理的データ常駐サーバへの、リクエストの送信及び/又は他のデータ送信を行ってもよい。所定の応答及び/又は非エラー応答が受信された場合、地理的データ常駐サーバはアクセス可能であると判定されてもよく、ここで、エラー応答及び/又は不完全な送信は、地理的データ常駐サーバがアクセスできないままであると判定するために使用されてもよい。
前にアクセスできなかった地理的データ常駐サーバがアクセス可能になったと判定すると、いくつかのそのような実施形態は、データをバックアップ地理的領域における格納から主要な地理的領域における格納に複製及び/又は移動するための1つ以上の動作を実行してもよい。例えば、前記に加え、又は代替として、いくつかの実施形態は、バックアップ地理的領域に物理的に位置するバックアップ地理的データ常駐サーバから地理的データ常駐メッセージパッケージを識別するように構成されている。いくつかの実施形態では、バックアップ地理的領域に格納された1つ以上の地理的データ常駐メッセージパッケージは、各メッセージ識別子及び対応する地理的データ格納ポリシーの格納されたバックアップ常駐トークンデータに基づき識別される。例えば、実施形態は、バックアップ常駐トークンデータに基づき、対応するメッセージデータが格納される地理的領域を判定し、地理的データ格納ポリシーから、データが格納される地理的領域がバックアップ地域的領域かどうかを判定するように構成されていてもよい。そのような実施形態により地理的領域がバックアップ地理的領域であるかを判定する状況では、そのような実施形態は、バックアップ地理的データ常駐ローカルリポジトリと通信するバックアップ地理的データ常駐サーバとの通信を介して、格納された地理的データ常駐メッセージパッケージを識別するように構成されていてもよい。地理的データ常駐メッセージパッケージを識別した後、その地理的データ常駐メッセージパケットは、第2の地理的領域(例えば、主要な地理的領域)に物理的に位置する地理的データデータ常駐サーバに送信され、そのような情報は、第2の地理的領域に複製及び/又は移動される。これに関して、この送信によって、地理的データ格納ポリシーに従って、第2の地理的領域における地理的データ常駐サーバ及び/又は地理的データ常駐ローカルリポジトリを介して、そのような情報の一部又はすべてを格納させてもよい。これに関して、新しい常駐トークンデータは、第2の地理的領域において地理的データ常駐サーバ及び/又は対応する地理的データ常駐ローカルリポジトリによって生成され、2番の地理的領域から将来取得できるようにメッセージに関連付けられた第1の地理的領域に格納される。いくつかの実施形態では、そのようなデータは、その後、バックアップ地理的領域における格納から消去され(deleted)及び/又は除去され(removed)てもよい。
追加の実装の詳細
例示的な処理システムについて前記で説明したが、ここで説明する主題及び機能動作の実装は、この明細書に開示される構造及びそれらの構造的同等物、又はそれらの1つ以上の組み合わせを含む、他のタイプのデジタル電子回路、又はコンピュータソフトウェア、ファームウェア、又はハードウェアに実装してもよい。
前記のフローの1つ以上についての記載は、単に例示及び説明の目的で、限られた数のエンティティ及び/又は関連する地理的データ格納ポリシーに関して説明されていることを理解されたい。全体を通して説明するように、共通のグループベースの通信チャネルは、任意の数のエンティティに関連付けられていてもよく、従って、そのようなエンティティに関連付けられる任意の数の地理的データ格納ポリシーに関連付けてもよい。例えば、いくつかの実施形態では、共通のグループベースの通信チャネルは、任意の数の組織識別子に関連付けられ、各組織識別子は、共通のグループベースの通信チャネルにアクセスすることを許可され、及び/又は共通のグループベースの通信チャネルにアクセスできる少なくとも1つの認証済みユーザアカウントに関連付けられている。更に、各組織識別子は、地理的データ常駐格納ポリシーが任意の数の関連付けられた地理的領域を特定するように、地理的データ格納ポリシーに関連付けられてもよい。追加又は代替として、いくつかの実施形態では、共通のグループベースの通信チャネルは、任意の数のグループベースのワークスペース識別子に関連付けられ、各グループベースのワークスペース識別子は、地理的データ常駐格納ポリシーが各々任意の数の関連付けられた地理的領域を特定するように、地理的データ格納ポリシーに関連付けられている。従って、メッセージコンテンツ及び/又はメッセージメタデータを格納するための動作は、1つ又は2つの地理的領域に関連付けられた1つ又は2つの地理的データ格納ポリシーに関連付けられて説明されるが、その一方で、1つ以上のそのような動作は、共通のグループベースの通信チャネルにアクセスするように構成されたエンティティに基づき、必要に応じて任意の数の地理的領域に関連付けられた任意の数のデータ常駐格納ポリシーについて同様に繰り返されてもよい。
ここで説明する主題及び動作の実施形態は、本明細書に開示された構造及びそれらの構造的等価物を含む、デジタル電子回路、又はコンピュータソフトウェア、ファームウェア、若しくはハードウェア、或いはそれらの組み合わせの1つ以上に実装してもよい。ここで説明する主題の実施形態は、情報/データ処理装置による実行のために、又はそれらの動作を制御するためにコンピュータ記憶媒体にコード化された1つ以上のコンピュータプログラム、すなわちコンピュータプログラム命令の1つ以上のモジュールとして実装されてもよい。代替として、又は追加として、そのプログラム命令は、人工的に生成された伝播信号、例えば、情報/データ処理装置による実行のために、適切な受信装置に送信するための情報/データをエンコードするために生成される、機械生成された電気信号、光信号、又は電磁信号、にエンコードされてもよい。コンピュータ記憶媒体は、コンピュータ可読格納デバイス、コンピュータ可読格納基板、ランダム又はシリアルアクセスメモリアレイ若しくはデバイス、又はそれらの1つ以上の組み合わせであってもよく、或いはそれらに含まれていてもよい。更に、コンピュータ記憶媒体は伝播信号ではないが、コンピュータ記憶媒体は、コンピュータプログラム命令が人工的に生成された伝播信号にコード化される元(source)又はコード化された先(destination)であってもよい。コンピュータ記憶媒体はまた、1つ以上の別個の物理的コンポーネント又は媒体(例えば、複数のCD、ディスク、若しくは他の記憶装置)であってもよく、或いはそれらに含まれていてもよい。
ここで説明する動作は、1つ以上のコンピュータ可読の各デバイスに格納された、又は他のソースから受信した、情報/データに対して、情報/データ処理装置によって実行される動作として実装されてもよい。
「データ処理装置」という用語は、例として、プログラム可能なプロセッサ、コンピュータ、チップ上のシステム、又は複数のプロセッサ、又はこれらの組み合わせを含む、データを処理するためのあらゆる種類の装置、デバイス、及び機械を包んでいる。この装置は、例えば、FPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)などの特定用途向け論理回路を含んでいてもよい。この装置はまた、ハードウェアに加え、問題のコンピュータプログラムの実行環境を生成するコード、例えば、プロセッサファームウェア、プロトコルスタック、リポジトリ管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、又はそれらの1つ以上の組み合わせを構成するコードも含んでいてもよい。装置及び実行環境は、ウェブサービス、分散コンピューティング、グリッドコンピューティングインフラストラクチャなど、様々なコンピューティングモデルインフラストラクチャを実現できる。
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプト、又はコードとしても知られている)は、コンパイル(compiled)言語又はインタープリタ(interpreted)言語、宣言型又は手続き型言語を含む任意の形式のプログラミング言語で書かれてもよく、スタンドアロンプログラム(a stand-alone program)として、又はモジュール、コンポーネント、サブルーチン、オブジェクト、又はコンピューティング環境での使用に適した他のユニットとしてなど、任意の形式で配備される。コンピュータプログラムは、必ずしもそうである必要はないが、ファイルシステム内のファイルに対応していてもよい。プログラムは、他のプログラム又は情報/データ(例えば、マークアップ言語のドキュメントに格納された1つ以上のスクリプト)を保持するファイルの一部、問題のプログラム専用の単一ファイル、又は複数の統合ファイル(例えば、1つ以上のモジュール、サブプログラム、又はコードの一部を格納するファイル)に格納できる。コンピュータプログラムは、1つのコンピュータ又は1つのサイトに配置され若しくは複数のサイトに分散され且つ通信ネットワークによって相互接続された複数のコンピュータによって実行されるように配備できる。
ここで説明されるプロセス及び論理フローは、入力情報/データを操作し及び出力を生成することによって動作を実行する1つ以上のコンピュータプログラムを実行する1つ以上のプログラム可能なプロセッサによって実行できる。コンピュータプログラムの実行に適したプロセッサは、例として、汎用及び専用の両方のマイクロプロセッサ、及びあらゆる種類のデジタルコンピュータの1つ以上のプロセッサを含んでいる。一般に、プロセッサは、読み取り専用メモリ若しくはランダムアクセスメモリ、又はその両方から命令及び情報/データを受信する。コンピュータの必須要素は、命令に従って動作を実行するプロセッサ、及び命令とデータとを格納する1つ以上のメモリデバイスである。一般に、コンピュータはまた、磁気、光磁気ディスク、若しくは光ディスクなど、データを格納するための1つ以上の大容量記憶装置を含み、又はそれらから情報/データを受信し若しくはそれらに情報/データを転送し若しくはその両方を行うように結合して動作可能である。しかしながら、コンピュータはそのような装置を有する必要はない。コンピュータプログラム命令及び情報/データを格納するのに適したデバイスは、例えば、EPROM、EEPROM、及びフラッシュメモリデバイスなどの半導体メモリデバイス;内蔵ハードディス又はリムーバブルディスクなどの磁気ディスク;光磁気ディスク;CD−ROM及びDVD−ROMディスク、を含む、あらゆる形態の不揮発性メモリ、媒体及びメモリデバイスを含んでいる。プロセッサ及びメモリは、特別な目的の論理回路によって補完され又は組み込まれていてもよい。
ユーザとのインタラクションを提供するために、ここに記載される主題の実施形態は、情報/データをユーザに対して表示するため、例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタなどの表示装置、及び、ユーザがコンピュータに入力を与えるためのマウス又はトラックボールなどのポインティングデバイスを有する、コンピュータ上で実施できる。ユーザとのインタラクションを提供するために他の種類のデバイスも使用でき、例えば、ユーザに提供されるフィードバックは、例えば視覚的フィードバック、聴覚的フィードバック、又は触覚的フィードバックなどのあらゆる形態の感覚的フィードバックであってもよく、ユーザからの入力は、音響、音声、又は触覚入力を含むあらゆる形態で受信できる。更に、コンピュータは、ユーザが使用するデバイスとの間でドキュメントを送信し及びドキュメントを受信することにより、例えば、ユーザのクライアントデバイスのWebブラウザに、このWebブラウザから受信したリクエストに応答して、Webページを送信することにより、ユーザとのインタラクションができる。
ここで説明される主題の実施形態は、例えば情報/データサーバとしてのバックエンドコンポーネントを含み、又は、例えばアプリケーションサーバなどのミドルウェアコンポーネントを含み、又は、例えば、ユーザがここで説明する主題の実装とインタラクションできるグラフィカルユーザーインターフェイス若しくはWebブラウザを備えたクライアントコンピュータなどのフロントエンドコンポーネントを含み、或いは1つ以上のそのようなバックエンド、ミドルウェア、又はフロントエンドコンポーネントの任意の組み合わせなどの、コンピューティングシステムで実装できる。システムのコンポーネントは、例えば通信ネットワークなどの、あらゆる形態又は媒体のデジタル情報/データ通信によって相互接続できる。通信ネットワークの例は、ローカル領域ネットワーク(「LAN」)とワイド領域ネットワーク(「WAN」)、相互ネットワーク(例えば、インターネット)、ピアツーピアネットワーク(例えば、アドホックピアツーピアネットワーク)を含んでいる。
コンピューティングシステムは、クライアント及びサーバを含んでいてもよい。クライアント及びサーバは、一般に、互いに離れており、通常、通信ネットワークを介してインタラクションする。クライアント及びサーバの関係は、それぞれのコンピュータ上で実行され、互いにクライアント/サーバの関係を有する、コンピュータプログラムによって生じる。いくつかの実施形態では、サーバは、情報/データ(例えば、HTMLページ)をクライアントデバイスに送信する(例えば、情報/データを表示し、クライアントデバイスとインタラクションするユーザからのユーザ入力を受信する目的で)。クライアントデバイスで生成された情報/データ(例えば、ユーザインタラクションの結果)は、サーバのクライアントデバイスから受信できる。
本明細書は多くの特定の実施の詳細を含むが、これらは、あらゆる開示又は請求の範囲に対する制限として解釈されるべきではなく、特定の開示の特定の実施形態に特有の特徴の説明として解釈されるべきである。別個の実施形態の文脈において、ここで説明される特定の特徴は、単一の実施形態で組み合わせて実施してもよい。逆に、単一の実施形態の文脈で説明されている様々な特徴は、複数の実施形態で別々に、又はあらゆる適切なサブコンビネーションで実施してもよい。更に、特徴は、特定の組み合わせで及び最初に請求されるようなもののように、動作するものとして前記で説明できるが、請求されたものの組み合わせ由来の1つ以上の特徴は、場合によってはその組み合わせから削除でき、請求された組み合わせは、サブコンビネーション又はサブコンビネーションのバリエーションに向けられてもよい。
同様に、動作は特定の順序で図示されているが、これは、そのような動作が、示された特定の順序で若しくは連続した順序で実行されること、又は示されたすべての動作が望ましい結果を達成するためには実行されることを要求するものとして理解されるべきではない。特定の状況では、マルチタスクと並列処理が有利な場合がある。更に、前記の実施形態における様々なシステムコンポーネントの分離は、すべての実施形態においてそのような分離が必要であると理解されるべきではなく、説明されたプログラムコンポーネント及びシステムは、一般に単一のソフトウェア製品に統合されるか、又は複数のソフトウェア製品にパッケージ化されてもよいことが理解されるべきである。
このように、主題の特定の実施形態が説明された。他の実施形態は、従属する請求項の範囲内にある。いくつかの場合には、特許請求の範囲に記載されている動作を異なる順序で実行しても、望ましい結果を得ることができる。更に、添付の図面に示されたプロセスは、望ましい結果を達成するために、必ずしも示された特定の順序、又は連続した順序あることを必要としない。特定の実装では、マルチタスクと並列処理が有利な場合がある。
ここに記載されているコンピュータに実装された方法、装置、及びコンピュータプログラム製品のいくつかの例は、以下のとおりである。
I1.グループベースの通信システムにおいて地理的に分散したデータ格納を管理するための装置が提供され、この装置は、第1の地理的境界によって規定された第1の地理的領域に物理的に位置し、少なくとも1つのプロセッサ及びコンピュータプログラムコードを含む少なくとも1つの非一時的メモリを備えている。前記の少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサにより、装置に、以下を行わせるように構成されている:メッセージに関連付けられたエンティティ識別子が地理的データ格納ポリシーに関連付けられていると判定すると、メッセージのメッセージデータを含む地理的データ常駐メッセージパッケージを、第2の地理的境界によって規定された第2の地理的領域に物理的に位置する地理的データ常駐サーバに送信する、ここで、第2の地理的領域は地理的データ格納ポリシーに関連付けられている;メッセージのメッセージデータを、地理的データ常駐サーバから受信した常駐トークンデータで更新する;そして、更新されたメッセージを、第1の地理的境界によって規定された第1の地理的領域に物理的に位置する地理的データ常駐ローカルリポジトリに格納する。
I2.更新されたメッセージが、常駐トークンデータ、メッセージメタデータ、及びメッセージ識別子を含む、(I1)の装置もまた提供される。
I3.地理的データ常駐ローカルリポジトリアドレスが、地理的データ格納ポリシーに関連付けられた第2の地理的境界内に物理的に位置する地理的データ常駐ローカルリポジトリに関連付けられた、(I1)の装置もまた提供される。
I4.メッセージに関連付けられた受信者識別子が、作成者識別子に関連付けられたものとは異なる地理的データ格納ポリシーに関連付けられた、(I1)の装置もまた提供される。
J1.更に、グループベースの通信システムにおいて地理的に分散したデータ格納を管理するための更に他の装置が提供され、この装置は、第1の地理的境界によって規定された第1の地理的領域に物理的に位置し、少なくとも1つのプロセッサ及びコンピュータプログラムコードを含む少なくとも1つの非一時的メモリを備えている。前記の少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサにより、装置に、以下を行わせるように構成されている:第1の地理的境界によって規定された第1の地理的領域に物理的に位置する装置から、少なくともメッセージデータを含むメッセージを受信する;このメッセージに関連付けられたエンティティ識別子が地理的データ格納ポリシーに関連付けられていると判定すると、メッセージのメッセージデータを含む地理的データ常駐メッセージパッケージを、第2の地理的境界によって規定された第2の地理的領域に物理的に位置する地理的データ常駐サーバに送信する、ここで、第2の地理的領域は、地理的データ格納ポリシーに関連付けられている;地理的データ常駐サーバから、メッセージデータに関連付けられた常駐トークンデータを受信する;メッセージのメッセージデータを、地理的データ常駐サーバから受信した常駐トークンデータで更新する;そして、更新されたメッセージを、第1の地理的境界によって規定された第1の地理的領域に物理的に位置する地理的データ常駐ローカルリポジトリに格納する。
J2.更新されたメッセージが、常駐トークンデータ、メッセージメタデータ、及びメッセージ識別子を含む、(J1)の装置もまた提供される。
J3.地理的データ常駐ローカルリポジトリアドレスが、地理的データ格納ポリシーに関連付けられた第2の地理的境界内に物理的に位置する地理的データ常駐ローカルリポジトリに関連付けられた、(J1)の装置もまた提供される。
J4.メッセージが受信者識別子及び作成者識別子に更に関連付けられており、その受信者識別子が、作成者識別子に関連付けられた第2の地理的データ格納ポリシーとは異なる第1の地理的データ格納ポリシーに関連付けられた、(J1)の装置もまた提供される。
J5.以下のような(J1)の装置もまた提供される。この装置は、更に、第2の地理的領域に物理的に位置する地理的データ常駐サーバがアクセス不可であるかを判定させられ、以下を行う;メッセージのメッセージデータを含む地理的データ常駐メッセージパッケージを、地理的データ格納ポリシーに関連付けさせられバックアップ地理的境界によって規定されたバックアップ地理的領域に物理的に位置する地理的データ常駐サーバに送信する;バックアップ地理的データ常駐サーバから受信したバックアップ常駐トークンデータでメッセージのメッセージデータを更新する;更新されたメッセージデータを、第1の地理的境界によって規定された第1の地理的領域に物理的に位置する地理的データ常駐ローカルリポジトリに格納する。
J6.以下のような(J5)の装置もまた提供される。この装置は、更に、第2の地理的領域に物理的に位置する地理的データ常駐サーバがアクセス可能になったことを判定する;バックアップ地理的領域に物理的に位置するバックアップ地理的データ常駐サーバからの地理的データ常駐メッセージパッケージを識別する;ここで、地理的データ常駐メッセージパッケージを第2の地理的領域に物理的に位置する地理的データ常駐サーバへ送信することは、第2の地理的領域に位置する地理的データ常駐サーバがアクセス可能になったとの判定に応答して行う。
J7.地理的データ常駐メッセージパッケージが、メッセージデータのサブセットを含み、このメッセージデータのサブセットは、更新されたメッセージ内の常駐トークンデータで置き換えられる、(J1)の装置もまた提供される。
J8.以下のような(J1)の装置もまた提供される。少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサとともに、装置に、更に、第2のクライアントデバイスから、メッセージ識別子を含むメッセージ取得リクエストを受信させる;ローカルリポジトリから、更新されたメッセージを取得させる;更新されたメッセージが常駐トークンデータを含むと判定すると、地理的データ常駐データ取得リクエストを、この常駐トークンデータに関連付けられた地理的データ常駐サーバに送信させる、ここで、この地理的データ常駐取得リクエストは、常駐トークンデータを含んでいる;地理的データ常駐サーバから、常駐トークンデータに関連付けられた地理的データ常駐ローカルリポジトリアドレスの地理的データ常駐ローカルリポジトリに格納されたメッセージデータを受信させる;そして、このメッセージデータをクライアントデバイスに送信させる。
J9.第1の地理的境界が第1の複数の緯度及び経度座標によって規定され、第2の地理的境界が第2の複数の緯度及び経度座標によって規定された、(J1)の装置もまた提供される。
J10.第1の地理的境界が第1のデータ格納ポリシーに従い、第2の地理的境界が第2のデータ格納ポリシーに従う、(J1)の装置もまた提供される。
J11.地理的データ常駐サーバが、第3の地理的境界によって規定された第3の地理的領域に物理的に位置する、(J1)の装置もまた提供される。
J12.メッセージデータが、このメッセージデータの永続性が地理的データ常駐ローカルリポジトリにのみ存在するように、短期メモリに格納される、(J8)の装置もまた提供される。
J13.地理的データ格納ポリシーが、特定の地理的境界に関連付けられた法的データ格納要件に関連付けられた、(J1)の装置もまた提供される。
J14.第1の地理的境界、第2の地理的境界、及び特定の地理的境界の各々が、アジア、西ヨーロッパ、又は北米のうちの1つ以上である、(J13)の装置もまた提供される。
J15.常駐トークンデータが、メッセージ識別子、格納場所識別子、又はメッセージ暗号化キーのうちの1つ以上を含む、(J1)の装置もまた提供される。
J16.メッセージ暗号化キーが、組織識別子に関連付けられた第1のメッセージ暗号化キーと、少なくとも1つの組織識別子に関連付けられた第2のメッセージ暗号化キーとを含む、(J15)の装置もまた提供される。
J17.メッセージ暗号化キーが、グループベースの通信サーバによって管理された中央管理のメッセージ暗号化キーと組み合わせて復号に使用される、(J15)の装置もまた提供される。
J18.常駐トークンデータが、装置によって受信される前に、地理的データ常駐サーバによってグループベースの通信暗号化キー管理サーバに送信される、(J1)の装置もまた提供される。
J19.メッセージ取得リクエストが、地理的データ常駐サーバが常駐トークンデータを位置特定できない場合に地理的データ常駐サーバに転送される、(J8)の装置もまた提供される。
K1.更に、グループベースの通信システムにおいて地理的に分散したデータ格納を管理するためのコンピュータに実装された方法が提供される。このコンピュータに実装された方法は、メッセージに関連付けられたエンティティ識別子が地理的データ格納ポリシーに関連付けられていると判定すると、メッセージのメッセージデータを含む地理的データ常駐メッセージパッケージを、第2の地理的境界によって規定された第2の地理的領域に物理的に位置する地理的データ常駐サーバに送信する、ここで、第2の地理的領域は、地理的データ格納ポリシーに関連付けられている;地理的データ常駐サーバから受信した常駐トークンデータでメッセージのメッセージデータを更新する;そして、この更新されたメッセージを、第1の地理的境界によって規定された第1の地理的領域に物理的に位置する地理的データ常駐ローカルリポジトリに、格納する。
K2.更新されたメッセージが、常駐トークンデータ、メッセージメタデータ、及びメッセージ識別子を含む、(K1)のコンピュータに実装された方法もまた提供される。
K3.地理的データ常駐ローカルリポジトリアドレスが、地理的データ格納ポリシーに関連付けられた第2の地理的境界内に物理的に位置する地理的データ常駐ローカルリポジトリに関連付けられた、(K1)のコンピュータに実装された方法もまた提供される。
K4.メッセージに関連付けられた受信者識別子が、作成者識別子が関連付けられたものとは異なる地理的データ格納ポリシーに関連付けられた、(K1)のコンピュータに実装された方法もまた提供される。
L1.更に、グループベースの通信システムにおいて地理的に分散したデータ格納を管理するための更に他のコンピュータに実装された方法が提供され、このコンピュータに実装された方法は、第1の地理的境界によって規定された第1の地理的領域に物理的に位置する装置から、少なくともメッセージデータを含むメッセージを受信する;このメッセージに関連付けられたエンティティ識別子が地理的データ格納ポリシーに関連付けられていると判定すると、メッセージのメッセージデータを含む地理的データ常駐メッセージパッケージを、第2の地理的境界によって規定された第2の地理的領域に物理的に位置する地理的データ常駐サーバに送信する、ここで、第2の地理的領域は、地理的データ格納ポリシーに関連付けられている;地理的データ常駐サーバから、メッセージデータに関連付けられた常駐トークンデータを受信する;メッセージのメッセージデータを、地理的データ常駐サーバから受信した常駐トークンデータで更新する;そして、更新されたメッセージを、第1の地理的境界によって規定された第1の地理的領域に物理的に位置する地理的データ常駐ローカルリポジトリに格納する。
L2.更新されたメッセージが、常駐トークンデータ、メッセージメタデータ、及びメッセージ識別子を含む、(L1)のコンピュータに実装された方法もまた提供される。
L3.地理的データ常駐ローカルリポジトリアドレスが、地理的データ格納ポリシーに関連付けられた第2の地理的境界内に物理的に位置する地理的データ常駐ローカルリポジトリに関連付けられた、(L1)のコンピュータに実装された方法もまた提供される。
L4.メッセージが受信者識別子及び作成者識別子に更に関連付けられており、その受信者識別子が、作成者識別子に関連付けられた第2の地理的データ格納ポリシーとは異なる第1の地理的データ格納ポリシーに関連付けられた、(L1)のコンピュータに実装された方法もまた提供される。
L5.以下のような(L1)のコンピュータに実装された方法もまた提供される。このコンピュータに実装された方法は、更に、第2の地理的領域に物理的に位置する地理的データ常駐サーバがアクセス不可であると判定し、以下を行う;メッセージのメッセージデータを含む地理的データ常駐メッセージパッケージを、地理的データ格納ポリシーに関連付けられバックアップ地理的境界によって規定されたバックアップ地理的領域に物理的に位置する地理的データ常駐サーバに送信する;バックアップ地理的データ常駐サーバから受信したバックアップ常駐トークンデータでメッセージのメッセージデータを更新する;更新されたメッセージデータを、第1の地理的境界によって規定された第1の地理的領域に物理的に位置する地理的データ常駐ローカルリポジトリに格納する。
L6.以下のような(L5)のコンピュータに実装された方法もまた提供される。このコンピュータに実装された方法は、更に、第2の地理的領域に物理的に位置する地理的データ常駐サーバがアクセス可能になったことを判定する;バックアップ地理的領域に物理的に位置するバックアップ地理的データ常駐サーバからの地理的データ常駐メッセージパッケージを識別する;ここで、地理的データ常駐メッセージパッケージを第2の地理的領域に物理的に位置する地理的データ常駐サーバへ送信することは、第2の地理的領域に位置する地理的データ常駐サーバがアクセス可能になったとの判定に応答して行う。
L7.地理的データ常駐メッセージパッケージが、メッセージデータのサブセットを含み、このメッセージデータのサブセットが、更新されたメッセージ内の常駐トークンデータで置き換えられる、(L1)のコンピュータに実装された方法もまた提供される。
L8.以下のような(L1)のコンピュータに実装された方法もまた提供される。このコンピュータに実装された方法は、第2のクライアントデバイスから、メッセージ識別子を含むメッセージ取得リクエストを受信する;ローカルリポジトリから、更新されたメッセージを取得する;更新されたメッセージが常駐トークンデータを含むと判定すると、地理的データ常駐取得リクエストを、この常駐トークンデータに関連付けられた地理的データ常駐サーバに送信する、ここで、この地理的データ常駐取得リクエストは、常駐トークンデータを含んでいる;地理的データ常駐サーバから、常駐トークンデータに関連付けられた地理的データ常駐ローカルリポジトリアドレスの地理的データ常駐ローカルリポジトリに格納されたメッセージデータを受信する;そして、このメッセージデータをクライアントデバイスに送信する。
L9.第1の地理的境界が第1の複数の緯度及び経度座標によって規定され、第2の地理的境界が第2の複数の緯度及び経度座標によって規定された、(L1)のコンピュータに実装された方法もまた提供される。
L10.第1の地理的境界が第1のデータ格納ポリシーに従い、第2の地理的境界が第2のデータ格納ポリシーに従う、(L1)のコンピュータに実装された方法もまた提供される。
L11.地理的データ常駐サーバが、第3の地理的境界によって規定された第3の地理的領域に物理的に位置する、(L1)のコンピュータに実装された方法もまた提供される。
L12.メッセージデータが、このメッセージデータの永続性が地理的データ常駐ローカルリポジトリにのみ存在するように、短期メモリに格納される、(L11)のコンピュータに実装された方法もまた提供される。
L13.地理的データ格納ポリシーが、特定の地理的境界に関連付けられた法的データ格納要件に関連付けられた、(L1)のコンピュータに実装された方法もまた提供される。
L14.第1の地理的境界、第2の地理的境界、及び特定の地理的境界の各々が、アジア、西ヨーロッパ、又は北米のうちの1つ以上である、(L13)のコンピュータに実装された方法もまた提供される。
L15.常駐トークンデータが、メッセージ識別子、格納場所識別子、又はメッセージ暗号化キーのうちの1つ以上を含む、(L1)のコンピュータに実装された方法もまた提供される。
L16.メッセージ暗号化キーが、組織識別子に関連付けられた第1のメッセージ暗号化キーと、少なくとも1つの組織識別子に関連付けられた第2のメッセージ暗号化キーとを含む、(L1)のコンピュータに実装された方法もまた提供される。
L17.メッセージ暗号化キーが、グループベースの通信サーバによって管理された中央管理のメッセージ暗号化キーと組み合わされて復号に使用される、(L16)のコンピュータに実装された方法もまた提供される。
L18.常駐トークンデータが、受信される前に、地理的データ常駐サーバによってグループベースの通信暗号化キー管理サーバに送信される、(L1)のコンピュータに実装された方法もまた提供される。
L19.メッセージ取得リクエストが、地理的データ常駐サーバが常駐トークンデータを位置特定できない場合に、地理的データ常駐サーバに転送される、(L8)のコンピュータに実装された方法もまた提供される。
M1.更に、グループベースの通信システムにおいて地理的に分散したデータ格納を管理するためのコンピュータプログラム製品が提供される。このコンピュータプログラム製品は、コンピュータ実行可能プログラムコード命令が格納された少なくとも1つの非一時的コンピュータ可読記憶媒体を備え、プロセッサで実行されるこのコンピュータ実行可能プログラムコード命令は、以下を行うように構成されている:メッセージに関連付けられたエンティティ識別子が地理的データ格納ポリシーに関連付けられていると判定すると、メッセージのメッセージデータを含む地理的データ常駐メッセージパッケージを、第2の地理的境界によって規定された第2の地理的領域に物理的に位置する地理的データ常駐サーバに送信し、ここで、第2の地理的領域は、地理的データ格納ポリシーに関連付けられている;地理的データ常駐サーバから受信した常駐トークンデータでメッセージのメッセージデータを更新する;そして、この更新されたメッセージを、第1の地理的境界によって規定された第1の地理的領域に物理的に位置する地理的データ常駐ローカルリポジトリに、格納する。
M2.更新されたメッセージが、常駐トークンデータ、メッセージメタデータ、及びメッセージ識別子を含む、(M1)のコンピュータプログラム製品もまた提供される。
M3.地理的データ常駐ローカルリポジトリアドレスが、地理的データ格納ポリシーに関連付けられた第2の地理的境界内に物理的に位置する地理的データ常駐ローカルリポジトリに関連付けられた、(M1)のコンピュータプログラム製品もまた提供される。
M4.メッセージに関連付けられた受信者識別子が、作成者識別子が関連付けられたものとは異なる地理的データ格納ポリシーに関連付けられた、(M1)のコンピュータプログラム製品もまた提供される。
N1.更に、グループベースの通信システムにおいて地理的に分散したデータ格納を管理するための更に他のコンピュータプログラム製品が提供され、このコンピュータプログラム製品は、コンピュータ実行可能プログラムコード命令が格納された少なくとも1つの非一時的コンピュータ可読記憶媒体を備え、プロセッサで実行されるこのコンピュータ実行可能プログラムコード命令は、以下を行うように構成されている:第1の地理的境界によって規定された第1の地理的領域に物理的に位置する装置から、少なくともメッセージデータを含むメッセージを受信する;このメッセージに関連付けられたエンティティ識別子が地理的データ格納ポリシーに関連付けられていると判定すると、メッセージのメッセージデータを含む地理的データ常駐メッセージパッケージを、第2の地理的境界によって規定された第2の地理的領域に物理的に位置する地理的データ常駐サーバに送信する、ここで、第2の地理的領域は、地理的データ格納ポリシーに関連付けられている;地理的データ常駐サーバから、メッセージデータに関連付けられた常駐トークンデータを受信する;メッセージのメッセージデータを、地理的データ常駐サーバから受信した常駐トークンデータで更新する;そして、更新されたメッセージを、第1の地理的境界によって規定された第1の地理的領域に物理的に位置する地理的データ常駐ローカルリポジトリに格納する。
N2.更新されたメッセージが、常駐トークンデータ、メッセージメタデータ、及びメッセージ識別子を含む、(N1)のコンピュータプログラム製品もまた提供される。
N3.地理的データ常駐ローカルリポジトリアドレスが、地理的データ格納ポリシーに関連付けられた第2の地理的境界内に物理的に位置する地理的データ常駐ローカルリポジトリに関連付けられた、(N1)のコンピュータプログラム製品もまた提供される。
N4.メッセージが受信者識別子及び作成者識別子に更に関連付けられており、その受信者識別子が、作成者識別子に関連付けられた第2の地理的データ格納ポリシーとは異なる第1の地理的データ格納ポリシーに関連付けられた、(N1)のコンピュータプログラム製品もまた提供される。
N5.以下のような(N1)のコンピュータプログラム製品もまた提供される。このコンピュータプログラム製品は、更に、第2の地理的領域に物理的に位置する地理的データ常駐サーバがアクセス不可であると判定し、以下を行う;メッセージのメッセージデータを含む地理的データ常駐メッセージパッケージを、地理的データ格納ポリシーに関連付けられバックアップ地理的境界によって規定されたバックアップ地理的領域に物理的に位置する地理的データ常駐サーバに送信する;バックアップ地理的データ常駐サーバから受信したバックアップ常駐トークンデータでメッセージのメッセージデータを更新する;そして、更新されたメッセージデータを、第1の地理的境界によって規定された第1の地理的領域に物理的に位置する地理的データ常駐ローカルリポジトリに格納する。
N6.以下のような(N5)のコンピュータプログラム製品もまた提供される。このコンピュータプログラム製品は、更に、第2の地理的領域に物理的に位置する地理的データ常駐サーバがアクセス可能になったことを判定する;バックアップ地理的領域に物理的に位置するバックアップ地理的データ常駐サーバからの地理的データ常駐メッセージパッケージを識別する;ここで、地理的データ常駐メッセージパッケージを第2の地理的領域に物理的に位置する地理的データ常駐サーバへ送信することは、第2の地理的領域に位置する地理的データ常駐サーバがアクセス可能になったとの判定に応答して行う。
N7.地理的データ常駐メッセージパッケージが、メッセージデータのサブセットを含み、このメッセージデータのサブセットが、更新されたメッセージ内の常駐トークンデータで置き換えられる、(N1)のコンピュータプログラム製品もまた提供される。
N8.以下のような(N1)のコンピュータプログラム製品もまた提供される。このコンピュータプログラム製品は、第2のクライアントデバイスから、メッセージ識別子を含むメッセージ取得リクエストを受信する;ローカルリポジトリから、更新されたメッセージを取得する;更新されたメッセージが常駐トークンデータを含むと判定すると、地理的データ常駐データ取得リクエストを、この常駐トークンデータに関連付けられた地理的データ常駐サーバに送信する、ここで、この地理的データ常駐取得リクエストは、常駐トークンデータを含んでいる;地理的データ常駐サーバから、常駐トークンデータに関連付けられた地理的データ常駐ローカルリポジトリアドレスの地理的データ常駐ローカルリポジトリに格納されたメッセージデータを受信する;そして、このメッセージデータをクライアントデバイスに送信する。
N9.第1の地理的境界が第1の複数の緯度及び経度座標によって規定され、第2の地理的境界が第2の複数の緯度及び経度座標によって規定された、(N1)のコンピュータプログラム製品もまた提供される。
N10.第1の地理的境界が第1のデータ格納ポリシーに従い、第2の地理的境界が第2のデータ格納ポリシーに従う、(N1)のコンピュータプログラム製品もまた提供される。
N11.地理的データ常駐サーバが、第3の地理的境界によって規定された第3の地理的領域に物理的に位置する、(N1)のコンピュータプログラム製品もまた提供される。
N12.メッセージデータが、このメッセージデータの永続性が地理的データ常駐ローカルリポジトリにのみ存在するように、短期メモリに格納される、(N9)のコンピュータプログラム製品もまた提供される。
N13.地理的データ格納ポリシーが、特定の地理的境界に関連付けられた法的データ格納要件に関連付けられた、(N1)のコンピュータプログラム製品もまた提供される。
N14.第1の地理的境界、第2の地理的境界、及び特定の地理的境界の各々が、アジア、西ヨーロッパ、又は北米のうちの1つ以上である、(N13)のコンピュータプログラム製品もまた提供される。
N15.常駐トークンデータが、メッセージ識別子、格納場所識別子、又はメッセージ暗号化キーのうちの1つ以上を含む、(N1)のコンピュータプログラム製品もまた提供される。
N16.メッセージ暗号化キーが、組織識別子に関連付けられた第1のメッセージ暗号化キーと、少なくとも1つの組織識別子に関連付けられた第2のメッセージ暗号化キーとを含む、(N15)のコンピュータプログラム製品もまた提供される。
N17.メッセージ暗号化キーが、グループベースの通信サーバによって管理された中央管理のメッセージ暗号化キーと組み合わされて復号に使用される、(N15)のコンピュータプログラム製品もまた提供される。
N18.常駐トークンデータが、受信される前に、地理的データ常駐サーバによってグループベースの通信暗号化キー管理サーバに送信される、(N1)のコンピュータプログラム製品もまた提供される。
N19.メッセージ取得リクエストが、地理的データ常駐サーバが常駐トークンデータを位置特定できない場合に、地理的データ常駐サーバに転送される、(N18)のコンピュータプログラム製品もまた提供される。
O1.更に、グループベースの通信システムにおいて分散した検索インデックスを使用して検索結果データを発生させるコンピュータに実装された方法が提供される。このコンピュータに実装された方法は、以下を含んでいる:リクエスタシステムから、第1の地理的境界によって規定された第1の地理的領域に物理的に位置する装置で、検索エンティティ識別子に関連付けられた検索リクエストを受信する、ここで、検索エンティティ識別子は、第2の地理的境界によって規定された第2の地理的領域に関連付けられている;第2の地理的領域に関連付けられた地理的データ常駐サーバから、検索エンティティ識別子に関する検索インデックスを取得する;検索インデックスに基づき検索結果データを識別する;そして、検索結果データをリクエスタシステムに提供する。
O2.以下のような(O1)のコンピュータに実装された方法もまた提供される。このコンピュータに実装された方法では、検索結果データは少なくともメッセージデータセットを含み、検索インデックスに基づき検索結果データを識別することは、検索リクエスト及び検索インデックスに基づき検索結果データに関連付けられた常駐トークンデータセットを識別すること;第2の地理的領域に関連付けられた地理的データ常駐サーバから、少なくとも常駐トークンデータセットに基づくメッセージデータセットを含む検索結果データを受信すること;及び、リクエスタシステムに、少なくともメッセージデータセットを含む検索結果データを提供することを含んでいる。
O3.以下のような(O2)のコンピュータに実装された方法もまた提供される。このコンピュータに実装された方法では、メッセージデータセットは暗号化されたメッセージデータセットを含み、この方法は更に、常駐トークンデータセットに基づきメッセージ復号キーセットを識別すること;暗号化されていないメッセージデータセットを識別するために、メッセージ復号キーセットに基づき暗号化されたメッセージを復号すること;及び、暗号化されていないメッセージデータセットを検索結果データに含めることを含んでいる。
O4.検索エンティティ識別子に基づき取得できるエンティティ検索キーに基づき、第2の地理的境界に関連付けられた地理的データ常駐サーバから検索インデックスを取得することを更に含む、(O1)のコンピュータに実装された方法もまた提供される。
P1.更に、グループベースの通信システムにおける地理的に分散したデータ格納に基づき検索インデックスを生成するための更に他のコンピュータに実装された方法が提供される。このコンピュータに実装された方法は、第1の地理的境界によって規定された第1の地理的領域に物理的に位置する装置によって、第1の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリから、共通のグループベースの通信チャネル識別子に関連付けられた第1のメッセージデータサブセット及びメッセージメタデータセットを取得すること;第2の地理的境界によって規定された第2の地理的領域に位置する地理的データ常駐サーバから、メッセージメタデータセットの少なくとも常駐トークンデータセットに基づく第2のメッセージデータサブセットを受信すること、ここで第2のメッセージデータサブセットは共通のグループベースの通信チャネル識別子に関連付けられている;第1のメッセージデータサブセット、第2のメッセージデータサブセット、及びメッセージメタデータセットに基づき検索インデックスを生成すること;そして、第1の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリに検索インデックスを格納することを含んでいる。
P2.以下のような(P1)のコンピュータに実装された方法もまた提供される。このコンピュータに実装された方法では、第2のメッセージデータサブセットを取得することは、少なくとも常駐トークンデータセットを第2の地理的領域に位置する地理的データ常駐サーバに送信すること、ここで第2の地理的領域における地理的データ常駐サーバは、常駐トークンデータセットに基づき、第2の地理的領域における第2の地理的データ常駐ローカルリポジトリから第2のメッセージデータサブセットを取得する;及び、送信に応答して、第2の地理的領域における地理的データ常駐サーバから第1のメッセージデータサブセットを受信することを含んでいる。
P3.共通のグループベースの通信チャネル識別子に関連付けられた第2のエンティティデータオブジェクト識別子についての少なくとも1つのメッセージ復号キーを識別することを更に含む、(P1)のコンピュータに実装された方法もまた提供される。
P4.第2のエンティティデータオブジェクト識別子が、第2の地理的領域に対応するデータ常駐ポリシーデータオブジェクトに関連付けられた、(P1)のコンピュータに実装された方法もまた提供される。
P5.以下のような(P4)のコンピュータに実装された方法もまた提供される。第2のメッセージデータサブセットを取得することは、第2の地理的領域に位置する地理的データ常駐サーバに常駐トークンデータセットを送信すること、ここで、第2の地理的領域における地理的データ常駐サーバは、常駐トークンデータセットに基づき、第2の地理的領域における第2の地理的データ常駐ローカルリポジトリから第2の暗号化メッセージデータサブセットを取得する;第2の地理的領域における地理的データ常駐サーバから第2の暗号化メッセージデータサブセットを受信すること;及び、少なくとも1つのメッセージ復号キーを利用して、第2の暗号化メッセージデータサブセットを復号することを含んでいる。
P6.常駐トークンデータセット又はメッセージメタデータセットの少なくとも一部に基づき、第2の地理的領域に関連付けられた地理的データ常駐サーバを特定することを更に含む、(P1)のコンピュータに実装された方法もまた提供される。
P7.第2の地理的境界に関連付けられた地理的データ常駐サーバに、メッセージメタデータセットを複製させることを更に含む、(P1)のコンピュータに実装された方法もまた提供される。
Q1.更に、グループベースの通信システムにおいて地理的に分散したデータ格納に基づき検索インデックスを生成するためのコンピュータプログラム製品が提供される。このコンピュータプログラム製品は、コンピュータ実行可能プログラムコード命令が格納された少なくとも1つの非一時的コンピュータ可読記憶媒体を備え、プロセッサで実行されるこのコンピュータ実行可能プログラムコード命令は、以下のように構成されている:第1の地理的境界により規定された第1の地理的領域に位置する装置において、第2の地理的境界により規定された第2の地理的領域に位置する地理的データ常駐サーバから、少なくとも常駐トークンデータセットを含むメッセージメタデータセットを受信する;第2の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリから、少なくとも常駐トークンデータセットに基づくメッセージデータセットを取得する;メッセージメタデータセット及びメッセージデータセットに基づき検索インデックスを生成する;第2の地理的領域における地理的データ常駐ローカルリポジトリに検索インデックスを格納する。
Q2.以下のような(Q1)のコンピュータプログラム製品もまた提供される。プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、第2の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリから、少なくとも常駐トークンデータセットに基づき、以下によってメッセージデータセットを取得するように構成されている:常駐トークンデータセットを含む地理的データ常駐データ取得リクエストを生成する;地理的データ常駐データ取得リクエストを、第2の地理的領域に関連付けられた地理的常駐データサーバに送信して、この地理的常駐データサーバに、第2の地理的領域に関連付けられた地理的常駐データローカルリポジトリからメッセージデータを取得させる;そして、第2の地理的領域に関連付けられたこの地理的データ常駐サーバからの応答としてメッセージデータセットを受信する。
Q3.以下のような(Q1)のコンピュータプログラム製品もまた提供される。プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、第2の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリから、少なくとも常駐トークンデータセットに基づくメッセージデータセットを、以下によって取得するように構成されている:常駐トークンデータセットに関連付けられた少なくとも1つのメッセージ復号キーを識別する;常駐トークンデータセットを含む地理的データ常駐データ取得リクエストを生成する;暗号化されたメッセージデータセットを、第2の地理的領域に関連付けられた地理的データ常駐サーバからの応答として受信する;そして、少なくとも1つのメッセージ復号キーを使用して、暗号化されたメッセージセットを復号して、メッセージデータセットを識別する。
Q4.プロセッサで実行されるコンピュータ実行可能プログラムコード命令が、更に、常駐トークンデータセット又はメッセージ識別セットの1つ以上に基づきメッセージデータセットを取得するように構成された、(Q1)のコンピュータプログラム製品もまた提供される。
Q5.地理的データ常駐ローカルリポジトリが、地理的データ常駐ローカルキャッシュを含む、(Q1)のコンピュータプログラム製品もまた提供される。
R1.更に、グループベースの通信システムにおいて地理的に分散したデータ格納に基づき検索インデックスを生成するための装置が提供される。この装置は、第1の地理的境界によって規定された第1の地理的領域に物理的に位置し、少なくとも1つのプロセッサ及びコンピュータプログラムコードを含む少なくとも1つの非一時的メモリを備えている。前記の少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサにより、装置に、以下を行わせるように構成されている:第2の地理的境界により規定された第2の地理的領域に位置する地理的データ常駐サーバから、少なくとも常駐トークンデータセットを含むメッセージメタデータセットを受信する;第2の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリから、少なくとも常駐トークンデータセットに基づくメッセージデータセットを取得する;メッセージメタデータセット及びメッセージデータセットに基づき検索インデックスを生成する;第2の地理的領域における地理的データ常駐ローカルリポジトリに検索インデックスを格納する。
R2.以下のような(R1)の装置もまた提供される。装置は、更に、第2の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリから、少なくとも常駐トークンデータセットに基づき、以下によってメッセージデータセットを取得するように構成されている:常駐トークンデータセットを含む地理的データ常駐データ取得リクエストを生成する;地理的データ常駐データ取得リクエストを、第2の地理的領域に関連付けられた地理的常駐データサーバに送信して、この地理的常駐データサーバに、第2の地理的領域に関連付けられた地理的常駐データローカルリポジトリからメッセージデータを取得させる;そして、第2の地理的領域に関連付けられたこの地理的データ常駐サーバからの応答としてメッセージデータセットを受信する。
R3.以下のような(R1)の装置もまた提供される。この装置は、更に、第2の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリから、少なくとも常駐トークンデータセットに基づくメッセージデータセットを、以下によって取得するように構成されている:常駐トークンデータセットに関連付けられた少なくとも1つのメッセージ復号キーを識別する;常駐トークンデータセットを含む地理的データ常駐データ取得リクエストを生成する;暗号化されたメッセージデータセットを、第2の地理的領域に関連付けられた地理的データ常駐サーバからの応答として受信する;そして、少なくとも1つのメッセージ復号キーを使用して、暗号化されたメッセージセットを復号して、メッセージデータセットを識別する。
R4.更に、常駐トークンデータセット又はメッセージ識別セットの1つ以上に基づきメッセージデータセットを取得するように構成された、(R1)の装置もまた提供される。
R5.地理的データ常駐ローカルリポジトリが、地理的データ常駐ローカルキャッシュを含む、(R1)の装置もまた提供される。
S1.更に、グループベースの通信システムにおける分散した検索インデックスを使用して、検索結果データを生成するためのコンピュータプログラム製品が提供される。このコンピュータプログラム製品は、コンピュータ実行可能プログラムコード命令が格納された少なくとも1つの非一時的コンピュータ可読記憶媒体を備え、プロセッサで実行されるこのコンピュータ実行可能プログラムコード命令は以下のように構成されている:第1の地理的境界によって規定された第1の地理的領域に位置する装置において、リクエスタシステムから、検索エンティティ識別子に関連付けられた検索リクエストを受信する、ここで、この検索エンティティ識別子は、第2の地理的境界によって規定された第2の地理的領域に関連付けられている;第2の地理的領域に関連付けられた地理的データ常駐サーバから、検索エンティティ識別子についての検索インデックスを取得する;検索インデックスに基づき検索結果データを識別する;そして、検索結果データをリクエスタシステムに提供する。
S2.以下のような(S1)の装置もまた提供される。検索結果データは少なくともメッセージデータセットを含み、検索インデックスに基づき検索結果データを識別するために、プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、以下のように構成されている:検索リクエスト及び検索インデックスに基づき、検索結果データに関連付けられた常駐トークンデータセットを識別する;第2の地理的領域に関連付けられた地理的データ常駐サーバから、少なくとも常駐トークンデータセットに基づくメッセージデータセットを含む検索結果データを受信する;そして、少なくともメッセージデータセットを含む検索結果データをリクエスタシステムに提供する。
S3.以下のような(S2)の装置もまた提供される。この装置では、メッセージデータセットは暗号化されたメッセージデータセットを含み、プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、以下のように構成されている:常駐トークンデータセットに基づきメッセージ復号キーセットを識別する;このメッセージ復号キーセットに基づき暗号化されたメッセージデータセットを復号して、暗号化されていないメッセージデータセットを識別する;そして、この暗号化されていないメッセージデータセットを検索結果データに含める。
S4.以下のような(S1)の装置もまた提供される。この装置では、プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、エンティティ検索キーに基づき第2の地理的境界に関連付けられた地理的データ常駐サーバから検索インデックスを取得するように構成されている。ここで、そのエンティティ検索キーは、検索エンティティ識別子に基づき取得可能である。
T1.更に、グループベースの通信システムにおいて分散した検索インデックスを使用して検索結果データを発生させる装置が提供される。この装置は、第1の地理的境界によって規定された第1の地理的領域に物理的に位置し、少なくとも1つのプロセッサ及びコンピュータプログラムコードを含む少なくとも1つの非一時的メモリを備えている。前記の少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサにより、装置に、以下を行わせるように構成されている:リクエスタシステムから、検索エンティティ識別子に関連付けられた検索リクエストを受信する、ここで、検索エンティティ識別子は、第2の地理的境界によって規定された第2の地理的領域に関連付けられている;第2の地理的領域に関連付けられた地理的データ常駐サーバから、検索エンティティ識別子に関する検索インデックスを取得する;検索インデックスに基づき検索結果データを識別する;そして、検索結果データをリクエスタシステムに提供する。
T2.以下のような(T1)の装置もまた提供される。この装置では、検索結果データは少なくともメッセージデータセットを含み、検索インデックスに基づき検索結果データを識別するために、装置は、更に、検索リクエスト及び検索インデックスに基づき、検索結果データに関連付けられた常駐トークンデータセットを識別し;第2の地理的領域に関連付けられた地理的データ常駐サーバから、少なくとも常駐トークンデータセットに基づくメッセージデータセットを含む検索結果データを受信し;そして、リクエスタシステムに、少なくともメッセージデータセットを含む検索結果データを提供する。
T3.以下のような(T2)のコンピュータプログラム製品もまた提供される。メッセージデータセットは暗号化されたメッセージデータセットを含み、この装置は更に、常駐トークンデータセットに基づきメッセージ復号キーセットを識別すること;メッセージ復号キーセットに基づき暗号化されたメッセージを復号して、暗号化されていないメッセージデータセットを識別すること;及び、暗号化されていないメッセージデータセットを検索結果データに含めることを含んでいる。
T4.検索エンティティ識別子に基づき取得できるエンティティ検索キーに基づき、第2の地理的境界に関連付けられた地理的データ常駐サーバから検索インデックスを取得するように更に構成された、(T1)の装置もまた提供される。
U1.更に、グループベースの通信システムにおける分散した検索インデックスを用いて検索結果データを生成するためのコンピュータに実装された方法が提供される。このコンピュータに実装された方法は、第1の地理的境界によって規定された第1の地理的領域に位置する装置で、リクエスタシステムから、検索エンティティ識別子に関連付けられた検索リクエストを受信すること、ここで、検索エンティティ識別子は、第2の地理的境界によって規定された第2の地理的領域に関連付けられている;第2の地理的領域に関連付けられた地理的データ常駐サーバから、検索エンティティ識別子に関する検索インデックスを取得すること;検索インデックスに基づき検索結果データを識別すること;及び、検索結果データをリクエスタシステムに提供することを含んでいる。
U2.以下のような(U1)のコンピュータに実装された方法もまた提供される。検索結果データは少なくともメッセージデータセットを含み、検索インデックスに基づき検索結果データを識別することは、以下を含む:検索リクエスト及び検索インデックスに基づき、検索結果データに関連付けられた常駐トークンデータセットを識別し;第2の地理的領域に関連付けられた地理的データ常駐サーバから、少なくとも常駐トークンデータセットに基づくメッセージデータセットを含む検索結果データを受信し;そして、リクエスタシステムに、少なくともメッセージデータセットを含む検索結果データを提供する。
U3.以下のような(U2)のコンピュータに実装された方法もまた提供される。メッセージデータセットは暗号化されたメッセージデータセットを含み、このコンピュータに実装された方法は、更に、常駐トークンデータセットに基づきメッセージ復号キーセットを識別すること;メッセージ復号キーセットに基づき暗号化されたメッセージを復号して、暗号化されていないメッセージデータセットを識別すること;及び、暗号化されていないメッセージデータセットを検索結果データに含めることを含んでいる。
U4.検索エンティティ識別子に基づき取得できるエンティティ検索キーに基づき、第2の地理的境界に関連付けられた地理的データ常駐サーバから検索インデックスを取得するように更に構成された、(U1)のコンピュータに実装された方法もまた提供される。
V1.更に、グループベースの通信システムにおける地理的に分散したデータ格納に基づき検索インデックスを生成するための更に他のコンピュータプログラム製品が提供される。このコンピュータプログラム製品は、コンピュータ実行可能プログラムコード命令が格納された少なくとも1つの非一時的コンピュータ可読記憶媒体を備え、プロセッサで実行されるこのコンピュータ実行可能プログラムコード命令は以下のように構成されている:第1の地理的境界によって規定された第1の地理的領域に位置する装置によって、第1の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリから、共通のグループベースの通信チャネル識別子に関連付けられた第1のメッセージデータサブセット及びメッセージメタデータセットを取得する;第2の地理的境界によって規定された第2の地理的領域に位置する地理的データ常駐サーバから、メッセージメタデータセットの少なくとも常駐トークンデータセットに基づく第2のメッセージデータサブセットを受信する、ここで第2のメッセージデータサブセットは共通のグループベースの通信チャネル識別子に関連付けられている;第1のメッセージデータサブセット、第2のメッセージデータサブセット、及びメッセージメタデータセットに基づき検索インデックスを生成する;そして、第1の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリに検索インデックスを格納する。
V2.以下のような(V1)のコンピュータプログラム製品もまた提供される。第2のメッセージデータサブセットを取得するために、プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、少なくとも常駐トークンデータセットを第2の地理的領域に位置する地理的データ常駐サーバに送信する、ここで第2の地理的領域における地理的データ常駐サーバは、常駐トークンデータセットに基づき、第2の地理的領域における第2の地理的データ常駐ローカルリポジトリから第2のメッセージデータサブセットを取得する;そして、送信に応答して、第2の地理的領域における地理的データ常駐サーバから第1のメッセージデータサブセットを受信するように構成されている。
V3.共通のグループベースの通信チャネル識別子に関連付けられた第2のエンティティデータオブジェクト識別子についての少なくとも1つのメッセージ復号キーを識別するように更に構成された、(V1)のコンピュータプログラム製品もまた提供される。
V4.第2のエンティティデータオブジェクト識別子が、第2の地理的領域に対応するデータ常駐ポリシーデータオブジェクトに関連付けられた、(V3)のコンピュータプログラム製品もまた提供される。
V5.以下のような(V4)のコンピュータプログラム製品もまた提供される。第2のメッセージデータサブセットを取得するために、プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、以下を行うように構成されている:第2の地理的領域に位置する地理的データ常駐サーバに常駐トークンデータセットを送信する、ここで、第2の地理的領域における地理的データ常駐サーバは、常駐トークンデータセットに基づき、第2の地理的領域における第2の地理的データ常駐ローカルリポジトリから第2の暗号化メッセージデータサブセットを取得する;第2の地理的領域における地理的データ常駐サーバから第2の暗号化メッセージデータサブセットを受信する;そして、少なくとも1つのメッセージ復号キーを利用して、第2の暗号化メッセージデータサブセットを復号する。
V6.プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、常駐トークンデータセット又はメッセージメタデータセットの少なくとも一部に基づき、第2の地理的領域に関連付けられた地理的データ常駐サーバを特定するように構成された、(V1)のコンピュータプログラム製品もまた提供される。
V7.プロセッサで実行されるコンピュータ実行可能プログラムコード命令は、更に、第2の地理的境界に関連付けられた地理的データ常駐サーバに、メッセージメタデータセットを複製させることを更に含む、(V1)のコンピュータプログラム製品もまた提供される。
W1.更に、グループベースの通信システムにおいて地理的に分散したデータ格納に基づき検索インデックスを生成するための更に他の装置が提供される。この装置は、第1の地理的境界によって規定された第1の地理的領域に物理的に位置し、少なくとも1つのプロセッサ及びコンピュータプログラムコードを含む少なくとも1つの非一時的メモリを備えている。前記の少なくとも1つの非一時的メモリ及びコンピュータプログラムコードは、少なくとも1つのプロセッサにより、装置に、以下を行わせるように構成されている:第1の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリから、及び第1の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリから、共通のグループベースの通信チャネル識別子に関連付けられた第1のメッセージデータサブセット及びメッセージメタデータセットを取得する;第2の地理的境界によって規定された第2の地理的領域に位置する地理的データ常駐サーバから、メッセージメタデータセットの少なくとも常駐トークンデータセットに基づく第2のメッセージデータサブセットを受信する、ここで第2のメッセージデータサブセットは共通のグループベースの通信チャネル識別子に関連付けられている;第1のメッセージデータサブセット、第2のメッセージデータサブセット、及びメッセージメタデータセットに基づき検索インデックスを生成する;そして、第1の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリに検索インデックスを格納する。
W2.以下のような(W1)の装置もまた提供される。第2のメッセージデータサブセットを取得するために、装置は、少なくとも常駐トークンデータセットを第2の地理的領域に位置する地理的データ常駐サーバに送信する、ここで第2の地理的領域における地理的データ常駐サーバは、常駐トークンデータセットに基づき、第2の地理的領域における第2の地理的データ常駐ローカルリポジトリから第2のメッセージデータサブセットを取得する;そして、送信に応答して、第2の地理的領域における地理的データ常駐サーバから第1のメッセージデータサブセットを受信するように構成されている。
W3.共通のグループベースの通信チャネル識別子に関連付けられた第2のエンティティデータオブジェクト識別子についての少なくとも1つのメッセージ復号キーを識別するように更に構成された、(W1)の装置もまた提供される。
W4.第2のエンティティデータオブジェクト識別子が、第2の地理的領域に対応するデータ常駐ポリシーデータオブジェクトに関連付けられた、(W3)の装置もまた提供される。
W5.以下のような(W4)の装置もまた提供される。第2のメッセージデータサブセットを取得するために、装置は、更に、以下を行うように構成されている:第2の地理的領域に位置する地理的データ常駐サーバに常駐トークンデータセットを送信する、ここで、第2の地理的領域における地理的データ常駐サーバは、常駐トークンデータセットに基づき、第2の地理的領域における第2の地理的データ常駐ローカルリポジトリから第2の暗号化メッセージデータサブセットを取得する;第2の地理的領域における地理的データ常駐サーバから第2の暗号化メッセージデータサブセットを受信する;そして、少なくとも1つのメッセージ復号キーを利用して、第2の暗号化メッセージデータサブセットを復号する。
W6.更に、常駐トークンデータセット又はメッセージメタデータセットの少なくとも一部に基づき、第2の地理的領域に関連付けられた地理的データ常駐サーバを特定するように構成された、(W1)の装置もまた提供される。
W7.更に、第2の地理的境界に関連付けられた地理的データ常駐サーバに、メッセージメタデータセットを複製させるように更に構成された、(W1)の装置もまた提供される。
X1.更に、グループベースの通信システムにおける地理的に分散したデータ格納に基づき、検索インデックスを生成するためのコンピュータに実装された方法が提供される。このコンピュータに実装された方法は、第1の地理的境界によって規定された第1の地理的領域に位置する装置で、第1の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリから、共通のグループベースの通信チャネル識別子に関連付けられた第1のメッセージデータサブセット及びメッセージメタデータセットを取得する;第2の地理的境界によって規定された第2の地理的領域に位置する地理的データ常駐サーバから、メッセージメタデータセットの少なくとも常駐トークンデータセットに基づく第2のメッセージデータサブセットを受信する、ここで第2のメッセージデータサブセットは共通のグループベースの通信チャネル識別子に関連付けられている;第1のメッセージデータサブセット、第2のメッセージデータサブセット、及びメッセージメタデータセットに基づき検索インデックスを生成する;そして、第1の地理的境界に関連付けられた地理的データ常駐ローカルリポジトリに検索インデックスを格納する。
X2.以下のような(X1)のコンピュータに実装された方法もまた提供される。第2のメッセージデータサブセットを取得することは、少なくとも常駐トークンデータセットを第2の地理的領域に位置する地理的データ常駐サーバに送信すること、ここで第2の地理的領域における地理的データ常駐サーバは、常駐トークンデータセットに基づき、第2の地理的領域における第2の地理的データ常駐ローカルリポジトリから第2のメッセージデータサブセットを取得する;及び、送信に応答して、第2の地理的領域における地理的データ常駐サーバから第1のメッセージデータサブセットを受信することを含んでいる。
X3.共通のグループベースの通信チャネル識別子に関連付けられた第2のエンティティデータオブジェクト識別子についての少なくとも1つのメッセージ復号キーを識別するように更に構成された、(X1)のコンピュータに実装された方法もまた提供される。
X4.第2のエンティティデータオブジェクト識別子が、第2の地理的領域に対応するデータ常駐ポリシーデータオブジェクトに関連付けられた、(X3)のコンピュータに実装された方法もまた提供される。
X5.以下のような(X4)のコンピュータに実装された方法もまた提供される。第2のメッセージデータサブセットを取得することは、第2の地理的領域に位置する地理的データ常駐サーバに常駐トークンデータセットを送信すること、ここで、第2の地理的領域における地理的データ常駐サーバは、常駐トークンデータセットに基づき、第2の地理的領域における第2の地理的データ常駐ローカルリポジトリから第2の暗号化メッセージデータサブセットを取得する;第2の地理的領域における地理的データ常駐サーバから第2の暗号化メッセージデータサブセットを受信すること;及び、少なくとも1つのメッセージ復号キーを利用して、第2の暗号化メッセージデータサブセットを復号することを含んでいる。
X6.更に、常駐トークンデータセット又はメッセージメタデータセットの少なくとも一部に基づき、第2の地理的領域に関連付けられた地理的データ常駐サーバを特定するように構成された、(X1)のコンピュータに実装された方法もまた提供される。
X7.更に、第2の地理的境界に関連付けられた地理的データ常駐サーバに、メッセージメタデータセットを複製させる、(X1)のコンピュータに実装された方法もまた提供される。

Claims (11)

  1. グループベースの通信システムにおいて地理的に分散したデータ格納を管理するための、コンピュータに実装された方法であって、
    前記コンピュータに実装された方法は、
    第1の地理的境界によって規定された第1の地理的領域に物理的に位置する装置から、少なくともメッセージデータを含むメッセージを受信し、
    前記メッセージに関連付けられたエンティティ識別子が地理的データ格納ポリシーに関連付けられていると判定すると、前記メッセージのメッセージデータを含む地理的データ常駐メッセージパッケージを、第2の地理的境界によって規定された第2の地理的領域に物理的に位置する地理的データ常駐サーバに送信し、ここで、該第2の地理的領域は、前記地理的データ格納ポリシーに関連付けられており、
    前記地理的データ常駐サーバから、前記メッセージデータに関連付けられた常駐トークンデータを受信し、
    前記地理的データ常駐サーバから受信した常駐トークンデータで前記メッセージの前記メッセージデータを更新し、
    前記更新されたメッセージを、前記第1の地理的境界によって規定された前記第1の地理的領域に物理的に位置する地理的データ常駐ローカルリポジトリに、格納する、
    ことを特徴とする、コンピュータに実装された方法。
  2. 請求項1に記載のコンピュータに実装された方法において、
    前記地理的データ常駐メッセージパッケージは、前記メッセージデータのサブセットを含み、
    前記メッセージデータの前記サブセットは、前記更新されたメッセージにおける前記常駐トークンデータで置き換えられる、
    ことを特徴とするコンピュータに実装された方法。
  3. 請求項1に記載のコンピュータに実装された方法において、
    前記メッセージは、メッセージ識別子を更に含み、
    前記コンピュータに実装された方法は、更に、
    第2のクライアントデバイスから、前記メッセージ識別子を含むメッセージ取得リクエストを受信することと、
    ローカルリポジトリから、前記更新されたメッセージを取得することと、
    前記更新されたメッセージが常駐トークンデータを含むと判定すると、前記常駐トークンデータを含む地理的データ常駐データ取得リクエストを前記常駐トークンデータに関連付けられた地理的データ常駐サーバに送信することと、
    前記地理的データ常駐サーバから、前記常駐トークンデータに関連付けられた地理的データ常駐ローカルリポジトリアドレスにおける前記地理的データ常駐ローカルリポジトリに格納された前記メッセージデータを受信することと、
    前記メッセージデータをクライアントデバイスに送信することと
    を含む、ことを特徴とするコンピュータに実装された方法。
  4. 請求項1に記載のコンピュータに実装された方法において、
    前記メッセージが受信者識別子及び作成者識別子に更に関連付けられており、
    前記受信者識別子が、前記作成者識別子に関連付けられた第2の地理的データ格納ポリシーとは異なる第1の地理的データ格納ポリシーに関連付けられている、
    ことを特徴とするコンピュータに実装された方法。
  5. 請求項1に記載のコンピュータに実装された方法において、
    前記メッセージは、メッセージメタデータを更に含み、
    前記地理的データ常駐メッセージパッケージは、前記メッセージメタデータのサブセットを更に含み、
    前記メッセージメタデータの前記サブセットはまた、前記更新されたメッセージにおけるデータ常駐データで置き換えられる、
    ことを特徴とするコンピュータに実装された方法。
  6. 請求項1に記載のコンピュータに実装された方法において、
    前記常駐トークンデータは、メッセージ識別子、格納場所識別子、又はメッセージ暗号化キーのうちの1つ以上を含む、
    ことを特徴とするコンピュータに実装された方法。
  7. 請求項1に記載のコンピュータに実装された方法において、
    メッセージ暗号化キーが、グループベースの通信サーバによって管理された、中央管理のメッセージ暗号化キーと組み合わせて復号に使用される、
    ことを特徴とするコンピュータに実装された方法。
  8. 請求項1に記載のコンピュータに実装された方法において、
    前記コンピュータに実装された方法は、更に、
    前記第2の地理的領域に物理的に位置する前記地理的データ常駐サーバがアクセス不可であることを判定すると、
    前記メッセージの前記メッセージデータを含む前記地理的データ常駐メッセージパッケージを、バックアップ地理的境界によって規定されたバックアップ地理的領域に物理的に位置するバックアップ地理的データ常駐サーバに送信し、前記バックアップ地理的領域は前記地理的データ格納ポリシーに関連付けられており、
    前記バックアップ地理的データ常駐サーバから受信したバックアップ常駐トークンデータで、前記メッセージの前記メッセージデータを更新し、
    前記更新されたメッセージデータを、前記第1の地理的境界によって規定された前記第1の地理的領域に物理的に位置する前記地理的データ常駐ローカルリポジトリに格納する、
    ことを特徴とするコンピュータに実装された方法。
  9. 請求項8に記載のコンピュータに実装された方法において、
    前記コンピュータに実装された方法は、更に、
    前記第2の地理的領域に物理的に位置する前記地理的データ常駐サーバがアクセス可能になったことを判定し、
    前記バックアップ地理的領域に物理的に位置する前記バックアップ地理的データ常駐サーバから前記地理的データ常駐メッセージパッケージを識別し、
    前記地理的データ常駐メッセージパッケージを前記第2の地理的領域に物理的に位置する前記地理的データ常駐サーバへ送信するのは、前記第2の地理的領域に位置する前記地理的データ常駐サーバがアクセス可能になったとの判定に応答して行う、
    ことを特徴とするコンピュータに実装された方法。
  10. グループベースの通信システムにおける地理的に分散したデータ格納を管理するためのコンピュータプログラム製品であって、
    前記コンピュータプログラム製品は、コンピュータ実行可能プログラムコード命令が格納された少なくとも1つの非一時的コンピュータ可読記憶媒体を備え、
    プロセッサで実行される前記コンピュータ実行可能プログラムコード命令は、請求項1〜9のいずれか1項に記載のコンピュータに実装された方法を実行するように構成された、
    ことを特徴とするコンピュータプログラム製品。
  11. グループベースの通信システムにおいて地理的に分散したデータ格納を管理するための装置であって、
    前記装置は、第1の地理的境界によって規定された第1の地理的領域に物理的に位置し、少なくとも1つのプロセッサ及びコンピュータプログラムコードを含む少なくとも1つの非一時的メモリを備え、
    前記少なくとも1つの非一時的メモリ及び前記コンピュータプログラムコードは、前記少なくとも1つのプロセッサにより、装置に、請求項1〜9のいずれか1項に記載のコンピュータに実装された方法を実行させるように構成された、
    ことを特徴とする装置。
JP2019225306A 2018-12-14 2019-12-13 地理的に分散したデータの管理及びこれに基づく検索インデックス生成のための方法、装置、並びにコンピュータプログラム製品 Active JP7086918B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022043400A JP7428742B2 (ja) 2018-12-14 2022-03-18 地理的に分散したデータの管理及びこれに基づく検索インデックス生成のための方法、装置、並びにコンピュータプログラム製品
JP2024009640A JP7458565B1 (ja) 2018-12-14 2024-01-25 地理的に分散したデータの管理及びこれに基づく検索インデックス生成のための方法、装置、並びにコンピュータプログラム製品

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201862780067P 2018-12-14 2018-12-14
US62/780,067 2018-12-14
US201962895333P 2019-09-03 2019-09-03
US62/895,333 2019-09-03
US16/702,197 2019-12-03
US16/702,197 US12019607B2 (en) 2018-12-14 2019-12-03 Methods, apparatuses, and computer program products for management of and search index generation based on geographically distributed data

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022043400A Division JP7428742B2 (ja) 2018-12-14 2022-03-18 地理的に分散したデータの管理及びこれに基づく検索インデックス生成のための方法、装置、並びにコンピュータプログラム製品

Publications (2)

Publication Number Publication Date
JP2020126600A true JP2020126600A (ja) 2020-08-20
JP7086918B2 JP7086918B2 (ja) 2022-06-20

Family

ID=68807990

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2019225306A Active JP7086918B2 (ja) 2018-12-14 2019-12-13 地理的に分散したデータの管理及びこれに基づく検索インデックス生成のための方法、装置、並びにコンピュータプログラム製品
JP2022043400A Active JP7428742B2 (ja) 2018-12-14 2022-03-18 地理的に分散したデータの管理及びこれに基づく検索インデックス生成のための方法、装置、並びにコンピュータプログラム製品
JP2024009640A Active JP7458565B1 (ja) 2018-12-14 2024-01-25 地理的に分散したデータの管理及びこれに基づく検索インデックス生成のための方法、装置、並びにコンピュータプログラム製品

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2022043400A Active JP7428742B2 (ja) 2018-12-14 2022-03-18 地理的に分散したデータの管理及びこれに基づく検索インデックス生成のための方法、装置、並びにコンピュータプログラム製品
JP2024009640A Active JP7458565B1 (ja) 2018-12-14 2024-01-25 地理的に分散したデータの管理及びこれに基づく検索インデックス生成のための方法、装置、並びにコンピュータプログラム製品

Country Status (4)

Country Link
US (1) US12019607B2 (ja)
EP (2) EP4155972B1 (ja)
JP (3) JP7086918B2 (ja)
CA (1) CA3063660C (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022120157A (ja) * 2020-07-01 2022-08-17 スラック テクノロジーズ, エルエルシー 国際データレジデンシのための暗号化キー管理
US11949739B2 (en) 2018-12-14 2024-04-02 Salesforce, Inc. Methods, apparatuses, and computer program products for management of data deletion requests based on geographically distributed data
US12019607B2 (en) 2018-12-14 2024-06-25 Salesforce, Inc. Methods, apparatuses, and computer program products for management of and search index generation based on geographically distributed data

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10997557B2 (en) 2016-10-14 2021-05-04 Slack Technologies, Inc. Method, apparatus, and computer program product for authorizing and authenticating user communication within an enterprise group-based communication platform
US11539675B2 (en) 2018-06-06 2022-12-27 Slack Technologies, Llc Encryption key management for international data residency
US11184400B2 (en) 2019-11-12 2021-11-23 Slack Technologies, Inc. Authorizations associated with externally shared communication resources
US10986038B1 (en) * 2019-11-12 2021-04-20 Slack Technologies, Inc. Authorizations associated with externally shared communication resources
US11818091B2 (en) 2020-05-10 2023-11-14 Salesforce, Inc. Embeddings-based discovery and exposure of communication platform features
US11711404B2 (en) * 2020-10-30 2023-07-25 Salesforce, Inc. Embeddings-based recommendations of latent communication platform features
US11637714B2 (en) 2020-10-30 2023-04-25 Salesforce, Inc. Embeddings-based discovery and exposure of communication platform features

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015049542A (ja) * 2013-08-29 2015-03-16 パナソニックIpマネジメント株式会社 分散データベースシステム、選択装置
US20160142350A1 (en) * 2014-11-18 2016-05-19 Commvault Systems, Inc. Storage and management of mail attachments
US20160173623A1 (en) * 2014-12-15 2016-06-16 International Business Machines Corporation Location-enforced data management in complex multi-region computing
US20160277498A1 (en) * 2015-03-20 2016-09-22 Intel Corporation Location and boundary controls for storage volumes
US20160359684A1 (en) * 2014-06-03 2016-12-08 Box, Inc. Policy-based computation and storage of cloud-based collaboration objects
US20180197144A1 (en) * 2016-10-14 2018-07-12 Slack Technologies, Inc. Method, apparatus, and computer program product for authorizing and authenticating user communication within an enterprise group-based communication platform
US20180212903A1 (en) * 2016-10-14 2018-07-26 Slack Technologies, Inc. Method, apparatus, and computer program product for associating an identifier with one or more message communications within a group-based communication system
US20180337795A1 (en) * 2017-05-19 2018-11-22 Slack Technologies, Inc. Method, apparatus, and computer program product for a scalable group-based communication system with a reduced client memory footprint requirement

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5944838A (en) 1997-03-31 1999-08-31 Lsi Logic Corporation Method for fast queue restart after redundant I/O path failover
JP4464340B2 (ja) * 1999-12-20 2010-05-19 大日本印刷株式会社 分散型データアーカイブシステム
US6718361B1 (en) 2000-04-07 2004-04-06 Network Appliance Inc. Method and apparatus for reliable and scalable distribution of data files in distributed networks
US7546465B2 (en) 2002-10-17 2009-06-09 At&T Intellectual Property I, L.P. Instant messaging private tags
US7707624B2 (en) 2002-11-26 2010-04-27 Rpost International Limited System for, and method of, proving the transmission, receipt and content of a reply to an electronic message
US7774411B2 (en) * 2003-12-12 2010-08-10 Wisys Technology Foundation, Inc. Secure electronic message transport protocol
US7546459B2 (en) 2004-03-10 2009-06-09 Telefonaktiebolaget L M Ericsson (Publ) GSM-like and UMTS-like authentication in a CDMA2000 network environment
JP2007193168A (ja) 2006-01-20 2007-08-02 Toshiba Matsushita Display Technology Co Ltd 平面表示装置および表示制御方法
WO2007097667A1 (en) 2006-02-27 2007-08-30 Telefonaktiebolaget Lm Ericsson Lawful access; stored data handover enhanced architecture
US8416954B1 (en) 2008-09-30 2013-04-09 Emc Corporation Systems and methods for accessing storage or network based replicas of encrypted volumes with no additional key management
US8738905B2 (en) 2007-12-10 2014-05-27 International Business Machines Corporation Third party secured storage for web services and web applications
JP5359201B2 (ja) 2008-11-06 2013-12-04 富士通株式会社 コンテンツの削除更新プログラム
US8799322B2 (en) 2009-07-24 2014-08-05 Cisco Technology, Inc. Policy driven cloud storage management and cloud storage policy router
US9913211B2 (en) 2011-05-23 2018-03-06 Gigsky, Inc. Global e-marketplace for mobile services
US9519555B2 (en) 2011-05-23 2016-12-13 Microsoft Technology Licensing, Llc Synchronous replication in a distributed storage environment
US8447732B2 (en) 2011-08-02 2013-05-21 International Business Machines Corporation Deduplication in network storage with data residence compliance
US20140006972A1 (en) * 2012-07-02 2014-01-02 Nerijus Celkonas Systems and Methods Providing Integrated Communication and Task Management
US9081975B2 (en) * 2012-10-22 2015-07-14 Palantir Technologies, Inc. Sharing information between nexuses that use different classification schemes for information access control
US9380523B1 (en) 2013-01-22 2016-06-28 Hypori, Inc. System, method and computer program product for connecting roaming mobile devices to a virtual device platform
US20140344570A1 (en) 2013-05-20 2014-11-20 Microsoft Corporation Data Protection For Organizations On Computing Devices
US9407440B2 (en) 2013-06-20 2016-08-02 Amazon Technologies, Inc. Multiple authority data security and access
US9846540B1 (en) 2013-08-19 2017-12-19 Amazon Technologies, Inc. Data durability using un-encoded copies and encoded combinations
US10719562B2 (en) * 2013-12-13 2020-07-21 BloomReach Inc. Distributed and fast data storage layer for large scale web data services
GB2511259B (en) 2014-06-16 2015-10-07 Andersen Cheng System and method for management of persistent and irrefutable instant messages
US9514324B1 (en) 2014-06-20 2016-12-06 Amazon Technologies, Inc. Approaches for restricting access to data
US9503402B2 (en) * 2014-08-18 2016-11-22 Dropbox, Inc. Managing drafts of electronic documents across client devices
US9292699B1 (en) 2014-12-30 2016-03-22 Airwatch Llc Encrypted file storage
US9928377B2 (en) 2015-03-19 2018-03-27 Netskope, Inc. Systems and methods of monitoring and controlling enterprise information stored on a cloud computing service (CCS)
US9860279B2 (en) 2015-08-28 2018-01-02 Nicira, Inc. Defining network rules based on remote device management attributes
US9652345B2 (en) * 2015-09-24 2017-05-16 The Florida International University Board Of Trustees Techniques and systems for local independent failure domains
US10223543B1 (en) 2015-09-30 2019-03-05 EMC IP Holding Company LLC Dynamic external views with encryption to support global data compliance for global archives
US10372926B1 (en) 2015-12-21 2019-08-06 Amazon Technologies, Inc. Passive distribution of encryption keys for distributed data stores
US10885009B1 (en) 2016-06-14 2021-01-05 Amazon Technologies, Inc. Generating aggregate views for data indices
US10599569B2 (en) 2016-06-23 2020-03-24 International Business Machines Corporation Maintaining consistency between address translations in a data processing system
EP3497614B1 (en) 2016-08-10 2022-01-05 Nextlabs, Inc. Sharing encrypted documents within and outside an organization
US11232100B2 (en) * 2016-09-26 2022-01-25 Splunk Inc. Resource allocation for multiple datasets
US9940394B1 (en) 2016-10-14 2018-04-10 Slack Technologies, Inc. Messaging search and management apparatuses, methods and systems
US10833876B2 (en) 2016-10-28 2020-11-10 Apple Inc. Protection of the UE identity during 802.1x carrier hotspot and Wi-Fi calling authentication
KR20180096147A (ko) * 2017-02-20 2018-08-29 삼성전자주식회사 전자 장치 및 전자 장치에서의 정보 제공 방법
US10601753B2 (en) 2017-04-04 2020-03-24 International Business Machines Corporation Automatic threading of conversations based on content and interactions
US10721166B2 (en) 2017-12-08 2020-07-21 International Business Machines Corporation Ensuring data locality for secure transmission of data
US10592608B2 (en) * 2018-01-08 2020-03-17 International Business Machines Corporation Topic based conversation retrieval
US10761942B2 (en) * 2018-03-12 2020-09-01 Commvault Systems, Inc. Recovery point objective (RPO) driven backup scheduling in a data storage management system using an enhanced data agent
KR102512764B1 (ko) 2018-06-06 2023-03-23 슬랙 테크놀로지스, 엘엘씨 그룹 기반 통신 시스템 내의 암호화 키 관리를 위한 방법, 장치 및 컴퓨터 프로그램 제품
US11539675B2 (en) 2018-06-06 2022-12-27 Slack Technologies, Llc Encryption key management for international data residency
US10594340B2 (en) 2018-06-15 2020-03-17 EMC IP Holding Company LLC Disaster recovery with consolidated erasure coding in geographically distributed setups
US10630627B2 (en) * 2018-06-18 2020-04-21 Slack Technologies, Inc. Method, apparatus and computer program product for metadata search in a group based communication platform
US11218461B2 (en) * 2018-06-29 2022-01-04 Salesforce.Com, Inc. Authenticating computing system requests with an unknown destination across tenants of a multi-tenant system
US11019064B2 (en) * 2018-09-04 2021-05-25 International Business Machines Corporation Data security across data residency restriction boundaries
US11949739B2 (en) 2018-12-14 2024-04-02 Salesforce, Inc. Methods, apparatuses, and computer program products for management of data deletion requests based on geographically distributed data
EP4155972B1 (en) 2018-12-14 2024-06-05 Salesforce, Inc. Methods, apparatuses, and computer program products for management of and search index generation based on geographically distributed data
US10887380B2 (en) * 2019-04-01 2021-01-05 Google Llc Multi-cluster ingress
US11150934B2 (en) 2019-04-08 2021-10-19 International Business Machines Corporation Region based processing and storage of data
US11395211B2 (en) 2020-04-20 2022-07-19 Verizon Patent And Licensing Inc. Systems and methods for restricting network traffic based on geographic information

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015049542A (ja) * 2013-08-29 2015-03-16 パナソニックIpマネジメント株式会社 分散データベースシステム、選択装置
US20160359684A1 (en) * 2014-06-03 2016-12-08 Box, Inc. Policy-based computation and storage of cloud-based collaboration objects
US20160142350A1 (en) * 2014-11-18 2016-05-19 Commvault Systems, Inc. Storage and management of mail attachments
US20160173623A1 (en) * 2014-12-15 2016-06-16 International Business Machines Corporation Location-enforced data management in complex multi-region computing
US20160277498A1 (en) * 2015-03-20 2016-09-22 Intel Corporation Location and boundary controls for storage volumes
US20180197144A1 (en) * 2016-10-14 2018-07-12 Slack Technologies, Inc. Method, apparatus, and computer program product for authorizing and authenticating user communication within an enterprise group-based communication platform
US20180212903A1 (en) * 2016-10-14 2018-07-26 Slack Technologies, Inc. Method, apparatus, and computer program product for associating an identifier with one or more message communications within a group-based communication system
US20180337795A1 (en) * 2017-05-19 2018-11-22 Slack Technologies, Inc. Method, apparatus, and computer program product for a scalable group-based communication system with a reduced client memory footprint requirement

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11949739B2 (en) 2018-12-14 2024-04-02 Salesforce, Inc. Methods, apparatuses, and computer program products for management of data deletion requests based on geographically distributed data
US12019607B2 (en) 2018-12-14 2024-06-25 Salesforce, Inc. Methods, apparatuses, and computer program products for management of and search index generation based on geographically distributed data
JP2022120157A (ja) * 2020-07-01 2022-08-17 スラック テクノロジーズ, エルエルシー 国際データレジデンシのための暗号化キー管理
JP7374264B2 (ja) 2020-07-01 2023-11-06 セールスフォース インコーポレイテッド 国際データレジデンシのための暗号化キー管理

Also Published As

Publication number Publication date
EP4155972A1 (en) 2023-03-29
JP7458565B1 (ja) 2024-03-29
EP3667514A1 (en) 2020-06-17
CA3063660C (en) 2023-10-17
US20200192881A1 (en) 2020-06-18
JP2024050693A (ja) 2024-04-10
JP2022084778A (ja) 2022-06-07
US12019607B2 (en) 2024-06-25
JP7086918B2 (ja) 2022-06-20
CA3063660A1 (en) 2020-06-14
JP7428742B2 (ja) 2024-02-06
EP3667514B1 (en) 2022-10-12
EP4155972B1 (en) 2024-06-05

Similar Documents

Publication Publication Date Title
JP7458565B1 (ja) 地理的に分散したデータの管理及びこれに基づく検索インデックス生成のための方法、装置、並びにコンピュータプログラム製品
US11949739B2 (en) Methods, apparatuses, and computer program products for management of data deletion requests based on geographically distributed data
US10852916B2 (en) System, method, and apparatus for maintaining and updating a common message user interface in a group based communication system
US11586584B2 (en) Method, apparatus and computer program product for generating externally shared communication channels
US11799636B2 (en) Method, apparatus, and computer program product for encryption key management within a group-based communication system
JP7323746B2 (ja) グループベースコミュニケーションのリポジトリにおけるデジタルコンテンツ監査及び保持のための方法、装置、及びコンピュータプログラム製品
EP3655847A1 (en) Method, apparatus and computer program product for generating externally shared communication channels
US11863640B2 (en) System, method, and apparatus for generating a third-party resource usage map in a group based communication system
KR20210046082A (ko) 외부에서 공유되는 통신 채널들을 생성하기 위한 방법, 장치, 및 컴퓨터 프로그램 제품
WO2020113162A1 (en) Method, apparatus and computer program product for generating externally shared communication channels

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200210

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210621

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20211124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220318

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20220318

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20220318

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20220318

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20220408

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20220412

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220524

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220608

R150 Certificate of patent or registration of utility model

Ref document number: 7086918

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350