以下、本開示の様々な実施形態を詳細に述べる。特定の実施が述べられる一方、これは説明を目的としてのみ行われることを理解されたい。当業者は、本開示の精神と範囲とから逸脱することなく、他のコンポーネントおよび構成を用いることができることを認識するであろう。
本開示にわたって適用されるいくつかの定義をここで提示する。「結合され」という用語は、直接的または介在するコンポーネントを通じて間接的に接続されるものと定義され、物理的な接続に限定する必要はない。「通信可能に結合され」という用語は、直接的または介在するコンポーネントを通じて間接的に接続されるものと定義され、接続は必ずしも物理的な接続には限定されないが、説明されるコンポーネント間のデータ転送に対応する接続である。「備える」、「含む」、および「有する」という用語は、本開示では区別せずに用いられる。「備える」、「含む」、および「有する」という用語は、記載されたものを含むことを意味するが、必ずしもそれらに限定されるものではない。「コンテンツ」、「コンテンツアイテム」および「ファイル」という用語は、本開示では区別せずに用いられる。「コンテンツ」、「コンテンツアイテム」および「ファイル」という用語は、ユーザが収集フォルダに格納するためにコンテンツ管理システムに提出する物を意味する。
1つ以上の実施形態では、コンテンツ管理システムは1人以上の提出者から1つ以上のファイルを収集するために用いるリンクを生成するためのリクエストを受信する。リクエストはコンテンツ管理システムのアカウントを有するユーザから来うる。そのようなユーザは収集者と呼ばれうる。1人以上の提出者は、コンテンツ管理システムにアカウントを有してもよく、コンテンツ管理システムにアカウントを有していなくてもよく、またはそれらの任意の組み合わせであってもよい。ファイルリクエストに応じて、コンテンツ管理システムは、ファイルリクエストの名前、1人以上の提出者からの収集済ファイルを格納するために指定された収集フォルダの名前、および各提出者の電子メールアドレスを要求することで、収集者に入力を求めうる。情報の受信に応じて、コンテンツ管理システムは収集フォルダへのリンクを生成できる。コンテンツ管理システムは続いて1人以上の提出者に電子メールを介して生成したリンクを配信できる。あるいは、収集者は、電子メール、インスタントメッセージ、テキストメッセージ、またはウェブサイトへリンクを投稿する、若しくはリンクを配信するその他の手段を介して、1人以上の提出者に生成したリンクを配信できる。例えば、収集者はソーシャルメディアのウェブサイトにリンクを打ち込むことができる、またはリンクを貼り付けることができる。1人以上の提出者は1つ以上のファイルを収集フォルダにアップロードできる。1人以上の提出者は、収集フォルダへの制限された権限を有しうる。制限された権限はアップロードする権限は含むが、収集フォルダに関連付けられた他の提出者が提出したファイルを提出者が閲覧することは禁じてもよい。したがって、収集フォルダは1人以上の提出者からのファイルは格納できるが、他人からの提出物を閲覧することを防ぐことができる。アップロードされたファイルは、悪性コードおよび/または盗用コンテンツをスキャンされうる。さらに、収集者は1つ以上の収集フォルダをアクティブ化と非アクティブ化できる。アクティブ化された収集フォルダは、提出者がアクティブ化された収集フォルダにファイルを提出することを許可し、非アクティブ化されたフォルダは提出者が非アクティブ収集フォルダにアクセスすることを禁止する。収集者はアクティブ化された収集フォルダと非アクティブ化された収集フォルダとにアクセスできる。
図1を参照し、例示的な実施形態に従う装置およびネットワークの構成のブロック図が説明される。システム100では、電子装置がコンテンツおよび他のデータを交換する目的のためにネットワークを介して通信する。システム100は、インターネットのような広域ネットワークで用いるために構成されうる。しかしながら、本原理は電子装置の相互通信を促進する多種多様なネットワーク構成に適用可能である。例えば、図1のシステム100のコンポーネントのそれぞれは、ネットワークで局所的なまたは分散的な形態で実施されうる。
システム100では、ユーザは、直接的および/または間接的な通信によってネットワーク104に接続されたクライアント装置1021、1022、...、102n(集団では「102」で個別には「102i」)を通じてコンテンツ管理システム106と情報を交換できる。ネットワーク104はローカル・エリア・ネットワーク(LAN)または他の好適な通信ネットワーク(例えば、インターネット、メトロポリタンエリア・ネットワーク(MAN)、広域ネットワーク(WAN)、移動体、有線もしくは無線ネットワーク、プライベートネットワーク、仮想プライベートネットワーク等)のような1つ以上の通信ネットワークであってもよい。コンテンツ管理システム106は、デスクトップコンピュータ、モバイルコンピュータ、例えば携帯電話、スマートフォン、タブレットの携帯通信装置、スマートテレビ、セットトップ・ボックス、および/または任意の他のネットワーク対応の計算装置のような、様々な異なるクライアント装置102からの接続を支援できる。クライアント装置102は、様々なタイプ、能力、オペレーティングシステムなどでありうる。さらに、コンテンツ管理システム106は、同時に複数のクライアント装置102からの接続を受け入れ、情報を交換できる。
ユーザは、クライアント装置102にインストールされたクライアントサイド・アプリケーションを介してコンテンツ管理システム106と情報を交換できる。いくつかの実施形態では、クライアントサイド・アプリケーションは、コンテンツ管理システム106に特有のコンポーネントを含みうる。例えば、コンポーネントは、スタンドアローンアプリケーション、1つ以上のアプリケーションプラグイン、および/またはブラウザ拡張機能でありうる。しかしながら、ユーザは、クライアント装置102iにあり、コンテンツ管理システム106と通信するよう構成される、ウェブブラウザのようなサードパーティのアプリケーションを介してもコンテンツ管理システム106と情報を交換できる。何れの場合も、クライアントサイド・アプリケーションはコンテンツ管理システム106と情報を交換するためにユーザに対してユーザインタフェース(UI)を提示できる。例えば、ユーザは、ファイルシステムに統合されたクライアントサイド・アプリケーションを介して、またはウェブブラウザ・アプリケーションを用いて表示されたウェブページを介して、コンテンツ管理システム106と情報を交換できる。
コンテンツ管理システム106は、ユーザが誰であるかによって、および/または以下でより詳細に説明されるフォルダに関連付けられたパラメータによって、ユーザがファイルを格納し、同様にコンテンツの読み出し、修正、閲覧、および/または共有といった、様々なコンテンツ管理タスクを実行することを可能にすることができる。さらに、コンテンツ管理システム106は、ユーザが複数のクライアント装置102からファイルにアクセスすることを可能にできる。例えば、提出者はネットワーク104を介してコンテンツ管理システム106にファイルをアップロードするためにクライアント装置102iを利用できる。ファイルはその後同一のクライアント装置102iまたは何らかの他のクライアント装置102jを用いてコンテンツ管理システム106から読み出されうる。
多様なコンテンツ管理サービスを促進するために、ユーザはコンテンツ管理システム106にアカウントを作成できる。アカウント情報はユーザアカウント・データベース150で維持されうる。ユーザアカウント・データベース150は登録済ユーザのプロフィール情報を格納できる。一部の例では、ユーザプロフィールの個人情報は、ユーザネームおよび/または電子メールアドレスだけでありうる。しかしながら、コンテンツ管理システム106は付加的なユーザ情報を受け入れるようにも構成されうる。コンテンツ管理システム106は、例えば提出者のような非アカウントユーザの情報をユーザアカウント・データベース150に格納でき、ここで非アカウントユーザは、例えば収集者のユーザアカウントなどのユーザアカウントに関連付けられる。
ユーザアカウント・データベース150は、例えば無料もしくは有料といったアカウントタイプ、例えばファイル編集履歴のような利用情報、権限のある最大ストレージスペース、使用されたストレージスペース、コンテンツストレージの位置、セキュリティ設定、個人設定、データを共有するコンテンツ、等の、アカウント管理情報もまた含みうる。アカウント管理モジュール124はユーザアカウント・データベース150のユーザアカウントの詳細を更新および/または取得するよう構成されうる。アカウント管理モジュール124はコンテンツ管理システム106の任意の数の他のモジュールと情報を交換するよう構成されうる。
アカウントは、アカウントに権限を与えられた1つ以上のクライアント装置からの、ファイル、デジタルデータ、ドキュメント、テキストファイル、音声ファイル、動画ファイルなどといったコンテンツを格納するために用いられうる。コンテンツは、フォルダまたは、プレイリストやアルバムなどといった、異なる挙動とともにコンテンツアイテムをグループ化する他のメカニズムを含みうる。例えば、アカウントは、任意のユーザからアクセス可能な公開フォルダを含みうる。別の例では、アカウントは特定のユーザおよび/または特定のユーザが権限を与えた者のみにアクセス可能なプライベートフォルダを含みうる。さらに別の例では、アカウントは、例えば収集者のようなアカウントユーザと、例えば提出者のようなユーザアカウントが権限を与えた者とのみにアクセス可能な収集フォルダを含みうる。各フォルダはウェブアクセス可能なアドレスが割り当てられうる。ウェブアクセス可能なアドレスへのリンクは、パブリックフォルダ、プライベートフォルダ、または収集フォルダのコンテンツにアクセスするために利用されうる。他の例では、アカウントは、写真を対象として写真に特化した特定の属性と動作とを提供する写真フォルダ、音声ファイルの再生および他の音声に関する動作を行うことができる能力を提供する音声フォルダ、または他の特別な目的のフォルダを含みうる。写真フォルダはパブリックフォルダ、プライベートフォルダ、または収集フォルダでありうる。アカウントは、共有フォルダ、収集フォルダ、または複数のユーザアカウントにリンクされ利用可能なグループフォルダもまた含みうる。複数のユーザに対する権限は各フォルダで異なってもよい。
コンテンツはコンテンツストレージ160に格納されうる。コンテンツストレージ160はストレージ装置、複数のストレージ装置、サーバまたは複数のサーバでありうる。ストレージ装置、複数のストレージ装置、サーバまたは複数のサーバは、本明細書で説明される方法を実行するよう構成されうる。あるいは、コンテンツストレージ160は、1つ以上の通信ネットワークを介してアクセス可能なクラウドストレージ・プロバイダまたはネットワークストレージでありうる。コンテンツアイテムがコンテンツ管理システム106によってどこに格納されているのかをクライアント装置102が正確に知る必要がないように、コンテンツ管理システム106は、クライアント装置102から複雑さと詳細とを隠すことができる。一変形例では、コンテンツ管理システム106は、クライアント装置102iに現れるのと同じフォルダ階層でコンテンツアイテムを格納できる。しかしながら、コンテンツ管理システム106はコンテンツアイテムを自身の順番、配置、または階層で格納できる。コンテンツ管理システム106は、コンテンツアイテムをネットワークアクセス可能なストレージ(SAN)装置に、安価なディスクの冗長アレイ(RAID)などで格納できる。コンテンツストレージ160は、FAT、FAT32、NTFS、EXT2、EXT3、EXT4、ReiserFS、BTRFS、などのような、1つ以上のパーティションタイプを用いてコンテンツアイテムを格納できる。
コンテンツストレージ160は、コンテンツアイテム、コンテンツアイテムのタイプ、およびコンテンツアイテムと様々なアカウント、フォルダ、もしくはグループとの関係を表すメタデータもまた格納できる。メタデータはコンテンツアイテムに対するメタデータタグを含むことができ、コンテンツアイテムの一部として格納されることができ、または個別に格納されることができる。一変形例では、コンテンツストレージ160に格納される各コンテンツアイテムには、システム全体で固有の識別子が割り当てられうる。
コンテンツストレージ160は、重複ファイルまたはファイルの重複するセグメントを識別することで、要求されるストレージ容量を削減できる。複数のコピーを格納する代わりに、コンテンツストレージ160は単一のコピーを格納し、続いて重複しているものを当該シングルコピーにリンクするためのポインタまたは他のメカニズムを利用できる。同様に、コンテンツストレージ160は、ファイルへの変更を追跡するファイルバージョン制御、ファイルの異なるバージョン(バージョンツリーの分岐を含む)、および変更履歴を利用することで、取消操作の能力を提供すると同時に、より効率的にファイルを格納できる。変更履歴は、元のファイルバージョンに適用された場合に、変更されたファイルのバージョンを提供する変更のセットを含みうる。
コンテンツ管理システム106は、1つ以上のクライアント装置102からのコンテンツの自動同期を支援するよう構成されうる。同期はプラットフォームに非依存でありうる。すなわち、様々なタイプ、能力、オペレーティングシステム、などの複数のクライアント装置102にわたり同期されうる。例えば、クライアント装置102iは、コンテンツ管理システム106の同期モジュール132を介して、クライアント装置102iのファイルシステムのコンテンツと関連するユーザアカウント内のコンテンツとを同期するクライアントソフトウェアを含みうる。一部の場合では、クライアントソフトウェアは、新規、削除、修正、コピー、またはファイルもしくはフォルダの移動のような、指定フォルダおよびそのサブフォルダでのコンテンツへの任意の変更を同期できる。クライアントソフトウェアは別個のソフトウェアアプリケーションでありうるし、オペレーティングシステム内に既存のコンテンツ管理アプリケーション、またはそれらの何らかの組み合わせに統合されうる。既存のコンテンツ管理アプリケーションと統合するクライアントソフトウェアの一例では、ユーザはローカルフォルダのコンテンツを直接操作でき、一方でバックグラウンドプロセスはローカルフォルダの変更をモニタし、これらの変更をコンテンツ管理システム106に同期する。反対に、バックグラウンドプロセスはコンテンツ管理システム106で更新されたコンテンツを認識してこれらの変更をローカルフォルダに同期できる。クライアントソフトウェアは同期操作の通知を提供でき、コンテンツ管理アプリケーション内のコンテンツステータスの表示直接提供できる。時には、クライアント装置102iは利用可能なネットワーク接続を有しなくてもよい。この状況では、クライアントソフトウェアはリンクされたフォルダに対するファイルの変更をモニタして、ネットワーク接続が利用可能な時にこれらの変更をコンテンツ管理システム106に後の同期のためにキューに入れうる。同様に、ユーザはコンテンツ管理システム106との同期を手動で停止または一時停止できる。
ユーザは、ユーザインタフェース(UI)モジュール122によって生成され供給されるウェブインタフェースを介して、コンテンツを閲覧または操作できる。例えば、ユーザはウェブブラウザで、コンテンツ管理システム106によって提供されるウェブアドレスにナビゲートできる。ファイルの新しいバージョンをアップロードするなど、ウェブインタフェースを通じて行われた、コンテンツストレージ160のコンテンツへの変更または更新は、ユーザのアカウントに関連付けられた他のクライアント装置102へ逆伝搬されうる。例えば、それぞれがクライアントソフトウェアを備える複数のクライアント装置102は、単一のアカウントに関連付けられることができ、アカウントのファイルは複数のクライアント装置102のそれぞれの間で同期されうる。
コンテンツ管理システム106は、多様なクライアント装置102と連動するために通信インタフェースモジュール120を含みうり、アプリケーション・プログラミング・インタフェース(API)を介して他のコンテンツおよび/またはサービスプロバイダ1091、1092、...、109n(まとめて「109」)と情報を交換できる。特定のソフトウェアアプリケーションは、ユーザの代わりにAPIを介してコンテンツストレージ160にアクセスできる。例えば、ユーザが、コンテンツの読み、書き、作成、削除、共有、または操作のために認証情報を提供する際に、スマートフォンまたはタブレットコンピュータ装置上のアプリケーション(またはアプリ)のようなソフトウェアパッケージは、コンテンツ管理システム106に直接連絡を取ることができる。同様に、APIは、ユーザがウェブサイトを通じてコンテンツストレージ160の全てまたは一部にアクセスすることを可能にすることができる。
コンテンツ管理システム106は、権限のあるクライアントおよびユーザのみがファイルにアクセスできることを保証するために、ユーザ認証情報、セキュリティトークン、APIコール、特定のクライアント装置、その他を検証できるユーザ識別モジュール126も含みうる。コンテンツ管理システム106は、コンテンツストレージ160にコンテンツアイテムを格納するコンテンツアイテム管理モジュール128を含みうる。コンテンツアイテム管理モジュール128は、コンテンツストレージ160に格納された各コンテンツアイテムの場所を識別するためのコンテンツディレクトリを含みうる。さらに、コンテンツ管理システム106は、ファイル操作の集約、ユーザ動作、ネットワーク利用状況、利用された全体のストレージスペース、および他の技術、利用状況、またはビジネスメトリックを追跡してレポートできる分析モジュール134を含みうる。プライバシおよび/またはセキュリティポリシーは、コンテンツ管理システム106に格納されたユーザデータへの権限のないアクセスを阻止できる。
コンテンツ管理システム106は、1つ以上の収集フォルダにコンテンツを収集および記憶を管理するために収集モジュール130を含みうる。収集フォルダのコンテンツは、1人以上のユーザ(「提出者」)によってアップロードされた1つ以上のファイルおよび/またはアカウントが1つ以上の収集フォルダを含むユーザ(「収集者」)によってアップロードされたコンテンツを含みうる。1人以上の提出者は、コンテンツ管理システム106のアカウントを有する提出者、コンテンツ管理システム106にアカウントを有しない提出者、またはそれらの任意の組み合わせを含みうる。提出者は、1つ以上の収集フォルダのコンテンツへの制限された権限を有してもよい。制限された権限は、提出者がアップロードしたコンテンツのみを提出者が閲覧可能にし、他の提出者によってアップロードされたコンテンツに対するアクセスを禁止する。1つ以上の実施形態では、制限された権限は提出者のみがコンテンツをアップロードすることを可能にしてもよいが、提出者はアップロード済コンテンツにアクセスできない。1つ以上の実施形態では、提出者は収集者によってアップロードされたコンテンツへのアクセスを有してもよい。収集者は、コンテンツに関連付けられた1つ以上のパラメータを設定することにより、コンテンツへのアクセスを制御できる。アクセスは、リード・オンリー・アクセス、コピー・オンリー・アクセス、および/または差し替えアクセスを含みうる。リード・オンリー・アクセスは提出者がコンテンツを閲覧することは可能にするが、コンテンツの編集はできない。コピー・オンリー・アクセスは、新規コンテンツアイテムとして、提出者がコンテンツアイテムをコピーし、コンテンツアイテムの編集及びコンテンツアイテムのアップロードすることを可能にする。差し替えアクセスは、提出者が以前アップロードされたファイルを差し替えることを可能にする。
いくつかの実施形態では、コンテンツ管理システム106は、コンテンツストレージ160の各コンテンツアイテムの場所を識別するコンテンツディレクトリを維持するよう構成されうる。コンテンツディレクトリは、コンテンツストレージに格納された各コンテンツアイテムに対する固有のコンテンツエントリを含みうる。コンテンツエントリは、コンテンツ管理システム106のコンテンツアイテムの場所を識別するために用いられうるコンテンツパスを含みうる。例えば、コンテンツパスはコンテンツアイテムの名前とコンテンツアイテムに関連付けられたフォルダ階層とを含みうる。例えば、コンテンツパスは、コンテンツアイテムが配置された収集フォルダまたは収集フォルダのパスとコンテンツアイテムの名前とを含みうる。コンテンツ管理システム106は、適切なフォルダ階層にコンテンツアイテムを提示するためにコンテンツパスを利用できる。コンテンツエントリは、コンテンツストレージ160のコンテンツアイテムの場所を識別するコンテンツポインタをも含みうる。例えば、コンテンツポインタは、メモリ内のコンテンツアイテムの正確なストレージアドレスを含みうる。いくつかの実施形態では、コンテンツポインタは、それぞれがコンテンツアイテムの一部を収容する複数の場所を指し示してもよい。コンテンツパスとコンテンツポインタとに加え、コンテンツエントリは、コンテンツアイテムへのアクセスを有する、ユーザ、例えば提出者または収集者を識別するユーザ識別子をも含みうる。
収集モジュール130は、ユニフォーム・リソース・ロケータ(URL)のような、ウェブブラウザがコンテンツ管理システム106内の収集フォルダに何の認証もなしにアクセスすることを可能にするカスタム・ネットワークアドレスを生成するよう構成されうる。これを実現するために、収集モジュール130は、例えばユーザ、収集者、または提出者、を適切に識別するために後に用いられることができる生成されたURLにコンテンツ識別データを含み、収集フォルダへのアクセスを提供するように構成されうる。例えば、収集モジュール130は生成されたURLにユーザアカウント識別子とコンテンツパスとを含むよう構成されうる。URLの選択時に、URLに含められたコンテンツ識別データは、適切な収集フォルダを識別して収集フォルダへのアクセスを提供するために受信済みのコンテンツ識別データを利用できるコンテンツ管理システム106に送信されうる。
URLの生成に加え、収集モジュール130は、収集フォルダへのURLが作成されたことを記録するようにも構成されうる。いくつかの実施形態では、収集フォルダは、収集フォルダへのURLが作成されたかどうかを示すURLフラグを含みうる。例えば、URLフラグは、収集フォルダへのURLが作成されていないことを示すために初期は0またはfalseに設定されるブール値でありうる。収集モジュール130は、収集フォルダへのURLの生成後に、フラグの値を1またはtrueに変更するよう構成されうる。
いくつかの実施形態では、収集モジュール130は生成されたURLを非アクティブ化するようにも構成されうる。例えば、各収集フォルダは、生成されたURLからのリクエストに応じて収集フォルダが返されるべきかどうかを示すURLアクティブフラグもまた含みうる。例えば、収集モジュール130は、URLアクティブフラグが1またはtrueに設定される場合にのみ、生成されたリンクによってリクエストされる収集フォルダを返すように構成されうる。したがって、URLが生成された収集フォルダへのアクセスは、URLアクティブフラグの値を変更することで容易に制限されうる。これにより、収集者が、収集フォルダの移動または生成されたURLの削除を必要とすることなく、収集フォルダへのアクセスを制限することが可能になる。同じように、収集モジュール130は、再度URLアクティブフラグの値を1またはtrueに変更することで、URLを再アクティブ化することができる。収集者はしたがって新たなURLを生成する必要なしに収集フォルダへのアクセスを容易に修復することができる。収集者はアクティブ化された収集フォルダと非アクティブ化された収集フォルダへのアクセスを有する。提出者は、本明細書で説明されるように、制限されたアクセス権のアクティブ収集フォルダへのアクセスのみを有する。
1つ以上の実施形態では、コンテンツ管理システム106は1つ以上のモジュールを含みうる。例えば、コンテンツ管理システム106はカスタマイズモジュール136、テンプレートモジュール138、電子メールモジュール140、コメントモジュール142、盗用検出モジュール144、および/または認識モジュール146を含みうる。カスタマイズモジュール136は、収集者が、提出者に提出物の手引きおよび/または構造を提供することによるファイルリクエストに対して設定/パラメータをカスタマイズすることを可能にすることができる。テンプレートモジュール138は、収集者が各提出者にテンプレートファイルのコピーを提供することを可能にし、それによって各提出者が提出者のテンプレートファイルのコピーを修正することを可能にすることができる。電子メールモジュール140は、提出者が電子メールを介してファイルリクエストに応答することを可能にすることができる、および/または電子メールメッセージ内の1つ以上のトリガワードの入力に応じて収集者がファイルリクエストを要求することを可能にすることができる。コメントモジュール142は例えば収集者および/または提出者であるユーザが、ファイルリクエストおよび/または提出にコメントすることを可能にすることができる。盗用検出モジュール144は、1つ以上の提出物が盗用についてスキャンされることを可能にすることができる。認識モジュール146は、収集者および/または提出者が写真内の人物および/またはオブジェクトにタグ付けることを可能にすることができる。
コンテンツ管理システム106が特定のコンポーネントで提示される一方、システム106のアーキテクチャ構成は1つのありうる構成に過ぎず、より多いまたはより少ないコンポーネントを備える他の構成もまた可能なことは当業者には明らかであろう。
図2Aを参照し、例示的な実施形態に従うリンク型の収集モジュール130のコンポーネントのブロック図を説明する。収集モジュール130は、収集者が、例えば収集リンクのようなリンクを通じて、収集者に関連する収集フォルダへのアクセスを、例えば提出者のような他者に提供できるようにする。示すように、収集モジュール130は、リンク生成モジュール202、ファイルアクセス・モジュール204、リンク配信モジュール206、リンク管理モジュール208、および収集データベース210を含みうる。リンク生成モジュール202は収集フォルダへのリンクを生成できる。ファイルアクセス・モジュール204は、提出者がコンテンツをアップロードすることを可能にすることができる。あるいは、ファイルアクセス・モジュール204は、生成されたリンクを介して提出者がコンテンツをアップロードする、および/または提出者がアクセスする権限を有するコンテンツにアクセスすることを可能にすることができる。リンク配信モジュール206は1つ以上の提出者に1つ以上のリンクを配信できる。リンク管理モジュール308は、収集者が生成されたリンクを閲覧することを可能にする。収集データベース210は、収集フォルダ内のコンテンツに関する情報と、収集フォルダがアクティブ化されているか非アクティブ化されているかといった関連情報とを維持できる。
リンク生成モジュール202は、収集フォルダまたは収集者によって特定される収集フォルダに対応するリンクを生成するよう構成される。一実施形態では、ファイルリクエストの受信時に、リンク生成モジュール202は、収集フォルダの固有のフォルダ記述子と、リンクとして機能する、固有のファイルの場所のパスもしくはURLとを生成する。共有モジュール206は、収集フォルダ記述子と、ファイルの場所のパスまたはURLとの関連付けを共有データベース210に保存する。いくつかの実施形態では、生成されたファイル収集リンクは、収集フォルダ記述子が収集フォルダリンクから推定することができず、逆も同様であるように、収集フォルダ記述子から独立する。独立した収集フォルダ記述子とファイルの場所のパスまたはURLとは、既知でなければ収集フォルダリンクを推測またはリバースエンジニアリングが基本的に不可能であるようにすることで、違法行為を防ぐ。一例として、ファイルIDが3D8B99である収集フォルダ「Reunion」の場合、リンク生成モジュール202は、https://www.service.com/s/28rtiz608u2mnco/BBQ.pdfのような固有の(例えば一方向パッドまたは疑似ランダム値)URLを生成してもよく、ここでURLのコンポーネント28rtiz608u2mncoはリバースエンジニアリングできず、したがって収集データベース210にエントリ<3D8B99, https://www.service.com/s/28rtiz608u2mnco/BBQ.pdf> を作成することができない。一実施形態では、生成されたリンクはさらに短縮されうる。いくつかの実施形態では、生成されたURL https://www.service.com/s/28rtiz608u2mnco/BBQ.pdf は、リンク短縮サービスを利用して短縮URL(例えばhttp://db.tt/xOFounw)にさらに短縮され、元のリンクと短縮されたリンクとの間の付加的な関連性は、共有データベース210に追加されうる。別の実施形態では、収集フォルダは、中間にある、より長い生成されたリンクとではなく、むしろ短縮されたリンクと直接的に関連付けられうる。
他の実施形態では、収集者は同一の収集フォルダまたは複数の収集フォルダに対して、複数の異なるリンクを生成できる。したがって、収集者は、複数の異なるリンクからの異なる提出者に対する異なる選択を配信することで、収集フォルダまたは複数の収集フォルダへのアクセスをより選択的に制御することができる。これは、例えば、収集者が、収集フォルダまたは複数の収集フォルダへの特定の提出者のアクセスを無効にし、一方で他の提出者はファイルセットにアクセスすることを許可し続けることを可能にする(例えば、収集フォルダまたは複数の収集フォルダへの特定の提出者のリンクを非アクティブ化する一方、他の提出者のリンクをアクティブ状態に維持することにより)。他の実施形態では、収集者は収集フォルダまたは複数の収集フォルダを非アクティブ化できる。収集フォルダまたは複数の収集フォルダを非アクティブ化することで、提出者は収集フォルダまたは複数の収集フォルダにもうコンテンツをアップロードできない。加えて、提出者は、非アクティブ化すると指定された収集フォルダまたは複数の収集フォルダへのアクセスを禁止される。
さらに、収集フォルダリンクは多目的のため、いくつかの実施形態では、システムは、生成されたリンクにアプリケーション識別子を埋め込むことで、リンク内に特定の関連アプリケーションまたは複数アプリケーションへの参照を含めることができる。一例として、所与の収集フォルダに対して生成されたリンクは、(「app=1ps3q」という部分を介して)識別子「1ps3q」に固有に関連付けられた何らかのアプリケーション(例えばMicrosoft WordまたはMicrosoft Visio)を収集フォルダ内のファイルを閲覧するために用いられるべきであることを規定するURL https://www.service.com?app=1ps3q/s/28rtiz608u2mnco/BBQ.pdf でありうる。あるいは、リンクとアプリケーションまたはアプリケーションプラグインとの間の関連付けは、リンク内にアプリケーション識別子を含めるよりむしろ、収集データベース210内のエントリとして作成されうる。例えば、様々な実施形態において、ユーザは、収集フォルダ内のファイルを閲覧するための第一のアプリケーションの使用を規定する収集フォルダへの第一のリンクと、収集フォルダ内のファイルを閲覧するための第二のアプリケーションの使用を規定する第二のリンクとを生成してもよい。本例では、収集データベース210は2つの対応するエントリ、すなわち<収集ファイル識別子、第一リンク識別子、第一アプリケーション識別子>と<収集ファイル識別子、第二リンク識別子、第二アプリケーション識別子>とを順に収容できる。別の実施形態では、リンク型共有モジュール26は、ファイルブラウザで使用する適切なアプリケーションまたはアプリケーションプラグインを、収集フォルダのファイルタイプに基づき選択するよう構成されてもよい。リンク型収集モジュール130は、収集者が、特定のリンクを介してファイルがアクセスされた場合に、特定のファイルまたはファイルセットを開くべきアプリケーションを特定することも可能にしてもよい。
<悪性コード検出>
1つ以上の実施形態では、通信インタフェースモジュール120は、APIを介して悪性コンテンツ検出システム170と連動してもよい。通信インタフェースモジュール120は、ネットワーク104を介してクライアント装置102を用いて提出者から提出物を受信できる。提出物の受信に応じて、通信インタフェースモジュール120は、悪性コンテンツ検出システム170に提出物を提供できる。通信インタフェースモジュール120は、ネットワーク104を介して、および/または1つ以上の異なるネットワークを介して、悪性コンテンツ検出システム170に提出物を提供できる。1つ以上の異なる通信ネットワークは、ローカル・エリア・ネットワーク(LAN)および/または他の好適な通信ネットワーク(例えば、インターネット、メトロポリタンエリア・ネットワーク(MAN)、広域ネットワーク(WAN)、移動体、有線もしくは無線ネットワーク、プライベートネットワーク、仮想プライベートネットワーク等)でありうる。悪性コンテンツ検出システム170は、提出物について、コンピュータウイルス、トロイ、マルウェアなどの悪性コードをスキャンできる。
図2Bを参照し、例示的な実施形態に従う悪性コンテンツ検出システムのコンポーネントのブロック図を説明する。悪性コンテンツ検出システム170は、ファイアウォール172、通信モジュール174、一時記憶域176、認証モジュール178およびマルウェア・スキャンツール180を含みうる。ファイアウォール172は、それぞれがソフトウェアおよび/またはハードウェアである1つ以上のファイアウォールでありうる。ファイアウォール172は、任意の悪性コードがコンテンツ管理システム106に感染することを防止するのを補助できる。通信モジュール174はコンテンツ管理システム106との間で提出物を送受信できる。一時記憶域モジュール176は受信した提出物を格納できる。認証モジュール178は、権限のあるクライアントのみがコンテンツ管理システム106にファイルを提出することを保証するように、ユーザ認証情報、セキュリティトークン、APIコール、特定のクライアント装置、およびその他を検証できる。あるいは、認証モジュール178は、提出者に権限があることを保証するために、コンテンツ管理システム106のユーザ識別モジュール126と通信できる。マルウェア・スキャンツール180は提出物について悪性コードをスキャンできる。悪性コードが検出されると、マルウェア・スキャンツール180は提出物から悪性コードを除去するよう試みうる。除去が成功する場合、または提出物が悪性コードを含まない場合、提出物は追加の処理のためにコンテンツ管理システム106に提供されうる。除去が失敗すると、提出物はコンテンツ管理システム106から隔離または削除されうる。マルウェア・スキャンツール180は、カスタムソフトウェア、または、いずれもがカリフォルニア州サンタクララのMcAfee社から入手可能なMcAfee AVERT Virus Identification System(MAVIS)もしくはMcAfee AntiVirus Plus、もしくはロシア連邦モスクワのKaspersky社から入手可能なKaspersky AntiVirus softwareのような市販の悪性コード・スキャンソフトウェア、でありうる。悪性コンテンツ検出システム170は、コンテンツ管理システム106の一部でありうる、またはコンテンツ管理システム106に悪性コンテンツ検出を提供するサードパーティのサービスでありうる。
<カスタマイズ>
図1を参照し、コンテンツ管理システム106は、収集者が提出物の手引きおよび/または構造を提出者に提供することでファイルリクエストに対する設定/パラメータをカスタマイズすることを可能にすることができるカスタマイズモジュール136を含みうる。カスタマイズの設定は、収集者が、ファイルリクエストに応じて提出者が提出できる提出物の数を規定し、ファイルリクエストに応じて提出されるべきファイルタイプを規定し、以前の提出物を提出者が上書き保存することを可能にし、アップロードのユーザインタフェース(UI)のホワイトラベルを許可し、提出のためにテンプレートファイルを使用することを可能にし、ファイルリクエストの締め切りを規定し、そして以前のファイルリクエストを再度用いることを可能にすることを可能にすることができる。1つ以上の実施形態では、カスタマイズの設定はデフォルト設定であってもよい。
提出物の数の設定は、各提出者が提出できる提出物の数を制御できる。例えば、収集者は各提出者がただ1つの提出物をアップロードするよう制限できる。別の例では、収集者はユーザに同一のファイルリクエストに応じて複数の提出物を提出することを可能にすることができる。収集者は提出物の数を制御するために、数字の設定または無制限の設定を選択できる。ファイルタイプ設定は、提出者が提出できるファイルタイプを制御できる。例えば、ファイルタイプの設定は収集者が1つ以上のファイルタイプを選択することを可能にすることができる。ファイルタイプは、.doc、.docx、.xls、.pdf、.zip、.mov、.jpg、または他のファイルタイプを含むがこれらに限定されない。上書き保存設定は、提出者が以前の提出物の差し替えまたは上書き保存することを、収集者が許可することを可能にする。提出者が以前の提出物を差し替えることを可能にすることで、上書き設定は収集フォルダに受信される提出物の数を削減できる。上書き保存設定はyesが上書き保存を許可し、noが上書き保存を禁止する、yesまたはnoの設定でありうる。ホワイトラベル設定は、収集者がアップロードページにロゴまたはテキストを表示させることを可能にすることができる。ホワイトラベル設定はyesがホワイトラベルを許可し、noがホワイトラベルを禁止する、yesまたはnoの設定でありうる。テンプレート設定は収集者がテンプレートファイルを使用することを可能にすることができる。以下で説明するように、テンプレートモジュール138は各提出者に対してテンプレートファイルのコピーを生成する。結果として、各提出者はテンプレートファイルを修正し、修正したテンプレートファイルを収集フォルダに保存できる。例えば、教師が宿題に対してテンプレートファイルを生成し、各生徒に生徒のテンプレートファイルを修正させうる。結果として、各提出者はテンプレートファイルを修正し、修正したテンプレートファイルを収集フォルダに保存できる。本出願と同日出願される米国特許出願XX/XXX、XXX、題名「テンプレートファイルの共有」は、その全体が本明細書に組み込まれる。締め切り設定は、収集者が収集フォルダへのアップロードを許可する締め切りを設定することを可能にすることができる。以前のファイルリクエスト設定は、収集者が以前のファイルリクエストを再利用することを可能にする。以前のファイルリクエスト設定は、収集者が以前のファイルリクエストの描画されたリストから以前のファイルリクエストを選択することを可能にする。選択されると、収集者は、以前のファイルリクエストの設定をカスタマイズするために1つ以上のカスタマイズ設定を選択できる。例えば、収集者は新規ファイルリクエストに対して締め切りを更新できる。
<ユーザエクスペリエンスの例>
図3を参照し、例示的な実施形態に従う、収集フォルダの生成方法のフローチャートを説明する。本方法を実行するために様々な方法が存在するため、例示的な方法300は例として提供される。以下で説明する方法300は、例として図1および2Aに示す構成を用いて実行されることができ、これらの図の様々な構成要素が例示的な方法300を説明するために参照される。図3に示す各ブロックは、例示的な方法300で実行される1つ以上のプロセス、方法、またはサブルーチンを表す。例示的な方法300はブロック302で開始できる。
ブロック302で、コンテンツ管理システム106内のユーザのアカウントにホームページUIを描画する。例えば、UIモジュール122は、コンテンツ管理システム106内のユーザのアカウントに対するホームページUIの描画を、収集者のクライアント装置102i上に描画させる。描画は、ウェブブラウザを介してユーザのアカウントにアクセスする収集者に応じてされる。収集者のアカウントにアクセスするために、収集者は収集者のクライアント装置102i上に描画されるウェブブラウザにドメイン名を入力できる、または収集者のクライアント装置102iに表示されるアイコンをクリックできる。図4Aは、ユーザのクライアント装置102i上の描画されたホームページUI400を示し、描画されたホームページUI400は、「ファイルリクエスト」メニューオプションを有する左のメニューを備え、空のユーザのアカウントのためのものである。図4Bは、ユーザのクライアント装置102i上の描画されたホームページUI410を示し、描画されたホームページ410は、「ファイルリクエスト」メニューオプションを有する左のメニューを備え、ユーザのアカウントにフォルダとファイルとのリストを有する空ではないユーザのアカウントのためのものである。ユーザのアカウントに対するホームページUIを描画した後、方法300はブロック304またはブロック306に進みうる。
ブロック304では、ファイルリクエスト・メニューオプションの選択の受信に応じて、収集フォルダを生成するための初期ホームページUIを描画する。例えば、UIモジュール122はファイルリクエスト・メニューオプションの選択を受信し、初期ホームページに、収集者のクライアント装置102上に描画される収集フォルダを生成させる。図5Aは収集フォルダを作成するための初期ホームページUI500を示す。加えて、図示するように、収集フォルダに関連する情報が描画されうる。例えば、追加情報は「ファイルリクエストに名前をつけましょう」、「ファイルを要求したい人にリクエストを送りましょう」、そして「ファイル提出物はあなたのドロップボックスに安全に同期されます」でありうる。図5Bは「新規ファイルリクエストの作成」ボタン502が選択された収集フォルダを作成するための初期ホームページUI500を示す。収集フォルダを作成するための初期ホームページUI500の描画は任意でありうる。収集フォルダを生成するための初期ホームページUI500の描画後、方法300はブロック306に進みうる。
ブロック306で、1人以上の提出者から1つ以上のファイルを収集する際に利用されるリンクを生成するためのリクエストの受信に応じて収集者からの情報を要求するプロンプトを描画する。リンクを生成するためのリクエストは、ファイルリクエスト・メニューオプションを選択した収集者か、または新規ファイルリクエストの作成を選択した収集者からのものでありうる。例えば、UIモジュール122はリンクを生成するためのリクエストを受信し、収集者からの情報を要求するプロンプトの描画を、収集者のクライアント装置102i上に描画させる。プロンプトは様々な形態で描画されうる。例えば、収集者に情報の入力を求める初期UIは収集者のクライアント装置102i上に描画されうる。
図6を参照して、例示的な実施形態に従う、収集者からの情報を要求するプロンプトを描画するための方法のフローチャートを説明する。本方法を実行するために様々な方法が存在するため、例示的な方法600は例として提供される。以下で説明する方法600は、例として図1および2Aに示す構成を用いて実行されることができ、これらの図の様々な要素が例示的な方法600を説明するために参照される。図6に示す各ブロックは、例示的な方法600で実行される1つ以上のプロセス、方法、またはサブルーチンを表す。例示的な方法600はブロック602で開始できる。
ブロック602で、ファイルリクエストを作成するためのプロンプトを描画する。例えば、UIモジュール122は、初期UIを収集者のクライアント装置102i上に描画させ、収集者にファイルリクエストの名前と、要求したファイルが格納されるべき場所を入力するよう求める。例えば、図7Aは、「ファイルリクエストにどのような名前をつけますか?」702と「リクエストファイルをどこに保存しますか?」704とのプロンプトを描画する例示的な初期UI700を示す。ファイルリクエストの作成のためのプロンプトの描画後、方法600はブロック604に進みうる。
ブロック604ではプロンプトへの応答を受信する。例えば、UIモジュール122は描画したプロンプトへの応答を受信する。ファイルリクエストの名前の提出に基づき、UIモジュール122は保存先の応答を自動入力できる。保存先の応答はファイルリクエストの名前に基づきうる。図7Aを参照し、リクエストされるファイルは「Final papers」と呼ばれ、収集されたファイルは収集者のユーザアカウント内のリクエストフォルダの下の「Final papers」収集フォルダ、例えば「/Requests/Final papers」に格納されるであろう。収集者は、保存先の変更ボタン706を選択することで保存先を変更できる。プロンプトへの応答の受信後、方法600はブロック606に進みうる。
ブロック606で、ボタンの選択を受信する。例えば、UIモジュール122はボタンの選択を受信する。図7Aを参照すると、収集者は、カスタマイズボタン708の選択によってファイルリクエストをカスタマイズでき、ファイルリクエストボタン710の選択によってファイルリクエストを作成でき、および/またはキャンセルボタン712を選択することでファイルリクエストを取り消すことができる。カスタマイズボタン708が選択されると、方法600はブロック608に進みうる。ファイルリクエストの作成ボタンが選択されると、方法600は図3のブロック308に進みうる。キャンセルボタンが選択されると、方法600は図3のブロック302に進みうる。
ブロック608で、カスタマイズUIを描画する。例えば、UIモジュール122および/またはカスタマイズモジュール136は、カスタマイズUIを収集者のクライアント装置102i上に描画させる。図7Bを参照し、カスタマイズUIは収集者のクライアント装置102i上に描画され、カスタマイズ設定を示す。図示するように、収集者は、提出物の数722、提出することができるファイルタイプ724、上書き保存726、ホワイトラベル728、締め切り730、盗用検出732、テンプレート734、以前のファイルリクエスト736、および役割738といった1つ以上の設定を規定することでファイルリクエストをカスタマイズできる。
カスタマイズ設定は様々な手段を用いて設定されうる。以下は用いられうる1つの手段である。「提出物の数」の設定722を選択することで、カスタマイズモジュール136は、提出者が提出できる提出物の最大数のために表示される異なる数を有するドロップダウン・メニューを、収集者のクライアント装置102i上に描画させる。デフォルトの提出物の数の設定722は1でありうる。提出者が許可される最大数より多く提出しようとすると、UIモジュール122は、提出者に提出者が提出物の最大数に達したことを知らせるメッセージを提出者のクライアント装置102i上に描画させる。「ファイルタイプ」の設定724を選択することで、カスタマイズモジュール136は、異なるファイルタイプが表示されるドロップダウン・メニューを収集者のクライアント装置102i上に描画させる。収集者は、許可される異なるファイルタイプの選択のために、1つ以上のドロップダウン・メニューの選択を選択できる。デフォルトのファイルタイプの設定724は全てでありうる。提出者が許可されないファイルタイプを読み込もうとすると、ユーザインタフェース・モジュール122は、提出者にファイルタイプが許可されないことを知らせるメッセージを提出者のクライアント装置102i上に描画させる。「上書き保存」設定726を選択することで、収集者は、提出者が提出物を差し替えることを可能にまたは拒否するために、yes(許可)またはno(禁止)を選択できる。デフォルトの上書き保存の設定726は許可でありうる。「ホワイトラベル」設定728を選択することで、収集者はホワイトラベルをつけるためにyesを、ホワイトラベルを付けないためにnoを選びうる。yesが選択される場合、収集者はホワイトラベルの画像を含むファイルをアップロードするよう求められうる。デフォルトのホワイトラベルの設定728はnoでありうる。「締め切り」設定730を選択することで、収集者は締め切りを決めるためにyesを選び、締め切りを決めないようにnoを選びうる。yesが選択される場合、収集者が締め切り日を選べるカレンダーが描画されうる。加えて、収集者が締め切り時刻を選択することを求めるドロップダウン・メニューが表示されうる。デフォルトの締め切りの設定730はnoでありうる。「盗用」設定を選択することで、収集者はyesを選択することで提出物を盗用についてスキャンをするか、またはnoを選択することで提出物を盗用についてスキャンをしないかを決めることができる。デフォルトの盗用検出設定732はnoでありうる。「テンプレート」設定734を選択することで、収集者はテンプレートを使用するためにyesを、テンプレートを使用しないようにnoを選びうる。yesが選択される場合、収集者はテンプレートファイルをアップロードするよう求められうる。デフォルトのテンプレート設定734はnoでありうる。「以前のファイルリクエスト」設定を選択することで、収集者は以前のファイルリクエストを使用するためにyesを、以前のファイルリクエスト736を使用しないようにnoを選びうる。yesが選択される場合、収集者は以前のファイルリクエストを選択するよう求められうる。デフォルトの以前のファイルリクエスト設定736はnoでありうる。「役割」設定738を選択することで、収集者が提出者と提出者/閲覧者とを選ぶことを可能にするドロップダウン・メニューが描画されうる。提出者の設定はユーザがファイルを提出することを可能にする。提出者/閲覧者の設定は、提出者/ユーザがファイルを提出することを可能にし、閲覧者は対応する提出者がファイルを提出したかどうかを見るために収集フォルダにアクセスすることができる。閲覧者は、親もしくは保護者であってよく、閲覧のみの権限のような制限された権限を有する。閲覧者は、提出者と同様に、対応する提出者が提出したファイルのみを閲覧できる。1つ以上の実施形態では、収集者が提出者の電子メールアドレスの入力を求められるときに、収集者は閲覧者に対応する電子メールアドレスの入力を求められうる。例えば、収集者は提出者の電子メールアドレスと閲覧者の電子メールアドレスとの間に「&」を入力でき、または提出者と閲覧者との電子メールアドレスを分離可能なフィールドにできる。1つ以上の実施形態では、提出者はファイルをアップロードするときに閲覧者の電子メールアドレスの入力を求められうる。収集者がホワイトラベルの設定728を選択する場合、方法600はブロック610に進みうる。収集者が締め切りの設定を選択する場合、方法600はブロック614に進みうる。収集者がテンプレートの設定を選択する場合、方法600はブロック622に進みうる。収集者が以前のファイルリクエストの設定を選択する場合、方法600はブロック626に進みうる。収集者が保存ボタン740を選択する場合、方法600はブロック630に進みうる。収集者がキャンセルボタン742を選択する場合、方法600は図3のブロック308に進みうる。
ブロック610で、ホワイトラベルファイルのリストを表示するファイルリストUIを描画する。例えば、UIモジュール122および/またはカスタマイズモジュール136は、収集者がホワイトラベルのためのファイルを選択するためのホワイトラベルファイルを表示するファイルリストUIを収集者のクライアント装置102i上に描画できる。図7Cは、収集者がホワイトラベルのために選びうるファイルを表示するファイルリストUI750を示す。ファイルリストを表示するファイルリストUIの描画後、方法600はブロック612に進みうる。ブロック612で、ホワイトラベルのファイルの選択を受信する。例えば、UIモジュール122および/またはカスタマイズモジュール136は、ホワイトラベルのために使用される描画されたファイルの選択を受信する。選択の受信後、方法600はブロック606に進みうる。
ブロック614で、カレンダーを表示するUIを描画する。例えば、UIモジュール122および/またはカスタマイズモジュール136は、締め切りを選択するために収集者にカレンダーを表示するUIを収集者のクライアント装置102i上に描画する。カレンダーを表示するUIの描画後、方法600はブロック616に進みうる。ブロック616で、締め切り日の選択を受信する。例えば、UIモジュール122および/またはカスタマイズモジュール136は締め切り日を受信する。締め切り日の受信後、方法600はブロック618に進みうる。ブロック618で、時刻を表示するUIを描画する。例えば、UIモジュール122および/またはカスタマイズモジュール136は、締め切りを選択するために収集者に時刻を表示するUIを収集者のクライアント装置102i上に描画する。時刻を表示するUIの描画後、方法600はブロック620に進みうる。ブロック620で、締め切り時刻を受信する。例えば、UIモジュール122および/またはカスタマイズモジュール136は締め切り時刻を受信する。締め切り時刻の受信後、方法600はブロック606に進みうる。
ブロック622で、テンプレートファイルのリストを表示するUIを描画する。例えば、UIモジュール122および/またはカスタマイズモジュール136は、テンプレートファイルを選択するためにテンプレートファイルのリストを表示するUIを収集者のクライアント装置102i上に描画する。図7Dは、収集者がテンプレートのために選択することができるテンプレートファイルを表示するUI760を示す。テンプレートファイルのリストを表示するUIの描画後、方法600はブロック624に進みうる。ブロック624で、テンプレートファイルの選択を受信する。例えば、UIモジュール122および/またはカスタマイズモジュール136はテンプレートファイルの選択を受信する。テンプレートファイルの選択の受信後、方法600はブロック606に進みうる。
ブロック626で、以前のファイルリクエストを表示するUIを描画する。例えば、UIモジュール122および/またはカスタマイズモジュール136は、以前のファイルリクエストを選択するために以前のファイルリクエストのリストを表示するUIを収集者のクライアント装置102i上に描画してもよい。例えば、図4Bは、収集者が選択できる以前のファイルリクエストを表示するUIを示す。以前のファイルリクエストのリストを表示するUIの描画後、方法600はブロック628に進みうる。ブロック628で、以前のファイルリクエストの選択を受信する。例えば、UIモジュール122および/またはカスタマイズモジュール136は、以前のファイルリクエストの選択を受信する。以前のファイルリクエストの選択の受信後、方法600はブロック606に進みうる。
ブロック630で、カスタマイズ設定を格納する。例えば、UIインタフェース122および/またはカスタマイズモジュール136はカスタマイズ設定を格納し、ファイルリクエストと関連付けうる。カスタマイズ設定の格納後、方法600は図3のブロック308に進みうる。
図3を参照し、ブロック308で、要求された情報の受信に応じてリンクを生成する。例えば、リンク生成モジュール202は、例えば収集者がアップロードされたファイルを格納したい位置などの、プロンプトから受信した情報の少なくともいくらかを用いて、指定された収集フォルダへの収集リンクを生成する。指定された収集フォルダが存在しない場合、リンク生成モジュール202は収集フォルダを作成できる。リンク生成モジュール202は生成された収集リンクを格納できる。生成された収集リンクは、1つ以上の位置に格納されうる。例えば、生成された収集リンクは、収集に関連付けられ、コンテンツストレージ160および/またはアクティビティログに格納されうる。リンクの生成後、方法300はブロック310に進みうる。
ブロック310で、提出者を識別するプロンプトを描画する。例えば、UIモジュール122は、収集者に1人以上の提出者の電子メールアドレスの入力を求める提出者招待UIを収集者のクライアント装置102iに描画する。図8Aに示すように、提出者招待UI800は生成済の収集リンク802を描画する。本例では、収集リンクは「https://meta−dbdev.dev.corp.dropbox.com/drops/4ooD8QgdMhqt.RjxHl」である。生成済の収集リンクの描画は任意である。提出者招待UI800は、収集フォルダへコンテンツをアップロードするよう提出者を招待するように、収集者に求めうる。例えば、プロンプトは「または電子メールで他の人をファイルリクエストに招待」である。収集者は、招待ボックス804の中の1人以上の提出者の1つ以上の電子メールアドレスを入力してもよい。あるいは、収集者は後で使用するためにファイルリクエスト・リンクをコピーしてもよい。収集者が以前のファイルリクエストを使用した場合、以前のファイルリクエストに関連付けられた電子メールおアドレスが招待ボックスに自動入力されうる。ユーザが1つ以上の電子メールアドレスを入力し、提出者招待UI800上に描画される完了ボタン806を選択すると、方法300はブロック312に進みうる。ユーザが1つ以上の電子メールアドレスを入力せず、提出者招待UI800上に描画される完了ボタン806を選択すると、方法300はブロック316に進みうる。
ブロック312で、メッセージのためのプロンプトを描画する。例えば、UIモジュール122は、ファイルリクエスト・リンクと共に1人以上の提出者に送信されるメッセージを入力するよう収集者に求める第二の提出者招待UIを、収集者のクライアント装置102iに描画する。図8Bに示すように、第二の提出者招待UI810は、ファイルリクエスト・リンク802、入力された電子メールアドレス804、およびコメントを入力するためのコメントボックス812を表示してもよい。生成された収集リンクの描画は任意である。図8Bに示すように、例示的な電子メールアドレスはanglealli@dropbox.comで、メッセージは「Hey!Upload your final papers」である。ファイルリクエストを送信させるために、収集者は、第二の提出者招待UI810上に描画される送信ボタン814を選択できる。または、収集者はファイルリクエストを取り消すために、第二の提出者招待UI810上に描画されるキャンセルボタン816を選択できる。プロンプトへの情報の受信と送信ボタンの選択の受信後、方法300はブロック314に進みうる。
ブロック314で、入力済みの電子メールアドレスと、入力されたのであればメッセージとを格納する。例えば、UIモジュール122は入力済みの電子メールアドレスと、入力されたのであればメッセージとを、コンテンツストレージ160に格納できる。1つ以上の電子メールアドレスと、入力されたのであればメッセージを格納した後、方法300はブロック316に進みうる。
ブロック316で、生成済みのリンクを配信する。例えば、収集モジュール130および/または電子メールモジュール140は、受信した情報のうちの少なくともいくらかを元に電子メールメッセージを送信する。電子メールメッセージは、電子メールアドレスが収集者によって入力された1人以上の提出者への、生成済みのリンクと、入力されたのであればメッセージを収容できる。別の例では、収集者は、電子メールメッセージに生成済みの収集リンクを打ち込みまたは貼り付けて、それを送信できる。別の例では、収集者は、ソーシャルネットワークのウェブサイトのようなウェブサイトに、生成済みの収集リンクを入り付けうる。電子メールメッセージまたはウェブサイトは、提出者が収集フォルダに1つ以上のファイルをアップロードするためにクリックすることができる、生成済みの収集リンクを収容できる。電子メールメッセージは、生成済みの収集リンクへのハイパーテキストリンクを収容できる。収集者がファイルリクエストをカスタマイズすると、電子メールメッセージはカスタマイズ設定に基づく情報を収容できる。例えば、電子メールメッセージは、提出者が提出可能な提出物の数、提出者が提出できるファイルのタイプ、提出者が提出物を上書き保存することが許可されているかどうか、そして提出物の完了への締め切り、を示してもよい。ファイルリクエストがテンプレートファイルに基づく場合、提出者は、テンプレートファイル完成させ、完成したテンプレートファイルを提出するよう知らされうる。収集者が電子メールアドレスを入力しない場合は、生成済みの収集リンクを含む電子メールメッセージは収集者に送信されうる。生成済みの収集リンクの配信後、方法300はブロック318に進みうる。
ブロック318で、収集者に収集フォルダリクエストが確立されたことを通知する。通知は、電子メール、テキストメッセージ、アカウントへの投稿、アプリケーション通知(例えばインバンド通知)、または他の通知方法を含みうるが、これらに限定されない。例えば、収集モジュール130および/または電子メールモジュール140は、収集フォルダリクエストが確立したことを収集者に知らせる電子メールメッセージを収集者に送信する。収集フォルダが確立したことを収集者に通知した後、方法300はブロック320に進みうる。
ブロック320で、提出者が生成済みの収集リンクをアクティブ化することに応じ、提出者に情報の入力を求めるファイルアップロードUIを描画する。例えば、UIモジュール122は、ファイルアップロードUIを提出者のクライアント装置102上に描画させしめる。図9Aは描画されたファイルアップロードUI900を示す。図示するように、提出者は、名902、姓904、電子メールアドレス906、収集フォルダへアップロードするファイルの選択908、およびコメントの追加910を求められる。1つ以上の実施形態では、描画されたファイルアップロードUI900は、許可される提出物の数912、許可されるファイルタイプ914、上書き保存が許可されるかどうか、およびもしあれば締め切り918、のような任意のカスタマイズ設定を提出者に知らせうる。ファイルリクエストがカスタマイズされると、1つ以上のカスタマイズ設定が表示されうる。1つ以上の実施形態では、カスタマイズ設定が表示されない場合は、カスタマイズ設定は表示される、または表示されない。描画済のファイルアップロードUI900は、収集者が表示することを選んだ場合に、ホワイトラベル920を描画できる。図示するように、ABC Corp.のロゴ920はホワイトラベルとして表示される。ファイルアップロードページの描画後、方法300はブロック322に進みうる。
ブロック322で、提出者に関する情報と1つ以上のアップロード済ファイルとを受信する。例えば、UI122は、プロンプトに応答して提出者によって提供された情報と、アップロードされる1つ以上のファイルの選択とを受信する。アップロードされる1つ以上のファイルを選択するために、提出者はファイル選択オプションを選択でき、提出者のクライアント装置102iのディレクトリが描画され、提出者がアップロードのための1つ以上のファイルを選択することを可能にすることができる。提出者はコメントプロンプト910に応じて、収集者に提供されるであろうコメントを入力できる。情報とアップロードされる1つ以上のファイルの選択との受信後、方法300はブロック324に進みうる。
ブロック324で、情報と1つ以上の選択されたファイルとをアップロードする。情報とアップロードのための1つ以上のファイルの選択を提供した後、コンテンツ管理システム106へ情報と1つ以上のファイルをアップロードするために、提出者は図9Aに示すアップロードボタン922を選択できる。例えば、提出者のクライアント装置102i上のクライアントソフトウェアは、情報と1つ以上の選択されたファイルとを、コンテンツ管理システム106へアップロードさせることができる。情報と1つ以上のファイルのアップロード後、方法300はブロック326に進みうる。
ブロック326で、1つ以上のアップロード済のファイルを格納する。例えば、コンテンツアイテム管理モジュール128は、コンテンツストレージ160に1つ以上のアップロード済のファイルを格納する。1つ以上のアップロード済のファイルは、収集フォルダに格納され、および/または収集フォルダに関連付けられうる。コンテンツディレクトリは、コンテンツストレージ160の各コンテンツアイテムの場所を識別できる。コンテンツディレクトリは、コンテンツストレージ160に格納された各コンテンツアイテムに対する固有のコンテンツエントリを含みうる。コンテンツエントリは、提出者がコンテンツ管理システム106のアカウントを有する場合、コンテンツストレージ160のコンテンツアイテムの場所を識別するコンテンツポインタを含みうる。1つ以上のアップロード済ファイルの格納後、方法300はブロック328に進みうる。
ブロック328で、収集フォルダに格納される1つ以上のファイルに応じて収集者に通知する。通知は、電子メール、テキストメッセージ、アカウントへの投稿、アプリケーション通知(例えばインバンド通知)、または他の通知方法を含みうるが、これらに限定されない。例えば、アカウント管理モジュール124、電子メールモジュール140、および/またはリンク配信モジュール206は、1つ以上のファイルが収集フォルダにアップロードされたことを収集者に通知する電子メールメッセージを収集者に送信させる。電子メールメッセージは、アップロード済の1つ以上のファイルに関連付けられた情報を提供できる。例えば、情報は、ファイル名、ファイルがアップロードされたタイムスタンプ、および各アップロード済ファイルの提出者の名前を含みうる。収集フォルダに格納された1つ以上のファイルを収集者へ通知した後、方法300はブロック330に進みうる。
ブロック330で、収集者による収集フォルダにアクセスする。例えば、収集者は、収集者のアカウントにアクセスでき、収集フォルダを選択しうる。収集者は、収集者のクライアント装置102i上にあるウェブブラウザ介して、またはクライアントソフトウェアを介して、収集者のアカウントにアクセスできる。あるいは、収集者は、収集フォルダにアクセスするために電子メールメッセージのリンクをクリックしてもよい。収集フォルダにアクセスした後、方法300はブロック332に進みうる。
ブロック332で、公開コマンドに応じて収集フォルダを公開する。例えば、収集モジュール130は公開コマンドを受信し、収集フォルダを提出者に利用可能にさせることができる。結果的に、提出者は収集フォルダにアクセスし、他の提出者のアップロード済ファイルを閲覧できる。ブロック332は以下でさらに述べる。
<役割/権限>
1つ以上の実施形態では、コンテンツ管理システム106は、提出者が1つ以上のファイルを提出するために認証されることを必要としない。1つ以上の実施形態では、提出者は認証されうる。例えば、ユーザ識別モジュール134は、提出者のアップロード済コンテンツを格納する前に、提出者の認証を実行しうる。提出者が収集フォルダにコンテンツをアップロードするために、提出者はファイルリクエスト・リンクを利用し、名、姓、および電子メールアドレスのような限定されたデータを入力する。認証は提出者に提出者のユーザアカウントにログインさせること、および/またはパスワードを入力させることを含みうる。ユーザ識別モジュール126は、ユーザがユーザアカウントにログインしているかどうかを判断することで、提出者を認証しうる。提出者がユーザアカウントにログインしていない場合、提出者はユーザアカウントのログイン情報の入力を求められてもよい。例えば、提出者は、提出者のユーザアカウントに関連付けられたユーザネームとパスワードとを入力できる。1つ以上の実施形態では、ユーザ識別モジュール126は、ユーザにパスワードの入力を求めることでユーザを認証できる。パスワードは、収集フォルダが作成されたときに収集者が登録したパスワードでありうる。収集者は、電子メールを介して、または他の既知の方法を利用してパスワードを配信できる。例えば、教師は、生徒に直接パスワードを簡単に伝えうる。あるいは、パスワードは、提出者がコンテンツ管理システム100に関連するリンクに最初にアクセスしたときに、提出者が設定したパスワードであってもよい。
図9Bを参照し、例示的な実施形態に従う、収集フォルダにアップロード済のファイルを格納する方法のフローチャートを説明する。本方法を実行するために様々な方法が存在するため、例示的な方法950は例として提供される。以下で説明する方法950は、例として図1および2Aに示す構成を用いて実行されることができ、これらの図の様々な要素が例示的な方法950を説明するために参照される。図9Bに示す各ブロックは、例示的な方法900で実行される1つ以上のプロセス、方法、またはサブルーチンを表す。例示的な方法950はブロック952で開始できる。
ブロック952で、提出者に関する情報とアップロードされる1つ以上のファイルとを受信する。例えば、通信インタフェースモジュール120は、提出者に関する情報と1つ以上のアップロード済ファイルとを受信する。情報と1つ以上のファイルとを受信した後、方法950はブロック954に進みうる。
ブロック954で、提出者は権限のある提出者かどうかを判断する。例えば、ユーザ識別モジュール126は、提出者から受信した情報に基づき、提出者がアップロードする権限があるかどうかを判断できる。例えば、ユーザ識別モジュール126は、提出者がコンテンツをアップロードする権限があるかどうか判断するために、受信済みの情報と、収集フォルダに関連付けられた情報とを比較できる。提出者に権限がない場合、方法950はブロック956に進みうる。提出者に権限がある場合、方法950はブロック958に進みうる。
ブロック956で、提出者に通知する。通知は、電子メール、テキストメッセージ、アカウントへの投稿、アプリケーション通知(例えばインバンド通知)、または他の通知方法を含みうるが、これらに限定されない。例えば、ユーザ識別モジュール126、UIモジュール122、および/または電子メールモジュール144は、提出者が収集フォルダへコンテンツをアップロードする権限がないことを提出者に通知する。UIモジュール122は、提出者のクライアント装置102i上にメッセージを描画させることができる、および/または電子メールモジュール144は提出者に電子メールメッセージを送信することができる。メッセージおよび/または電子メールメッセージは、提出者に、ファイルを提出権限がないことを知らせうる。通知は、電子メールメッセージまたはウェブページを介して行われる。
ブロック958で、アップロード済のファイルのそれぞれに対してファイル名を生成する。例えば、ファイルアクセス・モジュール204は、提出者がファイルリクエスト名の下の収集フォルダに提出されたファイルの数を判断し、アップロード済のファイルのそれぞれにファイル名を生成する。ファイル名はファイルリクエスト名と、提出者の名前または提出者の電子メールアドレスの提出者のユーザ名のどちらかとの組み合わせで生成される。提出者の名、姓、またはそれらの任意の組み合わせが用いられうる。例えば、ファイルリクエストがHomework Assignment #3と名付けられ、Jane Doeがファイルをアップロードした場合、ファイル名は「Homework Assignment #3−Jane Doe」でありうる。提出者の名前またはユーザ名が固有であるかどうかによって、数字が追加されてもよい。例えば、2人の提出者が同一の名と姓とを有する場合、2人の提出者を異ならしめるために、数字が提出者の1人の名前に追加されうる。提出者が1つより多いファイルを提出した場合、最初のファイルの後に提出されたファイルは数字を含みうる。例えば、収集フォルダWedding Photosへのファイルリクエストが生成され、Bob Smithが3つのファイル/写真を提出する場合、最初の写真はBob Smith Wedding Photoと名付けられることができ、二枚目の写真はBob Smith Wedding Photo 2と名付けられることができ、三枚目の写真はBob Smith Wedding Photo 3と名付けられることができる。当業者は、提出者に対する固有の名前を生成するために、および固有のファイル名を生成するために、他の方法が利用されうることは理解するであろう。各アップロード済ファイルに対するファイル名の生成後、方法900はブロック910に進みうる。
ブロック910で、各ファイルと関連するファイル名を格納する。例えば、ファイルリクエスト・モジュール204はコンテンツストレージ160に各ファイルと生成した名前とを格納する。
<悪性コンテンツ検出>
1つ以上の実施形態では、提出者からの情報と1つ以上のアップロード済ファイルとは、収集フォルダおよび/またはコンテンツストレージ160に格納される前に、悪性コンテンツ検出システム170に提供されうる。例えば、提出者が情報と1つ以上のファイルとを図3のブロック324でアップロードすることに応じて、情報と1つ以上のアップロード済ファイルは、スキャンのために悪性コンテンツ検出システム170に提供されうる。あるいは、1つ以上のアップロード済ファイルはコンテンツ管理システム106によって受信され、続いてスキャンのために悪性コード検出システム170に送信されうる。
図10を参照し、例示的な実施形態に従う、1つ以上のアップロード済のファイルをスキャンする方法のフローチャートを説明する。本方法を実行するために様々な方法が存在するため、例示的な方法1000は例として提供される。以下で説明する方法1000は、例として図1および2Bに示す構成を用いて実行されることができ、これらの図の様々な構成要素が例示的な方法1000を説明するために参照される。図10に示す各ブロックは、例示的な方法1000で実行される1つ以上のプロセス、方法、またはサブルーチンを表す。例示的な方法1000はブロック1002で開始しうる。
ブロック1002で、1つ以上のアップロード済のファイルを受信および格納する。例えば、悪性コンテンツ検出システム170は1つ以上のアップロード済ファイルを受信し、受信したファイルをメモリに格納できる。1つ以上のアップロード済ファイルは、提出者のクライアント装置102iから受信されうる、またはコンテンツ管理システム106から受信できる。例えば、1つ以上のアップロード済ファイルは、通信インタフェースモジュール120によって送信されうる。1つ以上のアップロード済ファイルは、ファイアウォール172を通過し、1つ以上のアップロード済ファイルを一時記憶域176に格納する通信モジュール174によって受信されうる。一時記憶域176は、ランダム・アクセス・メモリ(RAM)、ハードディスクドライブ(HDD)、半導体ドライブ(SSD)のようなフラッシュメモリ、1つ以上のサービス、などでありうる。1つ以上のアップロード済ファイルを受信し格納した後、方法1000はブロック1004に進みうる。
ブロック1004で、1つ以上のファイルの提出者が認可されるかどうか判断する。例えば、認証モジュール178は、提出者が権限のあるユーザ/提出者かどうかを検証する。認証モジュール178は、提出者が収集フォルダに関連するかどうか判断できる。判断は認証情報、セキュリティトークン、APIコール、特定のクライアント装置、およびその他に基づいてもよい。あるいは、認証モジュール178は、提出者に権限があるどうか判断するために、ユーザ識別モジュール122と通信してもよい。提出者が収集フォルダに関連付けられていないと判断されると、方法1000はブロック1006に進みうる。提出者が収集フォルダに関連付けられていると判断されると、方法1000はブロック1010に進みうる。
ブロック1006で、提出権限がないことを提出者に通知する。通知は、電子メール、テキストメッセージ、アカウントへの投稿、アプリケーション通知(例えばインバンド通知)、または他の通知方法を含みうるが、これらに限定されない。例えば、通信モジュール174は、提出権限がないことを提出者に通知する電子メールメッセージを提出者に送信できる。あるいは、通信モジュール174は、提出権限がないことを提出者に通知する通知UIを、提出者のクライアント装置102i上に描画させることができるコマンドをUIモジュール122に送信できる。あるいは、通信モジュール174は、提出権限がないことを提出者に通知する電子メールメッセージを、提出者へ送信させることができるコマンドをUIモジュール122に送信できる。提出者へ通知後、方法1000はブロック1008に進みうる。ブロック1008で、一時記憶域から提出物を削除する。例えば、通信モジュール174は一時記憶域176から提出物を削除させてもよい。
ブロック1010で、各アップロード済ファイルを悪性コードについてスキャンする。例えば、マルウェア・スキャンツール180は、各アップロード済ファイルを、ウイルス、トロイ、マルウェア、等といった悪性コードについてスキャンする。アップロード済ファイルが悪性コンテンツを含む場合、方法1000はブロック1012に進みうる。アップロード済ファイルが悪性コードを含まない場合、方法100はブロック1020に進みうる。
ブロック1012で、悪性コードの除去を試みる。例えば、マルウェア・スキャンツール180は悪性コードの除去を試みる。悪性コードがアップロード済ファイルから正常に除去されない場合、方法1000はブロック1014に進みうる。悪性コードがアップロード済ファイルから正常に除去された場合、方法1000はブロック1020に進みうる。
ブロック1014で、悪性コードを含むファイルを隔離する。例えば、マルウェア・スキャンツール180は悪性コードを含むアップロード済ファイルを隔離する。隔離は、悪性コードを含むアップロード済ファイルを一時記憶域176で維持すること、悪性コードを含むアップロード済ファイルを別のストレージに格納すること、悪性コードを含むアップロード済ファイルを削除すること、および/または悪性コンテンツを含むアップロード済ファイルにフラグを立てることを含みうる。悪性コードを含むアップロード済ファイルを隔離した後、方法1000はブロック1016に進みうる。
ブロック1016で、隔離されたファイルの提出者に通知する。通知は、電子メール、テキストメッセージ、アカウントへの投稿、アプリケーション通知(例えばインバンド通知)、または他の通知方法を含みうるが、これらに限定されない。例えば、通信モジュール174は、アップロード済ファイルが悪性コードを含むことを提出者に通知する電子メールメッセージを提出者に送信できる。あるいは、通信モジュール174は、アップロード済ファイルが悪性コードを含むことを提出者に通知する通知UIを、提出者のクライアント装置102i上に描画させるコマンドをUIモジュール122に送信できる。提出者へ通知後、方法1000はブロック1018に進みうる。
ブロック1018で、隔離されたファイルの収集者に通知する。通知は、電子メール、テキストメッセージ、アカウントへの投稿、アプリケーション通知(例えばインバンド通知)、または他の通知方法を含みうるが、これらに限定されない。例えば、通信モジュール174は、アップロード済ファイルが悪性コードを含むことを収集者に通知する電子メールメッセージを収集者に送信できる。あるいは、通信モジュール174は、アップロード済ファイルが悪性コードを含むことを収集者に通知する通知UIを、収集者のクライアント装置102i上に描画させるコマンドをUIモジュール122に送信できる。収集者に通知した後、方法1000は、別のアップロード済ファイルが悪性コードを含まない場合にブロック1020に進みうる。
ブロック1020で、悪性コードを含まない各アップロード済ファイルをコンテンツ管理システムに提供する。例えば、通信モジュール174は、悪性コードを含まないアップロード済ファイルのそれぞれを保管のためにコンテンツ管理システム106に提供する。
<盗用検出>
1つ以上の実施形態では、提出者からの1つ以上のアップロード済ファイルは盗用についてスキャンされうる。例えば、図3のブロック326で1つ以上のアップロード済ファイルを格納することに応じて、盗用モジュール144は1つ以上のアップロード済ファイルを盗用についてスキャンできる。例えば、各アップロード済ファイルは、収集フォルダ内の他のアップロード済ファイル、および/またはインターネットを介して入手可能なコンテンツアイテムおよび/またはインターネットのアーカイブされたインスタンスから構築されるデータベースに格納されたコンテンツアイテムと比較されうる。盗用検出は、盗用モジュール144によって、および/またはサードパーティのサービス109iを介して行われうる。例えば、盗用モジュール144は、カリフォルニア州オークランドのiParadigms, LLC社が提供するTurnitin、バージニア州アレクサンドリアのSkyline,Inc社が提供するPlagiarism Detector ProもしくはPlagiarism Detector Accumulator Serverのような盗用検出サービスへ1つ以上のアップロード済ファイルを送信可能な盗用API、またはそのようなベンダおよび/または適切な盗用ソフトウェアからの盗用ソフトウェアを含みうる盗用モジュール144を含みうる。
図11を参照し、例示的な実施形態に従う、1つ以上のアップロード済のファイルの盗用検出方法のフローチャートを説明する。本方法を実行するために様々な方法が存在するため、例示的な方法1100は例として提供される。以下で説明する方法1100は、例として図1および2Aに示す構成を用いて実行されることができ、これらの図の様々な要素が例示的な方法1100を説明するために参照される。図11に示す各ブロックは、例示的な方法1100で実行される1つ以上のプロセス、方法、またはサブルーチンを表す。例示的な方法1100はブロック1102で開始できる。
ブロック1102で、収集フォルダに関連付けられた1つ以上のアップロード済ファイルを受信する。例えば、収集モジュール130は、収集フォルダに提出された1つ以上のアップロード済ファイルを受信する。1つ以上のアップロード済ファイルの受信後、方法1100はブロック1104に進みうる。
ブロック1104で、盗用検出モジュールへ1つ以上のアップロード済ファイルを提供する。例えば、収集モジュール130は盗用検出モジュール144へコンテンツアイテムを提供する。アップロード済ファイルが受信されたとき、定期的な間隔で、および/またはファイルリクエストの収集が完了したときに、1つ以上のアップロード済ファイルが盗用検出モジュール144へ提供されうる。盗用検出モジュール144へコンテンツアイテムを提供した後、方法1100はブロック1106へ進む。
ブロック1106で、1つ以上のアップロード済ファイルを盗用/類似度についてスキャンする。例えば、盗用検出モジュール144は盗用ソフトウェアを実行しうる、または盗用/類似度についてスキャンするためにコンテンツアイテムを盗用サービス109iへ送信できる。1つ以上の実施形態では、盗用ソフトウェアまたは盗用サービス109iは、1つ以上のアップロード済ファイルを、収集フォルダの他のアップロード済ファイルと比較し、および/または、各アップロード済ファイルをインターネットおよび/またはインターネットを介して入手可能な1つ以上のデータベースを介して入手可能な他のコンテンツアイテムと比較することにより、1つ以上のアップロード済ファイルをチェックする。例えば、盗用検出は、例えば親コンテンツアイテムのような受信されたコンテンツアイテムを、語句に分割することで実行される。続いて、語句が検索エンジンに送信される。続いて、検索エンジンの結果がダウンロードされ、各検索エンジンのソースは、親コンテンツアイテムからの語句を他のコンテンツアイテムの語句と比較することで分析される。1つ以上のアップロード済ファイルを盗用/類似度についてスキャンした後、方法1100はブロック1108に進みうる。
ブロック1108で、盗用/類似度レポートを生成する。例えば、盗用検出モジュール144または盗用検出サービス109iは盗用/類似度レポートを生成する。盗用検出サービス109iが盗用スキャンを実行すると、盗用検出サービス109iは続いて盗用検出モジュール144へ盗用/類似度レポートを提供する。盗用/類似度レポートは類似度パラメータを含みうる。盗用/類似度レポートの生成後、方法1100はブロック1110に進みうる。
ブロック1110で、所定の閾値と類似度パラメータを比較する。例えば、盗用検出モジュール144は盗用/類似度レポートの類似度パラメータを所定の閾値と比較する。所定の閾値は盗用ソフトウェア、盗用サービス109iによって、または収集者によって設定されうる。例えば類似度パラメータが所定の閾値と一致または超え、比較が盗用を示す場合、続いて方法1100はブロック1112に進みうる。例えば、類似度パラメータが所定の閾値を下回り、比較が盗用を示さない場合、続いて方法1100はブロック1114に進みうる。
ブロック1112で、潜在的な盗用を収集者に通知する。通知は、電子メール、テキストメッセージ、アカウントへの投稿、アプリケーション通知(例えばインバンド通知)、または他の通知方法を含みうるが、これらに限定されない。例えば、電子メールモジュール140または盗用検出モジュール144は、収集者に潜在的な盗用を通知する電子メールメッセージを収集者に送信する。電子メールメッセージは盗用/類似度レポートを含みうる。収集者へ通知後、方法1100はブロック1114に進みうる。
ブロック1114で、盗用/類似度レポートを格納する。例えば、収集モジュール130および/または盗用検出モジュール144は収集フォルダに盗用/類似度レポートを格納する。
<コメント>
1つ以上の実施形態では、オンラインコンテンツ管理システム106は、例えば提出者および/または収集者といったユーザが提出物に関してコメントを提供することを可能にすることができる。後述するように、ユーザは、閲覧UIに描画されたコメントセクションにコメントを入力することができる。コメントセクションは装置、プラットフォーム、およびファイルタイプにわたって提供されうる。例えば、コンテンツ管理システム106は、ワープロ文書、スプレッドシート、プレゼンテーション、動画、ストリーミングコンテンツ、画像、および他のコンテンツもしくはファイルタイプのようなコンテンツアイテムに対して、ストレージ、検索、編集、およびコメントサービスを提供できる。1つ以上の実施形態では、コメントセクションは、コンテンツ管理システム106によって、個別のコンテンツアイテムに関連付けられたネイティブアプリケーションとは異なるインタフェース上に提供されうる。例えば、コメントセクションは、表示される個別のファイルタイプのネイティブアプリケーションとは独立した、または上に重ねられたアプリケーションレイヤでありうる。一例では、レイヤは、オンラインコンテンツ管理システムによって、またはウェブブラウザを通じて閲覧されるときにはブラウザプラグインによって、提供されるアプリケーションに関連付けられうる。一例では、これは、オンラインコンテンツ管理システム106によって提供されるアプリケーションによって読み込み可能な各コンテンツアイテムへメタデータを追加することで達成されてもよい、またはメタデータはオンラインコンテンツ管理システム106によって検索可能なコメントデータを有する場所を指し示してもよい。あるいは、コメントは、コンテンツアイテムに関連付けられたネイティブアプリケーションを通じて表示されてもよい。
図12Aを参照し、例示的な実施形態に従う、ユーザが投稿へのコメントを提供することを可能にする方法のフローチャートを説明する。本方法を実行するために様々な方法が存在するため、例示的な方法1200は例として提供される。以下で説明する方法1200は、例として図1および2Aに示す構成を用いて実行されることができ、これらの図の様々な要素が例示的な方法1200を説明するために参照される。図12Aに示す各ブロックは、例示的な方法1200で実行される1つ以上のプロセス、方法、またはサブルーチンを表す。例示的な方法1200はブロック1202で開始できる。
ブロック1202で、ファイルリストUIを描画する。例えば、UIモジュール122は、ユーザがコンテンツ管理システム106に保存したファイルリストを表示するファイルリストUIを描画させる。例えば、UIモジュール122は、図12Bに示すように、提出者Jane Doeがコンテンツ管理システム106に格納した3つのファイルをリスト化するファイルリストUI1250を提出者のクライアント装置102i上に描画する。図示するように、3つのファイルは、Homework Assignment # 1 - Jane Doe 1252、 Homework Assignment # 2 - Jane Doe 1254、および Homework Assignment # 3 - Jane Doe 1256である。収集者は、収集フォルダへ提出されたファイルに対する同様のファイルリストを有してもよい。ファイルリストUIの描画後、方法1200はブロック1204に進みうる。
ブロック1204で、ファイル選択を受信する。例えば、UIモジュール122はユーザによってなされたファイルの選択を受信する。本例では、提出者はファイルHomework Assignment #3 - Jane Doeを選択した。ファイルの選択の受信後、方法1200はブロック1206に進みうる。
ブロック1206で、閲覧UIで選択されたファイルを描画する。例えば、UIモジュール122は、選択されたファイルを表示する閲覧UIの描画を生じさせる。選択されたファイルであるHomework Assignment #3 - Jane Doeは、図12Cに示すように、提出者のクライアント装置102i上の閲覧UI1260に描画される。選択されたファイルの描画後、方法1200はブロック1208に進みうる。
ブロック1208で、コメントアイコンの選択を受信する。例えば、UIモジュール122および/またはコメントモジュール142は、図12Cに示すように、表示されたコメントアイコン1264の選択を受信する。コメントアイコンの選択の受信後、方法1200はブロック1210に進みうる。
ブロック1210で、コメントセクションを展開し、コメントボックスを描画する。例えば、UIモジュール112および/またはコメントモジュール142は、コメントセクション1268を展開させ、コメントボックス1266を図12Dに示すように描画させうる。図示するように、コンテンツアイテムに関連する情報は、提出者のクライアント装置102i上のUIモジュール112および/またはコメントモジュール142によって描画されうる。例えば、提出済みファイルの題名「Homework Assignment #3」が描画され、コンテンツアイテムが共有された時間に関する情報「2日前にJohn Doeが送信」が表示される。コメントセクションの展開と、コメントボックスの描画後、方法1250はブロック1212に進みうる。
ブロック1212で、コメントを受信する。例えば、UIモジュール112および/またはコメントモジュール142は、ユーザがコメントボックス1266に入力したコメントを受信する。例えば、提出者Janeは、「I did not do well on this assignment and would like to meet with you to discuss.」というコメントを入力する。コメントの受信後、方法1200はブロック1214に進みうる。
ブロック1214で、コメントセクションにコメントを描画する。例えば、UIモジュール112および/またはコメントモジュール142は、図12Eに示すように、閲覧UI上のコメントセクションのコメントを、提出者のクライアント装置102iに描画させうる。ユーザは、コメントボックス1266にコメントを入力することで別のコメントを入力できる。コメントの描画後、方法1200はブロック1216に進みうる。
ブロック1216で、関連ファイルにコメントを同期する。例えば、同期モジュール134は、例えば提出者のような第一のユーザによるコメントを、例えば収集者のような第二のユーザのユーザアカウントに関連付けられたアップロード済ファイルと同期できる。コメントの同期後、方法1200はブロック1218に進みうる。
ブロック1218で、他のユーザのクライアント装置上にコメントを描画する。例えば、UIモジュール112および/またはコメントモジュール142は、コメントを例えば収集者のクライアント装置102iのような他のユーザのクライアント装置102i上に描画させうる。コメントを有するコメントセクション1269は、ユーザがコメントに関連したファイルを開いたときに、ドキュメント1262の隣に描画されうる。他のユーザは、コメントに応答し、新しいコメントを両方のユーザのクライアント装置102iに投稿させうる。例えば、コメントは、図12Fに示すように提出者のクライアント装置102iに投稿されうる。図示するように、収集者は「How about Wednesday after class?」と応答した。
上記の例は提出者を対象とするが、当業者は、本例は初期コメントを入力する収集者を対象とすることができることを理解するであろう。別の例では、ユーザは写真の詳細を提供するために写真にコメントを入力できる。例えば、図12Gに示すように、ユーザJaneは、「I took this photo from my office on October 30, 2015」とコメントを入力する。
<チャット>
1つ以上の実施形態では、オンラインコンテンツ管理システム106は、例えば提出者および/または収集者といったユーザが提出物についてチャットすることを可能にすることができる。後述するように、ユーザは、閲覧UIに描画されたチャットセクションにコメントを入力できる。チャットセクションは装置、プラットフォーム、およびファイルタイプにわたって提供されうる。例えば、コンテンツ管理システム106は、ワープロ文書、スプレッドシート、プレゼンテーション、動画、ストリーミングコンテンツ、画像、および他のコンテンツもしくはファイルタイプのようなコンテンツアイテムに対して、ストレージ、検索、編集、およびコメントサービスを提供できる。1つ以上の実施形態では、チャットセクションは、コンテンツ管理プロバイダによって、個別のコンテンツアイテムに関連付けられたネイティブアプリケーションとは異なるインタフェース上に提供されうる。例えば、チャットセクションは、表示される個別のファイルタイプのネイティブアプリケーションとは独立した、または上に重ねられたアプリケーションレイヤでありうる。一例では、レイヤは、オンラインコンテンツ管理システム106によって、またはウェブブラウザを通じて閲覧されるときに、ブラウザプラグインによって提供されるアプリケーションに関連付けられうる。一例では、これは、オンラインコンテンツ管理システムによって提供されるアプリケーションによって読み込み可能な各コンテンツアイテムへメタデータを追加することで達成されてもよい、またはメタデータはオンラインコンテンツ管理システムによって検索可能なチャットデータをもつ場所を指し示してもよい。あるいは、チャットセクションは、コンテンツアイテムに関連付けられたネイティブアプリケーションを通じて表示されてもよい。
図13Aを参照し、例示的な実施形態に従う、ユーザが提出物に関するチャットセッションを有することを可能にするフローチャートを説明する。本方法を実行するために様々な方法が存在するため、例示的な方法1300は例として提供される。以下で説明する方法1300は、例として図1および2Aに示す構成を用いて実行されることができ、これらの図の様々な要素が例示的な方法1300を説明するために参照される。図13Aに示す各ブロックは、例示的な方法1200で実行される1つ以上のプロセス、方法、またはサブルーチンを表す。例示的な方法1300はブロック1302で開始しうる。
ブロック1302で、ファイルリストUIを描画する。例えば、UIモジュール122は、ユーザがコンテンツ管理システム106に保存したファイルリストを表示するファイルリストUIを描画させる。例えば、UIモジュール122は、図12Bに示すように、提出者Jane Doeがコンテンツ管理システム106に格納した3つのファイルをリスト化するファイルリストUI1250を提出者のクライアント装置102i上に描画する。図示するように、Jane Doeは以下の3つのファイルを持つ:Homework Assignment # 1 - Jane Doe 1252、 Homework Assignment # 2 - Jane Doe 1254 および Homework Assignment # 3 - Jane Doe 1256。収集者は、収集フォルダへ提出されたファイルに対する同様のファイルリストを有してもよい。ファイルリストUIの描画後、方法1300はブロック1304に進みうる。
ブロック1304で、ファイル選択を受信する。例えば、UIモジュール122はユーザによってなされたファイルの選択を受信する。本例では、提出者はファイルHomework Assignment #3 - Jane Doeを選択した。ファイルの選択の受信後、方法1300はブロック1306に進みうる。
ブロック1306で、閲覧UIで選択されたファイルを描画する。例えば、UIモジュール122は、提出者のクライアント装置102i上に選択されたファイルを表示する閲覧UIの描画を生じさせる。選択されたファイルHomework Assignment #3 - Jane Doeは、図13Bに示すように、閲覧UI1260に描画される。選択されたファイルの描画後、方法1300はブロック1308に進みうる。
ブロック1308で、チャットアイコンの選択を受信する。例えば、UIモジュール122および/またはコメントモジュール142は、図13Bに示すように、表示されたチャットアイコン1352の選択を受信する。チャットアイコンの選択の受信後、方法1300はブロック1310に進みうる。
ブロック1310で、チャットセクションを展開し、ユーザに関連付けられた連絡先リストを描画する。例えば、UIモジュール112および/またはコメントモジュール143は、チャットセクション1354を展開し、ユーザに関連付けられた連絡先リストを、コンテンツ管理システム106が有する各ユーザのオンラインステータス、またはコンテンツ管理システム106とは別の場合はチャット機能と共に描画させうる。例えば、オンラインステータス1360と共に関連する連絡先1358のリストが、図13Cに示すように、提出者のクライアント装置102i上の、ステータスボックス1360に描画される。オンラインの連絡先は、緑のオンラインステータス1360を有してもよい、そしてオフラインの連絡先は、赤のオンラインステータスを有してもよい。他のステータス識別子が、緑および赤のオンラインステータス1360の代わりに用いられることができる。連絡先リストの描画後、方法1300はブロック1314に進みうる。
ブロック1312で、連絡先の選択を受信する。例えば、UIモジュール112および/またはカスタマイズモジュール136は、提出者のクライアント装置102i上に描画された連絡先を選択できる。連絡先の選択の受信後、方法1300はブロック1314に進みうる。
ブロック1314で、メッセージボックスを描画する。例えば、UIモジュール112および/またはコメントモジュール142は、図13Dに示すように、メッセージボックス1356を提出者のクライアント装置102iに描画させうる。図示するように、コンテンツアイテムに関連する情報は、UIモジュール112および/またはコメントモジュール142によって描画されうる。例えば、提出済みファイルの題名「Homework Assignment #3」が描画され、ファイルが共有された時間に関する情報「2日前にJohn Doeが送信」が表示される。Homework Assignment #3およびファイルが共有された時刻に関する情報が表示される:2日前にJohn Doeが送信 メッセージボックスの描画後、方法1300はブロック1316に進みうる。
ブロック1316で、チャットメッセージを受信する。例えば、UIモジュール112および/またはコメントモジュール136は、ユーザが提出者のクライアント装置102i上に描画されたメッセージボックス1356に入力したチャットメッセージを受信する。例えば、提出者であるJaneは、チャットメッセージ「Can we setup a meeting to discuss the homework assignment」を入力する。チャットメッセージの受信後、方法1300はブロック1318に進みうる。
ブロック1318で、コメントセクションにチャットメッセージを描画する。例えば、UIモジュール112および/またはコメントモジュール142は、図13Eに示すように、閲覧UI上のチャットセクション1354にチャットメッセージを描画させうる。図示するように、チャットメッセージ「Can we setup a meeting to discuss the homework assignment」が提出者のクライアント装置102i上に描画される。ユーザは、チャットボックス1356にコメントを入力することで別のチャットメッセージを入力できる。チャットメッセージの描画後、方法1300はブロック1320に進みうる。
ブロック1320で、チャットメッセージを他のユーザと同期する。例えば、同期モジュール134は、例えば提出者のような第一のユーザによるチャットメッセージを、例えば収集者のような第二のユーザのユーザアカウントと同期できる。チャットメッセージの同期後、方法1300はブロック1322に進みうる。
ブロック1322で、他のユーザのクライアント装置上にチャットメッセージを描画する。例えば、UIモジュール112および/またはコメントモジュール142は、例えば収集者のクライアント装置102iのような他のユーザのクライアント装置102iにチャットメッセージを描画させうる。他のユーザはチャットメッセージに応答し、図13Fに示すように、チャットメッセージを両方のユーザのクライアント装置102iへ投稿させうる。図示するように、収集者は「Sure.What time?」で応答した。チャットメッセージの描画後、方法1300はブロック1324に進みうる。
ブロック1324で、退出コマンドを受信する。例えば、UIモジュール112および/またはコメントモジュール142は、図13Fに示すように、チャットセッションのユーザの1人が閲覧UI1260に描画された退出ボタン1358を選択することに応じて、退出コマンドを受信できる。退出コマンドの受信後、方法1300はブロック1326に進みうる。
ブロック1326で、ユーザにチャットセッションを保存するよう求める。例えば、ユーザが退出ボタン1358を選択することに応じて、UIモジュール112および/またはコメントモジュール142は、ユーザに保存UI1366の保存ボタン1360、電子メールボタン1362、または終了ボタン1364を選択するよう求めうる。図13Gは、セーブUI1366がユーザにチャットセッションを保存するよう求める、閲覧UI1260に重ねて描画される保存UI1366を示し、方法1300はブロック1328に進みうる。
ブロック1328で、保存プロンプトへの応答を受信する。例えば、UIモジュール112および/またはコメントモジュール142は、保存プロンプトへの応答を受信する。ユーザが保存ボタン1360を選択し、チャットセッションが提出物に関連する場合、方法1300はブロック1334に進みうる。ユーザが保存ボタン1360を選択し、チャットセッションが提出物に関連しない場合、方法1300はブロック1330に進みうる。ユーザが電子メールボタン1362を選択する場合、方法1300はブロック1336に進みうる。ユーザが終了ボタン1364を選択する場合、方法1300はブロック1338に進みうる。
ブロック1330で、ファイルリストを描画する。例えば、UIモジュール112および/またはコメントモジュール136は、ユーザのクライアント装置102i上の収集フォルダホームページへファイルリストを描画する。図4Bは例示的なファイルリストを示す。ファイルリストの描画後、方法1300はブロック1332に進みうる。
ブロック1332で、提出物の選択を受信する。例えば、UIモジュール112および/またはコメントモジュール142は、チャットセッションに関連付けるために提出物の選択を受信する。提出物の選択の受信後、方法1300はブロック1334に進みうる。
ブロック1334で、チャットセッションを選択された提出物と関連付け、チャットセッションを保存する。例えば、UIモジュール112および/またはコメントモジュール142は、チャットセッションを選択された提出物と関連付けてチャットセッションを保存する。チャットセッションの保存後、方法1300はブロック1338に進みうる。
ブロック1336で、チャットセッションをユーザに電子メール送信する。例えば、電子メールモジュール140はチャットセッションをユーザに電子メール送信する。チャットセッションをユーザに電子メール送信した後、方法1300はブロック1338に進みうる。
ブロック1338で、チャットセッションを折り畳む。例えば、UIモジュール112および/またはコメントモジュール142は、図13Bに示すように、チャットセクション1354を折り畳ませる。
上記の例は提出者を対象とするが、当業者は、本例はチャットセッションを始める収集者を対象とすることができることを理解するであろう。1つ以上の実施形態では、チャット機能は提出物に紐づく必要はない。例えば、提出者は、ファイルの提出前に、図9Aに示すようにチャットアイコン1352を選択することができ、図13Aのブロック1308に進みうる。
<顔および/またはオブジェクト認識>
1つ以上の実施形態では、認識モジュール146はメタデータタグを識別した人物および/または識別したオブジェクトと関連付けるために用いられうる。顔および/またはオブジェクトを認識するために、ユーザはデジタル画像および/または動画の顔および/またはオブジェクトを認識し、識別するために、認識モジュール146をトレーニングするために画像インタフェースを利用できる。認識モジュール146は、適切なまたは既知の顔認識ソフトウェアおよび/またはオブジェクト認識ソフトウェアを含みうる。例えば、顔認識ソフトウェアには、カリフォルニア州クパチーノのApple社が提供するiPhoto、カリフォルニア州マウンテンビューのAdobe Systems社が提供するPhotoshop Elements、カリフォルニア州マウンテンビューのGoogle社が提供するPicassa、または他の顔認識ソフトウェアが利用されうる。例えば、オブジェクト認識ソフトウェアには、カリフォルニア州クパチーノのComputer Vision Softwareという商号を使うDynamic Ventures, Inc社が提供するObject Recognition Software、カリフォルニア州マウンテンビューのGoogle社が提供するGoogLeNet、または他のオブジェクト認識ソフトウェアが利用されうる。1つ以上の実施形態では、認識モジュール146は、1つ以上の上記のベンダによって提供されうるサービスプロバイダ109iを用いうる。そのような実施形態では、後述する認識方法を実行するためにAPIが利用されうる。
収集フォルダまたは他の場所に格納されたアップロード済ファイルを用いて、写真または動画中の顔および/またはオブジェクトを閲覧し、タグ付けすることで、収集者は顔認識ソフトウェアおよび/またはオブジェクト認識ソフトウェアをトレーニングできる。タグは、例えばメタデータタグのようなメタデータとして保存されうる。メタデータおよびメタデータタグはトークンとして保存されうる。例えば、収集者は1つ以上の写真の人物をタグ付けし、続いて異なる写真の人物をタグ付けするように、顔認識ソフトウェアに対して写真を実行できる。同様に、収集者は、オブジェクト認識ソフトウェアに対して同じことをしてもよい。オブジェクト認識ソフトウェアは、家庭用ペットのような動物、および/またはエッフェル塔または自由の女神のようなオブジェクトをタグ付けできる。1つ以上の実施形態では、認識モジュール146はイベント特有のトークンとグローバルトークンとからなる異なるトークンを提供できる。イベント特有のトークンはメタデータ・フィルタ・パラメータとともにメタデータを含みうる。グローバルトークンはメタデータ・フィルタ・パラメータのないメタデータを含みうる。メタデータ・フィルタ・パラメータは、日付、時刻、場所および/または季節といった様々な異なるパラメータに基づき写真を識別するためのフィルタを含みうる。例えば、収集者が収集者のフォルダへイベントの写真をアップロードし、顔を認識するよう認識モジュール146をトレーニングする場合、収集者は写真に関連するメタデータに基づきイベントに対して日付および/または場所に対するフィルタも追加できる。一度トレーニングされると、収集者はイベントトークンを保存することができる。続いて収集者は、同一イベントに出席した人物から追加の写真を収集するために、トレーニングされたイベントトークンとともにファイルリクエストを他人に送信できる。例えば、イベントは結婚式、パーティ、ゲーム、等でありうる。
1つ以上の実施形態では、一度認識モジュール146が収集フォルダ内のコンテンツに対して実行されると、認識モジュール146は、収集者が特定された写真の枚数を収集者に知らせる電子メールメッセージを収集者に送信させうる。例示的な電子メールメッセージは、「あなたのフォトリクエストで3枚の写真を受信しました」でありうる。
図14Aを参照し、例示的な実施形態に従う、収集フォルダ上で顔および/またはオブジェクト認識を利用する方法のフローチャートを説明する。本方法を実行するために様々な方法が存在するため、例示的な方法1400は例として提供される。以下で説明する方法1400は、例として図1および2Aに示す構成を用いて実行されることができ、これらの図の様々な要素が例示的な方法1400を説明するために参照される。図14Aに示す各ブロックは、例示的な方法1400で実行される1つ以上のプロセス、方法、またはサブルーチンを表す。例示的な方法1400はブロック1402で開始しうる。
ブロック1402で、ファイルリストを作成する。例えば、収集者は図3に示す方法300のブロック302〜306を実行することができる。例えば、ブロック306でプロンプトに応じて、収集者は、図14Bに示すように、ファイルリクエストを「Family Wedding」と名付け、「/Requests/Wedding」にリクエストしたファイルが格納されうる。収集者は、描画された新規ファイルリクエストの作成オプション710を選択できる。ファイルリクエストのメニューオプションの選択後、方法1400はブロック1404に進みうる。
ブロック1404で、提出者招待UIを描画する。例えば、収集モジュール130は、収集者のクライアント装置102i上に、図8Aに示すような、生成された収集リンク802を含む提出者招待UI800を描画できる。提出者招待UI800の描画後、方法1400はブロック1406に進みうる。
ブロック1406で、完了ボタンの選択を受信する。例えば、収集モジュール130は収集者が電子メールアドレスを入力することなく、図8Aに示すように完了ボタン806の選択を受信する。完了ボタンの選択の受信後、方法1400はブロック1408に進みうる。
ブロック1408で、ファイルリストを表示するUIを描画する。例えば、UIモジュール122は、収集者がファイルを選択するためのファイルリストを表示するUIを収集者のクライアント装置102i上に描画する。図7Cは、収集者が選べるファイルを表示するUI750を示す。ファイルリストを表示するUIの描画後、方法1400はブロック1410に進みうる。
ブロック410で、認識ソフトウェアをトレーニングする。例えば、認識モジュール146は、認識ソフトウェアをトレーニングするために、1枚以上の写真の顔および/またはオブジェクトを認識するように認識ソフトウェアを実行できる。認識ソフトウェアは、トークンに関連付けられた任意のフィルタを適用できる。認識ソフトウェアは、顔および/またはオブジェクト1464、1466を認識できる。後述する図14Kは、認識ソフトウェアをトレーニングするためのより詳細なフローチャートを提供する。認識ソフトウェアのトレーニング後、方法1400はブロック1412に進みうる。
ブロック1412で、図3のブロック310〜316を実行する。ブロック310で、提出者招待UI800を描画する。例えば、収集モジュール130は、収集者のクライアント装置102i上に、図8Aに示すような、生成された収集リンク802を描画する提出者招待UI800を描画できる。あるいは、収集者は、1人以上の提出者へ電子メールメッセージを送信できる。電子メールメッセージは、収集者が電子メールメッセージにコピーして貼り付け、または打ち込み、トークンを添付できる、生成されたリンクを含みうる。提出者招待UI800の描画後、方法300はブロック312に進みうる。ブロック312で、収集者はメッセージを入力してもよい。例えば、収集者は、「Please use the token to find photos from our wedding!」といったメッセージを入力できる。メッセージの入力後、方法300はブロック314に進みうる。ブロック314で、入力済みの電子メールアドレスと、入力されたのであればメッセージとを格納する。入力された電子メールアドレスと、入力されたのであればメッセージを格納した後、方法300はブロック316に進みうる。ブロック316で、生成されたリンクが配信される。図3のブロック310〜316の実行後、方法1400はブロック1414に進みうる。
ブロック1414で、提出者が生成済みの収集リンクをアクティブ化することに応じ、提出者にファイルリクエスト情報の入力を求めるファイルアップロードUIを描画する。例えば、UIモジュール122は、ファイルアップロードUIを提出者のクライアント装置102上に描画させしめる。図14Cは描画されたファイルアップロードUI900を示す。図示するように、ファイルリクエストはGordon Shieldsから来る。ファイルアップロードUI900は、収集者からのメッセージ「Please use the token to find photos from our wedding!」を描画できる。図示するように、描画されたファイルアップロードUI900は、トークンの実行ボタン924を含む。ファイルアップロードページの描画後、方法1400はブロック1416に進みうる。
ブロック1416で、トークンの実行ボタンの選択を受信する。例えば、認識モジュール146は、トークンの実行ボタン924の選択を受信する。トークンの実行ボタン924の選択の受信後、方法1400はブロック1418に進みうる。
ブロック1418で、フォルダリストを表示するフォルダリストUIを描画する。例えば、UIモジュール122は、提出者が認識ソフトウェアを実行することを選択できる、図14Dに示すように提出者のファイルのフォルダリストを描画できる。ファイルリストを表示するファイルリストUIの描画後、方法1400はブロック1420に進みうる。
ブロック1420で、フォルダ選択を受信する。例えば、UIモジュール122は、収集者からのトークンを用いて認識ソフトウェアを実行するための、描画されたフォルダの選択を受信する。選択の受信後、方法1400はブロック1422に進みうる。
ブロック1422で、収集者からのトークンを用いて認識ソフトウェアを実行する。例えば、認識モジュール146は、1つ以上の写真または動画の中の顔および/またはオブジェクトを認識するように、トークンを用いて認識機能を実行できる。1つ以上の実施形態では、提出者は認識ソフトウェアをトレーニングできる。認識モジュール146は、メタデータタグとして入力された名前を格納し、メタデータタグを対応する写真/ファイルに関連付けうる。認識モジュール146は、メタデータタグとして入力された名前を格納し、メタデータタグをトークンに関連付けうる。提出者は1つ以上のフォルダに対してトークンを実行できる。提出者が認識ソフトウェアの実行を完了したとき、方法1400はブロック1424に進みうる。
ブロック1424で、提出者が生成済みの収集リンクをアクティブ化することに応じ、提出者に情報の入力を求めるファイルアップロードUIを描画する。例えば、UIモジュール122は、ファイルアップロードUIを提出者のクライアント装置102上に描画させしめる。図14Cは描画されたファイルアップロードUI900を示す。図示するように、ファイルリクエストはBob Smithから来る。提出者はプロンプトに応じて情報を入力できる。提出者はアップロードする1つ以上のフォルダおよび/またはファイルを選択できる。ファイルアップロードUIの描画後、方法1400はブロック1426に進みうる。
ブロック1426で、ファイルリクエスト情報と1つ以上のアップロード済ファイルの選択とを受信する。例えば、UI122は、プロンプトに応答して提出者によって提供されたファイルリクエスト情報と、アップロードされる1つ以上のファイルの選択とを受信する。アップロードされる1つ以上のファイルを選択するために、提出者はファイル選択オプションを選択でき、提出者のクライアント装置のディレクトリが描画され、提出者がアップロードのための1つ以上のファイルを選択することを可能にすることができる。情報と1つ以上の受信されたアップロード済ファイルとを受信した後、方法1400はブロック1428に進みうる。
ブロック1428で、ファイルリクエスト情報と1つ以上の選択されたファイルとをアップロードする。情報とアップロードのための1つ以上のファイルの選択を提供した後、コンテンツ管理システム106へ情報と1つ以上うのファイルをアップロードするために、提出者は図14Cに示すアップロードボタン922を選択できる。例えば、提出者のクライアント装置102iのクライアントソフトウェアは、情報と1つ以上の選択されたファイルとをコンテンツ管理システム106へアップロードさせうる。情報と1つ以上のファイルのアップロード後、方法1400はブロック1430に進みうる。
ブロック1430で、1つ以上のアップロード済のファイルを格納する。例えば、コンテンツアイテム管理モジュール128は、コンテンツストレージ160に1つ以上のアップロード済のファイルを格納する。1つ以上のアップロード済のファイルは、収集フォルダに格納され、および/または収集フォルダに関連付けられうる。コンテンツディレクトリは、コンテンツストレージ160の各コンテンツアイテムの場所を識別できる。コンテンツディレクトリは、コンテンツストレージに格納された各コンテンツアイテムに対する固有のコンテンツエントリを含みうる。コンテンツエントリは、コンテンツストレージ160のコンテンツアイテムの場所を識別するコンテンツポインタを含みうる。1つ以上のアップロード済ファイルの格納後、方法1400はブロック1432に進みうる。
ブロック1432で、アップロード済ファイルに関連付けられたメタデータタグをレビューする。例えば、認識ソフトウェアは、収集者の名前など、トークンがトレーニングされた1つ以上のオブジェクトを探すため、アップロード済ファイルに関連付けられたメタデータタグをレビューできる。メタデータタグのレビュー後、方法1400はブロック1424に進みうる。
ブロック1434で、アップロードを収集者に通知する。通知は、電子メール、テキストメッセージ、アカウントへの投稿、アプリケーション通知(例えばインバンド通知)、または他の通知方法を含みうるが、これらに限定されない。例えば、電子メールモジュール140は収集者にアップロードを通知する。電子メールモジュール140は、提出者がファイルをアップロードしたことを収集者に知らせる電子メールを収集者に送信できる。例えば、電子メールメッセージは「Peter Smithが35枚の写真をアップロードしました」と記載できる。1つ以上のオブジェクトがタグ付けされたことをメタデータタグが指し示す場合、電子メールメッセージは、メタデータタグ通知を提供できる。例えば、電子メールメッセージは「Peter Smithが35枚の写真をアップロードし、その内20枚の写真にあなたがタグ付けされています」と記載できる。別の例では、例えば、電子メールメッセージは「Peter Smithが35枚の写真をアップロードし、その内20枚の写真にFidoがタグ付けされています」と記載できる。
図14Eを参照し、例示的な実施形態に従う、認識ソフトウェアをトレーニングするための方法のフローチャートを説明する。本方法を実行するために様々な方法が存在するため、例示的な方法1440は例として提供される。以下で説明する方法1440は、例として図1および2Aに示す構成を用いて実行されることができ、これらの図の様々な要素が例示的な方法1440を説明するために参照される。図14Eに示す各ブロックは、例示的な方法1440で実行される1つ以上のプロセス、方法、またはサブルーチンを表す。例示的な方法1440はブロック1442で開始できる。
ブロック1442で、収集フォルダに写真をアップロードする。例えば、当該分野で公知のように、収集者はカメラ、クライアント装置102i、および/または収集者のユーザアカウントから写真をアップロードできる。収集フォルダに写真をアップロードした後、方法1480はブロック1444に進みうる。
ブロック1444で、閲覧するアップロード済写真を選択する。例えば、収集者は、Family Weddingの収集フォルダに格納され、収集者のクライアント装置102iに描画された写真リストからアップロード済の写真を選択できる。閲覧するアップロード済の写真の選択後、方法1440はブロック1446に進みうる。
ブロック1446で、閲覧UIで選択された写真を描画する。例えば、UIモジュール122は、図14Fに示すように、収集者のクライアント装置102i上の閲覧UI1260に、選択した写真1458を描画させる。閲覧UI1260は、コメントアイコン1264、チャットアイコン1352、および顔認識および/またはオブジェクト認識アイコン1456も表示できる。顔認識および/またはオブジェクト認識アイコン1456は、認識アイコン1456とも呼ばれうる。選択された写真の描画と、認識アイコン1456の選択の受信後、方法1440はブロック1448に進みうる。
ブロック1448で、認識メニューオプションの第一セットを描画し、メニューオプションの選択を受信し、認識メニューオプションの第一セットは認識アイコンの選択に応じて描画される。例えば、認識モジュール146は、図14Gに示すように、認識メニューオプションの第一セット1466を描画させうる。図示するように、認識メニューオプションの第一セットは、イベントトークン・ボタン1460、グローバルトークン・ボタン1462、および両方1464を含みうる。認識メニューオプションの描画と、選択の受信後、方法1440はブロック1450に進みうる。
ブロック1450で、1つ以上の写真に認識ソフトウェアを実行する。例えば、認識モジュール146は、認識ソフトウェアをトレーニングするために、1枚以上の写真の顔および/またはオブジェクトを認識するように認識ソフトウェアを実行できる。認識ソフトウェアは、トークンに関連付けられた任意のフィルタを適用できる。認識ソフトウェアは、顔および/またはオブジェクト1466、1468を認識できる。認識ソフトウェアは、図14Hに示すように、認識された顔および/またはオブジェクトに対して名前を打ち込むことで、1つ以上の認識された顔および/またはオブジェクト1470、1472を識別するよう収集者に求めうる。図示するように、収集者はGordon1470とSue1472を入力する。認識モジュール146は、メタデータタグとして入力された名前を格納し、メタデータタグを対応する写真/ファイルに関連付けうる。認識モジュール146は、メタデータタグとして入力された名前を格納し、メタデータタグを選択されたトークンを、イベントトークン、グローバルトークン、または両方、と関連付けうる。写真のタグ付け後、収集者はより多くの写真を見ていき、認識された顔および/またはオブジェクトをタグ付けできる。例えば、収集者は別の写真に移動するために、ナビゲーションボタン1474、1476を利用できる。認識モジュール146は、対応する収集フォルダにイベントトークン1460を保存できる。認識モジュール146は、写真フォルダまたはトークンフォルダに、イベントトークン1460および/またはグローバルトークン1462を保存できる。イベントトークンは保存され、イベントに従って、例えばFamily Wedding Tokenのように自動的に名付けられうる。グローバルトークンは保存され、例えばGlobal Tokenのように自動的に名付けられうる。ユーザが認識ソフトウェアの実行を完了したとき、方法1440はブロック1452に進みうる。
ブロック1452で、認識メニューオプションの第二セットを描画し、メニューオプションの選択を受信する。例えば、認識モジュール146は、図14Iに示すように、収集者のクライアント装置102i上に認識メニューオプション1484の第二セット102を描画させうる。認識メニューオプションの第二セット1486は、イベントトークンの送信ボタン1482および/またはグローバルトークンの送信ボタン1484を含みうる。イベントトークン・ボタン1460が前に選択された場合、続いてイベントトークンの送信ボタン1482のみが描画される。グローバルトークン・ボタン1462が前に選択された場合、続いてグローバルトークンの送信ボタン1484のみが描画される。両方ボタン1464が前に選択された場合、続いてイベントトークンの送信ボタン1482とグローバルトークンの送信ボタン1484とが描画される。認識メニューオプションの第二セットの描画と、ボタンの選択の受信後、方法1440はブロック1454に進みうる。
ブロック1454で、認識メニューオプションの第三セットを描画し、メニューオプションの選択を受信する。例えば、認識モジュール146は、イベントトークンの送信ボタン1482とグローバルトークンの送信ボタン1484の何れかが選択されたことに応じて、図14Jに示すように、収集者のクライアント装置102i上の認識メニューオプションの第三セットの描画を引き起こしてもよい。認識メニューオプションの第三セット1484は、日付フィルタの追加ボタン1488、場所フィルタの追加ボタン1490、および続行ボタン1492を含みうる。日付フィルタの追加ボタン1488が選択される場合、収集者は日付または日付の範囲をトークンに記入できる。場所フィルタの追加ボタン1490が選択される場合、収集者は場所または距離閾値を有する場所をトークンに追加できる。収集者は日付フィルタの追加ボタン1488と場所フィルタの追加ボタン1490の両方を選択できる。収集者が続行ボタン1492を選択することに応じて、方法1440は図14Aのブロック1412に進みうる。
<電子メール>
1つ以上の実施形態では、ユーザが電子メールメッセージを打ち込むときに、電子メールモジュール144は1つ以上のトリガワードについて電子メールメッセージの文章をモニタし、ファイルリクエストの利用を提案できる。例えば、文章が「あのファイルを送信してください」と記載される場合、電子メールモジュール144はユーザに、ユーザがファイルリクエストを生成したいかどうかの入力を求めうる。ユーザがファイルリクエストの利用に同意する場合、電子メールモジュール144は、ファイルリクエストを作成させしめ、電子メールメッセージ内に生成されたリンクを埋め込みうる。生成されたリンクはハイパーテキストでありうる。電子メールモジュール144はハイパーテキストでテキストを置換又は補完してもよい。例えば、テキストは「私の収集フォルダを使ってあのファイルを送信してください」となりうる。「私の収集フォルダ」はハイパーテキストであってもよく、提出者がハイパーテキストをクリックするとき、アップロードページが提出者のクライアント装置上に描画されうる。トリガ言語は、コンテンツ管理システム106によって設定されうる、および/またはユーザ駆動でありうる。ユーザ駆動のトリガ言語では、ユーザは、ファイルリクエストを生成するためのプロンプトをトリガするために、1つ以上の単語または語句を設定できる。
図15Aを参照し、例示的な実施形態に従う、ファイルリクエスト・トリガを作成する方法のフローチャートを説明する。本方法を実行するために様々な方法が存在するため、例示的な方法1500は例として提供される。以下で説明する方法1500は、例として図1および2Aに示す構成を用いて実行されることができ、これらの図の様々な構成要素が例示的な方法1500を説明するために参照される。図15Aに示す各ブロックは、例示的な方法1500で実行される1つ以上のプロセス、方法、またはサブルーチンを表す。例示的な方法1500はブロック1502で開始しうる。
ブロック1502で、メニューアイコンの選択を受信する。例えば、UIモジュール122は、図15Bに示すように、ユーザのクライアント装置102i上に描画されるメニューアイコン1520を選択する、例えば収集者のような、ユーザによるメニューアイコンの選択を受信できる。メニューアイコンの選択の受信後、方法1500はブロック1504に進みうる。
ブロック1504で、メニューを描画する。例えば、UIモジュール122は図15Bに示すように、メニューオプションをリスト化するメニューであるメニュー1524をユーザのクライアント装置102iに描画する。メニュー1524の描画後、方法1500はブロック1506に進みうる。
ブロック1506で、電子メール・メニューオプションの選択を受信する。例えば、UIモジュール122および/または電子メールモジュール140は、電子メールのメニューオプション1524または電子メールの拡大アイコン1526の選択を受信する。電子メールオプションの選択の受信後、方法1500はブロック1508に進みうる。
ブロック1508で、電子メールのメニューオプションを描画する。例えば、UIモジュール122および/または電子メールモジュール140は、図15Cに示すように、ユーザのクライアント装置102iに電子メールオプション1530を描画する。図示するように、ファイルを電子メール送信1532およびトリガ1534からなる、2つの電子メールのメニューオプションが存在する。電子メールのメニューオプションの描画後、方法1500はブロック1510に進みうる。
ブロック1510で、トリガ・メニューオプションの選択を受信する。例えば、UIモジュール122および/または電子メールモジュール140は、トリガ・メニューオプション1534の選択を受信する。トリガ・メニューオプション1534の選択の受信後、方法1500はブロック1512に進みうる。
ブロック1512で、トリガ・メニューオプションを描画する。例えば、UIモジュール122および/または電子メールモジュール140は、図15Dに示すように、ユーザのクライアント装置102iにトリガ・メニューオプション1540を描画する。トリガ・メニューオプションは、ユーザ定義トリガおよび/またはシステムのデフォルトトリガを含みうる。例えば、図示するように、1つのユーザ定義トリガ「ファイルを送信して」1542とシステムのデフォルトトリガ「ファイルを電子メール送信して」1544とが存在する。メニューは、追加オプション1546と共に入力ボックス1548を含みうる。ユーザが以前1つ以上のトリガを入力している場合、以前入力された1つ以上のトリガは図示するように表示されるであろう。トリガのメニューオプションの描画後、方法1500はブロック1514に進みうる。
ブロック1514で、ユーザが入力したトリガを受信する。例えば、UIモジュール122および/または電子メールモジュール140は、「電子メールにファイルを添付して」などのユーザが入力したトリガを受信する。ユーザが入力したトリガの受信後、方法1500はブロック1516に進みうる。
ブロック1516で、ユーザが入力したトリガを保存する。例えば、UIモジュール122および/または電子メールモジュール140は、ユーザが入力したトリガを保存する。
図15Eを参照し、例示的な実施形態に従う、トリガの検出に応じてファイルリクエストを作成する方法のフローチャートを説明する。本方法を実行するために様々な方法が存在するため、例示的な方法1550は例として提供される。以下で説明する方法1550は、例として図1および2Aに示す構成を用いて実行されることができ、これらの図の様々な要素が例示的な方法1550を説明するために参照される。図15Eに示す各ブロックは、例示的な方法1550で実行される1つ以上のプロセス、方法、またはサブルーチンを表す。例示的な方法1550はブロック1552で開始できる。
ブロック1552で、電子メールメッセージの 文章をモニタし比較する。例えば、電子メールモジュール140は、電子メールメッセージが打ち込まれているときに電子メールメッセージの文章をモニタし、文章を1つ以上の格納済の電子メールトリガと比較する。比較結果が一致であった場合、方法1550はブロック1554に進みうる。
ブロック1554で、ファイルリクエストを作成するためにユーザに入力を求める、電子メールでトリガされるファイルリクエストUIを描画する。例えば、収集モジュール130および/または電子メールモジュール140は、図15Fに示すように、ユーザのクライアント装置102iにファイルリクエストを作成するためにユーザに入力を求める電子メールでトリガされるファイルリクエストUIを描画する。図示するように、電子メールでトリガされるファイルリクエストUI1572はユーザに入力を求める。プロンプトは、ユーザが電子メールメッセージ1570を打ち込む間、ファイルリクエストを作成するためのyesボタン1574と、ファイルリクエストを作成しないためのnoボタン1576を含む。電子メールでトリガされるファイルリクエストUIの描画後、方法1550はブロック1556に進みうる。
ブロック1556で、応答を受信する。例えば、収集モジュール130および/または電子メールモジュール140は、プロンプトへの応答を受信する。応答がyesボタン1574の選択である場合、方法1550はブロック1558に進みうる。応答がnoボタン1576の選択である場合、方法1560はブロック1552に進みうる。
ブロック1558で、ファイルリクエスト・リンクを生成し、電子メールメッセージに挿入する。例えば、収集モジュール130および/または電子メールモジュール140は、生成されたファイルリクエスト・リンクを電子メールメッセージに挿入することができる、または電子メールメッセージの文章をハイパーテキストリンクに置換することができる。例えば、ユーザが「あのファイルを送信してください」と打ち込んだ場合、文章が「あのファイルをhttp://db.tt/xOFounwに送信してください」と記載されるよう、文章は生成されたファイルリクエスト・リンクで補完されうる。別の例では、文章がハイパーリンクに置換される場合、文章は、「送信してください」がハイパーリンクである「あのファイルを送信してください」と記載されうる。ファイルリクエスト・リンクの生成と電子メールメッセージへの挿入との後、方法1550はブロック1552に続きうる。
1つ以上の実施形態では、収集の電子メールアドレスが作成されうる。収集の電子メールアドレスは、ファイルリクエスト・リンクの代わりにおよび/または加えて作成されうる。例えば、電子メールアドレスは、リンクが収集モジュール130によって生成されたときに作成されうる。1つ以上の実施形態では、電子メールモジュール140が電子メールアドレスを作成できる。電子メールを利用することにより、提出者は電子メールメッセージへ返信し、1つ以上のファイルを添付することにより、収集フォルダへ1つ以上のファイルをアップロードできる。
図16Aを参照し、例示的な実施形態に従う、収集の電子メールアドレスを作成するための方法のフローチャートを説明する。本方法を実行するために様々な方法が存在するため、例示的な方法1600は例として提供される。以下で説明する方法1600は、例として図1および2Aに示す構成を用いて実行されることができ、これらの図の様々な構成要素が例示的な方法1600を説明するために参照される。図16Aに示す各ブロックは、例示的な方法1600で実行される1つ以上のプロセス、方法、またはサブルーチンを表す。例示的な方法1600はブロック1602で開始しうる。
ブロック1602で、生成済みのリンクを配信する。例えば、収集モジュール130および/または電子メールモジュール140は、受信した情報のうちの少なくともいくらかを元に電子メールメッセージを送信する。これは、図3のブロック314で受信済みの情報が受信された図3のブロック316と同一または類似してもよい。電子メールメッセージは、電子メールアドレスが収集者によって入力された1人以上の提出者への、生成済みのリンクと、入力されたのであればメッセージを収容できる。電子メールアドレスが送信される電子メールアドレスは、収集モジュール130および/または電子メールモジュールによって生成された電子メールアドレスでありうる。生成済みのリンクの配信後、方法1600はブロック1604に進みうる。
ブロック1604で、電子メールメッセージを描画する。例えば、図16Bに示すように、コンテンツ管理システム106の電子メールプログラムまたはサードパーティの電子メールプログラムは、当分野で公知のように、電子メールメッセージを提出者のクライアント装置102iに描画できる。図示するように、電子メールメッセージ1650は、例えば「FinalPapers@Dropbox.com」1652のような電子メールアドレス、例えば提出者「Amy Brown」1654のような電子メールの送信先、「Final Papers」1656のような件名、例えば「Gordon Shields」1658のような電子メールの送信元、例えば「Final Papers」1660のような収集フォルダの題名、例えば収集フォルダへのハイパーテキストリンクである「here」を含む「Please respond to the file request by clicking here or reply to this email message」1662のような生成されたリンク、および、例えば「This is the last project for US History 101」1664のような記入されれば収集者からのコメント、といったファイルリクエストに関する情報を含みうる。収集者がファイルリクエストをカスタマイズした場合、電子メールメッセージ1650は、「提出数:1」1666、「ファイルタイプ:any」1668、「締め切り:December 1, 2015」1670、および「上書き保存:yes」1672のような追加情報を含みうる。ファイルリクエストが写真のリクエストの場合、電子メールメッセージは添付としてトークンを含みうる。電子メールメッセージの描画後、方法1600はブロック1606に進みうる。
ブロック1606で、返信メール・メニューオプションを受信する。例えば、コンテンツ管理システム106の電子メールプログラムまたはサードパーティの電子メールプログラムは、当分野で公知のように、返信オプションまたは返信メールオプションの選択を受信する。返信オプションの受信後、方法1600はブロック1608に進みうる。
ブロック1608で、文章および/または1つ以上の添付ファイルを受信する。例えば、コンテンツ管理システム106の電子メールプログラムまたはサードパーティの電子メールプログラムは、当分野で公知のように、提出者からの文章および/または1つ以上の添付ファイルを受信する。文章と1つ以上の添付ファイルとの受信後、方法1600はブロック1610に進みうる。
ブロック1610で、送信コマンドを受信する。例えば、コンテンツ管理システム106の電子メールプログラムまたはサードパーティの電子メールプログラムは、当分野で公知のように、送信コマンドを受信する。送信コマンドの受信後、方法1600はブロック1612に進みうる。
ブロック1612で、電子メールメッセージを送信する。例えば、コンテンツ管理システム106の電子メールプログラムまたはサードパーティの電子メールプログラムは、コンテンツ管理システム106へ電子メールメッセージを送信する。電子メールメッセージの送信後、方法1600はブロック1614に進みうる。
ブロック1614で、提出者から電子メールメッセージを受信する。例えば、電子メールモジュール140は、電子メールメッセージと1つ以上の添付ファイルとを提出者から受信する。電子メールメッセージの受信後、方法1600はブロック1616に進みうる。
ブロック1616で、1つ以上の添付ファイルを格納する。例えば、収集モジュール130および/または電子メールモジュール140は、コンテンツストレージ160に1つ以上の添付ファイルを格納する。1つ以上のファイルは、収集フォルダに格納され、および/または電子メールメッセージが送信された電子メールアドレスに基づいて収集フォルダに関連付けられうる。収集モジュール130および/または電子メールモジュール140は、収集フォルダに別個のファイルとして電子メールを格納し、および/または収集フォルダに関連付けられうる。コンテンツディレクトリは、コンテンツストレージ160の各コンテンツアイテムの場所を識別できる。コンテンツディレクトリは、コンテンツストレージ160に格納された各コンテンツアイテムに対する固有のコンテンツエントリを含みうる。コンテンツエントリは、コンテンツストレージ160のコンテンツアイテムの場所を識別するコンテンツポインタを含みうる。1つ以上のアップロード済ファイルの格納後、方法1600はブロック1618に進みうる。
ブロック1618で、収集フォルダに格納される1つ以上のファイルに応じて収集者に通知する。通知は、電子メール、テキストメッセージ、アカウントへの投稿、アプリケーション通知(例えばインバンド通知)、または他の通知方法を含みうるが、これらに限定されない。例えば、アカウント管理モジュール124および/または電子メールモジュール140は、1つ以上のファイルが収集フォルダに格納されていることに応じて収集者に電子メールメッセージを送信させる。通知は、1つ以上のファイルが収集ファイルにアップロードされたことを収集者に通知できる。電子メールメッセージは、アップロード済の1つ以上のファイルに関連付けられた情報を提供できる。例えば、情報は、ファイル名、ファイルがアップロードされたタイムスタンプ、および各アップロード済ファイルの提出者の名前を含みうる。
<公開>
収集フォルダのコンテンツアイテムのいくつかまたは全てを受信した後、収集者は収集フォルダのコンテンツを公開できる。収集フォルダを公開することで、収集者は提出物を1人以上の提出者および/または他人と共有することができる。収集フォルダの公開はプライベートまたはパブリックでありうる。プライベートな公開は、プライベート収集フォルダへのアクセスを提出者のみに制限できる。パブリックな公開は、誰でも公開された収集フォルダへアクセスすることが可能になりうる。1つ以上の実施形態では、収集者はバニティURL(例えばwww.dropbox.com/filerequest/gideon)のようなパブリックで発見可能なURLを介して、または会社のwikiのようなwikiを介して、コンテンツを公開できる。1つ以上の実施形態では、公開された収集者のフォルダは電子データルームとして公開されうる。
図17Aを参照し、例示的な実施形態に従う、収集フォルダのコンテンツを公開する方法のフローチャートを説明する。本方法を実行するために様々な方法が存在するため、例示的な方法1700は例として提供される。以下で説明する方法1700は、例として図1および2Aに示す構成を用いて実行されることができ、これらの図の様々な要素が例示的な方法1700を説明するために参照される。図17Aに示す各ブロックは、例示的な方法1700で実行される1つ以上のプロセス、方法、またはサブルーチンを表す。例示的な方法1700はブロック1702で開始しうる。
ブロック1702で、収集者による収集フォルダにアクセスする。例えば、Gordon Shieldsのような収集者は、図4Bに示すように、収集者のクライアント装置102i上に描画されるホームページUI410に表示された収集フォルダを選択することにより、収集フォルダにアクセスする。例えば、収集者は、例えばフォルダHomework Assignment # 1 のような収集フォルダを選択できる。収集フォルダにアクセスした後、方法1700はブロック1704に進みうる。
ブロック1704で、フォーマットメニュー・オプションを受信し、コンテンツをフォーマットする。例えば、UIモジュール122および/またはコンテンツアイテム管理モジュール128は、図17Bに示すように収集フォルダ1750のコンテンツをフォーマットするために、フォーマットアイコン1752、1754の選択を受信する。順序のフォーマットアイコン1752を選択することにより、収集フォルダのコンテンツは、提出者、最終変更日、アルファベット順、等、当分野で公知のように整理されうる。テンプレートレイアウト・アイコン1754を選択することにより、収集者はテンプレートレイアウトに基づいてコンテンツを整理できる。例えば、UIモジュール122および/またはコンテンツアイテム管理モジュール128は、収集者のクライアント装置102i上にレイアウトメニュー1270を描画させ、収集者が、図17Cに示す表示されたテンプレートレイアウトの1つからテンプレートレイアウトを選択することを可能にさせうる。図示するように、本例では、収集者はオプションメニュー1270に表示されたリスト・テンプレートレイアウト1272とスプレッド・テンプレートレイアウト1274との間から選びうる。テンプレートレイアウトは、収集フォルダ内のファイルのファイルタイプを元にすることができる。例えば、画像ファイルに対して、収集者は異なるアルバム・テンプレートレイアウトから選択できる。コンテンツのフォーマット後、方法1700はブロック1706に進みうる。
ブロック1706で、公開のメニューオプションを受信する。例えば、UIモジュール122および/またはコンテンツアイテム管理モジュール128は、公開アイコン1756の選択を受信し、収集者のクライアント装置102i上に公開メニュー1280の描画し、収集者が図17Dに示す公開オプションから公開オプションを選択することを可能にさせる。提出者のみに公開のメニューオプション1282は、提出者が収集フォルダ内の全ての提出済みファイルへアクセスすることを可能にする。ウェブサイトに公開メニューオプション1284は、収集者が収集フォルダを公開するウェブサイトを入力することを可能にする。wikiに公開メニューオプション1286は、収集者が収集フォルダを公開するwikiを入力することを可能にする。データルームに公開メニューオプション1288は、収集者が収集フォルダを公開し、アクセス権および/またはパスワードを有するユーザのみに収集フォルダへのアクセスを可能にすることを可能にする。公開メニューオプションの受信後、方法1700はブロック1708に進みうる。
ブロック1708で、選択されたメニューオプションに従って収集フォルダを公開する。例えば、UIモジュール122および/またはコンテンツアイテム管理モジュール128は、選択された公開のメニューオプションに従いフォルダへのアクセス権を変更する。収集フォルダを公開した後、方法1700はブロック1710に進みうる。
ブロック1710で、提出者に電子メールメッセージを送信する。例えば、UIモジュール122および/または電子メールモジュール140は、提出者に収集フォルダの公開を通知する電子メールメッセージを送信する。
<パブリックなファイルリクエスト>
1つ以上の実施形態では、収集者はファイルリクエストをパブリックなファイルリクエストにすることができる。1つ以上の実施形態では、ファイルリクエスト・リンクは、例えばwww/dropbox.com/filerequest/public/gideonのようなバニティリンクといったパブリックに発見可能な共有リンクを介して発見可能でありうる。1つ以上の実施形態では、ファイルリクエスト・リンクは、ファイルリクエストの保存先を変更することで、パブリックで発見可能にすることができる。例えば、図7Aの保存先の変更ボックス706を選択することにより、収集者は保存先アドレスを「/Requests/Final papers」から「/Requests/public/Final papers」に変更し、保存先のアドレスをパブリックにすることができる。
1つ以上の実施形態では、ソーシャルメディア・ネットワークは、収集フォルダへの1つ以上のファイルの提出を促進するために、ユーザインタフェース上にファイルリクエストのウィジェットを含みうる。ファイルリクエスト・ウィジェットは、ウィジェットに関連付けられた1つ以上の特定のファイルを、同期型または非同期型のクライドベース・コンテンツ管理システムといった、コンテンツ管理システム106の収集フォルダへの直接的に提出することを促進するために用いられてもよい。結果的に、収集者は、ファイルリクエスト・リンクを生成し、ソーシャルネットワークのウェブサイトといったウェブサイトのユーザインタフェースへ挿入させるためにウィジェットを利用できる。例えば、ファイルリクエストのウィジェットアイコンをクリックすることで、ソーシャルネットワークは、Facebookの投稿またはTwitterのツイートのような、ユーザインタフェースに挿入されうるファイルリクエスト・リンクを取得するために、コンテンツ管理システム106と通信できる。ファイルリクエスト・リンクは、ハイパーテキストとして挿入され、ユーザに対して作成され、収集フォルダを作成することを選んだユーザに関連するアカウントに関連付けられる収集フォルダへのアクセスを提供できる。ユーザ/提出者がファイルリクエスト・リンクまたはハイパーテキストを選択すると、提出者が他の提出者によってアップロードされたファイルへアクセスできないようにしながら、ユーザ/提出者は、関連する収集フォルダにファイルをアップロードできる。例えば、Dropboxのような企業は、そのホームページにコンテストを投稿してもよい、または「Win one free month of storage on Dropbox by submitting the funniest picture showing the Dropbox logo. Click here to submit your picture. Contest ends November 21, 2015.」と記載したメッセージを、ソーシャルネットワークを介して投稿してもよい。「here」は収集フォルダへのハイパーテキストであってもよい。様々な実施形態で、ファイルリクエストのウィジェットは、ユーザがファイルリクエストのウィジェットを利用して1つ以上のコンテンツアイテムのコンテンツダウンロードのリクエストを選択および/または開始することを可能にする、ユーザインタフェース・エレメント(例えばボタン、ダイアログボックス、またはメニューバー)を含んでもよい。ファイルダウンロードのウィジェットは、例えば所定のウェブサイトのHTMLコードに小さなHTMLコードを貼り付けることで実施されてもよい。コードはコンテンツ管理システム106によって提供されてもよい。より具体的には、リンク管理モジュール208は収集フォルダを作成し、収集フォルダにダウンロードされるコンテンツアイテムを指し示してもよい。
図18Aを参照し、例示的な実施形態に従う、収集フォルダの管理方法のフローチャートを説明する。本方法を実行するために様々な方法が存在するため、例示的な方法1000は例として提供される。以下で説明する方法1800は、例として図1および2Aに示す構成を用いて実行されることができ、これらの図の様々な要素が例示的な方法1800を説明するために参照される。図18Aに示す各ブロックは、例示的な方法1800で実行される1つ以上のプロセス、方法、またはサブルーチンを表す。例示的な方法1800はブロック1802で開始しうる。
ブロック1802で、サードパーティのウェブサイトにファイルリクエストのアイコンを描画する。例えば、コンテンツ管理システム106からのウィジェットソフトウェアは、サードパーティのウェブサイトに提供され、ここでウィジェットソフトウェアは、サードパーティのウェブサイトにファイルリクエストのアイコンを表示する。サードパーティのウェブサイトは、ソーシャルネットワーキング・ウェブサイトのような、コンテンツ管理システム106によって運用されるウェブサイトである。図18Bは、テキストボックス1852に表示されたファイルリクエストのアイコン1854をもつ、例えばTwitter(登録商標)のような例示的なサードパーティのウェブサイトを示す。サードパーティのウェブサイト上にファイルリストのアイコンの描画した後、方法1800はブロック1804に進みうる。
ブロック1804で、ファイルリクエストのアイコンが選択されたことに応じて、サードパーティのウェブサイトからファイルリクエスト・リンクを生成するリクエストを受信する。例えば、リンク生成モジュール205がサードパーティのウェブサイトからのファイルリクエスト・リンクの生成リクエストを受信する。リクエストは、表示されたファイルリクエストのアイコン1854を選択するサードパーティのウェブサイトのユーザによって生成されうる。リクエストの受信後、方法1800はブロック1806に進みうる。
ブロック1806で、ファイルリンクを作成する。例えば、リンク生成モジュール202がファイルリクエスト・リンクを生成する。ファイルリクエスト・リンクの生成後、方法1800はブロック1808に進みうる。
ブロック1808で、サードパーティのウェブサイトへ生成したファイルリクエスト・リンクを提供する。例えば、リンク配信モジュール206がサードパーティのウェブサイトへの生成したファイルリクエスト・リンクを提供する。サードパーティのウェブサイトへ生成したファイルリクエストを提供した後、方法1800はブロック1810に進みうる。
ブロック1810で、サードパーティのウェブサイトに生成したファイルリクエスト・リンクを埋め込む。例えば、ウィジェットソフトウェアがサードパーティのウェブサイトへ生成したファイルリクエストを埋め込む。生成されたファイルリクエストは表示され、および/またはハイパーテキストとして生成され埋め込まれたファイルリクエスト・リンクである「here」をもつ「Click here to submit a file」のようなハイパーテキストとして表示されうる。サードパーティのウェブサイトへ生成されたファイルリクエスト・リンクを埋め込んだ後、方法1800は図3のブロック3に進みうる。
<収集フォルダの管理>
図19Aを参照し、例示的な実施形態に従う、収集フォルダの管理方法のフローチャートを説明する。本方法を実行するために様々な方法が存在するため、例示的な方法1900は例として提供される。以下で説明する方法1900は、例として図1および2Aに示す構成を用いて実行されることができ、これらの図の様々な構成要素が例示的な方法1900を説明するために参照される。図19Aに示す各ブロックは、例示的な方法1900で実行される1つ以上のプロセス、方法、またはサブルーチンを表す。例示的な方法1900はブロック1902で開始しうる。
ブロック1902では、ファイルリクエスト・メニューオプションの選択の受信に応じて、収集フォルダのホームページを描画する。例えば、UIモジュール122は図4Bに示すファイルリクエスト・メニューオプションの選択を受信し、収集フォルダのホームページを、収集者のクライアント装置102上に描画させる。図19Bは例示的な収集フォルダのホームページを示す。図示するように、収集フォルダのホームページは、アクティブリクエストの収集フォルダと、新規ファイルリクエストを作成するためのボタンを示す。本例では、アクティブな収集者は、2015年4月2日の日付を有し、「0」個のファイルが提出されたFinal Papers収集フォルダである、1つの収集フォルダを有する。収集フォルダのホームページを描画した後、方法1900はブロック1904に進みうる。
ブロック1904で、受信されたコマンドを判断する。例えば、UIモジュール122は、選択された新規ファイルリクエスト、アクティブ化リクエスト、非アクティブ化リクエスト、収集フォルダまたはサイドメニュー・オプションに応じて、コマンドを受信する。新規ファイルリクエストに対するものであるコマンドに応じて、方法は方法300のブロック306に進むことができ、収集者は新規収集フォルダを生成できる。図19Cは、収集フォルダvacation photosを生成するための第一の提出ページの初期UI700である。図19Cで、プロンプトは「ファイルリクエストにどのような名前をつけますか?」および「リクエストファイルをどこに保存しますか?」である。例示的な答えは、それぞれ「vacation photos」と「/Requests/Vacation photos」である。図19Dは、「ファイルリクエストの作成」ボタンが選択された第一の提出ページの初期UI700である。新規収集フォルダの作成後、方法1900はブロック1902に戻る。図19Eは、収集フォルダvacation photosが作成されたあとの収集フォルダのホームページのファイルリストUI1952を示す。フォルダは「Vacation photos」と「Final Papers」とである。アクティブリクエストに対するものであるコマンドに対応して、方法1900はブロック1902に進み、ここで収集フォルダのホームページが収集者のクライアント装置102i上に再度描画される。収集フォルダの選択であるコマンドに応じて、方法1900はブロック1906に進みうる。図19Fは、収集フォルダFinal Papersが選択されているファイルリストUI1952を示す。非アクティブリクエストに対するものであるコマンドに応答し、方法1900はブロック1910に進みうる。非アクティブファイルが選択されていることに応じて、サイドメニューと選択されているサイドメニューのメニューオプションが描画され、方法1900は選択されたメニューオプションの実行に進む。
ブロック1906で、ファイルリクエストの編集ページが描画される。例えば、UIモジュール122は、ファイルリクエストの編集ページを収集者のクライアント装置102i上に描画させしめる。図19Gに示すように、ファイルリクエストの編集ページは、収集者が収集フォルダの名前を変更、収集フォルダの場所を変更、および収集フォルダを非アクティブにすることを可能にする。ファイルリクエストの名前が変更された、またはファイルが保存される場所が変わる場合、収集者は保存ボタンを選択することができ、変更が保存され、方法1900はブロック1902に進みうる。収集者が取消ボタンを選択する場合、コマンドは取り消され、方法1900はブロック1902に進みうる。収集者がリクエストの非アクティブ化ボタンを選択する場合、方法1900はブロック1908に進みうる。
ブロック1908で、選択されたフォルダは非アクティブ化される。例えば、ファイルアクセス・モジュール204は選択されたフォルダを非アクティブ化する。非アクティブ化された収集フォルダは、提出者が非アクティブ化された収集フォルダへファイルをアップロードすることを禁じる。フォルダの非アクティブ化の後、方法1900はブロック1902に進みうる。図19Hは、収集フォルダFinal Papersが非アクティブ化された後、収集フォルダVacation photosのみがアクティブリクエスト収集フォルダにある収集フォルダのホームページUIを示す。
ブロック1910で、非アクティブリクエストのホームページを描画する。例えば、UIモジュール122は、収集者のクライアント装置102iへの非アクティブリクエストのホームページの描画を生じさせる。図19Iは、収集フォルダFinal Papersが表示される非アクティブリクエストのホームページUIを示す。非アクティブリクエストのホームページの描画後、方法1900はブロック1912に進みうる。
ブロック1912で、受信されたコマンドを判断する。例えば、UIモジュール122は、選択されたアクティブ化リクエスト、非アクティブ化リクエスト、収集フォルダまたはサイドメニュー・オプションに応じて、コマンドを受信する。アクティブリクエストに対するものであるコマンドに応じて、方法1900はブロック1902に進み、ここで収集フォルダのホームページが描画される。収集フォルダの選択であるコマンドに応答し、方法1900はブロック1914に進みうる。非アクティブリクエストに対するものであるコマンドに応じて、方法1900はブロック1910に進みうる。サイドメニューのメニューオプションが選択されたことに応じて、方法1900は選択されたメニューオプションの実行に進む。
ブロック1914で、ファイルリクエストの編集ページを描画する。例えば、UIモジュール122は、ファイルリクエストの編集ページを収集者のクライアント装置102i上に描画させしめる。図19Jに示すように、ファイルリクエストの編集ページは、収集者が収集フォルダの名前を変更、収集フォルダの場所を変更、および収集フォルダをアクティブにすることを可能にする。ファイルリクエストの名前が変更された、またはファイルが保存される場所が変わる場合、収集者は保存ボタンを選択することができ、変更が保存され、方法1900はブロック1902に進みうる。収集者が取消ボタンを選択する場合、コマンドは取り消され、方法1900はブロック1902に進みうる。収集者がリクエストの再アクティブ化ボタンを選択する場合、方法1900はブロック1916に進みうる。
ブロック1916で、選択されたフォルダをアクティブ化する。例えば、ファイルアクセス・モジュール204は選択されたフォルダを再アクティブ化する。再アクティブ化された収集フォルダは、提出者がアクティブ化された収集フォルダへファイルをアップロードすることを可能にする。フォルダの再アクティブ化後、方法1900はブロック1002に進みうる。図19Eは、収集フォルダFinal Papersが再アクティブ化された後の収集フォルダのホームページUIを示す。
<運営管理コントロールとダッシュボード>
1つ以上の実施形態では、運営管理コントロールが採用される。コンテンツ管理システムを例えばDropbox Businessのような企業レベルで利用する会社のために、会社は運営管理コントロールを有しうる。運営管理コントロールは、アクティビティログのレビュー、収集フォルダの閲覧、収集フォルダへ提出が行われたときの通知、収集フォルダが公開されたときに通知、収集フォルダ/ファイルリクエストを作成する人の制御、収集フォルダをレビューできる人の制御、および提出者が企業のメンバーである必要があるかどうかの制御を含むが、これに制限されなくてもよい。アドミニストレータ、ファイルリクエスト数、収集フォルダ数、ファイルリクエストを作成した人、コンテンツアイテムを収集フォルダに提出した人、及び作成されたレポートを記録することができるアクティビティログにアクセスできる。図20Bを参照し、例示的な実施形態に従う、アクティビティログを描画するUIが説明される。アドミニストレータは収集フォルダをレビューできる。例えば、アドミニストレータは、収集フォルダのコンテンツを閲覧するために、アクティビティログに表示される描画された収集フォルダを選択できる。アドミニストレータは、提出者が収集フォルダへコンテンツアイテムを提出することに応じて、電子メールメッセージのような通知を受信できる。アドミニストレータは、エンタープライズへアクセスした人物のリストを閲覧し、例えばファイルリクエスト/収集フォルダを作成する能力、ファイルリクエストを受信できる人を制御する能力、ファイルリクエストをカスタマイズできる人、および/または収集フォルダに関して企業のユーザができる他の特権のような、各ユーザの権利を制御できる。アドミニストレータは、提出者が、コンテンツアイテムを提出するために企業のメンバーでなければならないかどうかを制御できる。
図20Aを参照し、例示的な実施形態に従う、アクティビティログの生成方法のフローチャートを説明する。本方法を実行するために様々な方法が存在するため、例示的な方法2000は例として提供される。以下で説明する方法2000は、例として図1および2Aに示す構成を用いて実行されることができ、これらの図の様々な要素が例示的な方法2000を説明するために参照される。図20Aに示す各ブロックは、例示的な方法2000で実行される1つ以上のプロセス、方法、またはサブルーチンを表す。例示的な方法2000はブロック2002で開始しうる。
ブロック2002で、アクティビティについてコンテンツ管理システムのアクティビティをモニタする。例えば、分析モジュール134は、コンテンツ管理システム106内で企業アカウントに関連付けられたアクティビティをモニタする。アクティビティの検出に応じて、方法2000はブロック2004に進む。
ブロック2004で、アクティビティを判断する。例えば、分析モジュール134はエンタープライズアカウントに関連するアクティビティを判断する。例えば、アクティビティは、フォルダにアクセスし、収集フォルダを生成し、非アクティブファイルリクエストを再アクティブ化し、アクティブファイルリクエストを非アクティブ化し、収集フォルダへの提出物を受信し、収集フォルダでの上書き保存を受信し、収集フォルダの締め切りに達し、収集フォルダを公開し、不適切な提出を検出し(例えばユーザ認証されていないなど)、悪性コードをもつ提出物を受信し、盗用を検出する等でありうる。アクティビティの判断後、方法2000はブロック2006へ進む。
ブロック2006で、アクティビティと関連情報とをアクティビティログに記録する。例えば、分析モジュール134は、アクティビティと関連情報とをアクティビティログに記録する。関連情報は、アクティビティ、アクティビティのタイムスタンプ、アクティビティに関連付けられたユーザ、ユーザの役割、等を含みうる。アクティビティの記録後、方法2000はブロック2008に進む。
ブロック2008で、アクティビティログの閲覧リクエストを受信する。例えば、分析モジュール134は、アクティビティログの閲覧リクエストを受信する。リクエストの受信後、方法2000はブロック2010に進みうる。
ブロック2010で、アクティビティログの閲覧リクエストに関連するユーザを認証する。例えば、ユーザ識別モジュール126はリクエストに関連するユーザを認証する。認証は、ユーザに要求者のユーザアカウントにログインすることを要求してもよい、または要求者のクライアント装置102iに格納されたクッキーに基づいてもよい。ユーザが認証される場合、方法2000はブロック2012に進みうる。ユーザが認証されない場合、方法2000はブロック2020に進みうる。
ブロック2012で、ユーザに範囲の入力を求める。例えば、分析モジュール134は、期間またはエントリ数の設定でありうる、範囲を入力するようユーザに求める。これは描画されたメニューを介して行われうる。プロンプトの描画後、方法2000はブロック2014に進みうる。
ブロック2014で、プロンプトに応じる範囲を受信する。例えば、分析モジュール134は、プロンプトに応じて、期間またはエントリ数の設定を受信する。範囲の受信後、方法2000はブロック2016に進みうる。
ブロック2016で、入力された範囲に基づくアクティビティログを取得する。例えば、分析モジュール134は、エントリ数の設定に基づき、アクティビティログのエントリを取得する。入力された範囲に対するアクティビティログの取得後、方法2000はブロック2018に進みうる。
ブロック2018で、入力された範囲の取得されたアクティビティログを、アクティビティログUIに描画する。例えば、UIモジュール122は、図20Bに示すように、要求者のクライアント装置102i上のアクティビティログUI2050に、取得されたアクティビティログを描画する。図示するように、アクティビティログUI2050は、関連情報とともに最新の10個のエントリを示す。関連情報は、場所、アクティビティに関連付けられたユーザ、アクティビティ、およびタイムスタンプを含む。
ブロック2020で、ユーザに対して、適切なアクセス権を有していないというメッセージを描画する。例えば、UIモジュール122は、ユーザが適切な認証情報を入力しなかったことをユーザに知らせるメッセージUIの描画を生じさせうる。
1つ以上の実施形態で、収集者は、収集フォルダに関連付けられたステータスファイルにアクセスすることで、収集フォルダのステータスを判断できる。図21Aを参照し、例示的な実施形態に従う、アクティビティログの生成方法のフローチャートを説明する。本方法を実行するために様々な方法が存在するため、例示的な方法2100は例として提供される。以下で説明する方法2100は、例として図1および2Aに示す構成を用いて実行されることができ、これらの図の様々な要素が例示的な方法2100を説明するために参照される。図21Aに示す各ブロックは、例示的な方法2100で実行される1つ以上のプロセス、方法、またはサブルーチンを表す。例示的な方法2100はブロック2102で開始しうる。
ブロック2102で、生成されているファイルリクエスト・リンクに応じてステータスファイルを生成する。例えば、分析モジュール134は、図3のブロック308で生成されているファイルリクエスト・リンクに応じてステータスファイルを生成する。ステータスファイルは、ファイルリクエストに関連付けられた提出者のリストと、ファイルリクエスト・リンクが生成されたタイムスタンプとを含みうる。ステータスファイルは、収集フォルダに格納されうる、または収集フォルダに関連付けられうる。ステータスファイルの生成後、方法2100はブロック2104に進みうる。
ブロック2104で、提出とアクセスのためのファイルリクエスト・リンクに関連付けられた収集フォルダをモニタし、ファイルリクエスト・フォルダをモニタする。例えば、分析モジュール134は1人以上の提出者からの提出物のために収集フォルダをモニタし、ファイルリクエスト・フォルダをモニタする。提出に応じて、方法2100はブロック2106に進みうる。
ブロック2106で、提出物の受信に応じてステータスファイルを更新する。例えば、分析モジュール134は、収集フォルダが提出物を受信することに応じてステータスファイルを更新する。更新は、提出者の表示と、提出物が受信された時間を示すタイムスタンプとを含みうる。ステータスファイルの更新後、方法2100はブロック2108に進みうる。
ブロック2108で、収集者が収集者のファイルリクエスト・フォルダにアクセスしたことに応じて、ファイルリクエスト・フォルダの各収集フォルダのステータスファイルにアクセスする。例えば、分析モジュール134は、収集者が収集者のファイルリクエスト・フォルダにアクセスしたことに応じて、ファイルリクエスト・フォルダの各収集フォルダのステータスファイルにアクセスする。各収集フォルダに対するステータスファイルにアクセスした後、方法2100はブロック2110に進みうる。
ブロック2110で、提出済みファイルの数の要約とともに、ファイルリクエスト・フォルダに関連する各フォルダに対する収集フォルダアイコンを描画する。例えば、UIモジュール122および/または分析モジュール134は、ファイルリクエスト・フォルダの各収集フォルダに対するファイルアイコンの描画を生じさせ、収集フォルダに対応するステータスフォルダから取得した提出済みファイルの数を描画する。図19Iは、例えばGordon Shieldsのユーザアカウントの収集フォルダFinal Papersといった、1つのアクティブ収集フォルダを示す。図示するように、ファイルリクエストFinal Papersのステータスは、5件の提出と2件の未提出を含む。未提出は、収集フォルダへ提出物を提供しなかった提出者を指す。収集者が描画されたファイルアイコンを選択することに応じて、方法2100は図14Aのブロック2112に進みうる。
ブロック2112で、提出済みファイルとステータスファイルとのリストを描画する。例えば、UIモジュール122および/または分析モジュール134は、選択されたフォルダ内のファイルリストのファイルリストUIへの描画を生じさせる。図21Bhaステータスファイル2154とともにフォルダ内のファイルをリスト化するファイルリストUI2152を示す。提出物ファイルとステータスファイルとのリストを描画した後、収集者がステータスファイルを選択することに応じて方法2100はブロック2114に進みうる。
ブロック2114で、ステータスファイルを描画する。例えば、UIモジュール122および/またはコメントモジュール134は、図21Cに示すように、ステータスファイルUI2162の描画を生じさせる。図示するように、ステータスファイルは、例えばFrank Fava2158とGeorge Geiger2160との2人の提出者がファイルを提出しなかったことを示す。ステータスファイルは、提出者を上に、未提出者を下にリスト化してもよい。1つ以上の実施形態では、提出者は第一の色で描画されることができ、未提出者は第二の色で描画されることができる。1つ以上の実施形態では、分析モジュール134はアクティビティログにアクセスし、提出者が以前の提出物を上書き保存したかどうかを示してもよい。例えば、以前の提出物を上書き保存した提出者は第三の色であってもよい。
<例示的なシステム>
図22Aおよび22Bは例示的で可能なシステムの実施形態を示す。本技術を実施する場合には、より適切な実施形態が当業者には明らかであろう。当業者は、他のシステムの実施形態が可能であることもすぐに理解するであろう。
図22Aは、システムのコンポーネントがバス2205を用いて互いに電気的に通信する、従来のシステムバス・コンピューティングシステムアーキテクチャ2200を示す。例示的なシステム2200は、処理ユニット(CPUまたはプロセッサ)2210と、リード・オンリー・メモリ(ROM)2220およびランダム・アクセス・メモリ(RAM)2225のようなシステムメモリ2215を含む様々なシステムコンポーネントをプロセッサ2210に結合するシステムバス2205とを含む。システム2200は、プロセッサ2210に直接接続される、すぐ近くに、または一部として統合される高速メモリのキャッシュを含みうる。システム2200は、メモリ2215および/またはストレージ装置2230から、プロセッサによる迅速なアクセスのためのキャッシュ2212へデータをコピーしうる。この方法では、キャッシュは、データの待機中、プロセッサ2210の遅延を回避するパフォーマンスブーストを提供できる。これらのおよび他のモジュールは、様々な動作を実行するように、プロセッサ2210を制御できる、または制御するよう構成されうる。他のシステムメモリ2215も同様に使用することができてもよい。メモリ2215は、異なるパフォーマンス特性をもつ複数の異なるタイプのメモリを含みうる。プロセッサ2210は、任意の汎用プロセッサならびに、プロセッサとソフトウェア命令が実際のプロセッサデザインに組み込まれる専用プロセッサとを制御するよう構成された、ハードウェアモジュールもしくは、ストレージ装置に格納されるモジュール1 2232、モジュール2 2234、およびモジュール3 2236のようなソフトウェアモジュールを含みうる。プロセッサ2210は、本質的に、複数のコアもしくはプロセッサ、バス、メモリコントローラ、キャッシュ、等を含む自己完結型のコンピューティングシステムであってもよい。マルチコアプロセッサは、対称型または非対称型であってもよい。
ユーザがコンピューティング装置2200と情報を交換するために、入力装置2245は、対話用マイク、ジェスチャもしくはグラフィカル入力のためのタッチセンサ式のスクリーン、キーボード、マウス、モーション入力、対話、その他のような、任意の数の入力メカニズムを表してもよい。出力装置2235は、当業者に知られた、1つ以上の多数の出力メカニズムでもありうる。いくつかの例では、多様なシステムは、ユーザがコンピューティング装置2200と通信するために複数タイプの入力を提供することを可能にすることができる。通信インタフェース2240は、一般に、ユーザ入力およびシステム出力を調節し、管理しうる。任意の特定のハードウェア構成での操作に制限はなく、それゆえ本明細書の基本的特徴は、それらが開発されるときに、改善されたハードウェアまたはファームウェア構成を容易に置換してもよい。
ストレージ装置2230は、不揮発メモリであり、磁気カセット、フラッシュメモリカード、半導体メモリ装置、デジタル多目的ディスク、カートリッジ、ランダム・アクセス・メモリ(RAM)2225、リード・オンリー・メモリ(ROM)2220、およびそれらのハイブリッドといった、コンピュータによってアクセス可能なデータを格納しうるハードディスクまたは他のタイプのコンピュータ可読媒体でありうる。
ストレージ装置2230は、プロセッサ2210を制御するためのソフトウェアモジュール2232、2234、2236を含みうる。他のハードウェアまたはソフトウェアモジュールが考えられる。ストレージ装置2230は、システムバス2205へ接続されうる。一態様では、特定機能を実行するハードウェアモジュールは、プロセッサ2210、バス2205、ディスプレイ2235、およびその他のような、機能を実行するための必要なハードウェアコンポーネントに接続されるコンピュータ可読媒体に格納されるソフトウェアコンポーネントを含みうる。
図22Bは、説明された方法の実行と、グラフィカル・ユーザインタフェース(GUI)の生成および表示とに用いられうるチップセットアーキテクチャを有するコンピュータシステム2250を説明する。コンピュータシステム2250は、開示された技術を実施するために用いられうるコンピュータハードウェア、ソフトウェア、およびファームウェアの例である。システム2250は、識別された計算を実行するよう構成されたソフトウェア、ファームウェア、およびハードウェアを実行することができる任意の数の物理的および/または論理的な異なるリソースを表すプロセッサ2255を含みうる。プロセッサ2255は、プロセッサ2255への入力および出力を制御しうるチップセットと通信しうる。本例では、チップセット2260は、ディスプレイのような出力2265へ情報を送信し、例えば磁気媒体および半導体媒体を含みうるストレージ装置2270への情報を読み書きしうる。チップセット2260は、RAM2275からのデータを読み、そこへのデータを書き込むことができてよい。様々なユーザインタフェースのコンポーネント2285と連動するためのブリッジ2280は、チップセット2260と連動するために提供されうる。そのようなユーザインタフェース・コンポーネント2285は、キーボード、マイク、タッチ検出および処理回路、マウスのようなポインティングデバイス、などを含みうる。一般に、システム2250への入力は、機械が生成した、および/または人間が生成した様々なソースのいずれかから来うる。
チップセット2260は、異なる物理インタフェースを有しうる1つ以上の通信インタフェース2290と連動しうる。そのような通信インタフェースは、有線および無線ローカル・エリア・ネットワーク向け、ブロードバンド無線ネットワーク向け、並びにパーソナルエリアネットワーク向けのインタフェースを含みうる。本明細書で開示されるGUIを生成、表示、および使用するための方法のいくつかのアプリケーションは、物理インタフェースを通じて順序付けられたデータセットの受信を含み、プロセッサがストレージ2270または2275に格納されたデータを解析することにより機械自身によって生成されうる。さらに、機械は、ユーザインタフェース・コンポーネント2285を介してユーザから入力を受信し、プロセッサ2255を用いてそれらの入力を解釈することでブラウズ機能のような適切な機能を実行しうる。
例示的なシステム2200および2250は、1つ以上のプロセッサ2210を有するか、またはより大きな処理能力を提供するためにお互いネットワーク化されたコンピューティング装置のグループもしくはクラスタの一部でありうる。
本明細書で説明される工程、動作、機能、またはプロセスのいずれもが、ハードウェアおよびソフトウェアモジュールの組み合わせ、単体または他の装置との組み合わせによって実行または実施されてもよい。一実施形態では、ソフトウェアモジュールは、クライアント装置および/またはコンテンツ管理システムの1つ以上のサーバのメモリにあるソフトウェアであり、プロセッサがモジュールに関連するソフトウェアを実行する際に、1つ以上の機能を実行しうる。メモリは非一時的コンピュータ可読媒体でありうる。
<結論>
説明の明確化のために、いくつかの例では本技術は、装置、装置のコンポーネント、ソフトウェアで実施される方法の工程もしくはルーチン、またはハードウェアとソフトウェアの組み合わせからなる機能ブロックを含む個別の機能ブロックを含むものとして示されてもよい。
上記に照らして、本発明は開示された特定の実施形態に限定されるものではなく、修正および他の実施形態が添付の特許請求の範囲の範囲内に含まれることを意図されることは理解されたい。特定の用語が本明細書で採用されるものの、それらは全体的で説明的な意味のみで用いられ、限定の目的では使用されない。
説明の明確化のために、いくつかの例では本技術は、装置、装置のコンポーネント、ソフトウェアで実施される方法の工程もしくはルーチン、またはハードウェアとソフトウェアの組み合わせからなる機能ブロックを含む個別の機能ブロックを含むものとして示されてもよい。
いくつかの実施形態では、コンピュータ可読ストレージ装置、媒体、メモリはビットストリームおよび類似のものを含むケーブルまたは無線信号を含みうる。しかしながら、言及されたときには、非一時的コンピュータ可読記憶媒体は、エネルギー、キャリア信号、電磁波、および信号自体のような媒体は明示的に除外する。
上述例に従う方法は、コンピュータ可読媒体に格納された、またはそこから利用可能なコンピュータ実行可能命令を用いて実施されうる。そのような命令は、例えば汎用コンピュータ、専用コンピュータ、または専用の処理装置が、所定の機能もしくは機能グループを実行させる、またはするように構成する、命令およびデータから成りうる。利用されるコンピュータリソースの一部は、ネットワークを経由してアクセス可能でありうる。コンピュータ実行可能命令は、例えば、バイナリ、アセンブリ言語のような中間フォーマットの命令、ファームウェア、またはソースコードであってもよい。命令、使用される情報、および/または上述の例に従う方法の間に作成される情報を格納するために用いられうるコンピュータ可読媒体の例は、磁気または光学ディスク、フラッシュメモリ、不揮発メモリで提供されるUSB装置、ネットワークストレージ装置、およびその他を含む。
これらの開示に従い方法を実施する装置は、ハードウェア、ファームウェアおよび/またはソフトウェアからなってもよく、様々なフォームファクタのいずれかを取ってもよい。そのようなフォームファクタの典型的な例は、ラップトップ、スマートフォン、小型のフォームファクタのパーソナルコンピュータ、パーソナル・デジタル・アシスタント、などを含む。本明細書で説明される機能は、周辺機器またはアドイン・カードにも組み込まれうる。そのような機能は、さらなる例として、異なるチップ間の回路ボード上、または単一の装置内で実行している異なるプロセス上に実施されうる。
命令、そのような命令を運ぶための媒体、それらを実行するためのコンピューティングリソース、およびそのようなコンピューティングリソースを支援するための他の構造は、本開示で説明された機能の提供のための手段である。
様々な例および他の情報が添付の特許請求の範囲の態様を説明するために用いられたものの、当業者はこれらの例を使用して多種多様な実施を導くことができ、そのような例における特定の特徴または配置に基づいて、請求項の限定は暗示されるべきではない。さらに、いくつかの主題は、構造的特徴および/または方法ステップの例に特有の言語で記載されていてもよいが、添付の特許請求の範囲に定義された主題は必ずしもこれらの記載された特徴または動作に限定されないことを理解されたい。例えば、そのような機能は、異なる方法で配信されてもよいし、本明細書で特定されたコンポーネント以外のコンポーネントで実行されてもよい。むしろ、記載された特徴およびステップは、添付の特許請求の範囲内のシステムおよび方法のコンポーネントの例として開示される。