(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022172074
(43)【公開日】2022-11-15
(54)【発明の名称】ファイル共有のための技術
(51)【国際特許分類】
G06F 16/176 20190101AFI20221108BHJP
G06F 21/62 20130101ALI20221108BHJP
G06Q 10/10 20120101ALI20221108BHJP
H04L 67/06 20220101ALI20221108BHJP
【FI】
G06F16/176
G06F21/62 318
G06Q10/10
H04L67/06
【審査請求】有
【請求項の数】26
【出願形態】OL
(21)【出願番号】P 2022120406
(22)【出願日】2022-07-28
(62)【分割の表示】P 2020568408の分割
【原出願日】2019-06-07
(31)【優先権主張番号】16/501,110
(32)【優先日】2018-06-08
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/211,100
(32)【優先日】2018-12-05
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.macOS
2.WINDOWS
3.ANDROID
4.UNIX
5.Linux
6.SMALLTALK
(71)【出願人】
【識別番号】519251922
【氏名又は名称】サファイア インコーポレイテッド
(74)【代理人】
【識別番号】100094569
【弁理士】
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【弁理士】
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【弁理士】
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100109335
【弁理士】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【弁理士】
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【弁理士】
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100176418
【弁理士】
【氏名又は名称】工藤 嘉晃
(72)【発明者】
【氏名】ロシュ ガビノ エム ジュニア
(57)【要約】
【課題】多様なネットワークベースのファイル共有サービスは、多くの状況での使用に対して普及しているが、これらのサービスが不十分であるいくつかの状況が存在する。特に、これらのサービスは、多様な事前定義されたワークフローに基づいて、多様な事前定義されたユーザグループ間で安全かつ選択的に多様なファイルを共有することができない。
【解決手段】本開示は、多様な事前定義されたワークフローに基づいて、多様な事前定義されたユーザグループ間で安全かつ選択的に多様なファイルを共有するための多様なコンピューティング技術を可能にする。事前定義された各ワークフローについて、ファイルは、多様な文書識別子および多様なメタデータタグを記憶するデータ構造に基づいて共有され、文書識別子は、メタデータタグにマッピングされる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
方法であって、
サーバによって、第1のクライアント上で動作している第1のアプリケーションにユーザインターフェースを供給することであって、前記ユーザインターフェースが、第1の主体識別子、第2の主体識別子、アクション識別子、およびファイルの選択を受信するように構成される、供給することと、
前記サーバによって、前記第1のアプリケーションから前記第1の主体識別子、前記第2の主体識別子、および前記アクション識別子を受信することと、
前記サーバによって、前記選択に基づいて前記ファイルのコピーを受信することと、
前記サーバによって、タスク識別子、データ構造、および文書識別子を生成することと、
前記サーバによって、前記タスク識別子で前記データ構造をグループ化することと、
前記サーバによって、前記文書識別子が前記第1の主体識別子、前記第2の主体識別子、および前記アクション識別子にマッピングされるように、前記データ構造に前記文書識別子、前記第1の主体識別子、前記第2の主体識別子、および前記アクション識別子を投入することと、
前記サーバによって、第2のクライアント上で動作している第2のアプリケーションとのセッションをホストすることであって、前記セッションが、前記第2の主体識別子および前記アクション識別子に関連付けられる、ホストすることと、
前記サーバによって、前記セッションに関連付けられた前記第2の主体識別子および前記セッションに関連付けられた前記アクション識別子が前記データ構造内の前記第2の主体識別子および前記データ構造内の前記アクション識別子に合致することに基づいて、前記セッションの間、前記第2のアプリケーションを前記タスク識別子に関連付けることと、
前記サーバによって、前記コピーが前記データ構造内の前記文書識別子に基づいて前記第2のアプリケーションにより検索可能となるように、前記タスク識別子に基づいて前記セッションの間、前記コピーを前記第2のアプリケーションと共有することと、
を含む、方法。
【請求項2】
前記第1のアプリケーションが、前記第1の主体識別子に関連付けられる、請求項1に記載の方法。
【請求項3】
前記第1のアプリケーションが、前記第1の主体識別子および前記第2の主体識別子以外の第3の主体識別子に関連付けられる、請求項1に記載の方法。
【請求項4】
前記第1の主体識別子および前記第2の主体識別子のそれぞれが、取引主体識別子(LEI)を含み、前記コピーを伴う取引前クライアントオンボーディングプロセスが発生し得るように、前記コピーが、前記タスク識別子に基づいて前記セッションの間前記第2のアプリケーションと共有される、請求項1に記載の方法。
【請求項5】
前記第1の主体識別子の前記取引主体識別子が、前記第2の主体識別子の前記取引主体識別子と一致する、請求項4に記載の方法。
【請求項6】
前記第1の主体識別子の前記取引主体識別子が、前記第2の主体識別子の前記取引主体識別子と異なる、請求項4に記載の方法。
【請求項7】
前記コピーがコンテンツを含み、前記文書識別子が、前記コンテンツに基づいて生成される、請求項1に記載の方法。
【請求項8】
前記コピーが特性を含み、前記文書識別子が、前記特性に基づいて生成される、請求項1に記載の方法。
【請求項9】
前記ファイルが、前記第1のクライアントのローカルに記憶される、請求項1に記載の方法。
【請求項10】
前記ファイルが、前記第1のクライアントからリモートに記憶される、請求項1に記載の方法。
【請求項11】
前記ユーザインターフェースが、項目識別子およびカテゴリ識別子を受信するように構成され、
前記サーバによって、前記第1のアプリケーションから前記項目識別子および前記カテゴリ識別子を受信することと、
前記サーバによって、前記文書識別子が前記項目識別子および前記カテゴリ識別子にマッピングされるように、前記データ構造に前記項目識別子および前記カテゴリ識別子を投入することであって、前記セッションが、前記項目識別子および前記カテゴリ識別子に関連付けられる、投入することと、
前記サーバによって、前記セッションに関連付けられた前記項目識別子および前記セッションに関連付けられた前記カテゴリ識別子が前記データ構造内の前記項目識別子および前記データ構造内の前記カテゴリ識別子に合致することに基づいて、前記セッションの間、前記第2のアプリケーションを前記タスク識別子に関連付けることと、
をさらに含む、請求項1に記載の方法。
【請求項12】
前記アクション識別子が、1対多対応で前記項目識別子に対応する、請求項11に記載の方法。
【請求項13】
前記項目識別子が、1対多対応で前記カテゴリ識別子に対応する、請求項11に記載の方法。
【請求項14】
前記第1の主体識別子が、1対多対応で前記アクション識別子に対応する、請求項11に記載の方法。
【請求項15】
前記第2の主体識別子が、1対多対応で前記アクション識別子に対応する、請求項11に記載の方法。
【請求項16】
前記タスク識別子が、1対多対応で前記文書識別子に対応する、請求項11に記載の方法。
【請求項17】
前記第1の主体識別子が、1対多対応で前記アクション識別子に対応する、請求項1に記載の方法。
【請求項18】
前記第2の主体識別子が、1対多対応で前記アクション識別子に対応する、請求項1に記載の方法。
【請求項19】
前記タスク識別子が、1対多対応で前記文書識別子に対応する、請求項1に記載の方法。
【請求項20】
前記タスク識別子は、前記第1の主体識別子または前記第2の主体識別子のうちの少なくとも1つに基づいて生成される、請求項1に記載の方法。
【請求項21】
前記タスク識別子が、前記アクション識別子に基づいて生成される、請求項1に記載の方法。
【請求項22】
前記ユーザインターフェースが、第1のユーザインターフェースであり、前記第2のアプリケーションが、第2のユーザインターフェースを含み、前記第1のユーザインターフェースが、第1のメッセージングインターフェースを含み、前記第2のユーザインターフェースが、第2のメッセージングインターフェースを含み、前記コピーが前記セッションの間前記第2のアプリケーションと共有された後で、前記サーバが、前記タスク識別子に基づいて前記セッションの間前記第1のアプリケーションと前記第2のアプリケーションとの間の内部メッセージングサービスを可能にする、請求項1に記載の方法。
【請求項23】
前記コピーが、前記第2のアプリケーション上でのハイパーリンクの提示によって、前記セッションの間前記第2のアプリケーションと共有され、前記コピーが、前記セッションの間の前記第2のアプリケーションによる前記ハイパーリンクのアクティブ化に基づいて、開かれるかまたはダウンロードされるかの少なくとも1つが行われる、請求項1に記載の方法。
【請求項24】
前記サーバによって、前記文書識別子が前記タスク識別子にマッピングされるように、前記データ構造に前記タスク識別子を投入することをさらに含む、請求項1に記載の方法。
【請求項25】
前記サーバによって、前記タスク識別子が前記文書識別子にマッピングされるように、前記データ構造に前記タスク識別子を投入することをさらに含む、請求項1に記載の方法。
【請求項26】
前記文書識別子が項目識別子およびカテゴリ識別子にマッピングされるように、前記データ構造が前記項目識別子および前記カテゴリ識別子を記憶し、
前記サーバによって、前記タスク識別子に対応する規則のセットを識別することと、
前記サーバによって、前記規則のセットに基づいて文書セットの完成度の状態をモニタリングすることと、
前記サーバによって、前記セッションの間前記コピーを前記第2のアプリケーションと共有した後、前記第1のアプリケーションおよび前記第2のアプリケーションにメニューを提示することであって、前記メニューが、前記規則のセットに基づいて前記項目識別子および前記カテゴリ識別子に関して前記文書セットの前記完成度の前記状態を表すように構成される、提示することと、
をさらに含む、請求項1に記載の方法。
【請求項27】
前記文書識別子、前記第1の主体識別子、前記第2の主体識別子、および前記アクション識別子を記憶する前記データ構造が、データファイルとしてエクスポート可能である、請求項1に記載の方法。
【請求項28】
前記サーバによって、前記セッションの間に前記第2のアプリケーションから入力を受信することと、
前記サーバによって、前記入力に基づき合致を求めて前記データ構造を探索することと、
前記サーバによって、前記入力と、前記第1の主体識別子、前記第2の主体識別子、前記アクション識別子、または前記タスク識別子のうちの少なくとも1つとの間の前記合致を識別することと、
前記サーバによって、前記合致に基づいて前記文書識別子を識別することと、
前記サーバによって、前記文書識別子に基づいて前記セッションの間前記コピーを前記第2のアプリケーションと共有することと、
をさらに含む、請求項1に記載の方法。
【請求項29】
前記文書識別子が前記項目識別子および前記カテゴリ識別子にマッピングされるように、前記データ構造が、前記項目識別子および前記カテゴリ識別子を記憶し、前記合致が、前記入力と、前記第1の主体識別子、前記第2の主体識別子、前記アクション識別子、前記タスク識別子、前記項目識別子、または前記カテゴリ識別子のうちの少なくとも1つとの間で識別される、請求項28に記載の方法。
【請求項30】
前記サーバが、ウェブサーバ、アプリケーションサーバ、およびデータベースサーバを含み、前記ウェブサーバが、前記ユーザインターフェースを供給し、前記第1の主体識別子、前記第2の主体識別子、前記アクション識別子、および前記コピーを受信し、前記アプリケーションサーバが、前記タスク識別子、前記データ構造、および前記文書識別子を生成し、前記アプリケーションサーバが、前記タスク識別子で前記データ構造をグループ化し、前記文書識別子が前記第1の主体識別子、前記第2の主体識別子、および前記アクション識別子にマッピングされるように、前記アプリケーションサーバが、前記データ構造に前記文書識別子、前記第1の主体識別子、前記第2の主体識別子、および前記アクション識別子を投入し、前記ウェブサーバが、前記セッションをホストし、前記アプリケーションサーバが、前記セッションに関連付けられた前記第2の主体識別子および前記セッションに関連付けられた前記アクション識別子が、前記データ構造内の前記第2の主体識別子および前記データ構造内の前記アクション識別子と合致することに基づいて、前記セッションの間前記第2のアプリケーションを前記タスク識別子に関連付け、前記アプリケーションサーバが、前記データベースサーバを介して前記コピーを前記第2のアプリケーションと共有し、前記データベースサーバが、前記コピーを記憶する、請求項1に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照
本出願は、2018年12月5日に出願された米国非仮出願第16/211,100号の優先権を主張し、これは、2018年6月8日に出願された米国仮出願第62/682,669号の利益を主張し、参照により本明細書に完全に組み込まれる。
【0002】
本開示は、ファイル共有に関する。
【背景技術】
【0003】
多様なネットワークベースのファイル共有サービスは、ピアツーピア(P2P)またはクラウドベースのいずれにせよ、ユーザが互いにファイルを共有することを可能にする。例えば、そのようなサービスのいくつかは、Napster、BitTorrent、Dropbox、Box、Egnyte、Google Drive、Microsoft OneDrive、Microsoft SharePoint、Microsoft Teams、Slack、Apple iCloudなどを含む。これらのサービスは、多くの状況での使用に対して普及しているが、これらのサービスが不十分であるいくつかの状況が存在する。特に、これらのサービスは、多様な事前定義されたワークフローに基づいて、多様な事前定義されたユーザグループ間で安全かつ選択的に多様なファイルを共有することができない。例えば、多様なワークフローの状況に対して文書の許可が重要である、文書オンボーディング状況では、大抵のユーザが、ローカルまたはクラウドベースのいずれにせよ、関連文書について多数の電子メールおよびファイルディレクトリを探索することになる。これは、面倒でコストがかかり、不安定かつ時間のかかるものである。
【0004】
実施形態において、サーバによって、第1のクライアント上で動作している第1のアプリケーションにユーザインターフェースを供給することであって、ユーザインターフェースが、第1の主体識別子、第2の主体識別子、アクション識別子、およびファイルの選択を受信するように構成される、供給することと、サーバによって、第1のアプリケーションから第1の主体識別子、第2の主体識別子、およびアクション識別子を受信することと、サーバによって、選択に基づいてファイルのコピーを受信することと、サーバによって、タスク識別子、データ構造、および文書識別子を生成することと、サーバによって、タスク識別子でデータ構造をグループ化することと、サーバによって、文書識別子が第1の主体識別子、第2の主体識別子、およびアクション識別子にマッピングされるように、データ構造に文書識別子、第1の主体識別子、第2の主体識別子、およびアクション識別子を投入することと、サーバによって、第2のクライアント上で動作している第2のアプリケーションとのセッションをホストすることであって、セッションが、第2の主体識別子およびアクション識別子に関連付けられる、ホストすることと、サーバによって、セッションに関連付けられた第2の主体識別子およびセッションに関連付けられたアクション識別子がデータ構造内の第2の主体識別子およびデータ構造内のアクション識別子に合致することに基づいて、セッションの間第2のアプリケーションをタスク識別子に関連付けることと、サーバによって、コピーがデータ構造内の文書識別子に基づいて第2のアプリケーションにより検索可能となるように、タスク識別子に基づいてセッションの間コピーを第2のアプリケーションと共有することと、を含む方法が提供される。
【図面の簡単な説明】
【0005】
【
図1】本開示による、ネットワークトポロジの実施形態の概略図である。
【
図2】本開示による、データ編成の実施形態の概略図である。
【
図3】本開示による、コピーされたファイルへのアクセスを認可するプロセスの実施形態のフローチャートである。
【
図4】本開示による、文書識別子および複数のタグを記憶するデータ構造の実施形態の概略図である。
【
図5】本開示による、ファイルへのアクセスを受信するプロセスの実施形態のフローチャートである。
【
図6A】本開示による、複数の項目識別子、複数のカテゴリ識別子、および複数のタイプ識別子に関連付けられたファイルに基づいて、規則のセットに対して進捗を追跡する技術の実施形態のフローチャートおよび一対のスクリーンショットを示す図である。
【
図6B】本開示による、複数の項目識別子、複数のカテゴリ識別子、および複数のタイプ識別子に関連付けられたファイルに基づいて、規則のセットに対して進捗を追跡する技術の実施形態のフローチャートおよび一対のスクリーンショットを示す図である。
【
図6C】本開示による、複数の項目識別子、複数のカテゴリ識別子、および複数のタイプ識別子に関連付けられたファイルに基づいて、規則のセットに対して進捗を追跡する技術の実施形態のフローチャートおよび一対のスクリーンショットを示す図である。
【
図7A】本開示による、進捗詳細を更新する技術の実施形態のフローチャートおよび一対のスクリーンショットを示す図である。
【
図7B】本開示による、進捗詳細を更新する技術の実施形態のフローチャートおよび一対のスクリーンショットを示す図である。
【
図7C】本開示による、進捗詳細を更新する技術の実施形態のフローチャートおよび一対のスクリーンショットを示す図である。
【
図8】本開示による、ブロックチェーンに追加するプロセスの実施形態のフローチャートである。
【
図9】本開示による、データ構造に基づいてスマートコントラクトを実行するプロセスの実施形態のフローチャートである。
【
図10】本開示による、人工知能(AI)プロセスによりデータ構造を読み出すプロセスの実施形態のフローチャートである。
【
図11】本開示による、ユーザグループに属するものに基づくデータ構造に関するユーザアクションについてのプロセスの実施形態のフローチャートである。
【
図12】本開示による、文書識別子と複数のタグとの間のマッピングを記憶するデータ構造に基づいて動作するユーザインターフェースの実施形態の複数のスクリーンショットを示す図である。
【
図13】本開示による、文書識別子と複数のタグとの間のマッピングを記憶するデータ構造に基づいて動作するユーザインターフェースの実施形態の複数のスクリーンショットを示す図である。
【
図14】本開示による、文書識別子と複数のタグとの間のマッピングを記憶するデータ構造に基づいて動作するユーザインターフェースの実施形態の複数のスクリーンショットを示す図である。
【
図15】本開示による、文書識別子と複数のタグとの間のマッピングを記憶するデータ構造に基づいて動作するユーザインターフェースの実施形態の複数のスクリーンショットを示す図である。
【
図16】本開示による、文書識別子と複数のタグとの間のマッピングを記憶するデータ構造に基づいて動作するユーザインターフェースの実施形態の複数のスクリーンショットを示す図である。
【
図17】本開示による、文書識別子と複数のタグとの間のマッピングを記憶するデータ構造に基づいて動作するユーザインターフェースの実施形態の複数のスクリーンショットを示す図である。
【
図18】本開示による、文書識別子と複数のタグとの間のマッピングを記憶するデータ構造に基づいて動作するユーザインターフェースの実施形態の複数のスクリーンショットを示す図である。
【
図19】本開示による、文書識別子と複数のタグとの間のマッピングを記憶するデータ構造に基づいて動作するユーザインターフェースの実施形態の複数のスクリーンショットを示す図である。
【
図20】本開示による、文書識別子と複数のタグとの間のマッピングを記憶するデータ構造に基づいて動作するユーザインターフェースの実施形態の複数のスクリーンショットを示す図である。
【
図21】本開示による、文書識別子と複数のタグとの間のマッピングを記憶するデータ構造に基づいて動作するユーザインターフェースの実施形態の複数のスクリーンショットを示す図である。
【
図22】本開示による、文書識別子と複数のタグとの間のマッピングを記憶するデータ構造に基づいて動作するユーザインターフェースの実施形態の複数のスクリーンショットを示す図である。
【
図23A】本開示による、複数ユーザ共有技術の実施形態の複数のスクリーンショットを示す図である。
【
図23B】本開示による、複数ユーザ共有技術の実施形態の複数のスクリーンショットを示す図である。
【
図23C】本開示による、複数ユーザ共有技術の実施形態の複数のスクリーンショットを示す図である。
【
図23D】本開示による、複数ユーザ共有技術の実施形態の複数のスクリーンショットを示す図である。
【
図23E】本開示による、複数ユーザ共有技術の実施形態の複数のスクリーンショットを示す図である。
【
図23F】本開示による、複数ユーザ共有技術の実施形態の複数のスクリーンショットを示す図である。
【
図23G】本開示による、複数ユーザ共有技術の実施形態の複数のスクリーンショットを示す図である。
【
図23H】本開示による、複数ユーザ共有技術の実施形態の複数のスクリーンショットを示す図である。
【
図23I】本開示による、複数ユーザ共有技術の実施形態の複数のスクリーンショットを示す図である。
【発明を実施するための形態】
【0006】
概して、本開示は、多様な事前定義されたワークフローに基づいて、多様な事前定義されたユーザグループ間で安全かつ選択的に多様なファイルを共有するための多様なコンピューティング技術を可能にする。事前定義された各ワークフローについて、ファイルは、多様な文書識別子および多様なメタデータタグを記憶するデータ構造に基づいて共有され、文書識別子は、メタデータタグにマッピングされる。したがって、これらのコンピューティング技術は、金融、会計、法律、法執行、軍事、知能、教育、製造、医学、取引前クライアントオンボーディングなどの多くの分野におけるオンボーディングなど、多様な状況において使用され得る。本開示は、次いで
図1~
図23Iを参照してより完全に説明され、
図1~
図23Iには、本開示のいくつかの実施形態が示されている。しかしながら、本開示は、多くの異なる形態で具現化されてもよく、本明細書に開示される実施形態のみに必ず限定されると解釈されるべきではない。むしろ、本開示が、充分かつ完全となり、本開示の多様なコンセプトを当業者に完全に伝達するように、これらの実施形態が提供される。
【0007】
本明細書で使用される多様な用語は、直接的または間接的な、完全または部分的な、一時的または永続的な、作動または不作動を示唆し得ることに留意されたい。例えば、要素が、別の要素に対し「上にある」、「接続される」、または「連結される」というとき、その要素が、直接的に他の要素の上にあるか、他の要素に接続されるか、もしくは他の要素に連結されてもよく、または間接または直接の変形を含む介在要素が存在してもよい。これに対して、要素が別の要素に「直接接続される」または「直接連結される」というとき、介在要素は存在しない。
【0008】
同様に、本明細書で使用される、「または」という用語は、排他的な「または」ではなく、包含的な「または」を意味するように意図される。即ち、特段の指定がなく、または文脈から明白でない限り、「XはAまたはBを使用する」は、当然の包含的並べ替えのいずれかを意味するように意図される。即ち、XがAを使用する、XがBを使用する、またはXがAおよびBの両方を使用する場合、「XはAまたはBを使用する」が、前述の場合のいずれかの下で満たされる。
【0009】
同様に、本明細書で使用される、多様な単数形「a」、「an」、および「the」は、文脈が明らかにそうでないことを示していない限り、多様な複数形も同様に含むように意図される。例えば、本明細書において「1つまたは複数の」という語句も使用されているとしても、「a」または「an」という用語は、「1つまたは複数の」を意味するものとする。
【0010】
さらに、「備える(comprises)」、「含む(includes)」、または「備えている(comprising)」、「含んでいる(including)」という用語は、本明細書で使用されるとき、述べられた特徴、整数、ステップ、動作、要素、またはコンポーネントの存在を明示するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、コンポーネント、またはそれらのグループの存在および/または追加を排除するものではない。さらに、本開示が、何かが他の何か「に基づく」と述べるとき、そのような記述は、1つまたは複数の他のものにも同様に基づき得る根拠を指す。言い換えると、明示的にそうでないと示されない限り、本明細書で使用される「に基づく」は、「少なくとも一部基づく」または「少なくとも部分的に基づく」を含むように意味する。
【0011】
さらに、第1、第2などの用語は、多様な要素、コンポーネント、領域、レイヤ、またはセクションを説明するために本明細書で使用され得るが、これらの要素、コンポーネント、領域、レイヤ、またはセクションは、そのような用語によって必ずしも限定されるべきではない。むしろ、これらの用語は、1つの要素、コンポーネント、領域、レイヤ、またはセクションを別の要素、コンポーネント、領域、レイヤ、またはセクションと区別するために使用される。したがって、以下で議論される第1の要素、コンポーネント、領域、レイヤ、またはセクションは、本開示から逸脱することなく、第2の要素、コンポーネント、領域、レイヤ、またはセクションと呼ばれ得る。
【0012】
また、特段の定義がない限り、本明細書で使用される(技術的および科学的用語を含む)全ての用語は、本開示が属する技術分野の当業者によって通常理解されるのと同一の意味を有する。したがって、通常使用される辞書において定義される用語などの用語は、関連技術の文脈におけるそれらの意味と一貫した意味を有するものとして解釈されるべきであり、本明細書で明示的にそのように定義されない限り、理想化された、または過度に形式的な意味に解釈されるべきではない。
【0013】
図1は、本開示による、ネットワークトポロジの実施形態の概略図を示す。特に、ネットワークトポロジ100は、コンポーネントベースで、ハードウェアベースまたはソフトウェアベースのいずれにせよ、ロジックにおいて実施される。例えば、ロジックがハードウェアベースであるとき、そのようなロジックは、プログラミングまたは設計などによりそれぞれのコンポーネントの機能性を実施するように構成される、プロセッサ、メモリ、入力デバイス、出力デバイス、または他のハードウェアなどの回路を含み得る。同様に、ロジックがソフトウェアベースであるとき、そのようなロジックは、実行時に、実行またはコンパイルなどによりそれぞれのコンポーネントの機能性を実施する、アセンブリコード、機械コード、オブジェクトコード、ソースコード、または任意の他の種類の命令などの命令を含み得る。また、ネットワークトポロジ100の少なくとも1つのコンポーネントが、サービスとして実施され得ることに留意されたい。さらに、ネットワークトポロジ100の少なくとも2つのコンポーネントが、1つのコンピューティングシステム/ハードウェア/デバイス上でホストされ得るか、またはそれぞれが個別にホストされ得ることに留意されたい。
【0014】
ネットワークトポロジ100は、リソース/サービスを提供するサーバと、リソース/サービスを要求するクライアントとの間でタスク/作業負荷を割り当てる分散型ネットワーク動作モデルに基づく。サーバおよびクライアントは、異なるコンピュータ/アプリケーションを示しているが、いくつかの実施形態では、サーバおよびクライアントは、1つのシステム/デバイス/フレームワーク/プラットフォーム/アプリケーションに存在するか、または1つのシステム/デバイス/フレームワーク/プラットフォーム/アプリケーションである。さらに、いくつかの実施形態では、トポロジ100は、多数のリソースを少数のコンピュータに割り当てることを伴い、その場合に、クライアントの複雑性は、どのくらいの計算が少数のコンピュータにオフロードされるかに依存する。即ち、クライアントからサーバ上にオフロードされる計算が多いほど、ネットワークソースにより依存し、ローカルコンピューティングリソースにあまり依存しないといった、より軽いクライアントをもたらす。他のコンピューティングモデルも同様に可能であることに留意されたい。例えば、そのようなモデルは、P2Pシステム、例えばBitTorrentなどの非集中型コンピューティング、またはコンピュータが単一のシステムとして見なされ得るようにネットワーク化コンピュータのセットが共に作動するコンピュータクラスタなどによる分散型コンピューティングを含み得る。
【0015】
ネットワークトポロジ100は、ネットワーク102、クライアント104、クライアント106、サーバ110、およびデータベース146を含む。クライアント104は、オペレーティングシステム(OS)112およびOS112上で動作するブラウザ118をホストする。クライアント106は、OS114およびOS114上で動作するブラウザ120をホストする。サーバ110は、OS116およびOS116上で動作するアプリケーション122をホストする。アプリケーション122は、ブロックチェーンロジック124、インターフェースロジック126、メッセージングロジック128、エクスポートロジック130、ストレージロジック132、レポーティングロジック134、メタデータロジック136、進捗ロジック138、権限ロジック138、探索ロジック140、許可ロジック142、および通知ロジック144をホストし、それらのいずれか1つは、モジュール、オブジェクト、ルーチン、スクリプト、ライブラリなどであってもよい。
【0016】
ネットワーク102は、リソースまたは情報の共有を可能にする複数の通信チャネルを介して相互接続される、コンピュータまたは他のハードウェアの集合などの、複数のノードを含む。このような相互接続は、直接または間接であってもよい。ネットワーク102は、有線または無線であってもよい。ネットワーク102は、暗号化状態または未暗号化状態のいずれにせよ、短距離または長距離を経た通信を可能にし得る。ネットワーク102は、イーサネット、伝送制御プロトコル(TCP)/インターネットプロトコル(IP)などの、少なくとも1つのネットワークプロトコルを介して動作し得る。ネットワーク102は、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、ホームエリアネットワーク、ストレージエリアネットワーク(SAN)、キャンパスエリアネットワーク、バックボーンネットワーク、メトロポリタンエリアネットワーク、ワイドエリアネットワーク(WAN)、エンタープライズ私設ネットワーク、仮想私設ネットワーク(VPN)、仮想ネットワーク、衛星ネットワーク、コンピュータクラウドネットワーク、インターネットワーク、セルラネットワークなどのように、任意の規模を有し得る。ネットワーク102は、イントラネットもしくはエクストラネットであってもよく、またはイントラネットもしくはエクストラネットを含んでもよい。ネットワーク102は、インターネットであってもよく、またはインターネットを含んでもよい。ネットワーク102は、サブネットワークまたは個別ネットワークのいずれにせよ、構造または動作においてネットワーク102と一致するかまたは異なるかのいずれにせよ、他のネットワークを含んでもよく、または、他のネットワークとの通信を可能にしてもよい。ネットワーク102は、ハードウェアベースまたはソフトウェアベースのいずれにせよ、コンピュータ、ネットワークインターフェースカード、リピータ、ハブ、ブリッジ、スイッチ、エクステンダ、アンテナ、またはファイアウォールなどのハードウェアを含み得る。ネットワーク102は、直接的または間接的に、主体もしくは行為者によって、または主体もしくは行為者に代わって、本開示の任意の内容に対するいかなる関係にも関わりなく、動作され得る。
【0017】
クライアント104、106は、端末、キオスク、ワークステーション、陸上用、海上用、または空中用のいずれを問わず乗り物、デスクトップ、ラップトップ、タブレット、携帯電話、メインフレーム、スーパーコンピュータ、サーバファームなどとして具現化され得る。クライアント104、106は、マウス、キーボード、前向きもしくは後ろ向きのいずれを問わずカメラ、加速度計、タッチスクリーン、生体測定リーダ、クリッカー、マイクロフォン、または任意の他の適当な入力デバイスなどの、入力デバイスを含み得るか、または連結され得る。クライアント104、106は、ディスプレイ、スピーカ、ヘッドフォン、ジョイスティック、プリンタ、または任意の他の適当な出力デバイスなどの出力デバイスを含み得るか、または連結され得る。いくつかの実施形態では、入力デバイスおよび出力デバイスが、触覚であり得るタッチ対応ディスプレイなどの1つのユニット内に具現化されてもよい。OS112、114は、MacOS、Windows、Android、Unix、Linuxなどの任意の種類のOSであってもよい。ブラウザ118、120は、Internet Explorer、Mozilla Firefox、Google Chrome、Apple Safari、Microsoft Edge、Amazon Silkなどの任意の種類のブラウザであってもよい。OS112、114は、本開示に従って使用され得る他のアプリケーションを動作させ得ることに留意されたい。そのようなアプリケーションのいくつかの例は、Microsoft Word、Microsoft Excel、Adobe Acrobatなどの生産性アプリケーション、ディレクトリがOS112、114のローカルまたはリモートのいずれにせよ、Windows Explorer、MacOS Finder、コマンドプロンプトなどのディレクトリナビゲーションアプリケーションを含む。クライアント104、106は、ブラウザ118、120を介するなどしてネットワーク102と通信するか、またはブラウザ118、120を介するなどしてネットワーク110を通してサーバ110と通信する。いくつかの実施形態において、クライアント104、106は、サーバ110と直接通信し、それによって、ネットワーク102をバイパスする。10、100、または1000のクライアントあるいはそれ以上などの、2つより多くのクライアント104、106が、ハードウェアまたはソフトウェア構成において互いに一致するかまたは異なるかのいずれにせよ、同様に使用され得ることに留意されたい。
【0018】
サーバ110は、端末、キオスク、ワークステーション、陸上用、海上用、または空中用のいずれにせよ乗り物、デスクトップ、ラップトップ、タブレット、携帯電話、メインフレーム、スーパーコンピュータ、サーバファームなどとして具現化され得る。サーバ110は、マウス、キーボード、前向きもしくは後ろ向きのいずれを問わずカメラ、加速度計、タッチスクリーン、生体測定リーダ、クリッカー、マイクロフォン、または任意の他の適当な入力デバイスフォンなどの、入力デバイスを含み得るか、または連結され得る。サーバ110は、ディスプレイ、スピーカ、ヘッドフォン、ジョイスティック、プリンタ、または任意の他の適当な出力デバイスなどの出力デバイスを含み得るか、または連結され得る。いくつかの実施形態では、入力デバイスおよび出力デバイスが、触覚であり得るタッチ対応ディスプレイなどの1つのユニット内に具現化されてもよい。OS116は、MacOS、Windows、Android、Unix、Linuxなどの任意の種類のOSであってもよい。サーバ110は、単一のサーバ、またはウェブサーバ、アプリケーションサーバ、データベースサーバ、仮想サーバなどの間に分散されているサーバ110などの複数のサーバであってもよい。
【0019】
アプリケーション112は、ブロックチェーンロジック124、インターフェースロジック126、メッセージングロジック128、エクスポートロジック130、ストレージロジック132、レポーティングロジック134、メタデータロジック136、進捗ロジック138、権限ロジック138、探索ロジック140、許可ロジック142、および通知ロジック144によって命令されるように動作する。いくつかの実施形態では、ブロックチェーンロジック124、インターフェースロジック126、メッセージングロジック128、エクスポートロジック130、ストレージロジック132、レポーティングロジック134、メタデータロジック136、進捗ロジック138、権限ロジック138、探索ロジック140、許可ロジック142、または通知ロジック144のうちの少なくとも1つが、アプリケーション112、OS116、またはサーバ110のうちの少なくとも1つの外部にある。さらに、ブロックチェーンロジック124、インターフェースロジック126、メッセージングロジック128、エクスポートロジック130、ストレージロジック132、レポーティングロジック134、メタデータロジック136、進捗ロジック138、権限ロジック138、探索ロジック140、許可ロジック142、および通知ロジック144のうちの少なくとも2つが、単一のロジックであり得る。さらに、アプリケーション112は、ブロックチェーンロジック124、インターフェースロジック126、メッセージングロジック128、エクスポートロジック130、ストレージロジック132、レポーティングロジック134、メタデータロジック136、進捗ロジック138、権限ロジック138、探索ロジック140、許可ロジック142、および通知ロジック144に関してモジュール型であるが、アプリケーション112は、オブジェクト指向、モノリシックなどの非モジュール型であり得ることに留意されたい。
【0020】
データベース146は、サーバ110からホストされる。いくつかの実施形態では、サーバ110は、アプリケーション122の内部またはアプリケーション122の外部のいずれにせよ、OS116を介するなどしてデータベース146をホストする。データベース146は、全部または一部において、レコードを生成すること、レコードを修正すること、レコードを取り出すこと、レコードを探索すること、レコードを識別すること、レコードを削除すること、レコードをソートすることなどの多様なデータベース動作に対して構成される。例えば、多様なデータベース入力(I)/出力(O)動作のいくつかは、読み出し、書き込み、編集、削除、更新、探索、選択、マージ、ソート、消去、フォーマットなどを含む。データベース146は、生の状態、フォーマットされた状態、編成された状態、または任意の他のアクセス可能な状態のいずれにせよ、データを記憶し、直接および/または間接のいずれにせよ、そのようなデータへのアクセスを可能にする。データベース146は、単一の機械または複数の機械上のいずれにホストされるにせよ、単一のデータセンタまたは複数のデータセンタ間での分散型のいずれにせよ、単一のデータベースまたは複数のデータベースであり得る。データベース146は、リレーショナルデータベース、非リレーショナルデータベース、ポストリレーショナルデータベース、インメモリデータベース、ハイブリッドデータベース、拡張マークアップ言語(XML)データベース、並列データベース、分散型データベース、グラフデータベース、モバイルデータベース、動作データベース、確率的データベース、リアルタイムデータベース、空間的データベース、時間的データベース、オブジェクト指向データベース、非構造化データデータベース、用語指向(terminology oriented)データベースなどのうちの少なくとも1つを含み得る。
【0021】
動作の1つのモードにおいて、以下でさらに説明されるように、ネットワーク100のトポロジは、多様な事前定義されたワークフローに基づいて、多様な事前定義されたユーザグループ間で安全かつ選択的に多様なファイルを共有するための技術を実行するように構成される。事前定義された各ワークフローについて、ファイルは、多様な文書識別子および多様なメタデータタグを記憶するデータ構造に基づいて共有され、文書識別子は、メタデータタグにマッピングされる。
【0022】
図2は、本開示による、データ編成の実施形態の概略図を示す。多様な事前定義されたワークフローに基づいて多様な事前定義されたユーザグループ間で安全かつ選択的に多様なファイルを共有するために、以下でさらに説明されるように、アプリケーション122は、スキーマ200に従ってデータ編成に基づき維持または動作する。特に、スキーマ200は、主体識別子202、アクション識別子204、項目識別子206、カテゴリ識別子208、タイプ識別子210、タスク識別子212、および文書識別子214を含む。主体識別子202、アクション識別子204、項目識別子206、カテゴリ識別子208、タイプ識別子210、タスク識別子212、および文書識別子214のそれぞれは、アルファベット、数字、アルファベットと数字の組み合わせ、グリフィック(glyphic)、バーコード、絵文字、もしくはマーク、または任意の他の編成構成における任意の他の情報形式のセット、シーケンス、用語、集合、グループ、文字列、または他の情報ユニットを含む。句読記号または句読点が含まれ得ることに留意されたい。主体識別子202、アクション識別子204、項目識別子206、カテゴリ識別子208、タイプ識別子210、タスク識別子212、および文書識別子214のそれぞれは、国際標準化機構(ISO)フォーマットなどの事前定義されたフォーマット、もしくは複数のISOフォーマットなどのフォーマットの組み合わせに従って生成され得るか、またはランダムに生成され得る。主体識別子202、アクション識別子204、項目識別子206、カテゴリ識別子208、タイプ識別子210、タスク識別子212、および文書識別子214のそれぞれは、アプリケーションに関して、互いに関して、またはその特定の識別子集合もしくは識別子タイプもしくは識別子フォーマットに関して一意であってもよい。
【0023】
スキーマ200は、主体識別子202、アクション識別子204、項目識別子206、カテゴリ識別子208、タイプ識別子210、タスク識別子212、および文書識別子214の間の複数の線によって示される論理フォーマットを含む。特に、論理フォーマットに従って、主体識別子202がアクション識別子204と1対多対応となるように、主体識別子202は、アクション識別子204と階層的に関連する。例えば、主体識別子202は、多くのアクション識別子204を階層的に有し得る。さらに、論理フォーマットに従って、アクション識別子204が項目識別子206と1対多対応となるように、アクション識別子204は、項目識別子206と階層的に関連する。例えば、アクション識別子204は、多くの項目識別子206を階層的に有し得る。さらに、論理フォーマットに従って、項目識別子206がカテゴリ識別子208と1対多対応となるように、項目識別子206は、カテゴリ識別子208と階層的に関連する。例えば、項目識別子206は、多くのカテゴリ識別子208を階層的に有し得る。追加的に、論理フォーマットに従って、カテゴリ識別子208がタイプ識別子210と1対多対応となるように、カテゴリ識別子208は、タイプ識別子210と階層的に関連する。例えば、カテゴリ識別子208は、多くのタイプ識別子210を階層的に有し得る。
【0024】
まとめると、論理フォーマットに従って、タスク識別子212が、主体識別子202、アクション識別子204、および項目識別子206のそれぞれと1対多対応となるように、主体識別子202、アクション識別子204、および項目識別子206は、タスク識別子212でグループ化される。例えば、タスク識別子212は、多くの主体識別子202、多くのアクション識別子204、および多くの項目識別子206でグループ化され得る。いくつかの実施形態では、タスク識別子212が、1対多対応で、カテゴリ識別子208またはタイプ識別子210のうちの少なくとも1つでグループ化され得る。例えば、タスク識別子212は、多くのカテゴリ識別子208または多くのタイプ識別子210でグループ化され得る。さらにまとめると、論理フォーマットに従って、文書識別子214が、主体識別子202、アクション識別子204、項目識別子206、カテゴリ識別子208、およびタイプ識別子210のそれぞれと1対多対応となるように、主体識別子202、アクション識別子204、項目識別子206、カテゴリ識別子208、およびタイプ識別子210は、文書識別子214でグループ化される。例えば、文書識別子214は、多くの主体識別子202、多くのアクション識別子204、多くの項目識別子206、多くのカテゴリ識別子208、および多くのタイプ識別子210でグループ化され得る。また、まとめると、論理フォーマットに従って、タスク識別子212は、1対多対応で文書識別子214でグループ化される。例えば、タスク識別子212は、多くの文書識別子214でグループ化され得る。
【0025】
主体識別子202は、クライアント104、106を操作するユーザのグループに対応する。例えば、主体識別子202は、ユーザAおよびユーザBを含むグループに対応してもよく、ユーザAはクライアント104に対応し、ユーザBはクライアント106に対応する。したがって、権限ロジック138は、アプリケーション122が主体識別子202に基づいて多様なユーザのグループ間を区別することを可能にする。例えば、主体識別子202が組織に対応する場合、クライアント104、106を操作する、その組織の多様な従業員が、ユーザのグループである。例えば、主体識別子は、ISO規格17442によって定義されるような取引主体識別子(LEI)を含んでもよく、LEIは、20文字のアルファベットと数字を組み合わせた文字列を含み、その最初の4文字のシーケンスは、LEIを発行したローカルオペレーティングユニット(LOU)を識別し、5文字目および6文字目は、「00」として予約され、7~18文字目は、LOUによって主体に割り当てられる固有のアルファベットと数字を組み合わせた文字列であり、最後の2文字は、チェックサム桁である。
【0026】
アクション識別子204は、主体識別子202に関連付けられるアクションに対応する。アクション識別子204は、入力として主体識別子202に依存し得るか、または主体識別子202に依存するようにハードコードされ得る。例えば、金融の文脈において、アクション識別子204は、新たなファンド開始、即ちNFLなどであってもよい。したがって、主体識別子202がLEIを含む場合、アクション識別子204は、文字列NFLを含んでもよく、主体識別子202は、1対多対応でアクション識別子204に対応する。
【0027】
項目識別子206は、アクション識別子204に関連付けられる項目に対応する。項目識別子206は、入力としてアクション識別子204に依存し得るか、またはアクション識別子204に依存するようにハードコードされ得る。例えば、金融の文脈において、項目識別子206は、ファンド識別子、即ちファンドIDまたはFIDなどであってもよい。したがって、主体識別子202がLEIを含み、かつアクション識別子204が文字列NFLを含み、主体識別子202が1対多対応でアクション識別子204に対応する場合、項目識別子206は、文字列FIDを含んでもよく、アクション識別子204は、1対多対応で項目識別子206に対応する。
【0028】
カテゴリ識別子208は、項目識別子206に関連付けられる製品に対応する。項目識別子208は、入力として項目識別子206に依存し得るか、または項目識別子206に依存するようにハードコードされ得る。例えば、金融の文脈において、カテゴリ識別子208は、製品識別子、即ち製品IDまたはPIDなどであってもよい。したがって、主体識別子202がLEIを含み、かつアクション識別子204が文字列NFLを含み、主体識別子202が1対多対応でアクション識別子204に対応し、項目識別子206が文字列FIDを含んでもよく、アクション識別子204が1対多対応で項目識別子206に対応する場合、カテゴリ識別子208は、文字列PIDを含んでもよく、項目識別子206は、1対多対応でカテゴリ識別子208に対応する。
【0029】
タイプ識別子210は、以下でさらに説明されるように、カテゴリ識別子208および共有されるファイルに関連付けられる文書タイプに対応する。タイプ識別子210は、カテゴリ識別子208に依存し得るか、またはカテゴリ識別子208に依存するようにハードコードされ得る。例えば、金融の文脈において、タイプ識別子210は、国際スワップデリバティブ協会(ISDA)契約、即ちISDAAなどの文字列であってもよい。したがって、主体識別子202がLEIを含み、かつアクション識別子204が文字列NFLを含み、主体識別子202が1対多対応でアクション識別子204に対応し、項目識別子206が文字列FIDを含んでもよく、アクション識別子204が1対多対応で項目識別子206に対応し、カテゴリ識別子208が文字列PIDを含んでもよく、項目識別子206が1対多対応でカテゴリ識別子208に対応する場合、タイプ識別子210は、文字列ISDAAを含んでもよく、カテゴリ識別子208は、1対多対応でタイプ識別子210に対応する。
【0030】
タスク識別子212は、以下でさらに説明されるように、ファイルがそれに基づいて共有されるタスクに対応する。タスク識別子212は、主体識別子、アクション識別子204、または項目識別子206のうちの少なくとも1つに基づいて生成され得る。例えば、金融の文脈において、タスク識別子212は、新たなファンド開始41、即ちNFL000041などの文字列であってもよい。したがって、主体識別子202がLEIを含み、かつアクション識別子204が文字列NFLを含み、主体識別子202が1対多対応でアクション識別子204に対応し、項目識別子206が文字列FIDを含んでもよく、アクション識別子204が1対多対応で項目識別子206に対応し、カテゴリ識別子208が文字列PIDを含んでもよく、項目識別子206が1対多対応でカテゴリ識別子208に対応し、タイプ識別子210が文字列ISDAAを含んでもよく、カテゴリ識別子208が1対多対応でタイプ識別子210に対応する場合、タスク識別子212は、主体識別子202、アクション識別子204、および項目識別子206のそれぞれが1対多対応で対応するNFL000041であってもよい。例えば、多くの主体識別子202は、タスク識別子212、NFL000041に対応してもよく、多くのアクション識別子204は、タスク識別子212、NFL000041に対応してもよく、多くの項目識別子は、タスク識別子212、NFL000041に対応してもよい。
【0031】
文書識別子214は、共有されているファイルに対応する。文書識別子214は、ファイル内の文書のテキストもしくはパターンなどのファイルのコンテンツに基づいて、またはファイル名、読み出しもしくは最終アクセスもしくは修正もしくは生成の日付もしくはタイムスタンプ、ファイルサイズなどのファイルの特性に基づいて、あるいはそのいずれでもなくランダムになどで生成されてもよい。例えば、文書識別子214は、文字列AK24!%asfLm@$1faなどを含んでもよい。
【0032】
したがって、主体識別子202がLEIを含み、かつアクション識別子204が文字列NFLを含み、主体識別子202が1対多対応でアクション識別子204に対応し、項目識別子206が文字列FIDを含んでもよく、アクション識別子204が1対多対応で項目識別子206に対応し、カテゴリ識別子208が文字列PIDを含んでもよく、項目識別子206が1対多対応でカテゴリ識別子208に対応し、タイプ識別子210が文字列ISDAAを含んでもよく、カテゴリ識別子208が1対多対応でタイプ識別子210に対応し、タスク識別子212が主体識別子202、アクション識別子204、および項目識別子206のそれぞれが1対多対応で対応するNFL000041、およびカテゴリ識別子208であってもよい場合、文書識別子214、AK24!%asfLm@$1faは、主体識別子202、アクション識別子204、項目識別子206、カテゴリ識別子208、タイプ識別子210、およびタスク識別子212のそれぞれと1対多対応で対応してもよい。例えば、主体識別子202に対する多くの文書識別子214、多くの文書識別子214が、アクション識別子204に対応してもよく、多くの文書識別子214が、項目識別子206に対応してもよく、多くの文書識別子214が、カテゴリ識別子208に対応してもよく、多くの文書識別子214が、タイプ識別子210に対応してもよく、多くの文書識別子214が、タスク識別子212に対応してもよい。
【0033】
図3は、本開示による、コピーされたファイルへのアクセスを認可するプロセスの実施形態のフローチャートを示す。プロセス300は、ネットワークトポロジ100によって実行される。
【0034】
ブロック302において、インターフェースロジック126は、ネットワーク102を経てブラウザ118にグラフィカルユーザインターフェース(GUI)を提示する。GUIは、テキストフィールド、ドロップダウンボックス、ラジオボタン、スライダなどの入力要素のセットを表す。例えば、GUIは、ウェブページなどの少なくとも1つのページ上に提示されるメニュー、フォーム、または質問事項を含み得る。入力要素のセットは、マウス、物理または仮想のいずれにせよキーボード、タッチパッド、トラックボール、カメラ、マイクロフォンなどの入力デバイスを介するなどしてユーザデータエントリのために準備されている。インターフェースロジック126は、クライアント104が権限ロジック138による認証のための名前およびパスワードをサーバ110に送信することに基づいて、GUIを提示する。例えば、名前およびパスワードのそれぞれが、アルファベットと数字を組み合わせた文字列、写真、生体測定などを含み得る。したがって、サーバ110は、アプリケーション122がブラウザ118と通信することに基づいて、クライアント104とのセッションをホストし得る。セッションが、ハイパーテキスト転送プロトコルセキュア(HTTPS)プロトコルなどを介するなどの、安全なセッションであり得ることに留意されたい。
【0035】
ブロック304において、インターフェースロジック126は、第1の主体識別子、アクション識別子、項目識別子、カテゴリ識別子、タイプ識別子、およびコピーされたファイルをブラウザ118から受信する。
図2を参照すると、第1の主体識別子は、主体識別子202に対応し、アクション識別子はアクション識別子204に対応し、項目識別子は、項目識別子206に対応し、カテゴリ識別子はカテゴリ識別子208に対応し、タイプ識別子は、タイプ識別子210に対応する。したがって、第1の主体識別子は、1対多対応でアクション識別子に対応し得る。ブラウザ118とアプリケーション122との間のセッションは、第1の主体識別子、およびアクション識別子、項目識別子、カテゴリ識別子などのその他のものに関連付けられ得ることに留意されたい。例えば、ブラウザ118は、ファイルについての許可を第2のユーザに認可し得る第1のユーザなどの、第1の主体識別子に関連付けられたユーザグループに属するかまたは対応するユーザ信用証明書のセットに基づいて、サーバ110にログインし得る。この場合、第1のユーザは、ブラウザ118を操作しており、第2のユーザは、第1の主体識別子または別の主体識別子に関連付けられ、許可は、読み出し許可、書き込み許可などを含み得る。しかしながら、ブラウザ118とアプリケーション122との間のセッションが、第1のユーザ識別子に関連付けされなくてもよいことに留意されたい。例えば、ブラウザ118は、第1の主体識別子に関連付けされていないユーザグループに属するかまたは対応するユーザ信用証明書のセットに基づいて、サーバ110にログインしてもよく、その場合に、ブラウザ118のユーザは、第1の主体識別子を含めた複数の主体識別子間の第三者またはマッチメーカとしての役割をする。例えば、金融の文脈において、この状況は、ブローカのクライアントとブローカの決済銀行との間で口座を設定するブローカ(第1の主体識別子)の間で発生し得る。
【0036】
コピーされたファイルは、ファイルがコピー前にクライアント104上に記憶されるかまたはクライアント104もしくはブラウザ118にアクセス可能であるかのいずれにせよ、クライアント104から受信され、あるいはNapster、BitTorrent、Dropbox、Box、Egnyte、Google Drive、Microsoft OneDrive、Microsoft Sharepoint、Microsoft Teams、Slack、Apple iCloudなど、P2Pまたはクラウドベースのいずれにせよ、ネットワークベースのファイル共有サービスを介するなどしてクライアント104からリモートのデータソースから受信される。例えば、ファイルは、コピー前にクライアント104のローカルに記憶されてもよく、またはコピー前にクライアント104からリモートに記憶されてもよい。例えば、コピーされたファイルは、コピー前にファイルのユーザ選択に基づいてブラウザ118から受信されてもよい。例えば、コピーされたファイルは、ローカルまたはリモートのいずれにせよ、ファイルのユーザ選択に基づいてクライアント104からリモートの、ネットワークベースのファイル共有サービスなどのデータソースから受信されてもよい。コピーされたファイルは、パスワード保護されているかまたはパスワード保護されていないかのいずれにせよ、Microsoft Wordファイル、Microsoft Excelファイル、Portable Document Format(PDF)ファイル、画像ファイル、音声ファイル、プレーンテキストファイル、設定ファイルといった生産性文書ファイルなどのデータファイルであってもよいことに留意されたい。同様に、コピーされたファイルは、Window環境において実行可能であるか、または分散型環境を含む他のOS環境において実行可能であるかのいずれにせよ、.BATファイル、.COMファイル、.EXEファイル、.BINファイル、スマートコントラクトファイルなどの実行可能ファイルであってもよいことに留意されたい。受信されると、コピーされたファイルは、サーバ110のローカルに、またはサーバ110からリモートに記憶されてもよい。例えば、コピーされたファイルは、ストレージロジック132によって管理されるように、データベース146によって記憶され得る。サーバ110は、コピーされたファイルを受信したときに、ウイルスまたは他のマルウェアについてコピーされたファイルをチェックし得ることに留意されたい。サーバ110が、コピーされたファイルがウイルスを含むことを検出する場合、サーバ110は、そのことをクライアント104に通知し、コピーされたファイルをサーバ110から削除し得る。
【0037】
ブロック306において、メタデータロジック136は、第1の主体識別子、アクション識別子、項目識別子、およびカテゴリ識別子と関連付けられるように、タスク識別子を生成する。
図2に関して、タスク識別子は、タスク識別子212に対応する。例えば、タスク識別子は、アクション識別子に基づいて生成されてもよい。したがって、タスク識別子を、1対多対応で第1の主体識別子でグループ化すること、1対多対応でアクション識別子でグループ化すること、1対多対応で項目識別子でグループ化すること、および1対多対応でカテゴリ識別子でグループ化することに基づいて、タスク識別子は、第1の主体識別子、アクション識別子、項目識別子、およびカテゴリ識別子に関連付けられる。
【0038】
ブロック308において、メタデータロジック136は、コピーされたファイルのための文書識別子を生成する。
図2に関して、文書識別子は、文書識別子214に対応する。上記で説明されたように、メタデータロジック136は、コピーされたファイルのコンテンツまたはコピーされたファイルの特性に基づいて、あるいはそのいずれでもなくランダムになどで、文書識別子を生成し得る。
【0039】
ブロック310において、メタデータロジック136は、文書識別子が第1の主体識別子、アクション識別子、項目識別子、カテゴリ識別子、およびタイプ識別子にマッピングされるように、データ構造に投入する。データ構造は、メタデータロジック136により使用するために、その時点で前から存在していてもよく、またはその時点に生成されてもよいことに留意されたい。メタデータロジック136は、先入れ先出し方式(FIFO)または後入れ先出し方式(LIFO)などのいずれにせよ、データ構造内への書き込みによってデータ構造に投入し得る。例えば、文書識別子が、第1の主体識別子、アクション識別子、項目識別子、カテゴリ識別子、およびタイプ識別子にマッピングされるように、文書識別子、第1の主体識別子、アクション識別子、項目識別子、カテゴリ識別子、およびタイプ識別子が、データ構造内に書き込まれ得る。例えば、データ構造に記憶された第1の主体識別子、第2の主体識別子、およびアクション識別子は、メタデータタグであってもよく、またはメタデータタグを含んでもよい。データ構造は、テーブル、単層ファイル、ベクトル、木、連結リスト、キュー、スタック、デキュー、マトリクス、アレイ、ハッシュ、ヒープ、マルチマップ、4分木、グラフなどのうちの少なくとも1つを含み得る。データ構造がデータベースを含むとき、データベースは、リレーショナルデータベース、インメモリデータベース、非SQLデータベースなどを含み得る。したがって、データ構造は、1対多対応で第1の主体識別子のそれぞれ、1対多対応でアクション識別子のそれぞれ、1対多対応で項目識別子のそれぞれ、1対多対応でカテゴリ識別子のそれぞれ、および1対多対応でタイプ識別子のそれぞれにマッピングされる文書識別子を記憶する。例えば、文書識別子がタスク識別子にマッピングされるように、またはタスク識別子が文書識別子にマッピングされるように、データ構造には、タスク識別子が投入され得る。
【0040】
データ構造は、その形状またはそのサイズのうちの少なくとも1つに関して静的または動的であってもよいことに留意されたい。例えば、データ構造がテーブルを含むとき、テーブルは、いくつかの列およびいくつかの行を含む。したがって、いくつかの列またはいくつかの行は、静的または動的であってもよい。同様に、データ構造は、事前定義された順序または事前定義されたセル構成のうちの少なくとも1つにおいて、第1の主体識別子、アクション識別子、項目識別子、カテゴリ識別子、およびタイプ識別子を記憶してもよい。例えば、データ構造がテーブルを含むとき、事前定義された順序は、主体識別子がアクション識別子より順序的に先行し、アクション識別子が項目識別子より順序的に先行することなどを要求し得る。例えば、データ構造がテーブルを含むとき、事前定義されたセル構成は、主体識別子が指定されたアドレス可能なセル(または列もしくは行)に投入され、アクション識別子が指定されたアドレス可能なセル(または列もしくは行)に投入されることを要求し得る。しかしながら、いくつかの実施形態において、データ構造は、事前定義された順序または事前定義されたセル構成のうちの少なくとも1つにおいて、第1の主体識別子、アクション識別子、項目識別子、カテゴリ識別子、およびタイプ識別子を記憶しない。
【0041】
ブロック312において、メタデータロジック136は、タスク識別子をデータ構造に関連付ける。例えば、このような関連付けは、タスク識別子でデータ構造をグループ化することによって、発生し得る。例えば、このような関連付けは、データ構造がそれに関連付けられる構造識別子を有し、かつタスク識別子が構造識別子にマッピングされることによってマッピングが発生し得るときなどに、タスク識別子をデータ構造にマッピングするハッシュテーブルを形成することによって、発生し得る。例えば、このような関連付けは、タスク識別子が文書識別子上に1対多対応などでマッピングされるようにデータ構造内にタスク識別子を書き込むことによって、発生し得る。
【0042】
ブロック314において、インターフェースロジック126は、ブラウザ118を介して提示されるGUIが第2の主体識別子を入力することを可能にする。
図2を参照すると、第2の主体識別子は、主体識別子202に対応する。第2の主体識別子が第1の識別子と一致し得るか、または異なり得ることに留意されたい。例えば、第2の主体識別子は、共通のユーザグループ内で共有されるときなどに第1の主体識別子と一致してもよく、または異なるユーザグループ間で共有されるときなどに第1の主体識別子と異なっていてもよい。例えば、第2の主体識別子は、クライアント106に関連付けられてもよい。その結果、メニューは、上記で説明されたように、ユーザデータエントリのために準備されている入力要素のセットを提示するため、第2の主体識別子は、マウス、物理または仮想のいずれにせよキーボード、タッチパッド、トラックボール、カメラ、マイクロフォンなどの、クライアント104の入力デバイスを介して入力され得る。上記で説明されたように、ブラウザ118が、第1の主体識別子(第1の送信者)または第3の主体識別子(2つの主体識別子間のマッチメーカ)に関連付けられ得ることに留意されたい。また、第1の主体識別子または第2の主体識別子のうちの少なくとも1つが、それらの識別子がコンテンツ、フォーマットなどにおいて互いに一致するかまたは異なるかのいずれにせよ、取引主体識別子を含み得ることに留意されたい。タスク識別子が第1の主体識別子または第2の主体識別子のうちの少なくとも1つに基づいて生成され得ることに留意されたい。
【0043】
ブロック316において、メタデータロジック136は、タスク識別子を第2の主体識別子に関連付ける。例えば、このような関連付けは、タスク識別子で第2の主体識別子をグループ化することによって発生し得る。同様に、例えば、このような関連付けは、タスク識別子を第2の主体識別子にマッピングするハッシュテーブルを形成することによって発生し得る。同様に、例えば、このような関連付けは、文書識別子が第2の主体識別子にマッピングされ、かつタスク識別子が文書識別子にマッピングされるように、第2の主体識別子をデータ構造内に書き込むことによって発生し得る。第2の主体識別子は、1対多対応でアクション識別子に対応し得ることに留意されたい。
【0044】
ブロック318において、許可ロジック142は、タスク識別子を介して第2の主体識別子に基づき、コピーされたファイルをユーザと共有する。ユーザは、ユーザがクライアント106のブラウザ120を操作すること、およびそれによってサーバ110とのセッションをホストすることに基づいて、第2の主体識別子(および本明細書に開示された他の識別子)に関連付けられ得る。セッションが、HTTPSプロトコルなどを介するといった、安全なセッションであり得ることに留意されたい。セッションの間、ユーザは、第2の主体識別子(および他の識別子)を、ブラウザ120によって提示されるGUIに入力する。ユーザは、マウス、物理または仮想のいずれにせよキーボード、タッチパッド、トラックボール、カメラ、マイクロフォンなどの、クライアント106の入力デバイスを介して第2の主体識別子(および他の識別子)を入力し得る。例えば、GUIは、メニュー、フォーム、質問事項などを含み得る。第2の主体識別子と関連付けられたユーザがインターフェースするGUIが、第1の主体識別子と関連付けられたユーザがインターフェースするGUIと一致してもよく、または異なってもよく、または同一のものであってもよいことに留意されたい。
【0045】
ユーザが第2の主体識別子(および本明細書に開示された他の識別子)に関連付けられ、かつタスク識別子が第1の識別子および第2の識別子に対応することに基づいてタスク識別子が第1の主体識別子および第2の主体識別子(ならびに本明細書に開示された他の識別子)に対応すると、許可ロジック142は、文書識別子に基づいてコピーされたファイルを共有し得る。例えば、第2の主体識別子に関連付けられたユーザが、ハイパーリンクをアクティブ化することによってコピーされたファイルにアクセスし得るように、許可ロジック142は、ハイパーリンクを有するメッセージを第1の主体識別子に関連付けられたユーザから第2の主体識別子に関連付けられたユーザに送信することによって、コピーされたファイルを共有し得る。メッセージは、メッセージングロジック128によって送信および受信されてもよく、通知ロジック144によって通知されてもよい。リンクがアクティブ化されると、サーバ110は、ストレージロジック132を介するなどして、第1の主体識別子および第2の主体識別子(ならびに本明細書に開示された他の識別子)に対応するタスク識別子にアクセスし、タスク識別子に対応する文書識別子を識別し、コピーされたファイルを文書識別子に基づいてリポジトリから取り出し、コピーされたファイルを第2の主体識別子に関連付けられたユーザに利用させ得る。したがって、コピーされたファイルは、ブラウザ120上でのハイパーリンクの提示によって、セッションの間ブラウザ120と共有され得る。その場合、コピーされたファイルは、セッションの間、ブラウザ120を介してハイパーリンクのアクティブ化に基づいて開かれるかまたはダウンロードされるかのうち少なくとも1つが行われる。
【0046】
メッセージが、電子メッセージ、テキストメッセージ、オーバーザトップ(OTT)メッセージ、ソーシャルネットワーキングメッセージなどを含み得ることに留意されたい。さらに、アクセスが、読み取り権、書き込み権などであり得ることに留意されたい。さらに、ブラウザ118が、第2の主体識別子に関連付けられたユーザがブラウザ118への入力を提供することに基づいて、クライアント106上に記憶されたクッキー(cookie)を介するなどして、セッションの間タスク識別子に関連付けられてもよく、その場合、上記で説明されたように、入力が主体識別子、アクション識別子、項目識別子、カテゴリ識別子などを含み得ることに留意されたい。同様に、例えば、上記で説明されたように、ユーザが第2の主体識別子(および他の識別子)に関連付けられる場合、ならびにタスク識別子が、第1の主体識別子および第2の主体識別子に対応するタスク識別子に基づいて、第1の主体識別子および第2の主体識別子に対応する場合に、許可ロジック142は、コピーされたファイルに対応するアイコンがクライアント106のブラウザ120上に提示されるGUI内に現れることによって、コピーされたファイルを共有してもよく、ブラウザ120は、第2の主体識別子に対応するユーザに関連付けられ、コピーされたファイルは、クリック、タッチなどによってアイコンをアクティブ化することによってアクセスされ得る。アイコンがアクティブ化されると、サーバ110は、第1の主体識別子および第2の主体識別子(ならびに本明細書に開示された他の識別子)に対応するタスク識別子にアクセスし、タスク識別子に対応する文書識別子を識別し、コピーされたファイルを文書識別子に基づいてリポジトリから取り出し、コピーされたファイルを第2の主体識別子に関連付けられたユーザに利用させ得る。したがって、上記で説明されたように、サーバ110は、ユーザ入力としてセッションに関連付けられた第2の主体識別子、およびユーザ入力としてセッションに関連付けられたアクション識別子が、データ構造内の第2の主体識別子およびデータ構造内のアクション識別子に合致することに基づいて、セッションの間、ブラウザ120をタスク識別子に関連付け得る。セッションに関連付けられた項目識別子およびセッションに関連付けられたカテゴリ識別子がデータ構造内の項目識別子およびデータ構造内のカテゴリ識別子に合致することに基づいて、ブラウザ120が、セッションの間タスク識別子に関連付けられ得ることに留意されたい。その結果、コピーされたファイルが、データ構造内に記憶された文書識別子に基づいてブラウザ120により検索可能となるように、サーバ110は、タスク識別子に基づいてセッションの間コピーされたファイルをブラウザ120と共有する。コピーされたファイルが、少なくとも3つ以上など、2つより多くの主体識別子と共有され得ることに留意されたい。例えば、金融の文脈において、上記で説明されたように、これは、アセットマネージャ、ファンド管理者、および証券保管機関を含み得る。さらに、上記で説明されたように、サーバ110が、セッションの間コピーされたファイルをブラウザ120と共有する前に、コピーされたファイルを重複排除し得ることに留意されたい。例えば、コピーされたファイルは、第1の主体識別子、第2の主体識別子、アクション識別子、またはタスク識別子のうちの少なくとも1つに基づいて重複排除され得る。例えば、コピーされたファイルは、少なくとも第1の主体識別子、アクション識別子、およびタスク識別子または第2の主体識別子のうちの少なくとも1つに基づいて、重複排除され得る。例えば、コピーされたファイルは、第1の主体識別子、アクション識別子、タスク識別子、第2の主体識別子、および項目識別子またはカテゴリ識別子のうちの少なくとも1つに基づいて、重複排除され得る。
【0047】
いくつかの実施形態において、サーバ110は、ウェブサーバ、アプリケーションサーバ、およびデータベースサーバを含む。上記で説明されたように、ウェブサーバは、ブラウザ118上にGUIを供給し、第1の主体識別子、第2の主体識別子、アクション識別子、およびコピーを受信する。アプリケーションサーバは、タスク識別子、データ構造、および文書識別子を生成する。アプリケーションサーバは、タスク識別子でデータ構造をグループ化する。文書識別子が第1の主体識別子、第2の主体識別子、およびアクション識別子にマッピングされるように、アプリケーションサーバは、データ構造に文書識別子、第1の主体識別子、第2の主体識別子、およびアクション識別子を投入する。ウェブサーバは、ブラウザ120とのセッションをホストし、アプリケーションサーバは、セッションに関連付けられた第2の主体識別子およびセッションに関連付けられたアクション識別子が、データ構造内の第2の主体識別子およびデータ構造内のアクション識別子と合致することに基づいて、セッションの間ブラウザ120をタスク識別子に関連付ける。アプリケーションサーバは、データベースサーバを介してブラウザ120とコピーを共有する。データベースサーバは、コピーを記憶する。
【0048】
図4は、本開示による、文書識別子および複数のタグを記憶するデータ構造の実施形態の概略図を示す。データ構造400は、複数の行402、404、406および複数の列408、410、412、414、416を有するテーブルとして提示され、それによって、複数のアドレス可能なセル(図示されるように15個であるが、より多くまたはより少ないものも可能である)を有するグリッドを定義する。アドレス可能なセルのそれぞれが、本明細書に開示される識別子に対応するメタデータタグを記憶する。したがって、行402は、文書識別子398lak@!$sdjlaks、タグ1(第1の主体識別子)、タグ2(第2の主体識別子)、タグ3(アクション識別子)を記憶する。行402は、空のセルを含み、そこにはタグ4が投入され得ることに留意されたい。同様に、行404は、文書識別子43!5%#alksn、タグ1(第1の主体識別子)、タグ2(第2の主体識別子)、タグ3(アクション識別子)、タグ4(項目識別子)を含む。行402および行404は、投入されたセルの量が異なるが、行402および行404は、投入されたセルの量が異ならなくてもよいことに留意されたい。上記で説明されたように、データ構造400は、その形状またはそのサイズのうちの少なくとも1つに関して静的または動的であってもよい。例えば、行402、404、406または列408、410、412、414、416は、数が静的または動的であってもよい。同様に、データ構造400は、事前定義された順序または事前定義されたセル構成のうちの少なくとも1つにおいてタグのセットを記憶してもよい。例えば、事前定義された順序は、主体識別子(タグ1およびタグ2)がアクション識別子(タグ3)より順序的に先行すること、ならびにアクション識別子(タグ3)が項目識別子(タグ4)より順序的に先行することなどを要求し得る。例えば、事前定義されたセル構成は、主体識別子(タグ1およびタグ2)が指定されたアドレス可能なセル(列410および列412)に投入されること、ならびにアクション識別子が指定されたアドレス可能なセル(列414)に投入されることを要求し得る。しかしながら、いくつかの実施形態において、データ構造400は、事前定義された順序または事前定義されたセル構成のうちの少なくとも1つにおいてタグのセットを記憶しない。
【0049】
図5は、本開示による、ファイルへのアクセスを受信するプロセスの実施形態のフローチャートを示す。プロセス500は、ネットワークトポロジ100によって実行される。
【0050】
ブロック502において、上記で説明されたように、インターフェースロジック126はGUIをブラウザに提示する。
【0051】
ブロック504において、上記で説明されたように、インターフェースロジック126は、GUIを介して複数の識別子を受信する。上記で説明されたように、識別子は、第1の主体識別子、第2の主体識別子、アクション識別子、項目識別子、カテゴリ識別子、タイプ識別子などを含み得る。
【0052】
ブロック506において、上記で説明されたように、許可ロジック142はデータ構造にアクセスする。上記で説明されたように、データ構造が、文書識別子、メタデータタグ、および文書識別子とメタデータタグとの間のマッピングを記憶する。上記で説明されたように、文書識別子は、1対多対応でメタデータタグにマッピングされ得る。メタデータタグは、識別子の少なくとも1つに対応する情報を含む。例えば、そのような情報は、アルファベットと数字を組み合わせたフォーマット、絵で表したフォーマット、音声フォーマット、バーコードフォーマット、または任意の他の記号表現もしくは記号ではない表現で記憶され得る。上記で説明されたように、データ構造は、タスク識別子に既に関連付けられている。例えば、このような関連付けは、タスク識別子がデータ構造内に記憶され、かつ文書識別子上に1対多対応でマッピングされることによって、発生し得る。例えば、このような関連付けは、タスク識別子がデータ構造の外部に記憶され、かつデータ構造にリンクされまたは関連するオブジェクトであることによって、発生し得る。したがって、データ構造は、タスク識別子に基づいて、即ちGUIを介して受信される識別子がタスク識別子で事前にグループ化された複数の識別子に対応することに基づいて、アクセスされる。
【0053】
ブロック508において、探索ロジック140は、入力として、タグと識別子の少なくとも1つとの間の合致を求めてデータ構造を探索する。例えば、データ構造が複数のメタデータタグを記憶するとき、およびブラウザが第1の主体識別子、第2の主体識別子、アクション識別子、項目識別子、カテゴリ識別子、およびタイプ識別子を受信するとき、探索ロジック140は、それらの識別子とタグとの間の合致を求めてデータ構造を探索する。探索ロジック140は、力まかせ探索アルゴリズム、線形探索アルゴリズム、二分探索アルゴリズム、木探索アルゴリズム、確率的探索アルゴリズム、深さ探索アルゴリズム、幅探索アルゴリズムなどのうちの少なくとも1つを採用し得る。探索ロジック140は、並列で(識別子とタグとの間の合致を同時に探索)または直列で(識別子とタグとの間の合致を順次探索)、合致を検索し得る。
【0054】
ブロック510において、探索ロジック140は、タグと識別子のうちの少なくとも1つとの間の合致を識別する。例えば、合致は、タグと、第1の主体識別子、第2の主体識別子、アクション識別子、タスク識別子、項目識別子、またはカテゴリ識別子のうちの少なくとも1つとの間で識別され得る。
【0055】
ブロック512において、許可ロジック142は、識別子のうちの少なくとも1つに合致される、タグに関連付けられた規則のセットにアクセスする。規則のセットは、そのタグに関連付けられる事前定義されたワークフロー、およびそのタグに対応するタスク識別子に対応する。規則のセットは、GUIがブラウザを操作するユーザにどのように提示されるかを制御し得る。例えば、規則のセットは、どの出力要素が提示されるかおよびその中もしくはその間のコンテンツ/ロジック、またはどの入力要素が提示されるかおよびその中もしくはその間のコンテンツ/ロジックを制御し得る。例えば、許可ロジック142は、タスク識別子に対応する規則のセットを識別し得る。
【0056】
ブロック514において、ストレージロジック132が、データ構造内のマッピングに基づいて文書識別子に対応するファイルを取り出すように、許可ロジック142は、ストレージロジック132とインターフェースする。例えば、文書識別子が識別されてもよく、ファイルが取り出される。ストレージロジック132は、データベース146からファイルを取り出す。ファイルは、タグとタスク識別子のための識別子のうちの少なくとも1つとの間の合致に基づいて、文書識別子を介して取り出される。即ち、合致が識別されると、そのタグに対応する文書識別子が識別され、文書識別子を介してファイルが取り出される。
【0057】
ブロック516において、インターフェースロジック126は、規則のセットに基づいてブラウザを介してGUIを提示する。したがって、GUIは、規則のセットに基づいて再生成または修正され得る。例えば、様々な入力要素および出力要素は、規則のセットに基づいて提示され、多様な対応するコンテンツ/ロジックが、提示され、または多様な入力要素および出力要素に連結される。
【0058】
ブロック518において、上記で説明されたように、ファイルが規則のセットに基づいてGUIを介して利用されるように、インターフェースロジック126は、許可ロジック142と通信する。例えば、ファイルが、ハイパーリンクをアクティブ化することによって、またはGUIの中に現れるファイルに対応するアイコンによってアクセスされ、その場合に、ファイルが、クリック、タッチなどによりアイコンをアクティブ化することによってアクセスされように、許可ロジック142は、ハイパーリンクを有するメッセージを提示することによってファイルを共有し得る。
【0059】
図6A~
図6Cは、本開示による、複数の項目識別子、複数のカテゴリ識別子、および複数のタイプ識別子に関連付けられたファイルに基づいて、規則のセットに対して進捗を追跡する技術の実施形態のフローチャートおよび一対のスクリーンショットを示す。プロセス600Aは、ネットワークトポロジ100によって実行される。
【0060】
ブロック602において、上記で説明されたように、インターフェースロジック126は、ブラウザのユーザによって前もって入力された複数の識別子に基づいて前もって形成されるように、タスク識別子に基づいてGUI600B、600Cを提示する。識別子は、主体識別子、アクション識別子、複数の項目識別子、複数のカテゴリ識別子などを含む。GUI600B、600Cは、第1のページハイパーリンク612および第2のページハイパーリンク614を、それらの間で選択的に切り替え可能なように表す。
【0061】
ブロック604において、インターフェースロジック126は、主体識別子、アクション識別子、項目識別子、およびカテゴリ識別子に基づいて、GUI600B、600Cに複数の文字列を投入する。文字列は、主体識別子、アクション識別子、項目識別子、およびカテゴリ識別子に対応する。例えば、文字列は、ユーザ対話機能に役立つように、受動的または能動的(ハイパーリンクされた)のいずれにせよ、ラベルであってもよい。
【0062】
ブロック606において、第1のページハイパーリンク612が選択されたときに、GUI600Bが項目識別子およびカテゴリ識別子に基づいて表形式メニュー610を提示するように、インターフェースロジック126は、メタデータロジック136および進捗ロジック138と通信する。表形式メニュー610は、複数の列および複数の行を含み、それによって、データベース146に記憶された複数のファイルに関して項目識別子およびカテゴリ識別子に対応する複数の値を含むグリッドを定義する。表形式メニュー610において、上記で説明されたように、前もって入力した通り、行は、項目識別子に対応し、列は、カテゴリ識別子、複数のタイプ識別子、および他の識別子に対応する。
【0063】
表形式メニュー610は、また、上記で説明されたように、規則のセットに基づいて存在または不在の閾値(2値)を満たすファイルに関する項目識別子に対応するチェックボックスベースのグリッド616を提示する。上記で説明されたように、規則のセットがタスク識別子に対応することに留意されたい。また、チェックボックスベースのグリッド616が、項目識別子のそれぞれについての一時停止ボタンおよび再生ボタンを含み、一時停止ボタンが、そのそれぞれの項目識別子に対する進捗分析を一時停止し、再生ボタンが、そのそれぞれの項目識別子に対する進捗分析を有効状態に維持することに留意されたい。したがって、上記で説明されたように、項目識別子のそれぞれについて、ファイルがアップロードおよびタグ付けされると、チェックボックスベースのグリッド616は、規則のセットに対して判定されるように完成される。いくつかの実施形態において、チェックボックスベースのグリッド616は、ブラウザ118またはブラウザ120によってリアルタイムに手動で更新されてもよく、それによって、チェックボックスベースのグリッド616は、ブラウザ118またはブラウザ120の少なくとも1つに対して視覚的に更新される。
【0064】
GUI600B、600Cが、チェックボックスベースのグリッド616が完成されることに基づいてリアルタイムで動的に更新されるパイ型バー(pie bar)620を表すことに留意されたい。パイ型バー620は、タスク識別子に関連付けられることに留意されたい。
【0065】
さらに、GUI600B、600Cが、タスク識別子に基づきメッセージングロジック128を介して管理されるように、メッセージングインターフェース622を含むことに留意されたい。例えば、メッセージングインターフェース622は、タスク識別子でグループ化される、第1の主体識別子に関連付けられたユーザと第2の主体識別子に関連付けられたユーザとの間で、タスク識別子に基づいてブラウザ118とブラウザ120との間の内部メッセージング通信を可能にする。したがって、上記で説明されたように、メッセージングロジック128は、コピーされたファイルがセッションの間ブラウザ120と共有された後で、タスク識別子に基づいてセッションの間ブラウザ118とブラウザ120との間の内部メッセージングサービスを可能にする。いくつかの実施形態において、メッセージングインターフェース622は、ブラウザ118とブラウザ120との間の外部メッセージを可能にする。
【0066】
上記で説明されたように、第2のページハイパーリンク614は、アップロードされかつタイプ識別子でカテゴリ化された、およびまだアップロードされていない、ファイルに対応する多様なカテゴリ識別子およびタイプ識別子を示す表形式メニュー618を提示する。表形式メニュー610およびチェックボックスベースのグリッド6161が、表形式メニュー618の値に基づくことに留意されたい。
【0067】
ブロック608において、GUI600Bが、カテゴリ識別子およびタイプ識別子に基づいて項目識別子に関して表形式メニュー610を更新するように、インターフェースロジック126は、メタデータロジック136および進捗ロジック138と通信する。例えば、ファイルがGUI600Cを介してアップロードされると、チェックボックスベースのグリッド616は、タスク識別子に対応する規則のセットに基づいてアップロードされる。したがって、パイ型バー620は、それに応じて更新される。したがって、サーバ110は、規則のセットに基づいて文書セットの完成度の状態をモニタリングし、セッションの間コピーされたファイルをブラウザ120と共有した後で、表形式メニュー610をブラウザ118またはブラウザ120に提示し得る。この場合に、表形式メニュー610は、規則のセットに基づいて項目識別子およびカテゴリ識別子に関して文書セットの完成度の状態を表すように構成される。
【0068】
図7A~7Cは、本開示による、進捗詳細を更新する技術の実施形態のフローチャートおよび一対のスクリーンショットを示す。プロセス700Aは、ネットワークトポロジ100によって実行される。
【0069】
ブロック702において、上記で説明されたように、インターフェースロジック126は、ブラウザのユーザによって前もって入力された複数の識別子に基づいて前もって形成されるように、タスク識別子に基づいてGUI700B、700Cを提示する。識別子は、主体識別子、アクション識別子、複数の項目識別子、複数のカテゴリ識別子などを含む。GUI700B、700Cは、その下部710を除いてGUI600B、600Cに類似している。下部710は、第1のページハイパーリンク712および第2のページハイパーリンク714を、それらの間で選択的に切り替え可能であるように含む。
【0070】
ブロック704において、インターフェースロジック126は、主体識別子、アクション識別子、項目識別子、およびカテゴリ識別子に基づいて、GUI700B、700Cに複数の文字列を投入する。文字列は、主体識別子、アクション識別子、項目識別子、およびカテゴリ識別子に対応する。例えば、文字列は、ユーザ対話機能に役立つように、受動的または能動的(ハイパーリンクされた)のいずれにせよ、ラベルであってもよい。
【0071】
ブロック706において、GUI700B、700Cが、第1のページハイパーリンク712が選択されると、項目識別子およびカテゴリ識別子に関連付けられた複数のタイプ識別子に基づいて(1)GUI700B上に表形式メニューを提示し、第2のページハイパーリンク714が選択されると、(2)GUI700C上に表形式メニューを提示するように、インターフェースロジック126は、メタデータロジック136と通信する。GUI700Bの表形式メニューおよびGUI700Cの表形式メニューが、互いの間で動的にリンクされ、それによって一方における更新が、他方を更新し得ることに留意されたい。
【0072】
上記で説明されたように、第1のページハイパーリンク712に関連付けられた表形式メニューは、進捗タスクリストとして動作し、ユーザ入力が、規則のセットに対して比較されるように、その特定の項目識別子およびその特定のカテゴリ識別子に関連付けられたタイプ識別子に対応するチェックボックスを選択することを可能にする。第2のページハイパーリンク714に関連付けられた表形式メニューは、文書リストとして動作し、ユーザが、特定の項目識別子および特定のカテゴリ識別子についての特定のファイルに対応する文書タイプを見ることを可能にし、ファイルアップロード時間/日付、ファイルアップロードに関連付けられた主体識別子、ファイルコメント、ファイルダウンロードリンクなどの、多様な文書関連情報を見ることも可能にする。
【0073】
ブロック708において、GUI700B、700Cが、第1のページハイパーリンク712、または入力がタイプ識別子に関連付けられた、第2のページハイパーリンク714に関連付けられた表形式メニューのうちの少なくとも1つへのユーザ入力に基づくタスク識別子に関して、第1のページハイパーリンク712に関連付けられた表形式メニューまたは第2のページハイパーリンク714に関連付けられた表形式メニューを更新するように、インターフェースロジック126は、メタデータロジック136と通信する。
【0074】
図8は、本開示による、ブロックチェーンに追加するプロセスの実施形態のフローチャートを示す。プロセス800は、ネットワークトポロジ100によって実行される。
【0075】
ブロック802において、上記で説明されたように、メタデータロジック136が、クライアントのブラウザから複数の識別子およびコピーされたファイルを受信するように、メタデータロジック136は、インターフェースロジック126と通信する。例えば、識別子は、主体識別子、アクション識別子、複数の項目識別子、複数のカテゴリ識別子などを含み得る。
【0076】
ブロック804において、上記で説明されたように、メタデータロジック136は、コピーされたファイルのための文書識別子を生成する。
【0077】
ブロック806において、上記で説明されたように、メタデータロジック136は、データ構造内に文書識別子を書き込む。
【0078】
ブロック808において、上記で説明されたように、メタデータロジック136は、データ構造内に識別子を書き込む。
【0079】
ブロック810において、上記で説明されたように、メタデータロジック136は、データ構造において文書識別子および識別子間のマッピングを形成する。
【0080】
ブロック812において、ブロックチェーンロジック124が、マッピングに対応し得るブロックチェーンにブロックを挿入するように、メタデータロジック136は、ブロックチェーンロジック124と通信する。ブロックチェーンは、サーバ110のローカルであってもよく、またはサーバ110からリモートであってもよい。ブロックチェーンロジック124がデータ構造を読み出すと、ブロックチェーンロジック124は、マッピングに基づいてブロックを形成し得る。例えば、上記で説明されたように、ブロックは、識別子にマッピングする文書識別子を通知してもよく、その場合に、文書識別子は、識別子のそれぞれに対して1対多対応を有する。いくつかの実施形態において、ブロックは、データ構造に対応するタスク識別子、またはデータ構造内の文書識別子に対応するタスク識別子、または識別子もしくはデータ構造を伴う任意の他の論理関係の情報を与えるものであり得る。例えば、ブロックは、文書識別子とグループとの間のマッピングに基づいて生成され得る。グループは、第1の主体識別子、アクション識別子、タスク識別子、または第2の主体識別子のうちの少なくとも1つを含む。
【0081】
ブロック814において、ブロックチェーンロジック124は、ブロックチェーン内のブロックを読み出す。
【0082】
ブロック816において、ブロックチェーンロジック124は、ロジックがハードウェアベースであるかソフトウェアベースであるかのいずれにせよ、アクションをとるために、サーバ110にローカルな、またはサーバ110からリモートの任意のロジックと通信し得る。例えば、アクションは、データを読み出すこと、データを書き込むこと、データを選択すること、データを削除すること、データをフォーマットすること、メッセージをクライアントまたはサーバ110のローカルもしくはリモートのいずれにせよデータソースに送信または受信すること、サーバ110のローカルまたはリモートのいずれにせよ入力デバイスまたは出力デバイスと通信すること、などを含み得る。
【0083】
図9は、本開示による、データ構造に基づいてスマートコントラクトを実行するプロセスの実施形態のフローチャートを示す。プロセス900は、ネットワークトポロジ100によって実行される。
【0084】
ブロック902において、ブロックチェーンロジック124は、サーバ110のローカルまたはリモートのいずれにせよ、スマートコントラクトロジックにアクセスする。例えば、スマートコントラクトロジックは、イーサリアム(Ethereum)プラットフォームロジックを含んでもよい。例えば、スマートコントラクトロジックは、上記で説明されたように任意の識別子を含むか、または上記で説明されたように任意の識別子を除外するかのいずれにせよ、ファイルなどのデータ構造に記憶された関数、オブジェクトなどの多様な実行可能コードを含み得る。
【0085】
ブロック904において、ブロックチェーンロジック124は、文書識別子、タグ、および1対多対応を含み得る文書識別子とタグとの間のマッピングを記憶するデータ構造に、スマートコントラクトロジックを連結する。そのような連結は、文書識別子、タグ、およびマッピングを記憶するデータ構造への読み取りアクセスを認可するためにブロックチェーンロジック124が許可ロジック124とインターフェースすること、または文書識別子、タグ、およびマッピングを記憶するデータ構造をサーバ110から別のサーバ上にアップロードするためにブロックチェーンロジック124が許可ロジック124とインターフェースすること、あるいはタスク識別子がデータ構造でグループ化されるときなどに、スマートコントラクトロジックが、データ構造のコンテンツまたはデータ構造に関連付けられたグループ化に基づいて機能することを可能にする別の動作方法を含み得る。文書識別子、タグ、およびマッピングを記憶するデータ構造が、サーバ110のローカルまたはリモートに記憶され得ることに留意されたい。
【0086】
ブロック904において、ブロックチェーンロジック124は、スマートコントラクトロジックをデータ構造のコンテンツなどのデータ構造に基づいて実行させる。例えば、ブロックチェーンロジック124は、実行を承認もしくは要求してもよく、またはスマートコントラクトロジックへのデータ構造のための読み取りアクセスを拒否しなくてもよい。
【0087】
図10は、本開示による、人工知能(AI)プロセスによりデータ構造を読み出すプロセスの実施形態のフローチャートを示す。プロセス1000は、ネットワークトポロジ100によって実行される。
【0088】
ブロック1002において、上記で説明されたように、アプリケーション122は、文書識別子、タグ、および識別子とタグとの間のマッピングを記憶するデータ構造にアクセスする。
【0089】
ブロック1004において、アプリケーション122が、母集団パターン、ストレージパターン、編成パターン、日付/タイミングパターン、シーケンスパターン、タグパターン、タスクパターン、アクションパターン、項目パターン、カテゴリパターン、製品パターン、タイプパターン、識別子パターン、または任意の他のパターンもしくは分類、あるいはデータ構造内のそれらのうちのいずれかの不足をデータ構造のコンテンツに基づいて判断するように、アプリケーション122は、データ構造を読み出すために人工知能プロセスを採用する。例えば、人工知能プロセスは、任意のクラウドベース環境または分散型環境を含む、サーバ110のローカルまたはリモートのいずれにせよ、機械学習、画像処理、テキスト分析、リモートデータソースの問い合わせなどを使用し得る。
【0090】
ブロック1006において、アプリケーション122は、主体がハードウェアベースまたはソフトウェアベースのいずれにせよ、アクションをとるか、または別のロジック主体にアクションをとらせる。例えば、アクションは、データを読み出すこと、データを書き込むこと、データを選択すること、データを削除すること、データをフォーマットすること、メッセージをクライアント、またはサーバ110のローカルもしくはリモートのいずれにせよデータソースに送信または受信すること、サーバ110のローカルまたはリモートのいずれにせよ入力デバイスまたは出力デバイスと通信すること、などを含み得る。
【0091】
図11は、本開示による、ユーザグループに属するものに基づくデータ構造に関するユーザアクションについてのプロセスの実施形態のフローチャートを示す。プロセス1100は、ネットワークトポロジ100によって実行される。
【0092】
ブロック1102において、上記で説明されたように、権限ロジック138は、ユーザがサーバ110とのセッションをホストするブラウザを操作することに基づいて、ユーザを認証する。セッションの間、上記で説明されたように、ユーザが、階層的に主体識別子の下に位置するか、または主体識別子に関連するユーザ識別子に関連付けられることに留意されたい。例えば、主体識別子は、それに階層的に関連付けられる複数のユーザ識別子を有し得る。
【0093】
ブロック1104において、権限ロジック138は、ユーザが属するユーザグループをユーザ識別子に基づいて識別するように、メタデータロジック136とインターフェースする。上記で説明されたように、ユーザグループがタスク識別子に対応する。例えば、この識別は、ユーザ識別子が関連する主体識別子またはその逆に関連付けられたタスク識別子を識別することによって発生し得る。例えば、これは、タスクが主体識別子に関連付けられることによって発生してもよく、主体識別子はそれに関連付けられた複数のユーザ識別子を有し得るため、ユーザ識別子が、そのタスク識別子のための主体識別子に関連付けられたユーザ識別子に対して調べられ得る。ユーザ識別子は、複数のタスク識別子に同時に関連付けられ得ることに留意されたい。したがって、ユーザが属するユーザグループが識別され得る。
【0094】
ブロック1106において、上記で説明されたように、許可ロジック142は、グループに基づいて、文書識別子、タグ、および文書識別子とタグとの間のマッピングを記憶するデータ構造に関してユーザがアクションすることを可能にするように、メタデータロジック136とインターフェースする。したがって、ユーザグループが識別されると、上記で説明されたように、ユーザは、ユーザが属するユーザグループのためのタスク識別子に関連付けられた文書識別子に基づいてファイルにアクセスし、次いで文書識別子に基づいてファイルにアクセスし得る。
【0095】
図12~
図22は、本開示による、文書識別子と複数のタグとの間のマッピングを記憶するデータ構造に基づいて動作するユーザインターフェースの実施形態の複数のスクリーンショットを示す。
【0096】
図12は、GUI1200を示し、GUI1200は、上記で説明されたように、複数のタスク識別子(ハイパーリンク可能な)をリストにするタスク識別子列、タスク識別子のための複数の第1の主体識別子をリストにする第1の主体識別子列、タスク識別子のための複数の第2の主体識別子をリストにする第2の主体識別子列、タイプ識別子およびタスク識別子のための規則のセットに基づいて複数のアクション識別子(2値提示された星)をリストにするアクション要求識別子列、ならびに(データ構造によって追跡される)タスク識別子のための規則のセットに基づいて複数の年齢識別子をリストにする年齢識別子列を含むグリッドを表形式で表示する。
【0097】
図13は、GUI1300を示し、GUI1300は、上記で説明されたように、チェックボックスベースのグリッド616を提示する。項目識別子(2172)に対して、カテゴリ識別子(USD ReposおよびNon-USD Repos)が、視覚的にも明確にされたチェック済みチェックボックスによって示されるように、完成していることに留意されたい。これに対して、他のカテゴリ識別子は、完成したものとしてチェックされていない。また、視覚的に明確なアイコンによって示されるように、いくつかのカテゴリ識別子(equity swap(エクイティスワップ))が一時停止されることに留意されたい。
【0098】
図14は、GUI1400を示し、GUI1400は、上記で説明されたように、エクスポートロジック130によって、ユーザが、文書識別子、タグ、および文書識別子と他のサーバへのマッピングとの間のマッピングを有するデータ構造をエクスポートすることを可能にする。例えば、文書識別子、第1の主体識別子、第2の主体識別子、およびアクション識別子を記憶するデータ構造は、コンマ区切り値ファイル、単層ファイルなどのデータファイルとしてエクスポート可能である。
【0099】
図15は、GUI1500を示し、GUI1500は、上記で説明されたように、進捗ロジック138によって、複数のタスク識別子に基づいて複数の主体識別子に関連付けられた複数のワークフローの追跡を可能にする。ワークフローは、主体識別子に対応する複数のヒストグラムに対応し、上記で説明されたように、特定のタスク識別子または主体識別子についてのいずれにせよ、規則のセットに対して測定されるように、どの文書が期日経過または期日前またはOKであるかを追跡する。例えば、上記で説明されたように、規則のセットは、ブラウザ118またはブラウザ120を介して入力され得る目標文書アップロード日付を含み得る。
【0100】
図16は、GUI1600を示し、GUI1600は、上記で説明されたように、進捗ロジック138によって、GUI1500に対してより粒度の細かい文書追跡を可能にする。図示されるように、このタイプの追跡は、上記で説明されたように、特定のタスク識別子について、または主体識別子についてのいずれにせよ、規則のセットに対して測定されるように、特定の期間主体識別子に基づき得る。
【0101】
図17は、GUI1700を示し、GUI1700は、上記で説明されたように、進捗ロジック138によって、GUI1600に対してより粒度の細かい文書追跡を可能にする。ここで、GUI1700は、上記で説明されたように、特定のタスク識別子について、または主体識別子についてのいずれにせよ、規則のセットに対して測定された、多様なワークフローに関する特定の識別子についての平均タスク完了時間を示す。
【0102】
図18は、GUI1800を示し、GUI1800は、上記で説明されたように、進捗ロジック138によって、複数のハイパーリンクされたタスク識別子および複数の主体識別子(タスク識別子によってグループ化される)に基づいて、主体識別子およびアクション識別子について受信された、または行方不明の文書の追跡を可能にする。
【0103】
図19は、GUI1900を示し、GUI1900は、上記で説明されたように、GUI1800のより粒度の細かいビューを可能にし、ハイパーリンクされたタスク識別子のうちの1つがアクティブ化されるときに何が起こるかを詳細に示す。即ち、テーブルが、複数の文書タイプ識別子、複数のファイル名、および複数のファイルアップロードアイコンを示し、項目が完成しており、完成していないものもある。
【0104】
図20は、GUI2000を示し、GUI2000は、上記で説明されたように、複数のハイパーリンクされた項目識別子、ならびに主体識別子およびアクション識別子についての複数のカテゴリ識別子(項目識別子によってグループ化される)の表形式ビューを示す。
【0105】
図21は、GUI2100を示し、GUI2100は、上記で説明されたように、タスク識別子(LGIM EMEA New Fund Launch)に関連付けられた主体識別子(Legal & General)のリストを示す。
【0106】
図22は、GUI2200を示し、GUI2200は、上記で説明されたように、ファイル名およびGUI2100のタスク識別子のための文書タイプのリストを示す。
【0107】
図23A~
図23Iは、本開示による、複数ユーザ共有技術の実施形態の複数のスクリーンショットを示す。特に、GUI2300は、上記で説明されたように、異なる主体識別子に関連付けられた複数のユーザを有するワークフローを伴う複数ページの質問事項を示す。複数ページの質問事項の完成後、上記で説明されたように、規則のセットが形成され、その規則のセットに対して、アップロードされたファイルに基づいてワークフローが評価され、かつデータ構造を介して比較される。GUIは、その際、上記で説明されたように、多様な識別子に基づいて文書追跡、進捗モニタリング、およびユーザ間メッセージングを可能にする、多様な表形式メニューを提示する。いくつかの実施形態において、GUI2300は、ダウンロード用のテンプレートファイルを提供するように構成され、その場合に、ユーザは、テンプレートファイルをダウンロードし、テンプレートファイルを要求されたように投入し、投入されたテンプレートファイルをアップロードする。テンプレートファイルは、検証され、検証されると、上記で説明されたようにタスク識別子でグループ化され得る。例えば、そのようなグループ化は、テンプレートファイル内に存在する識別子に基づいて実行され得る。
【0108】
さらに、ある例としての実施形態に関して説明される特徴は、任意の置換または組み合わせ方式で、多様な他の例としての実施形態に、または多様な他の例としての実施形態と結合され得る。本明細書に開示される、例としての実施形態の異なる態様または要素は、同様のやり方で結合され得る。本明細書で使用される「組み合わせ」、「組み合わせの」、または「その組み合わせ」という用語は、その用語に先行する列挙された項目の全ての置換および組み合わせを指す。例えば、「A、B、C、またはそれらの組み合わせ」は、A、B、C、AB、AC、BC、またはABCのうちの少なくとも1つを含むように意図され、特定の文脈において順序が重要である場合は、BA、CA、CB、CBA、BCA、ACB、BAC、またはCABも含むように意図される。この例を続けると、明示的に含まれるものは、BB、AAA、AB、BBC、AAABCCCC、CBBAAA、CABABBなどの1つまたは複数の項目または用語の繰返しを含む組み合わせである。当業者は、文脈からそうでないことが明らかでない限り、典型的には任意の組み合わせで項目または用語の数に対する制限はないと理解するであろう。
【0109】
本開示の多様な実施形態は、システムバスを通してメモリ素子に直接的または間接的に連結される少なくとも1つのプロセッサを含む、プログラムコードの記憶および/または実行に適当なデータ処理システムにおいて実施され得る。メモリ素子は、例えば、プログラムコードの実際の実行中に利用されるローカルメモリ、大容量記憶装置、および実行中にコードを大容量記憶装置から取り出さなければならない回数を減らすために、少なくとも何らかのプログラムコードの一時記憶を提供するキャッシュメモリを含む。
【0110】
I/Oデバイス(キーボード、ディスプレイ、ポインティングデバイス、DASD、テープ、CD、DVD、サムドライブ(thumb drive)、および他のメモリ媒体などを含むが、これらに限定されない)は、直接または介在するI/Oコントローラを通して、システムに連結され得る。データ処理システムが、介在する私設または公衆ネットワークを通して他のデータ処理システム、またはリモートプリンタ、または記憶デバイスに連結されることを可能にするために、ネットワークアダプタもシステムに連結されてもよい。モデム、ケーブルモデム、およびイーサネットカードは、ネットワークアダプタの利用可能な種類のうちのほんのわずかである。
【0111】
本開示は、システム、方法、および/またはコンピュータプログラム製品において具現化され得る。コンピュータプログラム製品は、プロセッサに本開示の態様を実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読記憶媒体を含み得る。コンピュータ可読記憶媒体は、命令実行デバイスにより使用するための命令を保持および記憶し得る有形デバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光学記憶デバイス、電磁気記憶デバイス、半導体記憶デバイス、または前述したものの任意の適当な組み合わせであってもよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的リストは、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュメモリ)、静的ランダムアクセスメモリ(SRAM)、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピーディスク、パンチカードまたはその上に記録された命令を有する溝内の隆起構造などの機械的に符号化されたデバイス、および前述したものの任意の適当な組み合わせを含む。
【0112】
本明細書に説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、あるいはネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、および/またはワイヤレスネットワークを介して外部コンピュータまたは外部ストレージデバイスに、ダウンロードされ得る。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、および/またはエッジサーバを含み得る。各コンピューティング/処理デバイス内のネットワークアダプタカードまたはネットワークインターフェースは、コンピュータ可読プログラム命令をネットワークから受信し、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体の記憶用にコンピュータ可読プログラム命令を転送する。
【0113】
本開示の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語もしくは類似のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つもしくは複数のプログラミング言語の任意の組み合わせで書かれたソースコードもしくはオブジェクトコードのいずれかであってもよい。コードセグメントまたは機械実行可能命令は、手続き、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または命令、データ構造、もしくはプログラム文の任意の組み合わせを表し得る。コードセグメントは、情報、データ、引数、パラメータ、またはメモリコンテンツを渡すことおよび/または受信することによって、別のコードセグメントまたはハードウェア回路に連結されてもよい。情報、引数、パラメータ、データなどが、特にメモリ共有、メッセージ受け渡し、トークン受け渡し、ネットワーク伝送を含む任意の適当な手段を介して、受け渡され、転送され、または送信されてもよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で完全に、ユーザのコンピュータ上で部分的に、スタンドアロンソフトウェアパッケージとして、ユーザのコンピュータ上で部分的にかつリモートコンピュータ上で部分的に、またはリモートコンピュータもしくはサーバ上で完全に、実行してもよい。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む任意の種類のネットワークを通して、ユーザのコンピュータに接続されてもよい。あるいは、接続は、(例えば、インターネットサービスプロバイダを使用してインターネットを通して)外部コンピュータに対して行われてもよい。いくつかの実施形態では、例えば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブルロジックアレイ(PLA)を含む電子回路は、本開示の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路を個別化することによって、コンピュータ可読プログラム命令を実行し得る。
【0114】
本開示の態様は、開示の実施形態による、方法、装置(システム)、およびコンピュータプログラム製品のフローチャート図および/またはブロック図を参照して、本明細書に説明される。フローチャート図および/またはブロック図の各ブロック、ならびにフローチャート図および/またはブロック図のブロックの組み合わせが、コンピュータ可読プログラム命令によって実施され得ると理解されたい。本明細書で開示された実施形態と関連して説明される、多様な例示的論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組み合わせとして実施され得る。ハードウェアおよびソフトウェアのこの交換可能性を明確に説明するために、多様な例示的コンポーネント、ブロック、モジュール、回路、およびステップが、概してそれらの機能性に関して上述されている。そのような機能性が、ハードウェアとして実施されるか、またはソフトウェアとして実施されるかは、特定の用途およびシステム全体に課される設計制約に依存する。当業者は、それぞれの特定の用途のために説明される機能性を様々な方法で実施し得るが、そのような実施決定が、本開示の範囲からの逸脱を引き起こすと解釈されるべきではない。
【0115】
図面内のフローチャートおよびブロック図は、本開示の多様な実施形態によるシステム、方法、およびコンピュータプログラム製品の可能な実施のアーキテクチャ、機能性、および動作を例示する。この点に関して、フローチャートまたはブロック図内の各ブロックは、指定された論理機能を実施するための1つまたは複数の実行可能命令を含む、モジュール、セグメント、または命令の一部を表し得る。いくつかの代替的な実施において、ブロック内に記載された機能は、図面中に記載された順序以外で発生してもよい。例えば、連続して示される2つのブロックが、実際には、実質的に同時に実行されてもよく、または、ブロックが、関係する機能性次第で逆の順序で実行されることがあってもよい。ブロック図および/またはフローチャート図の各ブロック、ならびにブロック図および/またはフローチャート図におけるブロックの組み合わせが、指定された機能もしくは動作を実行し、または専用ハードウェアおよびコンピュータ命令の組み合わせを実行する専用ハードウェアベースシステムによって実施され得ることにも留意されたい。
【0116】
「次いで」、「次に」などの語は、ステップの順序を限定するように意図されず、これらの語は、方法の説明を通して読み手を単に導くために使用される。プロセスフロー図は、逐次プロセスとして動作を説明し得るが、動作の多くは、並列または同時に実行され得る。さらに、動作の順序は再配列されてもよい。プロセスは、方法、関数、手続き、サブルーチン、サブプログラムなどに対応し得る。プロセスが関数に対応するとき、その終結は、呼び出し関数またはメイン関数への関数の復帰に対応し得る。
【0117】
ある例としての実施形態に関して説明される特徴または機能性は、多様な他の例としての実施形態の中に、および/または多様な他の例としての実施形態と、結合および半結合され得る。また、本明細書に開示されるように、例としての実施形態の異なる態様および/または要素は、同様のやり方でも結合および半結合され得る。さらに、いくつかの例としての実施形態は、個別に、および/またはまとめてのいずれにせよ、より大きなシステムのコンポーネントであってもよく、他の手続きは、それらのアプリケーションに優先し、および/またはそれらのアプリケーションを修正してもよい。追加的には、本明細書に開示されるように、いくつかのステップが、例としての実施形態の前、後、および/または同時に要求され得る。少なくとも本明細書に開示されるように、任意のおよび/または全ての方法および/またはプロセスが、任意のやり方で少なくとも1つの主体または行為者によって少なくとも部分的に実行され得ることに留意されたい。
【0118】
好適な実施形態が、本明細書において詳細に表され、説明されているが、当業者は、様々な修正、追加、代用などが本開示の思想から逸脱することなく行われ得ると分かっている。したがって、これらは、以下の特許請求の範囲において定義されるように、本開示の範囲内にあると考えられる。
【手続補正書】
【提出日】2022-07-28
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
システムであって、
サーバを備え、前記サーバは、
第1のクライアントから第1の取引主体識別子(LEI)、第2のLEI、およびアクション識別子を受信することと、
前記第1のクライアントを介して指示されたファイルのコピーを受信することと、
タスク識別子、データ構造、および文書識別子を生成することと、
前記タスク識別子で前記データ構造をグループ化することと、
前記文書識別子が前記第1のLEI、前記第2のLEI、および前記アクション識別子にマッピングされるように、前記データ構造に前記文書識別子、前記第1のLEI、前記第2のLEI、および前記アクション識別子を投入することと、
第2のクライアントとのセッションをホストすることであって、前記セッションが、前記第2のLEIおよび前記アクション識別子に関連付けられる、ホストすることと、
前記セッションに関連付けられた前記第2のLEIおよび前記セッションに関連付けられた前記アクション識別子が前記データ構造内の前記第2のLEIおよび前記データ構造内の前記アクション識別子に合致することに基づいて、前記セッションの間、前記第2のクライアントを前記タスク識別子に関連付けることと、
前記コピーが前記データ構造内の前記文書識別子に基づいて前記第2のクライアントにより検索可能となるように、前記タスク識別子に基づいて前記セッションの間、前記コピーを前記第2のクライアントと共有することと、
を行うようにプログラムされ、
前記コピーが、前記タスク識別子に基づいて前記セッションの間前記第2のクライアントと共有される、システム。
【請求項2】
前記第1のクライアントが、前記第1のLEIに関連付けられる、請求項1に記載のシステム。
【請求項3】
前記第1のクライアントが、前記第1のLEIおよび前記第2のLEI以外の第3のLEIに関連付けられる、請求項1に記載のシステム。
【請求項4】
前記サーバは、前記タスク識別子が前記文書識別子にマッピングされるように、前記タスク識別子を前記データ構造に投入するようにさらにプログラムされる、請求項1に記載のシステム。
【請求項5】
前記第1のLEIが、前記第2のLEIと一致する、請求項1に記載のシステム。
【請求項6】
前記第1のLEIが、前記第2のLEIと異なる、請求項1に記載のシステム。
【請求項7】
前記コピーがコンテンツを含み、前記文書識別子が、前記コンテンツに基づいて生成される、請求項1に記載のシステム。
【請求項8】
前記コピーが特性を含み、前記文書識別子が、前記特性に基づいて生成される、請求項1に記載のシステム。
【請求項9】
前記サーバは、前記文書識別子が前記タスク識別子にマッピングされるように、前記タスク識別子を前記データ構造に投入するようにさらにプログラムされる、請求項1に記載のシステム。
【請求項10】
前記ファイルが、前記第1のクライアントからリモートに記憶される、請求項1に記載のシステム。
【請求項11】
前記サーバは、
前記第1のクライアントから項目識別子およびカテゴリ識別子を受信することと、
前記文書識別子が前記項目識別子および前記カテゴリ識別子にマッピングされるように、前記データ構造に前記項目識別子および前記カテゴリ識別子を投入することであって、前記セッションが、前記項目識別子および前記カテゴリ識別子に関連付けられる、投入することと、
前記セッションに関連付けられた前記項目識別子および前記セッションに関連付けられた前記カテゴリ識別子が前記データ構造内の前記項目識別子および前記データ構造内の前記カテゴリ識別子に合致することに基づいて、前記セッションの間、前記第2のクライアントを前記タスク識別子に関連付けることと、
を行うようにさらにプログラムされる、請求項1に記載のシステム。
【請求項12】
前記アクション識別子が、1対多対応で前記項目識別子に対応する、請求項11に記載のシステム。
【請求項13】
前記項目識別子が、1対多対応で前記カテゴリ識別子に対応する、請求項11に記載のシステム。
【請求項14】
前記第1のLEIが、1対多対応で前記アクション識別子に対応する、請求項11に記載のシステム。
【請求項15】
前記第2のLEIが、1対多対応で前記アクション識別子に対応する、請求項11に記載のシステム。
【請求項16】
前記タスク識別子が、1対多対応で前記文書識別子に対応する、請求項11に記載のシステム。
【請求項17】
前記第1のLEIが、1対多対応で前記アクション識別子に対応する、請求項1に記載のシステム。
【請求項18】
前記第2のLEIが、1対多対応で前記アクション識別子に対応する、請求項1に記載のシステム。
【請求項19】
前記タスク識別子が、1対多対応で前記文書識別子に対応する、請求項1に記載のシステム。
【請求項20】
前記タスク識別子は、前記第1のLEIまたは前記第2のLEIのうちの少なくとも1つに基づいて生成される、請求項1に記載のシステム。
【請求項21】
前記タスク識別子が、前記アクション識別子に基づいて生成される、請求項1に記載のシステム。
【請求項22】
前記第1のクライアントが、第1のメッセージングインターフェースを含み、前記第2のクライアントが、第2のメッセージングインターフェースを含み、前記コピーが前記セッションの間前記第2のクライアントと共有された後で、前記サーバが、前記タスク識別子に基づいて前記セッションの間前記第1のクライアントと前記第2のクライアントとの間の内部メッセージングサービスを可能にする、請求項1に記載のシステム。
【請求項23】
前記コピーが、前記第2のクライアント上でのハイパーリンクの提示によって、前記セッションの間前記第2のクライアントと共有され、前記コピーが、前記セッションの間の前記第2のクライアントによる前記ハイパーリンクのアクティブ化に基づいて、開かれるかまたはダウンロードされるかの少なくとも1つが行われる、請求項1に記載のシステム。
【請求項24】
前記文書識別子が項目識別子およびカテゴリ識別子にマッピングされるように、前記データ構造が前記項目識別子および前記カテゴリ識別子を記憶し、
前記サーバは、
前記タスク識別子に対応する規則のセットを識別することと、
前記規則のセットに基づいて文書セットの完成度の状態をモニタリングすることと、
前記セッションの間前記コピーを前記第2のクライアントと共有した後、前記第1のクライアントおよび前記第2のクライアントにメニューを提示することであって、前記メニューが、前記規則のセットに基づいて前記項目識別子および前記カテゴリ識別子に関して前記文書セットの前記完成度の前記状態を表すようにプログラムされる、提示することと、
を行うようにさらにプログラムされる、請求項1に記載のシステム。
【請求項25】
前記サーバは、
前記セッションの間に前記第2のクライアントから入力を受信することと、
前記入力に基づき合致を求めて前記データ構造を探索することと、
前記入力と、前記第1のLEI、前記第2のLEI、前記アクション識別子、または前記タスク識別子のうちの少なくとも1つとの間の前記合致を識別することと、
前記合致に基づいて前記文書識別子を識別することと、
前記文書識別子に基づいて前記セッションの間前記コピーを前記第2のクライアントと共有することと、
を行うようにさらにプログラムされる、請求項1に記載のシステム。
【請求項26】
前記文書識別子が前記項目識別子および前記カテゴリ識別子にマッピングされるように、前記データ構造が、前記項目識別子および前記カテゴリ識別子を記憶し、前記合致が、前記入力と、前記第1のLEI、前記第2のLEI、前記アクション識別子、前記タスク識別子、前記項目識別子、または前記カテゴリ識別子のうちの少なくとも1つとの間で識別される、請求項25に記載のシステム。