(57)【要約】  本開示は、多様な事前定義されたワークフローに基づいて、多様な事前定義されたユーザグループ間で安全かつ選択的に多様なファイルを共有するための多様なコンピューティング技術を可能にする。事前定義された各ワークフローについて、ファイルは、多様な文書識別子および多様なメタデータタグを記憶するデータ構造に基づいて共有され、文書識別子は、メタデータタグにマッピングされる。【選択図】図１
2021521567.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
サーバによって、第１のクライアント上で動作している第１のアプリケーションにユーザインターフェースを供給することであって、前記ユーザインターフェースが、第１の主体識別子、第２の主体識別子、アクション識別子、およびファイルの選択を受信するように構成される、供給することと、
前記サーバによって、前記第１のアプリケーションから前記第１の主体識別子、前記第２の主体識別子、および前記アクション識別子を受信することと、
前記サーバによって、前記選択に基づいて前記ファイルのコピーを受信することと、
前記サーバによって、タスク識別子、データ構造、および文書識別子を生成することと、
前記サーバによって、前記タスク識別子で前記データ構造をグループ化することと、
前記サーバによって、前記文書識別子が前記第１の主体識別子、前記第２の主体識別子、および前記アクション識別子にマッピングされるように、前記データ構造に前記文書識別子、前記第１の主体識別子、前記第２の主体識別子、および前記アクション識別子を投入することと、
前記サーバによって、第２のクライアント上で動作している第２のアプリケーションとのセッションをホストすることであって、前記セッションが、前記第２の主体識別子および前記アクション識別子に関連付けられる、ホストすることと、
前記サーバによって、前記セッションに関連付けられた前記第２の主体識別子および前記セッションに関連付けられた前記アクション識別子が前記データ構造内の前記第２の主体識別子および前記データ構造内の前記アクション識別子に合致することに基づいて、前記セッションの間、前記第２のアプリケーションを前記タスク識別子に関連付けることと、
前記サーバによって、前記コピーが前記データ構造内の前記文書識別子に基づいて前記第２のアプリケーションにより検索可能となるように、前記タスク識別子に基づいて前記セッションの間、前記コピーを前記第２のアプリケーションと共有することと、
を含む、方法。
【請求項２】
前記第１のアプリケーションが、前記第１の主体識別子に関連付けられる、請求項１に記載の方法。
【請求項３】
前記第１のアプリケーションが、前記第１の主体識別子および前記第２の主体識別子以外の第３の主体識別子に関連付けられる、請求項１に記載の方法。
【請求項４】
前記第１の主体識別子および前記第２の主体識別子のそれぞれが、取引主体識別子（ＬＥＩ）を含み、前記コピーを伴う取引前クライアントオンボーディングプロセスが発生し得るように、前記コピーが、前記タスク識別子に基づいて前記セッションの間前記第２のアプリケーションと共有される、請求項１に記載の方法。
【請求項５】
前記第１の主体識別子の前記取引主体識別子が、前記第２の主体識別子の前記取引主体識別子と一致する、請求項４に記載の方法。
【請求項６】
前記第１の主体識別子の前記取引主体識別子が、前記第２の主体識別子の前記取引主体識別子と異なる、請求項４に記載の方法。
【請求項７】
前記コピーがコンテンツを含み、前記文書識別子が、前記コンテンツに基づいて生成される、請求項１に記載の方法。
【請求項８】
前記コピーが特性を含み、前記文書識別子が、前記特性に基づいて生成される、請求項１に記載の方法。
【請求項９】
前記ファイルが、前記第１のクライアントのローカルに記憶される、請求項１に記載の方法。
【請求項１０】
前記ファイルが、前記第１のクライアントからリモートに記憶される、請求項１に記載の方法。
【請求項１１】
前記ユーザインターフェースが、項目識別子およびカテゴリ識別子を受信するように構成され、
前記サーバによって、前記第１のアプリケーションから前記項目識別子および前記カテゴリ識別子を受信することと、
前記サーバによって、前記文書識別子が前記項目識別子および前記カテゴリ識別子にマッピングされるように、前記データ構造に前記項目識別子および前記カテゴリ識別子を投入することであって、前記セッションが、前記項目識別子および前記カテゴリ識別子に関連付けられる、投入することと、
前記サーバによって、前記セッションに関連付けられた前記項目識別子および前記セッションに関連付けられた前記カテゴリ識別子が前記データ構造内の前記項目識別子および前記データ構造内の前記カテゴリ識別子に合致することに基づいて、前記セッションの間、前記第２のアプリケーションを前記タスク識別子に関連付けることと、
をさらに含む、請求項１に記載の方法。
【請求項１２】
前記アクション識別子が、１対多対応で前記項目識別子に対応する、請求項１１に記載の方法。
【請求項１３】
前記項目識別子が、１対多対応で前記カテゴリ識別子に対応する、請求項１１に記載の方法。
【請求項１４】
前記第１の主体識別子が、１対多対応で前記アクション識別子に対応する、請求項１１に記載の方法。
【請求項１５】
前記第２の主体識別子が、１対多対応で前記アクション識別子に対応する、請求項１１に記載の方法。
【請求項１６】
前記タスク識別子が、１対多対応で前記文書識別子に対応する、請求項１１に記載の方法。
【請求項１７】
前記第１の主体識別子が、１対多対応で前記アクション識別子に対応する、請求項１に記載の方法。
【請求項１８】
前記第２の主体識別子が、１対多対応で前記アクション識別子に対応する、請求項１に記載の方法。
【請求項１９】
前記タスク識別子が、１対多対応で前記文書識別子に対応する、請求項１に記載の方法。
【請求項２０】
前記タスク識別子は、前記第１の主体識別子または前記第２の主体識別子のうちの少なくとも１つに基づいて生成される、請求項１に記載の方法。
【請求項２１】
前記タスク識別子が、前記アクション識別子に基づいて生成される、請求項１に記載の方法。
【請求項２２】
前記ユーザインターフェースが、第１のユーザインターフェースであり、前記第２のアプリケーションが、第２のユーザインターフェースを含み、前記第１のユーザインターフェースが、第１のメッセージングインターフェースを含み、前記第２のユーザインターフェースが、第２のメッセージングインターフェースを含み、前記コピーが前記セッションの間前記第２のアプリケーションと共有された後で、前記サーバが、前記タスク識別子に基づいて前記セッションの間前記第１のアプリケーションと前記第２のアプリケーションとの間の内部メッセージングサービスを可能にする、請求項１に記載の方法。
【請求項２３】
前記コピーが、前記第２のアプリケーション上でのハイパーリンクの提示によって、前記セッションの間前記第２のアプリケーションと共有され、前記コピーが、前記セッションの間の前記第２のアプリケーションによる前記ハイパーリンクのアクティブ化に基づいて、開かれるかまたはダウンロードされるかの少なくとも１つが行われる、請求項１に記載の方法。
【請求項２４】
前記サーバによって、前記文書識別子が前記タスク識別子にマッピングされるように、前記データ構造に前記タスク識別子を投入することをさらに含む、請求項１に記載の方法。
【請求項２５】
前記サーバによって、前記タスク識別子が前記文書識別子にマッピングされるように、前記データ構造に前記タスク識別子を投入することをさらに含む、請求項１に記載の方法。
【請求項２６】
前記文書識別子が項目識別子およびカテゴリ識別子にマッピングされるように、前記データ構造が前記項目識別子および前記カテゴリ識別子を記憶し、
前記サーバによって、前記タスク識別子に対応する規則のセットを識別することと、
前記サーバによって、前記規則のセットに基づいて文書セットの完成度の状態をモニタリングすることと、
前記サーバによって、前記セッションの間前記コピーを前記第２のアプリケーションと共有した後、前記第１のアプリケーションおよび前記第２のアプリケーションにメニューを提示することであって、前記メニューが、前記規則のセットに基づいて前記項目識別子および前記カテゴリ識別子に関して前記文書セットの前記完成度の前記状態を表すように構成される、提示することと、
をさらに含む、請求項１に記載の方法。
【請求項２７】
前記文書識別子、前記第１の主体識別子、前記第２の主体識別子、および前記アクション識別子を記憶する前記データ構造が、データファイルとしてエクスポート可能である、請求項１に記載の方法。
【請求項２８】
前記サーバによって、前記セッションの間に前記第２のアプリケーションから入力を受信することと、
前記サーバによって、前記入力に基づき合致を求めて前記データ構造を探索することと、
前記サーバによって、前記入力と、前記第１の主体識別子、前記第２の主体識別子、前記アクション識別子、または前記タスク識別子のうちの少なくとも１つとの間の前記合致を識別することと、
前記サーバによって、前記合致に基づいて前記文書識別子を識別することと、
前記サーバによって、前記文書識別子に基づいて前記セッションの間前記コピーを前記第２のアプリケーションと共有することと、
をさらに含む、請求項１に記載の方法。
【請求項２９】
前記文書識別子が前記項目識別子および前記カテゴリ識別子にマッピングされるように、前記データ構造が、前記項目識別子および前記カテゴリ識別子を記憶し、前記合致が、前記入力と、前記第１の主体識別子、前記第２の主体識別子、前記アクション識別子、前記タスク識別子、前記項目識別子、または前記カテゴリ識別子のうちの少なくとも１つとの間で識別される、請求項２８に記載の方法。
【請求項３０】
前記サーバが、ウェブサーバ、アプリケーションサーバ、およびデータベースサーバを含み、前記ウェブサーバが、前記ユーザインターフェースを供給し、前記第１の主体識別子、前記第２の主体識別子、前記アクション識別子、および前記コピーを受信し、前記アプリケーションサーバが、前記タスク識別子、前記データ構造、および前記文書識別子を生成し、前記アプリケーションサーバが、前記タスク識別子で前記データ構造をグループ化し、前記文書識別子が前記第１の主体識別子、前記第２の主体識別子、および前記アクション識別子にマッピングされるように、前記アプリケーションサーバが、前記データ構造に前記文書識別子、前記第１の主体識別子、前記第２の主体識別子、および前記アクション識別子を投入し、前記ウェブサーバが、前記セッションをホストし、前記アプリケーションサーバが、前記セッションに関連付けられた前記第２の主体識別子および前記セッションに関連付けられた前記アクション識別子が、前記データ構造内の前記第２の主体識別子および前記データ構造内の前記アクション識別子と合致することに基づいて、前記セッションの間前記第２のアプリケーションを前記タスク識別子に関連付け、前記アプリケーションサーバが、前記データベースサーバを介して前記コピーを前記第２のアプリケーションと共有し、前記データベースサーバが、前記コピーを記憶する、請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願への相互参照
本出願は、２０１８年１２月５日に出願された米国非仮出願第１６／２１１，１００号の優先権を主張し、これは、２０１８年６月８日に出願された米国仮出願第６２／６８２，６６９号の利益を主張し、参照により本明細書に完全に組み込まれる。
【０００２】
本開示は、ファイル共有に関する。
【背景技術】
【０００３】
多様なネットワークベースのファイル共有サービスは、ピアツーピア（Ｐ２Ｐ）またはクラウドベースのいずれにせよ、ユーザが互いにファイルを共有することを可能にする。例えば、そのようなサービスのいくつかは、Ｎａｐｓｔｅｒ、ＢｉｔＴｏｒｒｅｎｔ、Ｄｒｏｐｂｏｘ、Ｂｏｘ、Ｅｇｎｙｔｅ、Ｇｏｏｇｌｅ  Ｄｒｉｖｅ、Ｍｉｃｒｏｓｏｆｔ  ＯｎｅＤｒｉｖｅ、Ｍｉｃｒｏｓｏｆｔ  ＳｈａｒｅＰｏｉｎｔ、Ｍｉｃｒｏｓｏｆｔ  Ｔｅａｍｓ、Ｓｌａｃｋ、Ａｐｐｌｅ  ｉＣｌｏｕｄなどを含む。これらのサービスは、多くの状況での使用に対して普及しているが、これらのサービスが不十分であるいくつかの状況が存在する。特に、これらのサービスは、多様な事前定義されたワークフローに基づいて、多様な事前定義されたユーザグループ間で安全かつ選択的に多様なファイルを共有することができない。例えば、多様なワークフローの状況に対して文書の許可が重要である、文書オンボーディング状況では、大抵のユーザが、ローカルまたはクラウドベースのいずれにせよ、関連文書について多数の電子メールおよびファイルディレクトリを探索することになる。これは、面倒でコストがかかり、不安定かつ時間のかかるものである。
【０００４】
実施形態において、サーバによって、第１のクライアント上で動作している第１のアプリケーションにユーザインターフェースを供給することであって、ユーザインターフェースが、第１の主体識別子、第２の主体識別子、アクション識別子、およびファイルの選択を受信するように構成される、供給することと、サーバによって、第１のアプリケーションから第１の主体識別子、第２の主体識別子、およびアクション識別子を受信することと、サーバによって、選択に基づいてファイルのコピーを受信することと、サーバによって、タスク識別子、データ構造、および文書識別子を生成することと、サーバによって、タスク識別子でデータ構造をグループ化することと、サーバによって、文書識別子が第１の主体識別子、第２の主体識別子、およびアクション識別子にマッピングされるように、データ構造に文書識別子、第１の主体識別子、第２の主体識別子、およびアクション識別子を投入することと、サーバによって、第２のクライアント上で動作している第２のアプリケーションとのセッションをホストすることであって、セッションが、第２の主体識別子およびアクション識別子に関連付けられる、ホストすることと、サーバによって、セッションに関連付けられた第２の主体識別子およびセッションに関連付けられたアクション識別子がデータ構造内の第２の主体識別子およびデータ構造内のアクション識別子に合致することに基づいて、セッションの間第２のアプリケーションをタスク識別子に関連付けることと、サーバによって、コピーがデータ構造内の文書識別子に基づいて第２のアプリケーションにより検索可能となるように、タスク識別子に基づいてセッションの間コピーを第２のアプリケーションと共有することと、を含む方法が提供される。
【図面の簡単な説明】
【０００５】
【図１】本開示による、ネットワークトポロジの実施形態の概略図である。
【図２】本開示による、データ編成の実施形態の概略図である。
【図３】本開示による、コピーされたファイルへのアクセスを認可するプロセスの実施形態のフローチャートである。
【図４】本開示による、文書識別子および複数のタグを記憶するデータ構造の実施形態の概略図である。
【図５】本開示による、ファイルへのアクセスを受信するプロセスの実施形態のフローチャートである。
【図６Ａ】本開示による、複数の項目識別子、複数のカテゴリ識別子、および複数のタイプ識別子に関連付けられたファイルに基づいて、規則のセットに対して進捗を追跡する技術の実施形態のフローチャートおよび一対のスクリーンショットを示す図である。
【図６Ｂ】本開示による、複数の項目識別子、複数のカテゴリ識別子、および複数のタイプ識別子に関連付けられたファイルに基づいて、規則のセットに対して進捗を追跡する技術の実施形態のフローチャートおよび一対のスクリーンショットを示す図である。
【図６Ｃ】本開示による、複数の項目識別子、複数のカテゴリ識別子、および複数のタイプ識別子に関連付けられたファイルに基づいて、規則のセットに対して進捗を追跡する技術の実施形態のフローチャートおよび一対のスクリーンショットを示す図である。
【図７Ａ】本開示による、進捗詳細を更新する技術の実施形態のフローチャートおよび一対のスクリーンショットを示す図である。
【図７Ｂ】本開示による、進捗詳細を更新する技術の実施形態のフローチャートおよび一対のスクリーンショットを示す図である。
【図７Ｃ】本開示による、進捗詳細を更新する技術の実施形態のフローチャートおよび一対のスクリーンショットを示す図である。
【図８】本開示による、ブロックチェーンに追加するプロセスの実施形態のフローチャートである。
【図９】本開示による、データ構造に基づいてスマートコントラクトを実行するプロセスの実施形態のフローチャートである。
【図１０】本開示による、人工知能（ＡＩ）プロセスによりデータ構造を読み出すプロセスの実施形態のフローチャートである。
【図１１】本開示による、ユーザグループに属するものに基づくデータ構造に関するユーザアクションについてのプロセスの実施形態のフローチャートである。
【図１２】本開示による、文書識別子と複数のタグとの間のマッピングを記憶するデータ構造に基づいて動作するユーザインターフェースの実施形態の複数のスクリーンショットを示す図である。
【図１３】本開示による、文書識別子と複数のタグとの間のマッピングを記憶するデータ構造に基づいて動作するユーザインターフェースの実施形態の複数のスクリーンショットを示す図である。
【図１４】本開示による、文書識別子と複数のタグとの間のマッピングを記憶するデータ構造に基づいて動作するユーザインターフェースの実施形態の複数のスクリーンショットを示す図である。
【図１５】本開示による、文書識別子と複数のタグとの間のマッピングを記憶するデータ構造に基づいて動作するユーザインターフェースの実施形態の複数のスクリーンショットを示す図である。
【図１６】本開示による、文書識別子と複数のタグとの間のマッピングを記憶するデータ構造に基づいて動作するユーザインターフェースの実施形態の複数のスクリーンショットを示す図である。
【図１７】本開示による、文書識別子と複数のタグとの間のマッピングを記憶するデータ構造に基づいて動作するユーザインターフェースの実施形態の複数のスクリーンショットを示す図である。
【図１８】本開示による、文書識別子と複数のタグとの間のマッピングを記憶するデータ構造に基づいて動作するユーザインターフェースの実施形態の複数のスクリーンショットを示す図である。
【図１９】本開示による、文書識別子と複数のタグとの間のマッピングを記憶するデータ構造に基づいて動作するユーザインターフェースの実施形態の複数のスクリーンショットを示す図である。
【図２０】本開示による、文書識別子と複数のタグとの間のマッピングを記憶するデータ構造に基づいて動作するユーザインターフェースの実施形態の複数のスクリーンショットを示す図である。
【図２１】本開示による、文書識別子と複数のタグとの間のマッピングを記憶するデータ構造に基づいて動作するユーザインターフェースの実施形態の複数のスクリーンショットを示す図である。
【図２２】本開示による、文書識別子と複数のタグとの間のマッピングを記憶するデータ構造に基づいて動作するユーザインターフェースの実施形態の複数のスクリーンショットを示す図である。
【図２３Ａ】本開示による、複数ユーザ共有技術の実施形態の複数のスクリーンショットを示す図である。
【図２３Ｂ】本開示による、複数ユーザ共有技術の実施形態の複数のスクリーンショットを示す図である。
【図２３Ｃ】本開示による、複数ユーザ共有技術の実施形態の複数のスクリーンショットを示す図である。
【図２３Ｄ】本開示による、複数ユーザ共有技術の実施形態の複数のスクリーンショットを示す図である。
【図２３Ｅ】本開示による、複数ユーザ共有技術の実施形態の複数のスクリーンショットを示す図である。
【図２３Ｆ】本開示による、複数ユーザ共有技術の実施形態の複数のスクリーンショットを示す図である。
【図２３Ｇ】本開示による、複数ユーザ共有技術の実施形態の複数のスクリーンショットを示す図である。
【図２３Ｈ】本開示による、複数ユーザ共有技術の実施形態の複数のスクリーンショットを示す図である。
【図２３Ｉ】本開示による、複数ユーザ共有技術の実施形態の複数のスクリーンショットを示す図である。
【発明を実施するための形態】
【０００６】
概して、本開示は、多様な事前定義されたワークフローに基づいて、多様な事前定義されたユーザグループ間で安全かつ選択的に多様なファイルを共有するための多様なコンピューティング技術を可能にする。事前定義された各ワークフローについて、ファイルは、多様な文書識別子および多様なメタデータタグを記憶するデータ構造に基づいて共有され、文書識別子は、メタデータタグにマッピングされる。したがって、これらのコンピューティング技術は、金融、会計、法律、法執行、軍事、知能、教育、製造、医学、取引前クライアントオンボーディングなどの多くの分野におけるオンボーディングなど、多様な状況において使用され得る。本開示は、次いで図１〜図２３Ｉを参照してより完全に説明され、図１〜図２３Ｉには、本開示のいくつかの実施形態が示されている。しかしながら、本開示は、多くの異なる形態で具現化されてもよく、本明細書に開示される実施形態のみに必ず限定されると解釈されるべきではない。むしろ、本開示が、充分かつ完全となり、本開示の多様なコンセプトを当業者に完全に伝達するように、これらの実施形態が提供される。
【０００７】
本明細書で使用される多様な用語は、直接的または間接的な、完全または部分的な、一時的または永続的な、作動または不作動を示唆し得ることに留意されたい。例えば、要素が、別の要素に対し「上にある」、「接続される」、または「連結される」というとき、その要素が、直接的に他の要素の上にあるか、他の要素に接続されるか、もしくは他の要素に連結されてもよく、または間接または直接の変形を含む介在要素が存在してもよい。これに対して、要素が別の要素に「直接接続される」または「直接連結される」というとき、介在要素は存在しない。
【０００８】
同様に、本明細書で使用される、「または」という用語は、排他的な「または」ではなく、包含的な「または」を意味するように意図される。即ち、特段の指定がなく、または文脈から明白でない限り、「ＸはＡまたはＢを使用する」は、当然の包含的並べ替えのいずれかを意味するように意図される。即ち、ＸがＡを使用する、ＸがＢを使用する、またはＸがＡおよびＢの両方を使用する場合、「ＸはＡまたはＢを使用する」が、前述の場合のいずれかの下で満たされる。
【０００９】
同様に、本明細書で使用される、多様な単数形「ａ」、「ａｎ」、および「ｔｈｅ」は、文脈が明らかにそうでないことを示していない限り、多様な複数形も同様に含むように意図される。例えば、本明細書において「１つまたは複数の」という語句も使用されているとしても、「ａ」または「ａｎ」という用語は、「１つまたは複数の」を意味するものとする。
【００１０】
さらに、「備える（ｃｏｍｐｒｉｓｅｓ）」、「含む（ｉｎｃｌｕｄｅｓ）」、または「備えている（ｃｏｍｐｒｉｓｉｎｇ）」、「含んでいる（ｉｎｃｌｕｄｉｎｇ）」という用語は、本明細書で使用されるとき、述べられた特徴、整数、ステップ、動作、要素、またはコンポーネントの存在を明示するが、１つまたは複数の他の特徴、整数、ステップ、動作、要素、コンポーネント、またはそれらのグループの存在および／または追加を排除するものではない。さらに、本開示が、何かが他の何か「に基づく」と述べるとき、そのような記述は、１つまたは複数の他のものにも同様に基づき得る根拠を指す。言い換えると、明示的にそうでないと示されない限り、本明細書で使用される「に基づく」は、「少なくとも一部基づく」または「少なくとも部分的に基づく」を含むように意味する。
【００１１】
さらに、第１、第２などの用語は、多様な要素、コンポーネント、領域、レイヤ、またはセクションを説明するために本明細書で使用され得るが、これらの要素、コンポーネント、領域、レイヤ、またはセクションは、そのような用語によって必ずしも限定されるべきではない。むしろ、これらの用語は、１つの要素、コンポーネント、領域、レイヤ、またはセクションを別の要素、コンポーネント、領域、レイヤ、またはセクションと区別するために使用される。したがって、以下で議論される第１の要素、コンポーネント、領域、レイヤ、またはセクションは、本開示から逸脱することなく、第２の要素、コンポーネント、領域、レイヤ、またはセクションと呼ばれ得る。
【００１２】
また、特段の定義がない限り、本明細書で使用される（技術的および科学的用語を含む）全ての用語は、本開示が属する技術分野の当業者によって通常理解されるのと同一の意味を有する。したがって、通常使用される辞書において定義される用語などの用語は、関連技術の文脈におけるそれらの意味と一貫した意味を有するものとして解釈されるべきであり、本明細書で明示的にそのように定義されない限り、理想化された、または過度に形式的な意味に解釈されるべきではない。
【００１３】
図１は、本開示による、ネットワークトポロジの実施形態の概略図を示す。特に、ネットワークトポロジ１００は、コンポーネントベースで、ハードウェアベースまたはソフトウェアベースのいずれにせよ、ロジックにおいて実施される。例えば、ロジックがハードウェアベースであるとき、そのようなロジックは、プログラミングまたは設計などによりそれぞれのコンポーネントの機能性を実施するように構成される、プロセッサ、メモリ、入力デバイス、出力デバイス、または他のハードウェアなどの回路を含み得る。同様に、ロジックがソフトウェアベースであるとき、そのようなロジックは、実行時に、実行またはコンパイルなどによりそれぞれのコンポーネントの機能性を実施する、アセンブリコード、機械コード、オブジェクトコード、ソースコード、または任意の他の種類の命令などの命令を含み得る。また、ネットワークトポロジ１００の少なくとも１つのコンポーネントが、サービスとして実施され得ることに留意されたい。さらに、ネットワークトポロジ１００の少なくとも２つのコンポーネントが、１つのコンピューティングシステム／ハードウェア／デバイス上でホストされ得るか、またはそれぞれが個別にホストされ得ることに留意されたい。
【００１４】
ネットワークトポロジ１００は、リソース／サービスを提供するサーバと、リソース／サービスを要求するクライアントとの間でタスク／作業負荷を割り当てる分散型ネットワーク動作モデルに基づく。サーバおよびクライアントは、異なるコンピュータ／アプリケーションを示しているが、いくつかの実施形態では、サーバおよびクライアントは、１つのシステム／デバイス／フレームワーク／プラットフォーム／アプリケーションに存在するか、または１つのシステム／デバイス／フレームワーク／プラットフォーム／アプリケーションである。さらに、いくつかの実施形態では、トポロジ１００は、多数のリソースを少数のコンピュータに割り当てることを伴い、その場合に、クライアントの複雑性は、どのくらいの計算が少数のコンピュータにオフロードされるかに依存する。即ち、クライアントからサーバ上にオフロードされる計算が多いほど、ネットワークソースにより依存し、ローカルコンピューティングリソースにあまり依存しないといった、より軽いクライアントをもたらす。他のコンピューティングモデルも同様に可能であることに留意されたい。例えば、そのようなモデルは、Ｐ２Ｐシステム、例えばＢｉｔＴｏｒｒｅｎｔなどの非集中型コンピューティング、またはコンピュータが単一のシステムとして見なされ得るようにネットワーク化コンピュータのセットが共に作動するコンピュータクラスタなどによる分散型コンピューティングを含み得る。
【００１５】
ネットワークトポロジ１００は、ネットワーク１０２、クライアント１０４、クライアント１０６、サーバ１１０、およびデータベース１４６を含む。クライアント１０４は、オペレーティングシステム（ＯＳ）１１２およびＯＳ１１２上で動作するブラウザ１１８をホストする。クライアント１０６は、ＯＳ１１４およびＯＳ１１４上で動作するブラウザ１２０をホストする。サーバ１１０は、ＯＳ１１６およびＯＳ１１６上で動作するアプリケーション１２２をホストする。アプリケーション１２２は、ブロックチェーンロジック１２４、インターフェースロジック１２６、メッセージングロジック１２８、エクスポートロジック１３０、ストレージロジック１３２、レポーティングロジック１３４、メタデータロジック１３６、進捗ロジック１３８、権限ロジック１３８、探索ロジック１４０、許可ロジック１４２、および通知ロジック１４４をホストし、それらのいずれか１つは、モジュール、オブジェクト、ルーチン、スクリプト、ライブラリなどであってもよい。
【００１６】
ネットワーク１０２は、リソースまたは情報の共有を可能にする複数の通信チャネルを介して相互接続される、コンピュータまたは他のハードウェアの集合などの、複数のノードを含む。このような相互接続は、直接または間接であってもよい。ネットワーク１０２は、有線または無線であってもよい。ネットワーク１０２は、暗号化状態または未暗号化状態のいずれにせよ、短距離または長距離を経た通信を可能にし得る。ネットワーク１０２は、イーサネット、伝送制御プロトコル（ＴＣＰ）／インターネットプロトコル（ＩＰ）などの、少なくとも１つのネットワークプロトコルを介して動作し得る。ネットワーク１０２は、パーソナルエリアネットワーク（ＰＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、ホームエリアネットワーク、ストレージエリアネットワーク（ＳＡＮ）、キャンパスエリアネットワーク、バックボーンネットワーク、メトロポリタンエリアネットワーク、ワイドエリアネットワーク（ＷＡＮ）、エンタープライズ私設ネットワーク、仮想私設ネットワーク（ＶＰＮ）、仮想ネットワーク、衛星ネットワーク、コンピュータクラウドネットワーク、インターネットワーク、セルラネットワークなどのように、任意の規模を有し得る。ネットワーク１０２は、イントラネットもしくはエクストラネットであってもよく、またはイントラネットもしくはエクストラネットを含んでもよい。ネットワーク１０２は、インターネットであってもよく、またはインターネットを含んでもよい。ネットワーク１０２は、サブネットワークまたは個別ネットワークのいずれにせよ、構造または動作においてネットワーク１０２と一致するかまたは異なるかのいずれにせよ、他のネットワークを含んでもよく、または、他のネットワークとの通信を可能にしてもよい。ネットワーク１０２は、ハードウェアベースまたはソフトウェアベースのいずれにせよ、コンピュータ、ネットワークインターフェースカード、リピータ、ハブ、ブリッジ、スイッチ、エクステンダ、アンテナ、またはファイアウォールなどのハードウェアを含み得る。ネットワーク１０２は、直接的または間接的に、主体もしくは行為者によって、または主体もしくは行為者に代わって、本開示の任意の内容に対するいかなる関係にも関わりなく、動作され得る。
【００１７】
クライアント１０４、１０６は、端末、キオスク、ワークステーション、陸上用、海上用、または空中用のいずれを問わず乗り物、デスクトップ、ラップトップ、タブレット、携帯電話、メインフレーム、スーパーコンピュータ、サーバファームなどとして具現化され得る。クライアント１０４、１０６は、マウス、キーボード、前向きもしくは後ろ向きのいずれを問わずカメラ、加速度計、タッチスクリーン、生体測定リーダ、クリッカー、マイクロフォン、または任意の他の適当な入力デバイスなどの、入力デバイスを含み得るか、または連結され得る。クライアント１０４、１０６は、ディスプレイ、スピーカ、ヘッドフォン、ジョイスティック、プリンタ、または任意の他の適当な出力デバイスなどの出力デバイスを含み得るか、または連結され得る。いくつかの実施形態では、入力デバイスおよび出力デバイスが、触覚であり得るタッチ対応ディスプレイなどの１つのユニット内に具現化されてもよい。ＯＳ１１２、１１４は、ＭａｃＯＳ、Ｗｉｎｄｏｗｓ、Ａｎｄｒｏｉｄ、Ｕｎｉｘ、Ｌｉｎｕｘなどの任意の種類のＯＳであってもよい。ブラウザ１１８、１２０は、Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ、Ｍｏｚｉｌｌａ  Ｆｉｒｅｆｏｘ、Ｇｏｏｇｌｅ  Ｃｈｒｏｍｅ、Ａｐｐｌｅ  Ｓａｆａｒｉ、Ｍｉｃｒｏｓｏｆｔ  Ｅｄｇｅ、Ａｍａｚｏｎ  Ｓｉｌｋなどの任意の種類のブラウザであってもよい。ＯＳ１１２、１１４は、本開示に従って使用され得る他のアプリケーションを動作させ得ることに留意されたい。そのようなアプリケーションのいくつかの例は、Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄ、Ｍｉｃｒｏｓｏｆｔ  Ｅｘｃｅｌ、Ａｄｏｂｅ  Ａｃｒｏｂａｔなどの生産性アプリケーション、ディレクトリがＯＳ１１２、１１４のローカルまたはリモートのいずれにせよ、Ｗｉｎｄｏｗｓ  Ｅｘｐｌｏｒｅｒ、ＭａｃＯＳ  Ｆｉｎｄｅｒ、コマンドプロンプトなどのディレクトリナビゲーションアプリケーションを含む。クライアント１０４、１０６は、ブラウザ１１８、１２０を介するなどしてネットワーク１０２と通信するか、またはブラウザ１１８、１２０を介するなどしてネットワーク１１０を通してサーバ１１０と通信する。いくつかの実施形態において、クライアント１０４、１０６は、サーバ１１０と直接通信し、それによって、ネットワーク１０２をバイパスする。１０、１００、または１０００のクライアントあるいはそれ以上などの、２つより多くのクライアント１０４、１０６が、ハードウェアまたはソフトウェア構成において互いに一致するかまたは異なるかのいずれにせよ、同様に使用され得ることに留意されたい。
【００１８】
サーバ１１０は、端末、キオスク、ワークステーション、陸上用、海上用、または空中用のいずれにせよ乗り物、デスクトップ、ラップトップ、タブレット、携帯電話、メインフレーム、スーパーコンピュータ、サーバファームなどとして具現化され得る。サーバ１１０は、マウス、キーボード、前向きもしくは後ろ向きのいずれを問わずカメラ、加速度計、タッチスクリーン、生体測定リーダ、クリッカー、マイクロフォン、または任意の他の適当な入力デバイスフォンなどの、入力デバイスを含み得るか、または連結され得る。サーバ１１０は、ディスプレイ、スピーカ、ヘッドフォン、ジョイスティック、プリンタ、または任意の他の適当な出力デバイスなどの出力デバイスを含み得るか、または連結され得る。いくつかの実施形態では、入力デバイスおよび出力デバイスが、触覚であり得るタッチ対応ディスプレイなどの１つのユニット内に具現化されてもよい。ＯＳ１１６は、ＭａｃＯＳ、Ｗｉｎｄｏｗｓ、Ａｎｄｒｏｉｄ、Ｕｎｉｘ、Ｌｉｎｕｘなどの任意の種類のＯＳであってもよい。サーバ１１０は、単一のサーバ、またはウェブサーバ、アプリケーションサーバ、データベースサーバ、仮想サーバなどの間に分散されているサーバ１１０などの複数のサーバであってもよい。
【００１９】
アプリケーション１１２は、ブロックチェーンロジック１２４、インターフェースロジック１２６、メッセージングロジック１２８、エクスポートロジック１３０、ストレージロジック１３２、レポーティングロジック１３４、メタデータロジック１３６、進捗ロジック１３８、権限ロジック１３８、探索ロジック１４０、許可ロジック１４２、および通知ロジック１４４によって命令されるように動作する。いくつかの実施形態では、ブロックチェーンロジック１２４、インターフェースロジック１２６、メッセージングロジック１２８、エクスポートロジック１３０、ストレージロジック１３２、レポーティングロジック１３４、メタデータロジック１３６、進捗ロジック１３８、権限ロジック１３８、探索ロジック１４０、許可ロジック１４２、または通知ロジック１４４のうちの少なくとも１つが、アプリケーション１１２、ＯＳ１１６、またはサーバ１１０のうちの少なくとも１つの外部にある。さらに、ブロックチェーンロジック１２４、インターフェースロジック１２６、メッセージングロジック１２８、エクスポートロジック１３０、ストレージロジック１３２、レポーティングロジック１３４、メタデータロジック１３６、進捗ロジック１３８、権限ロジック１３８、探索ロジック１４０、許可ロジック１４２、および通知ロジック１４４のうちの少なくとも２つが、単一のロジックであり得る。さらに、アプリケーション１１２は、ブロックチェーンロジック１２４、インターフェースロジック１２６、メッセージングロジック１２８、エクスポートロジック１３０、ストレージロジック１３２、レポーティングロジック１３４、メタデータロジック１３６、進捗ロジック１３８、権限ロジック１３８、探索ロジック１４０、許可ロジック１４２、および通知ロジック１４４に関してモジュール型であるが、アプリケーション１１２は、オブジェクト指向、モノリシックなどの非モジュール型であり得ることに留意されたい。
【００２０】
データベース１４６は、サーバ１１０からホストされる。いくつかの実施形態では、サーバ１１０は、アプリケーション１２２の内部またはアプリケーション１２２の外部のいずれにせよ、ＯＳ１１６を介するなどしてデータベース１４６をホストする。データベース１４６は、全部または一部において、レコードを生成すること、レコードを修正すること、レコードを取り出すこと、レコードを探索すること、レコードを識別すること、レコードを削除すること、レコードをソートすることなどの多様なデータベース動作に対して構成される。例えば、多様なデータベース入力（Ｉ）／出力（Ｏ）動作のいくつかは、読み出し、書き込み、編集、削除、更新、探索、選択、マージ、ソート、消去、フォーマットなどを含む。データベース１４６は、生の状態、フォーマットされた状態、編成された状態、または任意の他のアクセス可能な状態のいずれにせよ、データを記憶し、直接および／または間接のいずれにせよ、そのようなデータへのアクセスを可能にする。データベース１４６は、単一の機械または複数の機械上のいずれにホストされるにせよ、単一のデータセンタまたは複数のデータセンタ間での分散型のいずれにせよ、単一のデータベースまたは複数のデータベースであり得る。データベース１４６は、リレーショナルデータベース、非リレーショナルデータベース、ポストリレーショナルデータベース、インメモリデータベース、ハイブリッドデータベース、拡張マークアップ言語（ＸＭＬ）データベース、並列データベース、分散型データベース、グラフデータベース、モバイルデータベース、動作データベース、確率的データベース、リアルタイムデータベース、空間的データベース、時間的データベース、オブジェクト指向データベース、非構造化データデータベース、用語指向（ｔｅｒｍｉｎｏｌｏｇｙ  ｏｒｉｅｎｔｅｄ）データベースなどのうちの少なくとも１つを含み得る。
【００２１】
動作の１つのモードにおいて、以下でさらに説明されるように、ネットワーク１００のトポロジは、多様な事前定義されたワークフローに基づいて、多様な事前定義されたユーザグループ間で安全かつ選択的に多様なファイルを共有するための技術を実行するように構成される。事前定義された各ワークフローについて、ファイルは、多様な文書識別子および多様なメタデータタグを記憶するデータ構造に基づいて共有され、文書識別子は、メタデータタグにマッピングされる。
【００２２】
図２は、本開示による、データ編成の実施形態の概略図を示す。多様な事前定義されたワークフローに基づいて多様な事前定義されたユーザグループ間で安全かつ選択的に多様なファイルを共有するために、以下でさらに説明されるように、アプリケーション１２２は、スキーマ２００に従ってデータ編成に基づき維持または動作する。特に、スキーマ２００は、主体識別子２０２、アクション識別子２０４、項目識別子２０６、カテゴリ識別子２０８、タイプ識別子２１０、タスク識別子２１２、および文書識別子２１４を含む。主体識別子２０２、アクション識別子２０４、項目識別子２０６、カテゴリ識別子２０８、タイプ識別子２１０、タスク識別子２１２、および文書識別子２１４のそれぞれは、アルファベット、数字、アルファベットと数字の組み合わせ、グリフィック（ｇｌｙｐｈｉｃ）、バーコード、絵文字、もしくはマーク、または任意の他の編成構成における任意の他の情報形式のセット、シーケンス、用語、集合、グループ、文字列、または他の情報ユニットを含む。句読記号または句読点が含まれ得ることに留意されたい。主体識別子２０２、アクション識別子２０４、項目識別子２０６、カテゴリ識別子２０８、タイプ識別子２１０、タスク識別子２１２、および文書識別子２１４のそれぞれは、国際標準化機構（ＩＳＯ）フォーマットなどの事前定義されたフォーマット、もしくは複数のＩＳＯフォーマットなどのフォーマットの組み合わせに従って生成され得るか、またはランダムに生成され得る。主体識別子２０２、アクション識別子２０４、項目識別子２０６、カテゴリ識別子２０８、タイプ識別子２１０、タスク識別子２１２、および文書識別子２１４のそれぞれは、アプリケーションに関して、互いに関して、またはその特定の識別子集合もしくは識別子タイプもしくは識別子フォーマットに関して一意であってもよい。
【００２３】
スキーマ２００は、主体識別子２０２、アクション識別子２０４、項目識別子２０６、カテゴリ識別子２０８、タイプ識別子２１０、タスク識別子２１２、および文書識別子２１４の間の複数の線によって示される論理フォーマットを含む。特に、論理フォーマットに従って、主体識別子２０２がアクション識別子２０４と１対多対応となるように、主体識別子２０２は、アクション識別子２０４と階層的に関連する。例えば、主体識別子２０２は、多くのアクション識別子２０４を階層的に有し得る。さらに、論理フォーマットに従って、アクション識別子２０４が項目識別子２０６と１対多対応となるように、アクション識別子２０４は、項目識別子２０６と階層的に関連する。例えば、アクション識別子２０４は、多くの項目識別子２０６を階層的に有し得る。さらに、論理フォーマットに従って、項目識別子２０６がカテゴリ識別子２０８と１対多対応となるように、項目識別子２０６は、カテゴリ識別子２０８と階層的に関連する。例えば、項目識別子２０６は、多くのカテゴリ識別子２０８を階層的に有し得る。追加的に、論理フォーマットに従って、カテゴリ識別子２０８がタイプ識別子２１０と１対多対応となるように、カテゴリ識別子２０８は、タイプ識別子２１０と階層的に関連する。例えば、カテゴリ識別子２０８は、多くのタイプ識別子２１０を階層的に有し得る。
【００２４】
まとめると、論理フォーマットに従って、タスク識別子２１２が、主体識別子２０２、アクション識別子２０４、および項目識別子２０６のそれぞれと１対多対応となるように、主体識別子２０２、アクション識別子２０４、および項目識別子２０６は、タスク識別子２１２でグループ化される。例えば、タスク識別子２１２は、多くの主体識別子２０２、多くのアクション識別子２０４、および多くの項目識別子２０６でグループ化され得る。いくつかの実施形態では、タスク識別子２１２が、１対多対応で、カテゴリ識別子２０８またはタイプ識別子２１０のうちの少なくとも１つでグループ化され得る。例えば、タスク識別子２１２は、多くのカテゴリ識別子２０８または多くのタイプ識別子２１０でグループ化され得る。さらにまとめると、論理フォーマットに従って、文書識別子２１４が、主体識別子２０２、アクション識別子２０４、項目識別子２０６、カテゴリ識別子２０８、およびタイプ識別子２１０のそれぞれと１対多対応となるように、主体識別子２０２、アクション識別子２０４、項目識別子２０６、カテゴリ識別子２０８、およびタイプ識別子２１０は、文書識別子２１４でグループ化される。例えば、文書識別子２１４は、多くの主体識別子２０２、多くのアクション識別子２０４、多くの項目識別子２０６、多くのカテゴリ識別子２０８、および多くのタイプ識別子２１０でグループ化され得る。また、まとめると、論理フォーマットに従って、タスク識別子２１２は、１対多対応で文書識別子２１４でグループ化される。例えば、タスク識別子２１２は、多くの文書識別子２１４でグループ化され得る。
【００２５】
主体識別子２０２は、クライアント１０４、１０６を操作するユーザのグループに対応する。例えば、主体識別子２０２は、ユーザＡおよびユーザＢを含むグループに対応してもよく、ユーザＡはクライアント１０４に対応し、ユーザＢはクライアント１０６に対応する。したがって、権限ロジック１３８は、アプリケーション１２２が主体識別子２０２に基づいて多様なユーザのグループ間を区別することを可能にする。例えば、主体識別子２０２が組織に対応する場合、クライアント１０４、１０６を操作する、その組織の多様な従業員が、ユーザのグループである。例えば、主体識別子は、ＩＳＯ規格１７４４２によって定義されるような取引主体識別子（ＬＥＩ）を含んでもよく、ＬＥＩは、２０文字のアルファベットと数字を組み合わせた文字列を含み、その最初の４文字のシーケンスは、ＬＥＩを発行したローカルオペレーティングユニット（ＬＯＵ）を識別し、５文字目および６文字目は、「００」として予約され、７〜１８文字目は、ＬＯＵによって主体に割り当てられる固有のアルファベットと数字を組み合わせた文字列であり、最後の２文字は、チェックサム桁である。
【００２６】
アクション識別子２０４は、主体識別子２０２に関連付けられるアクションに対応する。アクション識別子２０４は、入力として主体識別子２０２に依存し得るか、または主体識別子２０２に依存するようにハードコードされ得る。例えば、金融の文脈において、アクション識別子２０４は、新たなファンド開始、即ちＮＦＬなどであってもよい。したがって、主体識別子２０２がＬＥＩを含む場合、アクション識別子２０４は、文字列ＮＦＬを含んでもよく、主体識別子２０２は、１対多対応でアクション識別子２０４に対応する。
【００２７】
項目識別子２０６は、アクション識別子２０４に関連付けられる項目に対応する。項目識別子２０６は、入力としてアクション識別子２０４に依存し得るか、またはアクション識別子２０４に依存するようにハードコードされ得る。例えば、金融の文脈において、項目識別子２０６は、ファンド識別子、即ちファンドＩＤまたはＦＩＤなどであってもよい。したがって、主体識別子２０２がＬＥＩを含み、かつアクション識別子２０４が文字列ＮＦＬを含み、主体識別子２０２が１対多対応でアクション識別子２０４に対応する場合、項目識別子２０６は、文字列ＦＩＤを含んでもよく、アクション識別子２０４は、１対多対応で項目識別子２０６に対応する。
【００２８】
カテゴリ識別子２０８は、項目識別子２０６に関連付けられる製品に対応する。項目識別子２０８は、入力として項目識別子２０６に依存し得るか、または項目識別子２０６に依存するようにハードコードされ得る。例えば、金融の文脈において、カテゴリ識別子２０８は、製品識別子、即ち製品ＩＤまたはＰＩＤなどであってもよい。したがって、主体識別子２０２がＬＥＩを含み、かつアクション識別子２０４が文字列ＮＦＬを含み、主体識別子２０２が１対多対応でアクション識別子２０４に対応し、項目識別子２０６が文字列ＦＩＤを含んでもよく、アクション識別子２０４が１対多対応で項目識別子２０６に対応する場合、カテゴリ識別子２０８は、文字列ＰＩＤを含んでもよく、項目識別子２０６は、１対多対応でカテゴリ識別子２０８に対応する。
【００２９】
タイプ識別子２１０は、以下でさらに説明されるように、カテゴリ識別子２０８および共有されるファイルに関連付けられる文書タイプに対応する。タイプ識別子２１０は、カテゴリ識別子２０８に依存し得るか、またはカテゴリ識別子２０８に依存するようにハードコードされ得る。例えば、金融の文脈において、タイプ識別子２１０は、国際スワップデリバティブ協会（ＩＳＤＡ）契約、即ちＩＳＤＡＡなどの文字列であってもよい。したがって、主体識別子２０２がＬＥＩを含み、かつアクション識別子２０４が文字列ＮＦＬを含み、主体識別子２０２が１対多対応でアクション識別子２０４に対応し、項目識別子２０６が文字列ＦＩＤを含んでもよく、アクション識別子２０４が１対多対応で項目識別子２０６に対応し、カテゴリ識別子２０８が文字列ＰＩＤを含んでもよく、項目識別子２０６が１対多対応でカテゴリ識別子２０８に対応する場合、タイプ識別子２１０は、文字列ＩＳＤＡＡを含んでもよく、カテゴリ識別子２０８は、１対多対応でタイプ識別子２１０に対応する。
【００３０】
タスク識別子２１２は、以下でさらに説明されるように、ファイルがそれに基づいて共有されるタスクに対応する。タスク識別子２１２は、主体識別子、アクション識別子２０４、または項目識別子２０６のうちの少なくとも１つに基づいて生成され得る。例えば、金融の文脈において、タスク識別子２１２は、新たなファンド開始４１、即ちＮＦＬ００００４１などの文字列であってもよい。したがって、主体識別子２０２がＬＥＩを含み、かつアクション識別子２０４が文字列ＮＦＬを含み、主体識別子２０２が１対多対応でアクション識別子２０４に対応し、項目識別子２０６が文字列ＦＩＤを含んでもよく、アクション識別子２０４が１対多対応で項目識別子２０６に対応し、カテゴリ識別子２０８が文字列ＰＩＤを含んでもよく、項目識別子２０６が１対多対応でカテゴリ識別子２０８に対応し、タイプ識別子２１０が文字列ＩＳＤＡＡを含んでもよく、カテゴリ識別子２０８が１対多対応でタイプ識別子２１０に対応する場合、タスク識別子２１２は、主体識別子２０２、アクション識別子２０４、および項目識別子２０６のそれぞれが１対多対応で対応するＮＦＬ００００４１であってもよい。例えば、多くの主体識別子２０２は、タスク識別子２１２、ＮＦＬ００００４１に対応してもよく、多くのアクション識別子２０４は、タスク識別子２１２、ＮＦＬ００００４１に対応してもよく、多くの項目識別子は、タスク識別子２１２、ＮＦＬ００００４１に対応してもよい。
【００３１】
文書識別子２１４は、共有されているファイルに対応する。文書識別子２１４は、ファイル内の文書のテキストもしくはパターンなどのファイルのコンテンツに基づいて、またはファイル名、読み出しもしくは最終アクセスもしくは修正もしくは生成の日付もしくはタイムスタンプ、ファイルサイズなどのファイルの特性に基づいて、あるいはそのいずれでもなくランダムになどで生成されてもよい。例えば、文書識別子２１４は、文字列ＡＫ２４！％ａｓｆＬｍ＠＄１ｆａなどを含んでもよい。
【００３２】
したがって、主体識別子２０２がＬＥＩを含み、かつアクション識別子２０４が文字列ＮＦＬを含み、主体識別子２０２が１対多対応でアクション識別子２０４に対応し、項目識別子２０６が文字列ＦＩＤを含んでもよく、アクション識別子２０４が１対多対応で項目識別子２０６に対応し、カテゴリ識別子２０８が文字列ＰＩＤを含んでもよく、項目識別子２０６が１対多対応でカテゴリ識別子２０８に対応し、タイプ識別子２１０が文字列ＩＳＤＡＡを含んでもよく、カテゴリ識別子２０８が１対多対応でタイプ識別子２１０に対応し、タスク識別子２１２が主体識別子２０２、アクション識別子２０４、および項目識別子２０６のそれぞれが１対多対応で対応するＮＦＬ００００４１、およびカテゴリ識別子２０８であってもよい場合、文書識別子２１４、ＡＫ２４！％ａｓｆＬｍ＠＄１ｆａは、主体識別子２０２、アクション識別子２０４、項目識別子２０６、カテゴリ識別子２０８、タイプ識別子２１０、およびタスク識別子２１２のそれぞれと１対多対応で対応してもよい。例えば、主体識別子２０２に対する多くの文書識別子２１４、多くの文書識別子２１４が、アクション識別子２０４に対応してもよく、多くの文書識別子２１４が、項目識別子２０６に対応してもよく、多くの文書識別子２１４が、カテゴリ識別子２０８に対応してもよく、多くの文書識別子２１４が、タイプ識別子２１０に対応してもよく、多くの文書識別子２１４が、タスク識別子２１２に対応してもよい。
【００３３】
図３は、本開示による、コピーされたファイルへのアクセスを認可するプロセスの実施形態のフローチャートを示す。プロセス３００は、ネットワークトポロジ１００によって実行される。
【００３４】
ブロック３０２において、インターフェースロジック１２６は、ネットワーク１０２を経てブラウザ１１８にグラフィカルユーザインターフェース（ＧＵＩ）を提示する。ＧＵＩは、テキストフィールド、ドロップダウンボックス、ラジオボタン、スライダなどの入力要素のセットを表す。例えば、ＧＵＩは、ウェブページなどの少なくとも１つのページ上に提示されるメニュー、フォーム、または質問事項を含み得る。入力要素のセットは、マウス、物理または仮想のいずれにせよキーボード、タッチパッド、トラックボール、カメラ、マイクロフォンなどの入力デバイスを介するなどしてユーザデータエントリのために準備されている。インターフェースロジック１２６は、クライアント１０４が権限ロジック１３８による認証のための名前およびパスワードをサーバ１１０に送信することに基づいて、ＧＵＩを提示する。例えば、名前およびパスワードのそれぞれが、アルファベットと数字を組み合わせた文字列、写真、生体測定などを含み得る。したがって、サーバ１１０は、アプリケーション１２２がブラウザ１１８と通信することに基づいて、クライアント１０４とのセッションをホストし得る。セッションが、ハイパーテキスト転送プロトコルセキュア（ＨＴＴＰＳ）プロトコルなどを介するなどの、安全なセッションであり得ることに留意されたい。
【００３５】
ブロック３０４において、インターフェースロジック１２６は、第１の主体識別子、アクション識別子、項目識別子、カテゴリ識別子、タイプ識別子、およびコピーされたファイルをブラウザ１１８から受信する。図２を参照すると、第１の主体識別子は、主体識別子２０２に対応し、アクション識別子はアクション識別子２０４に対応し、項目識別子は、項目識別子２０６に対応し、カテゴリ識別子はカテゴリ識別子２０８に対応し、タイプ識別子は、タイプ識別子２１０に対応する。したがって、第１の主体識別子は、１対多対応でアクション識別子に対応し得る。ブラウザ１１８とアプリケーション１２２との間のセッションは、第１の主体識別子、およびアクション識別子、項目識別子、カテゴリ識別子などのその他のものに関連付けられ得ることに留意されたい。例えば、ブラウザ１１８は、ファイルについての許可を第２のユーザに認可し得る第１のユーザなどの、第１の主体識別子に関連付けられたユーザグループに属するかまたは対応するユーザ信用証明書のセットに基づいて、サーバ１１０にログインし得る。この場合、第１のユーザは、ブラウザ１１８を操作しており、第２のユーザは、第１の主体識別子または別の主体識別子に関連付けられ、許可は、読み出し許可、書き込み許可などを含み得る。しかしながら、ブラウザ１１８とアプリケーション１２２との間のセッションが、第１のユーザ識別子に関連付けされなくてもよいことに留意されたい。例えば、ブラウザ１１８は、第１の主体識別子に関連付けされていないユーザグループに属するかまたは対応するユーザ信用証明書のセットに基づいて、サーバ１１０にログインしてもよく、その場合に、ブラウザ１１８のユーザは、第１の主体識別子を含めた複数の主体識別子間の第三者またはマッチメーカとしての役割をする。例えば、金融の文脈において、この状況は、ブローカのクライアントとブローカの決済銀行との間で口座を設定するブローカ（第１の主体識別子）の間で発生し得る。
【００３６】
コピーされたファイルは、ファイルがコピー前にクライアント１０４上に記憶されるかまたはクライアント１０４もしくはブラウザ１１８にアクセス可能であるかのいずれにせよ、クライアント１０４から受信され、あるいはＮａｐｓｔｅｒ、ＢｉｔＴｏｒｒｅｎｔ、Ｄｒｏｐｂｏｘ、Ｂｏｘ、Ｅｇｎｙｔｅ、Ｇｏｏｇｌｅ  Ｄｒｉｖｅ、Ｍｉｃｒｏｓｏｆｔ  ＯｎｅＤｒｉｖｅ、Ｍｉｃｒｏｓｏｆｔ  Ｓｈａｒｅｐｏｉｎｔ、Ｍｉｃｒｏｓｏｆｔ  Ｔｅａｍｓ、Ｓｌａｃｋ、Ａｐｐｌｅ  ｉＣｌｏｕｄなど、Ｐ２Ｐまたはクラウドベースのいずれにせよ、ネットワークベースのファイル共有サービスを介するなどしてクライアント１０４からリモートのデータソースから受信される。例えば、ファイルは、コピー前にクライアント１０４のローカルに記憶されてもよく、またはコピー前にクライアント１０４からリモートに記憶されてもよい。例えば、コピーされたファイルは、コピー前にファイルのユーザ選択に基づいてブラウザ１１８から受信されてもよい。例えば、コピーされたファイルは、ローカルまたはリモートのいずれにせよ、ファイルのユーザ選択に基づいてクライアント１０４からリモートの、ネットワークベースのファイル共有サービスなどのデータソースから受信されてもよい。コピーされたファイルは、パスワード保護されているかまたはパスワード保護されていないかのいずれにせよ、Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄファイル、Ｍｉｃｒｏｓｏｆｔ  Ｅｘｃｅｌファイル、Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ（ＰＤＦ）ファイル、画像ファイル、音声ファイル、プレーンテキストファイル、設定ファイルといった生産性文書ファイルなどのデータファイルであってもよいことに留意されたい。同様に、コピーされたファイルは、Ｗｉｎｄｏｗ環境において実行可能であるか、または分散型環境を含む他のＯＳ環境において実行可能であるかのいずれにせよ、．ＢＡＴファイル、．ＣＯＭファイル、．ＥＸＥファイル、．ＢＩＮファイル、スマートコントラクトファイルなどの実行可能ファイルであってもよいことに留意されたい。受信されると、コピーされたファイルは、サーバ１１０のローカルに、またはサーバ１１０からリモートに記憶されてもよい。例えば、コピーされたファイルは、ストレージロジック１３２によって管理されるように、データベース１４６によって記憶され得る。サーバ１１０は、コピーされたファイルを受信したときに、ウイルスまたは他のマルウェアについてコピーされたファイルをチェックし得ることに留意されたい。サーバ１１０が、コピーされたファイルがウイルスを含むことを検出する場合、サーバ１１０は、そのことをクライアント１０４に通知し、コピーされたファイルをサーバ１１０から削除し得る。
【００３７】
ブロック３０６において、メタデータロジック１３６は、第１の主体識別子、アクション識別子、項目識別子、およびカテゴリ識別子と関連付けられるように、タスク識別子を生成する。図２に関して、タスク識別子は、タスク識別子２１２に対応する。例えば、タスク識別子は、アクション識別子に基づいて生成されてもよい。したがって、タスク識別子を、１対多対応で第１の主体識別子でグループ化すること、１対多対応でアクション識別子でグループ化すること、１対多対応で項目識別子でグループ化すること、および１対多対応でカテゴリ識別子でグループ化することに基づいて、タスク識別子は、第１の主体識別子、アクション識別子、項目識別子、およびカテゴリ識別子に関連付けられる。
【００３８】
ブロック３０８において、メタデータロジック１３６は、コピーされたファイルのための文書識別子を生成する。図２に関して、文書識別子は、文書識別子２１４に対応する。上記で説明されたように、メタデータロジック１３６は、コピーされたファイルのコンテンツまたはコピーされたファイルの特性に基づいて、あるいはそのいずれでもなくランダムになどで、文書識別子を生成し得る。
【００３９】
ブロック３１０において、メタデータロジック１３６は、文書識別子が第１の主体識別子、アクション識別子、項目識別子、カテゴリ識別子、およびタイプ識別子にマッピングされるように、データ構造に投入する。データ構造は、メタデータロジック１３６により使用するために、その時点で前から存在していてもよく、またはその時点に生成されてもよいことに留意されたい。メタデータロジック１３６は、先入れ先出し方式（ＦＩＦＯ）または後入れ先出し方式（ＬＩＦＯ）などのいずれにせよ、データ構造内への書き込みによってデータ構造に投入し得る。例えば、文書識別子が、第１の主体識別子、アクション識別子、項目識別子、カテゴリ識別子、およびタイプ識別子にマッピングされるように、文書識別子、第１の主体識別子、アクション識別子、項目識別子、カテゴリ識別子、およびタイプ識別子が、データ構造内に書き込まれ得る。例えば、データ構造に記憶された第１の主体識別子、第２の主体識別子、およびアクション識別子は、メタデータタグであってもよく、またはメタデータタグを含んでもよい。データ構造は、テーブル、単層ファイル、ベクトル、木、連結リスト、キュー、スタック、デキュー、マトリクス、アレイ、ハッシュ、ヒープ、マルチマップ、４分木、グラフなどのうちの少なくとも１つを含み得る。データ構造がデータベースを含むとき、データベースは、リレーショナルデータベース、インメモリデータベース、非ＳＱＬデータベースなどを含み得る。したがって、データ構造は、１対多対応で第１の主体識別子のそれぞれ、１対多対応でアクション識別子のそれぞれ、１対多対応で項目識別子のそれぞれ、１対多対応でカテゴリ識別子のそれぞれ、および１対多対応でタイプ識別子のそれぞれにマッピングされる文書識別子を記憶する。例えば、文書識別子がタスク識別子にマッピングされるように、またはタスク識別子が文書識別子にマッピングされるように、データ構造には、タスク識別子が投入され得る。
【００４０】
データ構造は、その形状またはそのサイズのうちの少なくとも１つに関して静的または動的であってもよいことに留意されたい。例えば、データ構造がテーブルを含むとき、テーブルは、いくつかの列およびいくつかの行を含む。したがって、いくつかの列またはいくつかの行は、静的または動的であってもよい。同様に、データ構造は、事前定義された順序または事前定義されたセル構成のうちの少なくとも１つにおいて、第１の主体識別子、アクション識別子、項目識別子、カテゴリ識別子、およびタイプ識別子を記憶してもよい。例えば、データ構造がテーブルを含むとき、事前定義された順序は、主体識別子がアクション識別子より順序的に先行し、アクション識別子が項目識別子より順序的に先行することなどを要求し得る。例えば、データ構造がテーブルを含むとき、事前定義されたセル構成は、主体識別子が指定されたアドレス可能なセル（または列もしくは行）に投入され、アクション識別子が指定されたアドレス可能なセル（または列もしくは行）に投入されることを要求し得る。しかしながら、いくつかの実施形態において、データ構造は、事前定義された順序または事前定義されたセル構成のうちの少なくとも１つにおいて、第１の主体識別子、アクション識別子、項目識別子、カテゴリ識別子、およびタイプ識別子を記憶しない。
【００４１】
ブロック３１２において、メタデータロジック１３６は、タスク識別子をデータ構造に関連付ける。例えば、このような関連付けは、タスク識別子でデータ構造をグループ化することによって、発生し得る。例えば、このような関連付けは、データ構造がそれに関連付けられる構造識別子を有し、かつタスク識別子が構造識別子にマッピングされることによってマッピングが発生し得るときなどに、タスク識別子をデータ構造にマッピングするハッシュテーブルを形成することによって、発生し得る。例えば、このような関連付けは、タスク識別子が文書識別子上に１対多対応などでマッピングされるようにデータ構造内にタスク識別子を書き込むことによって、発生し得る。
【００４２】
ブロック３１４において、インターフェースロジック１２６は、ブラウザ１１８を介して提示されるＧＵＩが第２の主体識別子を入力することを可能にする。図２を参照すると、第２の主体識別子は、主体識別子２０２に対応する。第２の主体識別子が第１の識別子と一致し得るか、または異なり得ることに留意されたい。例えば、第２の主体識別子は、共通のユーザグループ内で共有されるときなどに第１の主体識別子と一致してもよく、または異なるユーザグループ間で共有されるときなどに第１の主体識別子と異なっていてもよい。例えば、第２の主体識別子は、クライアント１０６に関連付けられてもよい。その結果、メニューは、上記で説明されたように、ユーザデータエントリのために準備されている入力要素のセットを提示するため、第２の主体識別子は、マウス、物理または仮想のいずれにせよキーボード、タッチパッド、トラックボール、カメラ、マイクロフォンなどの、クライアント１０４の入力デバイスを介して入力され得る。上記で説明されたように、ブラウザ１１８が、第１の主体識別子（第１の送信者）または第３の主体識別子（２つの主体識別子間のマッチメーカ）に関連付けられ得ることに留意されたい。また、第１の主体識別子または第２の主体識別子のうちの少なくとも１つが、それらの識別子がコンテンツ、フォーマットなどにおいて互いに一致するかまたは異なるかのいずれにせよ、取引主体識別子を含み得ることに留意されたい。タスク識別子が第１の主体識別子または第２の主体識別子のうちの少なくとも１つに基づいて生成され得ることに留意されたい。
【００４３】
ブロック３１６において、メタデータロジック１３６は、タスク識別子を第２の主体識別子に関連付ける。例えば、このような関連付けは、タスク識別子で第２の主体識別子をグループ化することによって発生し得る。同様に、例えば、このような関連付けは、タスク識別子を第２の主体識別子にマッピングするハッシュテーブルを形成することによって発生し得る。同様に、例えば、このような関連付けは、文書識別子が第２の主体識別子にマッピングされ、かつタスク識別子が文書識別子にマッピングされるように、第２の主体識別子をデータ構造内に書き込むことによって発生し得る。第２の主体識別子は、１対多対応でアクション識別子に対応し得ることに留意されたい。
【００４４】
ブロック３１８において、許可ロジック１４２は、タスク識別子を介して第２の主体識別子に基づき、コピーされたファイルをユーザと共有する。ユーザは、ユーザがクライアント１０６のブラウザ１２０を操作すること、およびそれによってサーバ１１０とのセッションをホストすることに基づいて、第２の主体識別子（および本明細書に開示された他の識別子）に関連付けられ得る。セッションが、ＨＴＴＰＳプロトコルなどを介するといった、安全なセッションであり得ることに留意されたい。セッションの間、ユーザは、第２の主体識別子（および他の識別子）を、ブラウザ１２０によって提示されるＧＵＩに入力する。ユーザは、マウス、物理または仮想のいずれにせよキーボード、タッチパッド、トラックボール、カメラ、マイクロフォンなどの、クライアント１０６の入力デバイスを介して第２の主体識別子（および他の識別子）を入力し得る。例えば、ＧＵＩは、メニュー、フォーム、質問事項などを含み得る。第２の主体識別子と関連付けられたユーザがインターフェースするＧＵＩが、第１の主体識別子と関連付けられたユーザがインターフェースするＧＵＩと一致してもよく、または異なってもよく、または同一のものであってもよいことに留意されたい。
【００４５】
ユーザが第２の主体識別子（および本明細書に開示された他の識別子）に関連付けられ、かつタスク識別子が第１の識別子および第２の識別子に対応することに基づいてタスク識別子が第１の主体識別子および第２の主体識別子（ならびに本明細書に開示された他の識別子）に対応すると、許可ロジック１４２は、文書識別子に基づいてコピーされたファイルを共有し得る。例えば、第２の主体識別子に関連付けられたユーザが、ハイパーリンクをアクティブ化することによってコピーされたファイルにアクセスし得るように、許可ロジック１４２は、ハイパーリンクを有するメッセージを第１の主体識別子に関連付けられたユーザから第２の主体識別子に関連付けられたユーザに送信することによって、コピーされたファイルを共有し得る。メッセージは、メッセージングロジック１２８によって送信および受信されてもよく、通知ロジック１４４によって通知されてもよい。リンクがアクティブ化されると、サーバ１１０は、ストレージロジック１３２を介するなどして、第１の主体識別子および第２の主体識別子（ならびに本明細書に開示された他の識別子）に対応するタスク識別子にアクセスし、タスク識別子に対応する文書識別子を識別し、コピーされたファイルを文書識別子に基づいてリポジトリから取り出し、コピーされたファイルを第２の主体識別子に関連付けられたユーザに利用させ得る。したがって、コピーされたファイルは、ブラウザ１２０上でのハイパーリンクの提示によって、セッションの間ブラウザ１２０と共有され得る。その場合、コピーされたファイルは、セッションの間、ブラウザ１２０を介してハイパーリンクのアクティブ化に基づいて開かれるかまたはダウンロードされるかのうち少なくとも１つが行われる。
【００４６】
メッセージが、電子メッセージ、テキストメッセージ、オーバーザトップ（ＯＴＴ）メッセージ、ソーシャルネットワーキングメッセージなどを含み得ることに留意されたい。さらに、アクセスが、読み取り権、書き込み権などであり得ることに留意されたい。さらに、ブラウザ１１８が、第２の主体識別子に関連付けられたユーザがブラウザ１１８への入力を提供することに基づいて、クライアント１０６上に記憶されたクッキー（ｃｏｏｋｉｅ）を介するなどして、セッションの間タスク識別子に関連付けられてもよく、その場合、上記で説明されたように、入力が主体識別子、アクション識別子、項目識別子、カテゴリ識別子などを含み得ることに留意されたい。同様に、例えば、上記で説明されたように、ユーザが第２の主体識別子（および他の識別子）に関連付けられる場合、ならびにタスク識別子が、第１の主体識別子および第２の主体識別子に対応するタスク識別子に基づいて、第１の主体識別子および第２の主体識別子に対応する場合に、許可ロジック１４２は、コピーされたファイルに対応するアイコンがクライアント１０６のブラウザ１２０上に提示されるＧＵＩ内に現れることによって、コピーされたファイルを共有してもよく、ブラウザ１２０は、第２の主体識別子に対応するユーザに関連付けられ、コピーされたファイルは、クリック、タッチなどによってアイコンをアクティブ化することによってアクセスされ得る。アイコンがアクティブ化されると、サーバ１１０は、第１の主体識別子および第２の主体識別子（ならびに本明細書に開示された他の識別子）に対応するタスク識別子にアクセスし、タスク識別子に対応する文書識別子を識別し、コピーされたファイルを文書識別子に基づいてリポジトリから取り出し、コピーされたファイルを第２の主体識別子に関連付けられたユーザに利用させ得る。したがって、上記で説明されたように、サーバ１１０は、ユーザ入力としてセッションに関連付けられた第２の主体識別子、およびユーザ入力としてセッションに関連付けられたアクション識別子が、データ構造内の第２の主体識別子およびデータ構造内のアクション識別子に合致することに基づいて、セッションの間、ブラウザ１２０をタスク識別子に関連付け得る。セッションに関連付けられた項目識別子およびセッションに関連付けられたカテゴリ識別子がデータ構造内の項目識別子およびデータ構造内のカテゴリ識別子に合致することに基づいて、ブラウザ１２０が、セッションの間タスク識別子に関連付けられ得ることに留意されたい。その結果、コピーされたファイルが、データ構造内に記憶された文書識別子に基づいてブラウザ１２０により検索可能となるように、サーバ１１０は、タスク識別子に基づいてセッションの間コピーされたファイルをブラウザ１２０と共有する。コピーされたファイルが、少なくとも３つ以上など、２つより多くの主体識別子と共有され得ることに留意されたい。例えば、金融の文脈において、上記で説明されたように、これは、アセットマネージャ、ファンド管理者、および証券保管機関を含み得る。さらに、上記で説明されたように、サーバ１１０が、セッションの間コピーされたファイルをブラウザ１２０と共有する前に、コピーされたファイルを重複排除し得ることに留意されたい。例えば、コピーされたファイルは、第１の主体識別子、第２の主体識別子、アクション識別子、またはタスク識別子のうちの少なくとも１つに基づいて重複排除され得る。例えば、コピーされたファイルは、少なくとも第１の主体識別子、アクション識別子、およびタスク識別子または第２の主体識別子のうちの少なくとも１つに基づいて、重複排除され得る。例えば、コピーされたファイルは、第１の主体識別子、アクション識別子、タスク識別子、第２の主体識別子、および項目識別子またはカテゴリ識別子のうちの少なくとも１つに基づいて、重複排除され得る。
【００４７】
いくつかの実施形態において、サーバ１１０は、ウェブサーバ、アプリケーションサーバ、およびデータベースサーバを含む。上記で説明されたように、ウェブサーバは、ブラウザ１１８上にＧＵＩを供給し、第１の主体識別子、第２の主体識別子、アクション識別子、およびコピーを受信する。アプリケーションサーバは、タスク識別子、データ構造、および文書識別子を生成する。アプリケーションサーバは、タスク識別子でデータ構造をグループ化する。文書識別子が第１の主体識別子、第２の主体識別子、およびアクション識別子にマッピングされるように、アプリケーションサーバは、データ構造に文書識別子、第１の主体識別子、第２の主体識別子、およびアクション識別子を投入する。ウェブサーバは、ブラウザ１２０とのセッションをホストし、アプリケーションサーバは、セッションに関連付けられた第２の主体識別子およびセッションに関連付けられたアクション識別子が、データ構造内の第２の主体識別子およびデータ構造内のアクション識別子と合致することに基づいて、セッションの間ブラウザ１２０をタスク識別子に関連付ける。アプリケーションサーバは、データベースサーバを介してブラウザ１２０とコピーを共有する。データベースサーバは、コピーを記憶する。
【００４８】
図４は、本開示による、文書識別子および複数のタグを記憶するデータ構造の実施形態の概略図を示す。データ構造４００は、複数の行４０２、４０４、４０６および複数の列４０８、４１０、４１２、４１４、４１６を有するテーブルとして提示され、それによって、複数のアドレス可能なセル（図示されるように１５個であるが、より多くまたはより少ないものも可能である）を有するグリッドを定義する。アドレス可能なセルのそれぞれが、本明細書に開示される識別子に対応するメタデータタグを記憶する。したがって、行４０２は、文書識別子３９８ｌａｋ＠！＄ｓｄｊｌａｋｓ、タグ１（第１の主体識別子）、タグ２（第２の主体識別子）、タグ３（アクション識別子）を記憶する。行４０２は、空のセルを含み、そこにはタグ４が投入され得ることに留意されたい。同様に、行４０４は、文書識別子４３！５％＃ａｌｋｓｎ、タグ１（第１の主体識別子）、タグ２（第２の主体識別子）、タグ３（アクション識別子）、タグ４（項目識別子）を含む。行４０２および行４０４は、投入されたセルの量が異なるが、行４０２および行４０４は、投入されたセルの量が異ならなくてもよいことに留意されたい。上記で説明されたように、データ構造４００は、その形状またはそのサイズのうちの少なくとも１つに関して静的または動的であってもよい。例えば、行４０２、４０４、４０６または列４０８、４１０、４１２、４１４、４１６は、数が静的または動的であってもよい。同様に、データ構造４００は、事前定義された順序または事前定義されたセル構成のうちの少なくとも１つにおいてタグのセットを記憶してもよい。例えば、事前定義された順序は、主体識別子（タグ１およびタグ２）がアクション識別子（タグ３）より順序的に先行すること、ならびにアクション識別子（タグ３）が項目識別子（タグ４）より順序的に先行することなどを要求し得る。例えば、事前定義されたセル構成は、主体識別子（タグ１およびタグ２）が指定されたアドレス可能なセル（列４１０および列４１２）に投入されること、ならびにアクション識別子が指定されたアドレス可能なセル（列４１４）に投入されることを要求し得る。しかしながら、いくつかの実施形態において、データ構造４００は、事前定義された順序または事前定義されたセル構成のうちの少なくとも１つにおいてタグのセットを記憶しない。
【００４９】
図５は、本開示による、ファイルへのアクセスを受信するプロセスの実施形態のフローチャートを示す。プロセス５００は、ネットワークトポロジ１００によって実行される。
【００５０】
ブロック５０２において、上記で説明されたように、インターフェースロジック１２６はＧＵＩをブラウザに提示する。
【００５１】
ブロック５０４において、上記で説明されたように、インターフェースロジック１２６は、ＧＵＩを介して複数の識別子を受信する。上記で説明されたように、識別子は、第１の主体識別子、第２の主体識別子、アクション識別子、項目識別子、カテゴリ識別子、タイプ識別子などを含み得る。
【００５２】
ブロック５０６において、上記で説明されたように、許可ロジック１４２はデータ構造にアクセスする。上記で説明されたように、データ構造が、文書識別子、メタデータタグ、および文書識別子とメタデータタグとの間のマッピングを記憶する。上記で説明されたように、文書識別子は、１対多対応でメタデータタグにマッピングされ得る。メタデータタグは、識別子の少なくとも１つに対応する情報を含む。例えば、そのような情報は、アルファベットと数字を組み合わせたフォーマット、絵で表したフォーマット、音声フォーマット、バーコードフォーマット、または任意の他の記号表現もしくは記号ではない表現で記憶され得る。上記で説明されたように、データ構造は、タスク識別子に既に関連付けられている。例えば、このような関連付けは、タスク識別子がデータ構造内に記憶され、かつ文書識別子上に１対多対応でマッピングされることによって、発生し得る。例えば、このような関連付けは、タスク識別子がデータ構造の外部に記憶され、かつデータ構造にリンクされまたは関連するオブジェクトであることによって、発生し得る。したがって、データ構造は、タスク識別子に基づいて、即ちＧＵＩを介して受信される識別子がタスク識別子で事前にグループ化された複数の識別子に対応することに基づいて、アクセスされる。
【００５３】
ブロック５０８において、探索ロジック１４０は、入力として、タグと識別子の少なくとも１つとの間の合致を求めてデータ構造を探索する。例えば、データ構造が複数のメタデータタグを記憶するとき、およびブラウザが第１の主体識別子、第２の主体識別子、アクション識別子、項目識別子、カテゴリ識別子、およびタイプ識別子を受信するとき、探索ロジック１４０は、それらの識別子とタグとの間の合致を求めてデータ構造を探索する。探索ロジック１４０は、力まかせ探索アルゴリズム、線形探索アルゴリズム、二分探索アルゴリズム、木探索アルゴリズム、確率的探索アルゴリズム、深さ探索アルゴリズム、幅探索アルゴリズムなどのうちの少なくとも１つを採用し得る。探索ロジック１４０は、並列で（識別子とタグとの間の合致を同時に探索）または直列で（識別子とタグとの間の合致を順次探索）、合致を検索し得る。
【００５４】
ブロック５１０において、探索ロジック１４０は、タグと識別子のうちの少なくとも１つとの間の合致を識別する。例えば、合致は、タグと、第１の主体識別子、第２の主体識別子、アクション識別子、タスク識別子、項目識別子、またはカテゴリ識別子のうちの少なくとも１つとの間で識別され得る。
【００５５】
ブロック５１２において、許可ロジック１４２は、識別子のうちの少なくとも１つに合致される、タグに関連付けられた規則のセットにアクセスする。規則のセットは、そのタグに関連付けられる事前定義されたワークフロー、およびそのタグに対応するタスク識別子に対応する。規則のセットは、ＧＵＩがブラウザを操作するユーザにどのように提示されるかを制御し得る。例えば、規則のセットは、どの出力要素が提示されるかおよびその中もしくはその間のコンテンツ／ロジック、またはどの入力要素が提示されるかおよびその中もしくはその間のコンテンツ／ロジックを制御し得る。例えば、許可ロジック１４２は、タスク識別子に対応する規則のセットを識別し得る。
【００５６】
ブロック５１４において、ストレージロジック１３２が、データ構造内のマッピングに基づいて文書識別子に対応するファイルを取り出すように、許可ロジック１４２は、ストレージロジック１３２とインターフェースする。例えば、文書識別子が識別されてもよく、ファイルが取り出される。ストレージロジック１３２は、データベース１４６からファイルを取り出す。ファイルは、タグとタスク識別子のための識別子のうちの少なくとも１つとの間の合致に基づいて、文書識別子を介して取り出される。即ち、合致が識別されると、そのタグに対応する文書識別子が識別され、文書識別子を介してファイルが取り出される。
【００５７】
ブロック５１６において、インターフェースロジック１２６は、規則のセットに基づいてブラウザを介してＧＵＩを提示する。したがって、ＧＵＩは、規則のセットに基づいて再生成または修正され得る。例えば、様々な入力要素および出力要素は、規則のセットに基づいて提示され、多様な対応するコンテンツ／ロジックが、提示され、または多様な入力要素および出力要素に連結される。
【００５８】
ブロック５１８において、上記で説明されたように、ファイルが規則のセットに基づいてＧＵＩを介して利用されるように、インターフェースロジック１２６は、許可ロジック１４２と通信する。例えば、ファイルが、ハイパーリンクをアクティブ化することによって、またはＧＵＩの中に現れるファイルに対応するアイコンによってアクセスされ、その場合に、ファイルが、クリック、タッチなどによりアイコンをアクティブ化することによってアクセスされように、許可ロジック１４２は、ハイパーリンクを有するメッセージを提示することによってファイルを共有し得る。
【００５９】
図６Ａ〜図６Ｃは、本開示による、複数の項目識別子、複数のカテゴリ識別子、および複数のタイプ識別子に関連付けられたファイルに基づいて、規則のセットに対して進捗を追跡する技術の実施形態のフローチャートおよび一対のスクリーンショットを示す。プロセス６００Ａは、ネットワークトポロジ１００によって実行される。
【００６０】
ブロック６０２において、上記で説明されたように、インターフェースロジック１２６は、ブラウザのユーザによって前もって入力された複数の識別子に基づいて前もって形成されるように、タスク識別子に基づいてＧＵＩ６００Ｂ、６００Ｃを提示する。識別子は、主体識別子、アクション識別子、複数の項目識別子、複数のカテゴリ識別子などを含む。ＧＵＩ６００Ｂ、６００Ｃは、第１のページハイパーリンク６１２および第２のページハイパーリンク６１４を、それらの間で選択的に切り替え可能なように表す。
【００６１】
ブロック６０４において、インターフェースロジック１２６は、主体識別子、アクション識別子、項目識別子、およびカテゴリ識別子に基づいて、ＧＵＩ６００Ｂ、６００Ｃに複数の文字列を投入する。文字列は、主体識別子、アクション識別子、項目識別子、およびカテゴリ識別子に対応する。例えば、文字列は、ユーザ対話機能に役立つように、受動的または能動的（ハイパーリンクされた）のいずれにせよ、ラベルであってもよい。
【００６２】
ブロック６０６において、第１のページハイパーリンク６１２が選択されたときに、ＧＵＩ６００Ｂが項目識別子およびカテゴリ識別子に基づいて表形式メニュー６１０を提示するように、インターフェースロジック１２６は、メタデータロジック１３６および進捗ロジック１３８と通信する。表形式メニュー６１０は、複数の列および複数の行を含み、それによって、データベース１４６に記憶された複数のファイルに関して項目識別子およびカテゴリ識別子に対応する複数の値を含むグリッドを定義する。表形式メニュー６１０において、上記で説明されたように、前もって入力した通り、行は、項目識別子に対応し、列は、カテゴリ識別子、複数のタイプ識別子、および他の識別子に対応する。
【００６３】
表形式メニュー６１０は、また、上記で説明されたように、規則のセットに基づいて存在または不在の閾値（２値）を満たすファイルに関する項目識別子に対応するチェックボックスベースのグリッド６１６を提示する。上記で説明されたように、規則のセットがタスク識別子に対応することに留意されたい。また、チェックボックスベースのグリッド６１６が、項目識別子のそれぞれについての一時停止ボタンおよび再生ボタンを含み、一時停止ボタンが、そのそれぞれの項目識別子に対する進捗分析を一時停止し、再生ボタンが、そのそれぞれの項目識別子に対する進捗分析を有効状態に維持することに留意されたい。したがって、上記で説明されたように、項目識別子のそれぞれについて、ファイルがアップロードおよびタグ付けされると、チェックボックスベースのグリッド６１６は、規則のセットに対して判定されるように完成される。いくつかの実施形態において、チェックボックスベースのグリッド６１６は、ブラウザ１１８またはブラウザ１２０によってリアルタイムに手動で更新されてもよく、それによって、チェックボックスベースのグリッド６１６は、ブラウザ１１８またはブラウザ１２０の少なくとも１つに対して視覚的に更新される。
【００６４】
ＧＵＩ６００Ｂ、６００Ｃが、チェックボックスベースのグリッド６１６が完成されることに基づいてリアルタイムで動的に更新されるパイ型バー（ｐｉｅ  ｂａｒ）６２０を表すことに留意されたい。パイ型バー６２０は、タスク識別子に関連付けられることに留意されたい。
【００６５】
さらに、ＧＵＩ６００Ｂ、６００Ｃが、タスク識別子に基づきメッセージングロジック１２８を介して管理されるように、メッセージングインターフェース６２２を含むことに留意されたい。例えば、メッセージングインターフェース６２２は、タスク識別子でグループ化される、第１の主体識別子に関連付けられたユーザと第２の主体識別子に関連付けられたユーザとの間で、タスク識別子に基づいてブラウザ１１８とブラウザ１２０との間の内部メッセージング通信を可能にする。したがって、上記で説明されたように、メッセージングロジック１２８は、コピーされたファイルがセッションの間ブラウザ１２０と共有された後で、タスク識別子に基づいてセッションの間ブラウザ１１８とブラウザ１２０との間の内部メッセージングサービスを可能にする。いくつかの実施形態において、メッセージングインターフェース６２２は、ブラウザ１１８とブラウザ１２０との間の外部メッセージを可能にする。
【００６６】
上記で説明されたように、第２のページハイパーリンク６１４は、アップロードされかつタイプ識別子でカテゴリ化された、およびまだアップロードされていない、ファイルに対応する多様なカテゴリ識別子およびタイプ識別子を示す表形式メニュー６１８を提示する。表形式メニュー６１０およびチェックボックスベースのグリッド６１６１が、表形式メニュー６１８の値に基づくことに留意されたい。
【００６７】
ブロック６０８において、ＧＵＩ６００Ｂが、カテゴリ識別子およびタイプ識別子に基づいて項目識別子に関して表形式メニュー６１０を更新するように、インターフェースロジック１２６は、メタデータロジック１３６および進捗ロジック１３８と通信する。例えば、ファイルがＧＵＩ６００Ｃを介してアップロードされると、チェックボックスベースのグリッド６１６は、タスク識別子に対応する規則のセットに基づいてアップロードされる。したがって、パイ型バー６２０は、それに応じて更新される。したがって、サーバ１１０は、規則のセットに基づいて文書セットの完成度の状態をモニタリングし、セッションの間コピーされたファイルをブラウザ１２０と共有した後で、表形式メニュー６１０をブラウザ１１８またはブラウザ１２０に提示し得る。この場合に、表形式メニュー６１０は、規則のセットに基づいて項目識別子およびカテゴリ識別子に関して文書セットの完成度の状態を表すように構成される。
【００６８】
図７Ａ〜７Ｃは、本開示による、進捗詳細を更新する技術の実施形態のフローチャートおよび一対のスクリーンショットを示す。プロセス７００Ａは、ネットワークトポロジ１００によって実行される。
【００６９】
ブロック７０２において、上記で説明されたように、インターフェースロジック１２６は、ブラウザのユーザによって前もって入力された複数の識別子に基づいて前もって形成されるように、タスク識別子に基づいてＧＵＩ７００Ｂ、７００Ｃを提示する。識別子は、主体識別子、アクション識別子、複数の項目識別子、複数のカテゴリ識別子などを含む。ＧＵＩ７００Ｂ、７００Ｃは、その下部７１０を除いてＧＵＩ６００Ｂ、６００Ｃに類似している。下部７１０は、第１のページハイパーリンク７１２および第２のページハイパーリンク７１４を、それらの間で選択的に切り替え可能であるように含む。
【００７０】
ブロック７０４において、インターフェースロジック１２６は、主体識別子、アクション識別子、項目識別子、およびカテゴリ識別子に基づいて、ＧＵＩ７００Ｂ、７００Ｃに複数の文字列を投入する。文字列は、主体識別子、アクション識別子、項目識別子、およびカテゴリ識別子に対応する。例えば、文字列は、ユーザ対話機能に役立つように、受動的または能動的（ハイパーリンクされた）のいずれにせよ、ラベルであってもよい。
【００７１】
ブロック７０６において、ＧＵＩ７００Ｂ、７００Ｃが、第１のページハイパーリンク７１２が選択されると、項目識別子およびカテゴリ識別子に関連付けられた複数のタイプ識別子に基づいて（１）ＧＵＩ７００Ｂ上に表形式メニューを提示し、第２のページハイパーリンク７１４が選択されると、（２）ＧＵＩ７００Ｃ上に表形式メニューを提示するように、インターフェースロジック１２６は、メタデータロジック１３６と通信する。ＧＵＩ７００Ｂの表形式メニューおよびＧＵＩ７００Ｃの表形式メニューが、互いの間で動的にリンクされ、それによって一方における更新が、他方を更新し得ることに留意されたい。
【００７２】
上記で説明されたように、第１のページハイパーリンク７１２に関連付けられた表形式メニューは、進捗タスクリストとして動作し、ユーザ入力が、規則のセットに対して比較されるように、その特定の項目識別子およびその特定のカテゴリ識別子に関連付けられたタイプ識別子に対応するチェックボックスを選択することを可能にする。第２のページハイパーリンク７１４に関連付けられた表形式メニューは、文書リストとして動作し、ユーザが、特定の項目識別子および特定のカテゴリ識別子についての特定のファイルに対応する文書タイプを見ることを可能にし、ファイルアップロード時間／日付、ファイルアップロードに関連付けられた主体識別子、ファイルコメント、ファイルダウンロードリンクなどの、多様な文書関連情報を見ることも可能にする。
【００７３】
ブロック７０８において、ＧＵＩ７００Ｂ、７００Ｃが、第１のページハイパーリンク７１２、または入力がタイプ識別子に関連付けられた、第２のページハイパーリンク７１４に関連付けられた表形式メニューのうちの少なくとも１つへのユーザ入力に基づくタスク識別子に関して、第１のページハイパーリンク７１２に関連付けられた表形式メニューまたは第２のページハイパーリンク７１４に関連付けられた表形式メニューを更新するように、インターフェースロジック１２６は、メタデータロジック１３６と通信する。
【００７４】
図８は、本開示による、ブロックチェーンに追加するプロセスの実施形態のフローチャートを示す。プロセス８００は、ネットワークトポロジ１００によって実行される。
【００７５】
ブロック８０２において、上記で説明されたように、メタデータロジック１３６が、クライアントのブラウザから複数の識別子およびコピーされたファイルを受信するように、メタデータロジック１３６は、インターフェースロジック１２６と通信する。例えば、識別子は、主体識別子、アクション識別子、複数の項目識別子、複数のカテゴリ識別子などを含み得る。
【００７６】
ブロック８０４において、上記で説明されたように、メタデータロジック１３６は、コピーされたファイルのための文書識別子を生成する。
【００７７】
ブロック８０６において、上記で説明されたように、メタデータロジック１３６は、データ構造内に文書識別子を書き込む。
【００７８】
ブロック８０８において、上記で説明されたように、メタデータロジック１３６は、データ構造内に識別子を書き込む。
【００７９】
ブロック８１０において、上記で説明されたように、メタデータロジック１３６は、データ構造において文書識別子および識別子間のマッピングを形成する。
【００８０】
ブロック８１２において、ブロックチェーンロジック１２４が、マッピングに対応し得るブロックチェーンにブロックを挿入するように、メタデータロジック１３６は、ブロックチェーンロジック１２４と通信する。ブロックチェーンは、サーバ１１０のローカルであってもよく、またはサーバ１１０からリモートであってもよい。ブロックチェーンロジック１２４がデータ構造を読み出すと、ブロックチェーンロジック１２４は、マッピングに基づいてブロックを形成し得る。例えば、上記で説明されたように、ブロックは、識別子にマッピングする文書識別子を通知してもよく、その場合に、文書識別子は、識別子のそれぞれに対して１対多対応を有する。いくつかの実施形態において、ブロックは、データ構造に対応するタスク識別子、またはデータ構造内の文書識別子に対応するタスク識別子、または識別子もしくはデータ構造を伴う任意の他の論理関係の情報を与えるものであり得る。例えば、ブロックは、文書識別子とグループとの間のマッピングに基づいて生成され得る。グループは、第１の主体識別子、アクション識別子、タスク識別子、または第２の主体識別子のうちの少なくとも１つを含む。
【００８１】
ブロック８１４において、ブロックチェーンロジック１２４は、ブロックチェーン内のブロックを読み出す。
【００８２】
ブロック８１６において、ブロックチェーンロジック１２４は、ロジックがハードウェアベースであるかソフトウェアベースであるかのいずれにせよ、アクションをとるために、サーバ１１０にローカルな、またはサーバ１１０からリモートの任意のロジックと通信し得る。例えば、アクションは、データを読み出すこと、データを書き込むこと、データを選択すること、データを削除すること、データをフォーマットすること、メッセージをクライアントまたはサーバ１１０のローカルもしくはリモートのいずれにせよデータソースに送信または受信すること、サーバ１１０のローカルまたはリモートのいずれにせよ入力デバイスまたは出力デバイスと通信すること、などを含み得る。
【００８３】
図９は、本開示による、データ構造に基づいてスマートコントラクトを実行するプロセスの実施形態のフローチャートを示す。プロセス９００は、ネットワークトポロジ１００によって実行される。
【００８４】
ブロック９０２において、ブロックチェーンロジック１２４は、サーバ１１０のローカルまたはリモートのいずれにせよ、スマートコントラクトロジックにアクセスする。例えば、スマートコントラクトロジックは、イーサリアム（Ｅｔｈｅｒｅｕｍ）プラットフォームロジックを含んでもよい。例えば、スマートコントラクトロジックは、上記で説明されたように任意の識別子を含むか、または上記で説明されたように任意の識別子を除外するかのいずれにせよ、ファイルなどのデータ構造に記憶された関数、オブジェクトなどの多様な実行可能コードを含み得る。
【００８５】
ブロック９０４において、ブロックチェーンロジック１２４は、文書識別子、タグ、および１対多対応を含み得る文書識別子とタグとの間のマッピングを記憶するデータ構造に、スマートコントラクトロジックを連結する。そのような連結は、文書識別子、タグ、およびマッピングを記憶するデータ構造への読み取りアクセスを認可するためにブロックチェーンロジック１２４が許可ロジック１２４とインターフェースすること、または文書識別子、タグ、およびマッピングを記憶するデータ構造をサーバ１１０から別のサーバ上にアップロードするためにブロックチェーンロジック１２４が許可ロジック１２４とインターフェースすること、あるいはタスク識別子がデータ構造でグループ化されるときなどに、スマートコントラクトロジックが、データ構造のコンテンツまたはデータ構造に関連付けられたグループ化に基づいて機能することを可能にする別の動作方法を含み得る。文書識別子、タグ、およびマッピングを記憶するデータ構造が、サーバ１１０のローカルまたはリモートに記憶され得ることに留意されたい。
【００８６】
ブロック９０４において、ブロックチェーンロジック１２４は、スマートコントラクトロジックをデータ構造のコンテンツなどのデータ構造に基づいて実行させる。例えば、ブロックチェーンロジック１２４は、実行を承認もしくは要求してもよく、またはスマートコントラクトロジックへのデータ構造のための読み取りアクセスを拒否しなくてもよい。
【００８７】
図１０は、本開示による、人工知能（ＡＩ）プロセスによりデータ構造を読み出すプロセスの実施形態のフローチャートを示す。プロセス１０００は、ネットワークトポロジ１００によって実行される。
【００８８】
ブロック１００２において、上記で説明されたように、アプリケーション１２２は、文書識別子、タグ、および識別子とタグとの間のマッピングを記憶するデータ構造にアクセスする。
【００８９】
ブロック１００４において、アプリケーション１２２が、母集団パターン、ストレージパターン、編成パターン、日付／タイミングパターン、シーケンスパターン、タグパターン、タスクパターン、アクションパターン、項目パターン、カテゴリパターン、製品パターン、タイプパターン、識別子パターン、または任意の他のパターンもしくは分類、あるいはデータ構造内のそれらのうちのいずれかの不足をデータ構造のコンテンツに基づいて判断するように、アプリケーション１２２は、データ構造を読み出すために人工知能プロセスを採用する。例えば、人工知能プロセスは、任意のクラウドベース環境または分散型環境を含む、サーバ１１０のローカルまたはリモートのいずれにせよ、機械学習、画像処理、テキスト分析、リモートデータソースの問い合わせなどを使用し得る。
【００９０】
ブロック１００６において、アプリケーション１２２は、主体がハードウェアベースまたはソフトウェアベースのいずれにせよ、アクションをとるか、または別のロジック主体にアクションをとらせる。例えば、アクションは、データを読み出すこと、データを書き込むこと、データを選択すること、データを削除すること、データをフォーマットすること、メッセージをクライアント、またはサーバ１１０のローカルもしくはリモートのいずれにせよデータソースに送信または受信すること、サーバ１１０のローカルまたはリモートのいずれにせよ入力デバイスまたは出力デバイスと通信すること、などを含み得る。
【００９１】
図１１は、本開示による、ユーザグループに属するものに基づくデータ構造に関するユーザアクションについてのプロセスの実施形態のフローチャートを示す。プロセス１１００は、ネットワークトポロジ１００によって実行される。
【００９２】
ブロック１１０２において、上記で説明されたように、権限ロジック１３８は、ユーザがサーバ１１０とのセッションをホストするブラウザを操作することに基づいて、ユーザを認証する。セッションの間、上記で説明されたように、ユーザが、階層的に主体識別子の下に位置するか、または主体識別子に関連するユーザ識別子に関連付けられることに留意されたい。例えば、主体識別子は、それに階層的に関連付けられる複数のユーザ識別子を有し得る。
【００９３】
ブロック１１０４において、権限ロジック１３８は、ユーザが属するユーザグループをユーザ識別子に基づいて識別するように、メタデータロジック１３６とインターフェースする。上記で説明されたように、ユーザグループがタスク識別子に対応する。例えば、この識別は、ユーザ識別子が関連する主体識別子またはその逆に関連付けられたタスク識別子を識別することによって発生し得る。例えば、これは、タスクが主体識別子に関連付けられることによって発生してもよく、主体識別子はそれに関連付けられた複数のユーザ識別子を有し得るため、ユーザ識別子が、そのタスク識別子のための主体識別子に関連付けられたユーザ識別子に対して調べられ得る。ユーザ識別子は、複数のタスク識別子に同時に関連付けられ得ることに留意されたい。したがって、ユーザが属するユーザグループが識別され得る。
【００９４】
ブロック１１０６において、上記で説明されたように、許可ロジック１４２は、グループに基づいて、文書識別子、タグ、および文書識別子とタグとの間のマッピングを記憶するデータ構造に関してユーザがアクションすることを可能にするように、メタデータロジック１３６とインターフェースする。したがって、ユーザグループが識別されると、上記で説明されたように、ユーザは、ユーザが属するユーザグループのためのタスク識別子に関連付けられた文書識別子に基づいてファイルにアクセスし、次いで文書識別子に基づいてファイルにアクセスし得る。
【００９５】
図１２〜図２２は、本開示による、文書識別子と複数のタグとの間のマッピングを記憶するデータ構造に基づいて動作するユーザインターフェースの実施形態の複数のスクリーンショットを示す。
【００９６】
図１２は、ＧＵＩ１２００を示し、ＧＵＩ１２００は、上記で説明されたように、複数のタスク識別子（ハイパーリンク可能な）をリストにするタスク識別子列、タスク識別子のための複数の第１の主体識別子をリストにする第１の主体識別子列、タスク識別子のための複数の第２の主体識別子をリストにする第２の主体識別子列、タイプ識別子およびタスク識別子のための規則のセットに基づいて複数のアクション識別子（２値提示された星）をリストにするアクション要求識別子列、ならびに（データ構造によって追跡される）タスク識別子のための規則のセットに基づいて複数の年齢識別子をリストにする年齢識別子列を含むグリッドを表形式で表示する。
【００９７】
図１３は、ＧＵＩ１３００を示し、ＧＵＩ１３００は、上記で説明されたように、チェックボックスベースのグリッド６１６を提示する。項目識別子（２１７２）に対して、カテゴリ識別子（ＵＳＤ  ＲｅｐｏｓおよびＮｏｎ−ＵＳＤ  Ｒｅｐｏｓ）が、視覚的にも明確にされたチェック済みチェックボックスによって示されるように、完成していることに留意されたい。これに対して、他のカテゴリ識別子は、完成したものとしてチェックされていない。また、視覚的に明確なアイコンによって示されるように、いくつかのカテゴリ識別子（ｅｑｕｉｔｙ  ｓｗａｐ（エクイティスワップ））が一時停止されることに留意されたい。
【００９８】
図１４は、ＧＵＩ１４００を示し、ＧＵＩ１４００は、上記で説明されたように、エクスポートロジック１３０によって、ユーザが、文書識別子、タグ、および文書識別子と他のサーバへのマッピングとの間のマッピングを有するデータ構造をエクスポートすることを可能にする。例えば、文書識別子、第１の主体識別子、第２の主体識別子、およびアクション識別子を記憶するデータ構造は、コンマ区切り値ファイル、単層ファイルなどのデータファイルとしてエクスポート可能である。
【００９９】
図１５は、ＧＵＩ１５００を示し、ＧＵＩ１５００は、上記で説明されたように、進捗ロジック１３８によって、複数のタスク識別子に基づいて複数の主体識別子に関連付けられた複数のワークフローの追跡を可能にする。ワークフローは、主体識別子に対応する複数のヒストグラムに対応し、上記で説明されたように、特定のタスク識別子または主体識別子についてのいずれにせよ、規則のセットに対して測定されるように、どの文書が期日経過または期日前またはＯＫであるかを追跡する。例えば、上記で説明されたように、規則のセットは、ブラウザ１１８またはブラウザ１２０を介して入力され得る目標文書アップロード日付を含み得る。
【０１００】
図１６は、ＧＵＩ１６００を示し、ＧＵＩ１６００は、上記で説明されたように、進捗ロジック１３８によって、ＧＵＩ１５００に対してより粒度の細かい文書追跡を可能にする。図示されるように、このタイプの追跡は、上記で説明されたように、特定のタスク識別子について、または主体識別子についてのいずれにせよ、規則のセットに対して測定されるように、特定の期間主体識別子に基づき得る。
【０１０１】
図１７は、ＧＵＩ１７００を示し、ＧＵＩ１７００は、上記で説明されたように、進捗ロジック１３８によって、ＧＵＩ１６００に対してより粒度の細かい文書追跡を可能にする。ここで、ＧＵＩ１７００は、上記で説明されたように、特定のタスク識別子について、または主体識別子についてのいずれにせよ、規則のセットに対して測定された、多様なワークフローに関する特定の識別子についての平均タスク完了時間を示す。
【０１０２】
図１８は、ＧＵＩ１８００を示し、ＧＵＩ１８００は、上記で説明されたように、進捗ロジック１３８によって、複数のハイパーリンクされたタスク識別子および複数の主体識別子（タスク識別子によってグループ化される）に基づいて、主体識別子およびアクション識別子について受信された、または行方不明の文書の追跡を可能にする。
【０１０３】
図１９は、ＧＵＩ１９００を示し、ＧＵＩ１９００は、上記で説明されたように、ＧＵＩ１８００のより粒度の細かいビューを可能にし、ハイパーリンクされたタスク識別子のうちの１つがアクティブ化されるときに何が起こるかを詳細に示す。即ち、テーブルが、複数の文書タイプ識別子、複数のファイル名、および複数のファイルアップロードアイコンを示し、項目が完成しており、完成していないものもある。
【０１０４】
図２０は、ＧＵＩ２０００を示し、ＧＵＩ２０００は、上記で説明されたように、複数のハイパーリンクされた項目識別子、ならびに主体識別子およびアクション識別子についての複数のカテゴリ識別子（項目識別子によってグループ化される）の表形式ビューを示す。
【０１０５】
図２１は、ＧＵＩ２１００を示し、ＧＵＩ２１００は、上記で説明されたように、タスク識別子（ＬＧＩＭ  ＥＭＥＡ  Ｎｅｗ  Ｆｕｎｄ  Ｌａｕｎｃｈ）に関連付けられた主体識別子（Ｌｅｇａｌ  ＆  Ｇｅｎｅｒａｌ）のリストを示す。
【０１０６】
図２２は、ＧＵＩ２２００を示し、ＧＵＩ２２００は、上記で説明されたように、ファイル名およびＧＵＩ２１００のタスク識別子のための文書タイプのリストを示す。
【０１０７】
図２３Ａ〜図２３Ｉは、本開示による、複数ユーザ共有技術の実施形態の複数のスクリーンショットを示す。特に、ＧＵＩ２３００は、上記で説明されたように、異なる主体識別子に関連付けられた複数のユーザを有するワークフローを伴う複数ページの質問事項を示す。複数ページの質問事項の完成後、上記で説明されたように、規則のセットが形成され、その規則のセットに対して、アップロードされたファイルに基づいてワークフローが評価され、かつデータ構造を介して比較される。ＧＵＩは、その際、上記で説明されたように、多様な識別子に基づいて文書追跡、進捗モニタリング、およびユーザ間メッセージングを可能にする、多様な表形式メニューを提示する。いくつかの実施形態において、ＧＵＩ２３００は、ダウンロード用のテンプレートファイルを提供するように構成され、その場合に、ユーザは、テンプレートファイルをダウンロードし、テンプレートファイルを要求されたように投入し、投入されたテンプレートファイルをアップロードする。テンプレートファイルは、検証され、検証されると、上記で説明されたようにタスク識別子でグループ化され得る。例えば、そのようなグループ化は、テンプレートファイル内に存在する識別子に基づいて実行され得る。
【０１０８】
さらに、ある例としての実施形態に関して説明される特徴は、任意の置換または組み合わせ方式で、多様な他の例としての実施形態に、または多様な他の例としての実施形態と結合され得る。本明細書に開示される、例としての実施形態の異なる態様または要素は、同様のやり方で結合され得る。本明細書で使用される「組み合わせ」、「組み合わせの」、または「その組み合わせ」という用語は、その用語に先行する列挙された項目の全ての置換および組み合わせを指す。例えば、「Ａ、Ｂ、Ｃ、またはそれらの組み合わせ」は、Ａ、Ｂ、Ｃ、ＡＢ、ＡＣ、ＢＣ、またはＡＢＣのうちの少なくとも１つを含むように意図され、特定の文脈において順序が重要である場合は、ＢＡ、ＣＡ、ＣＢ、ＣＢＡ、ＢＣＡ、ＡＣＢ、ＢＡＣ、またはＣＡＢも含むように意図される。この例を続けると、明示的に含まれるものは、ＢＢ、ＡＡＡ、ＡＢ、ＢＢＣ、ＡＡＡＢＣＣＣＣ、ＣＢＢＡＡＡ、ＣＡＢＡＢＢなどの１つまたは複数の項目または用語の繰返しを含む組み合わせである。当業者は、文脈からそうでないことが明らかでない限り、典型的には任意の組み合わせで項目または用語の数に対する制限はないと理解するであろう。
【０１０９】
本開示の多様な実施形態は、システムバスを通してメモリ素子に直接的または間接的に連結される少なくとも１つのプロセッサを含む、プログラムコードの記憶および／または実行に適当なデータ処理システムにおいて実施され得る。メモリ素子は、例えば、プログラムコードの実際の実行中に利用されるローカルメモリ、大容量記憶装置、および実行中にコードを大容量記憶装置から取り出さなければならない回数を減らすために、少なくとも何らかのプログラムコードの一時記憶を提供するキャッシュメモリを含む。
【０１１０】
Ｉ／Ｏデバイス（キーボード、ディスプレイ、ポインティングデバイス、ＤＡＳＤ、テープ、ＣＤ、ＤＶＤ、サムドライブ（ｔｈｕｍｂ  ｄｒｉｖｅ）、および他のメモリ媒体などを含むが、これらに限定されない）は、直接または介在するＩ／Ｏコントローラを通して、システムに連結され得る。データ処理システムが、介在する私設または公衆ネットワークを通して他のデータ処理システム、またはリモートプリンタ、または記憶デバイスに連結されることを可能にするために、ネットワークアダプタもシステムに連結されてもよい。モデム、ケーブルモデム、およびイーサネットカードは、ネットワークアダプタの利用可能な種類のうちのほんのわずかである。
【０１１１】
本開示は、システム、方法、および／またはコンピュータプログラム製品において具現化され得る。コンピュータプログラム製品は、プロセッサに本開示の態様を実行させるためのコンピュータ可読プログラム命令をその上に有するコンピュータ可読記憶媒体を含み得る。コンピュータ可読記憶媒体は、命令実行デバイスにより使用するための命令を保持および記憶し得る有形デバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子記憶デバイス、磁気記憶デバイス、光学記憶デバイス、電磁気記憶デバイス、半導体記憶デバイス、または前述したものの任意の適当な組み合わせであってもよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的リストは、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、静的ランダムアクセスメモリ（ＳＲＡＭ）、ポータブルコンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、メモリスティック、フロッピーディスク、パンチカードまたはその上に記録された命令を有する溝内の隆起構造などの機械的に符号化されたデバイス、および前述したものの任意の適当な組み合わせを含む。
【０１１２】
本明細書に説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれのコンピューティング／処理デバイスに、あるいはネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、および／またはワイヤレスネットワークを介して外部コンピュータまたは外部ストレージデバイスに、ダウンロードされ得る。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ、および／またはエッジサーバを含み得る。各コンピューティング／処理デバイス内のネットワークアダプタカードまたはネットワークインターフェースは、コンピュータ可読プログラム命令をネットワークから受信し、それぞれのコンピューティング／処理デバイス内のコンピュータ可読記憶媒体の記憶用にコンピュータ可読プログラム命令を転送する。
【０１１３】
本開示の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはＳｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語もしくは類似のプログラミング言語などの従来の手続き型プログラミング言語を含む、１つもしくは複数のプログラミング言語の任意の組み合わせで書かれたソースコードもしくはオブジェクトコードのいずれかであってもよい。コードセグメントまたは機械実行可能命令は、手続き、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または命令、データ構造、もしくはプログラム文の任意の組み合わせを表し得る。コードセグメントは、情報、データ、引数、パラメータ、またはメモリコンテンツを渡すことおよび／または受信することによって、別のコードセグメントまたはハードウェア回路に連結されてもよい。情報、引数、パラメータ、データなどが、特にメモリ共有、メッセージ受け渡し、トークン受け渡し、ネットワーク伝送を含む任意の適当な手段を介して、受け渡され、転送され、または送信されてもよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で完全に、ユーザのコンピュータ上で部分的に、スタンドアロンソフトウェアパッケージとして、ユーザのコンピュータ上で部分的にかつリモートコンピュータ上で部分的に、またはリモートコンピュータもしくはサーバ上で完全に、実行してもよい。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ）を含む任意の種類のネットワークを通して、ユーザのコンピュータに接続されてもよい。あるいは、接続は、（例えば、インターネットサービスプロバイダを使用してインターネットを通して）外部コンピュータに対して行われてもよい。いくつかの実施形態では、例えば、プログラマブル論理回路、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、またはプログラマブルロジックアレイ（ＰＬＡ）を含む電子回路は、本開示の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路を個別化することによって、コンピュータ可読プログラム命令を実行し得る。
【０１１４】
本開示の態様は、開示の実施形態による、方法、装置（システム）、およびコンピュータプログラム製品のフローチャート図および／またはブロック図を参照して、本明細書に説明される。フローチャート図および／またはブロック図の各ブロック、ならびにフローチャート図および／またはブロック図のブロックの組み合わせが、コンピュータ可読プログラム命令によって実施され得ると理解されたい。本明細書で開示された実施形態と関連して説明される、多様な例示的論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組み合わせとして実施され得る。ハードウェアおよびソフトウェアのこの交換可能性を明確に説明するために、多様な例示的コンポーネント、ブロック、モジュール、回路、およびステップが、概してそれらの機能性に関して上述されている。そのような機能性が、ハードウェアとして実施されるか、またはソフトウェアとして実施されるかは、特定の用途およびシステム全体に課される設計制約に依存する。当業者は、それぞれの特定の用途のために説明される機能性を様々な方法で実施し得るが、そのような実施決定が、本開示の範囲からの逸脱を引き起こすと解釈されるべきではない。
【０１１５】
図面内のフローチャートおよびブロック図は、本開示の多様な実施形態によるシステム、方法、およびコンピュータプログラム製品の可能な実施のアーキテクチャ、機能性、および動作を例示する。この点に関して、フローチャートまたはブロック図内の各ブロックは、指定された論理機能を実施するための１つまたは複数の実行可能命令を含む、モジュール、セグメント、または命令の一部を表し得る。いくつかの代替的な実施において、ブロック内に記載された機能は、図面中に記載された順序以外で発生してもよい。例えば、連続して示される２つのブロックが、実際には、実質的に同時に実行されてもよく、または、ブロックが、関係する機能性次第で逆の順序で実行されることがあってもよい。ブロック図および／またはフローチャート図の各ブロック、ならびにブロック図および／またはフローチャート図におけるブロックの組み合わせが、指定された機能もしくは動作を実行し、または専用ハードウェアおよびコンピュータ命令の組み合わせを実行する専用ハードウェアベースシステムによって実施され得ることにも留意されたい。
【０１１６】
「次いで」、「次に」などの語は、ステップの順序を限定するように意図されず、これらの語は、方法の説明を通して読み手を単に導くために使用される。プロセスフロー図は、逐次プロセスとして動作を説明し得るが、動作の多くは、並列または同時に実行され得る。さらに、動作の順序は再配列されてもよい。プロセスは、方法、関数、手続き、サブルーチン、サブプログラムなどに対応し得る。プロセスが関数に対応するとき、その終結は、呼び出し関数またはメイン関数への関数の復帰に対応し得る。
【０１１７】
ある例としての実施形態に関して説明される特徴または機能性は、多様な他の例としての実施形態の中に、および／または多様な他の例としての実施形態と、結合および半結合され得る。また、本明細書に開示されるように、例としての実施形態の異なる態様および／または要素は、同様のやり方でも結合および半結合され得る。さらに、いくつかの例としての実施形態は、個別に、および／またはまとめてのいずれにせよ、より大きなシステムのコンポーネントであってもよく、他の手続きは、それらのアプリケーションに優先し、および／またはそれらのアプリケーションを修正してもよい。追加的には、本明細書に開示されるように、いくつかのステップが、例としての実施形態の前、後、および／または同時に要求され得る。少なくとも本明細書に開示されるように、任意のおよび／または全ての方法および／またはプロセスが、任意のやり方で少なくとも１つの主体または行為者によって少なくとも部分的に実行され得ることに留意されたい。
【０１１８】
好適な実施形態が、本明細書において詳細に表され、説明されているが、当業者は、様々な修正、追加、代用などが本開示の思想から逸脱することなく行われ得ると分かっている。したがって、これらは、以下の特許請求の範囲において定義されるように、本開示の範囲内にあると考えられる。
【図１】
2021521567.tif 000003
【図２】
2021521567.tif 000004
【図３】
2021521567.tif 000005
【図４】
2021521567.tif 000006
【図５】
2021521567.tif 000007
【図６Ａ】
2021521567.tif 000008
【図６Ｂ】
2021521567.tif 000009
【図６Ｃ】
2021521567.tif 000010
【図７Ａ】
2021521567.tif 000011
【図７Ｂ】
2021521567.tif 000012
【図７Ｃ】
2021521567.tif 000013
【図８】
2021521567.tif 000014
【図９】
2021521567.tif 000015
【図１０】
2021521567.tif 000016
【図１１】
2021521567.tif 000017
【図１２】
2021521567.tif 000018
【図１３】
2021521567.tif 000019
【図１４】
2021521567.tif 000020
【図１５】
2021521567.tif 000021
【図１６】
2021521567.tif 000022
【図１７】
2021521567.tif 000023
【図１８】
2021521567.tif 000024
【図１９】
2021521567.tif 000025
【図２０】
2021521567.tif 000026
【図２１】
2021521567.tif 000027
【図２２】
2021521567.tif 000028
【図２３Ａ】
2021521567.tif 000029
【図２３Ｂ】
2021521567.tif 000030
【図２３Ｃ】
2021521567.tif 000031
【図２３Ｄ】
2021521567.tif 000032
【図２３Ｅ】
2021521567.tif 000033
【図２３Ｆ】
2021521567.tif 000034
【図２３Ｇ】
2021521567.tif 000035
【図２３Ｈ】
2021521567.tif 000036
【図２３Ｉ】
2021521567.tif 000037
【国際調査報告】
2021521567.tif 000038