(57)【特許請求の範囲】
【請求項１】
ドキュメント管理及び共同システムにおいてデータを管理するためのコンピュータによる実施方法であって、
実行可能命令で構成された１つまたは複数のコンピュータシステムの制御の下、
複数のコンピューティングデバイスに対するハードウェアまたはソフトウェア構成情報を受信することと、
前記ハードウェアまたはソフトウェア構成情報に基づいて、前記複数のコンピューティングデバイスを一意に識別し及びトラッキングすることと、
前記ドキュメント管理及び共同システムから前記１つのコンピューティングデバイスへのドキュメントのダウンロードに対する要求を前記複数のコンピューティングデバイスのうちの１つのコンピューティングデバイスから受信することと、
前記要求と関連付けられたユーザを識別することと、
前記ドキュメントを前記識別されたユーザがユーザセッションを有しているコンピューティングデバイスに送信することと、
前記識別されたユーザ及び前記コンピューティングデバイスの前記トラッキングに基づいて、前記ユーザがユーザセッションを有していたコンピューティングデバイスから前記ドキュメントが削除されるべきであると判定することと、
前記コンピューティングデバイスから、前記ドキュメントを削除することと、
前記コンピューティングデバイスから、前記ドキュメントの削除の成功のインジケーションを受信することと
を備えたコンピュータによる実施方法。
【請求項２】
前記ユーザを識別することは、前記ユーザセッションを有する前記ユーザを認証することを含み、前記トラッキングは、前記ユーザセッションを前記１つのコンピューティングデバイスに関連付けることを含む、請求項１に記載のコンピュータによる実施方法。
【請求項３】
前記ドキュメントを削除することは、前記１つのコンピューティングデバイスに前記ドキュメントを削除することを命令するプッシュ通知を送信することを含む、請求項１に記載のコンピュータによる実施方法。
【請求項４】
前記ドキュメントを削除することは、前記１つのコンピューティングデバイスに前記ドキュメントを削除することを命令するメッセージを、アイドルチャネル上で送信することを含む、請求項１に記載のコンピュータによる実施方法。
【請求項５】
少なくともアプリケーションサービスを実施するように集合的に構成された複数のコンピューティングデバイスを含むシステムであって、前記アプリケーションサービスは、
ドキュメント管理及び共同システムにユーザがユーザセッションを有していた複数のユーザデバイスを識別し、
前記ドキュメント管理及び共同システムから前記複数のユーザデバイスにダウンロードされた１つまたは複数のドキュメントが前記複数のユーザデバイスから削除されるべきと判定し、
前記複数のユーザデバイスからの前記ダウンロードされた１つまたは複数のドキュメントを削除させ、
前記複数のユーザデバイスから前記１つまたは複数のドキュメントの削除の成功のインジケーションを受信する、
ように構成されるシステム。
【請求項６】
前記複数のユーザデバイスは、前記複数のユーザデバイスに対するハードウェアまたはソフトウェア構成情報に基づいて識別される、請求項５に記載のシステム。
【請求項７】
前記ドキュメントを削除させることは、
前記複数のユーザデバイス上に位置し、ならびに永続的ディスク記憶装置及びメタデータストア上にある、前記ユーザと関連付けられたドキュメントを削除することと、
前記ユーザが有していた前記ユーザセッションを終了させることと
を含む、請求項５に記載のシステム。
【請求項８】
前記ドキュメントを削除させることは、前記１つまたは複数のドキュメントのうちの選択された１つが記憶されるメモリ位置を上書きすることを含む、請求項５に記載のシステム。
【請求項９】
ドキュメント管理及び共同システムにユーザセッションを有するユーザと関連付けられた複数のユーザデバイスを識別することと、
前記ドキュメント管理及び共同システムから前記複数のユーザデバイスにダウンロードされた前記ユーザと関連付けられた１つまたは複数のドキュメントが、前記複数のユーザデバイスから削除されるべきであると判定することと、
前記複数のユーザデバイスから前記１つまたは複数のドキュメントを削除させることと、
前記複数のユーザデバイスから、前記ドキュメントの削除の成功のインジケーションを受信することと、
を備えたコンピュータによる実施方法。
【請求項１０】
前記複数のユーザデバイスは、前記複数のユーザデバイスに対するハードウェアまたはソフトウェア構成情報に基づいて識別される、請求項９に記載のコンピュータによる実施方法。
【請求項１１】
前記１つまたは複数のドキュメントのうちの１つを前記複数のユーザデバイスのうちの１つにダウンロードする要求を受信することと、
ドキュメントの記憶のための位置の同期クライアントのインジケーションを送信することと、
前記同期クライアントから前記位置における前記１つまたは複数のドキュメントのうちの１つの記憶の成功を示すメッセージを受信することと、をさらに備える、請求項９に記載のコンピュータによる実施方法。
【請求項１２】
前記メッセージを受信したことに応答し、データベースに前記１つまたは複数のドキュメントのうちの１つがダウンロードされたことを示させ、または前記複数のユーザデバイスのうちの１つで提示させるようにさらに構成される、請求項１１に記載のコンピュータによる実施方法。
【請求項１３】
前記ドキュメントを削除させることは、前記ダウンロードされたドキュメントが前記複数のユーザデバイスから削除されるべきであることを示すプッシュ通知を前記複数のユーザデバイスに送信することを含む、請求項９に記載のコンピュータによる実施方法。
【請求項１４】
前記ドキュメントを削除させることは、前記ダウンロードされるドキュメントの前記選択された１つが記憶されるメモリ位置を上書きすることを含む、請求項９に記載のコンピュータによる実施方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１４年９月２９日に出願された米国特許出願第１４／５００，９１０の利益を主張するものであり、その開示が参照によってその全体に組み込まれる。
【背景技術】
【０００２】
リモートドキュメント記憶などのリモートコンピューティングサービスの使用が近年著しく増加してきた。組織は、例えば、コンピューティングリソースの内部ネットワーク及びその他によって管理されるコンピューティングリソースの両方を使用して、その操作をサポートすることができる。組織のコンピュータは、例えば、他の組織のコンピュータと通信して、ドキュメントまたは他のデータにアクセスし、及び／またはそれらを提供することができるとともに、別の組織のサービスを使用することができる。多くの例では、組織は、他の組織によって管理されるハードウェアを使用して、リモートネットワークを構成及び操作し、それによって、インフラストラクチャコストを削減し、及び他の利点を達成することができる。コンピューティングリソースのそのような構成で、特に、多数の異なるコンピューティングシステムを仮定すると、それらが保持するリソース及びデータにアクセスすることを保証することが困難となることがある。例えば、組織のコンピュータは、パーソナルコンピュータ、タブレット、スマートフォン、ラップトップ及び他のデバイスを含むことがある。
【０００３】
ユーザがドキュメントを共有し、及びドキュメントに関して共同することができることを保証することは、異なるデバイスの様々なハードウェア及びソフトウェア構成要素を仮定すると困難である。さらに、共有されるドキュメントのセキュリティを保証することを支援すること、及び認可されたユーザのみが共有されるドキュメントにアクセスし、またはダウンロードすることが可能となることを支援することは困難である。
【発明の概要】
【課題を解決するための手段】
【０００４】
ドキュメント共同及び管理のための方法及び装置が開示される。ドキュメント管理及び共同システムのユーザと関連付けられたユーザデバイスが識別される。ユーザと関連付けられたドキュメントは、ドキュメント管理及び共同システムからユーザデバイスにダウンロードされる。ダウンロードされるドキュメントへのアクセスの対象とする拒否が実行される。
【図面の簡単な説明】
【０００５】
本開示に従った種々の実施形態が、図面を参照して説明される。
【図１】少なくとも１つの実施形態に従った、対象とするドキュメントの削除の例を示す図である。
【図２】少なくとも１つの実施形態に従った、対象とするドキュメントの削除の例を示す図である。
【図３】少なくとも１つの実施形態に従った、対象とするドキュメントの削除の例を示す図である。
【図４】少なくとも１つの実施形態に従った、コンピューティングリソースサービスプロバイダと通信するユーザデバイス及び対象とするドキュメントの削除の例を示す図である。
【図５】少なくとも１つの実施形態に従った、ディレクトリ構造の例及び対象とするドキュメントの削除の例を示す図である。
【図６】少なくとも１つの実施形態に従った、対象とするドキュメントの削除の例を示すための方法の例を示す図である。
【図７】種々の実施形態を実施することができる環境を示す図である。
【発明を実施するための形態】
【０００６】
この開示の少なくともいくつかの実施形態は概して、ユーザがドキュメントを共有すること、及びドキュメントに関して共同することを可能にするドキュメント管理及び共同システムを利用することに関する。ユーザは、ドキュメント管理及び共同システムによって管理されるドキュメントのディレクトリを維持するユーザのグループまたは組織の一部であっても良い。ユーザは、ディレクトリ、またはディレクトリの関連付けられたフォルダもしくはサブフォルダのいずれかに対して特権を与えるパーミッションを有しても良い。パーミッション特権は、ユーザがドキュメントを参照すること、変更すること、または注釈を付けることを許可しても良い。パーミッション特権はさらに、ユーザがドキュメントに関してコメントすること、またはフィードバックを提供すること、及びドキュメントまたはフォルダを作成または削除することを許可しても良い。種々のレベル、パーミッションまたは共有特権が存在しても良く、及びユーザ特権は変化しても良い。
【０００７】
ディレクトリまたはドキュメントに関して１人のユーザによって実行される動作は、第２のユーザまたは共同者によって感知及び参照されても良い。本明細書で説明されるように、各々のユーザデバイスは、ディレクトリまたはドキュメントに対して作動し、または変更を加えるために、ドキュメント管理及び共同システムと通信することが可能であっても良い。次に、ドキュメント管理及び共同システムによって、第１のユーザによってなされた変更が第２のユーザに伝播されても良く、それによって、第２のユーザは、第１のユーザと一致した見方を有することができる。ドキュメント管理及び共同システムとユーザとの間の交換がＡＰＩ構成呼出を使用して実行されても良いことに留意されたい。
【０００８】
ドキュメント管理及び共同システムは、ドキュメントの共有及び共同を有効にするために様々なサービスを利用しても良い。ドキュメント管理及び共同システムは、ドキュメントのメタデータ、例えば、他のタイプのメタデータの中で、ドキュメントのバージョン、記憶位置もしくはサイズ、またはドキュメントもしくはフォルダにアクセスするためのグループのユーザのパーミッションなどを記憶するための種々のデータベースを利用しても良い。
【０００９】
共有されるドキュメントのセキュリティ及び完全性を改善するために、ドキュメント管理及び共同システムは、デバイスにダウンロードされた、共有されるドキュメントのうちの１つまたは複数の対象とする（ｔａｒｇｅｔｅｄ）削除、または共有されるドキュメントのうちの１つまたは複数のアクセスの対象とする拒否を可能にすることができる。いくつかの実施形態では、対象とする削除またはアクセスの対象とする拒否は、指定されたドキュメントもしくはファイルの削除、または指定されたドキュメントもしくはファイルのアクセスの拒否を指す。対象とする削除またはアクセスの対象とする拒否は、全ての既知のデバイスに関するドキュメントもしくはファイル、特定のユーザと関連付けられた全てのデバイスに関するドキュメントもしくはファイル、特定のデバイスに関するドキュメントもしくはファイルの全てのインスタンス、１つもしくは複数のデバイスに関するドキュメントもしくはファイルの１つもしくは複数のインスタンス、またはそれらの組み合わせの全ての既知のコピー及びバージョンを包含しても良い。ユーザがドキュメント管理及び共同システムのユーザセッションに対して認証するとき、ユーザセッションはデバイスに関連付けられる。デバイスは、デバイスハードウェア、またはホスト名及びＩＰアドレスなどのソフトウェア構成情報によって一意に識別されても良い。デバイスは、ドキュメント管理及び共同システムによってトラッキングされる他のデバイスに対して一意に識別されても良い。ドキュメント管理及び共同システムは、ユーザがユーザセッションを有していた全てのそのようなデバイスに対するプロファイルを作成しても良く、ならびにユーザに対する全てのセッション及びデバイスのリストを維持しても良い。
【００１０】
ドキュメント管理及び共同システムからダウンロードされたドキュメントを選択的に削除し、またはドキュメント管理及び共同システムからダウンロードされたドキュメントへのアクセスを拒否することが望ましい状況が存在することがある。例えば、デバイスが紛失し、もしくは盗まれることがあり、またはユーザがもはや共同グループの一部でないことがある。種々の実施形態では、管理者またはユーザは、選択の１つまたは複数のレベルにおいて、ドキュメントを選択的に削除し、またはドキュメントへのアクセスを拒否することができる。例えば、ユーザと関連付けられたセッションまたはデバイスの全てまたはその組が選択されても良い。ユーザがユーザセッションを有していた全てのデバイスが選択されても良く、または特定のデバイスが選択されても良い。さらに、ユーザと関連付けられた全てのドキュメントまたは特定のドキュメントが選択されても良い。
【００１１】
対象とする削除またはアクセスの対象とする拒否は、多くの手段で実施されても良い。１つの実施形態では、アクティブなユーザセッションが無効にされても良く、よってユーザがログインを強制される。プッシュ通知をサポートするデバイスに対し、ドキュメント管理及び共同システムは、プッシュ通知をデバイスに送信しても良い（例えば、ショートメッセージサービス（ＳＭＳ）を使用して）。デバイス上で稼動するクライアントが通知を受信するとき、選択されたドキュメントがデバイスから削除される。選択されたドキュメントの削除に成功すると、結果がドキュメント管理及び共同システムに再度送信されても良い。
【００１２】
いくつかの実施形態では、ドキュメント管理及び共同システムは、ユーザが対象とするドキュメントにアクセスすることを試みるときに、対象とするドキュメントのアクセスを拒否しても良い。例えば、いくつかの実施態様では、ドキュメント管理及び共同システムは、ドキュメントへの全てのアクセスがユーザセッションごとに認可されることを要求しても良い。ドキュメント管理及び共同システムは、要求されたドキュメントへのアクセスを許可する前に、追加のセキュリティチェックを実行して、要求されたドキュメントが削除の対象であるかを検証しても良い。
【００１３】
いくつかの実施形態では、ユーザデバイスは、対象とするドキュメントが記憶されるメモリ位置を上書きしても良い。これは、対象とするドキュメントがユーザデバイス上でアクセス可能でないことを保証することを支援する。
【００１４】
いくつかのデバイスは、プッシュ通知をサポートしないが、それを通じて時限アクセスが許可されるリフレッシュトークンまたはアクセストークンを使用しても良く、ドキュメント管理及び共同システムは、リフレッシュトークンまたはアクセストークンの更新を拒否しても良く、よって、ユーザセッションへの継続的なアクセスを許可しない。ドキュメント管理及び共同システムはさらに、ユーザデバイスに、選択されたドキュメントをデバイスから削除することを命令しても良い。選択されたドキュメントの削除に成功すると、結果がドキュメント管理及び共同システムに再度送信されても良い。
【００１５】
ドキュメント管理及び共同システムは、全ての係属している対象とする削除またはアクセス拒否要求に対する状態情報をトラッキング及び維持しても良い。ドキュメント管理及び共同システムは、対象とする削除／アクセス拒否が要求されたか、通知がユーザデバイスに送信されたか、及びユーザデバイスが再度報告したかを記憶しても良い。ドキュメント管理及び共同システムは、最大のタイムアウトの後に応答が受信されなかった場合、係属している対象とする削除またはアクセス拒否要求を定期的に再試行することをトラッキングしても良い。
【００１６】
削除は、関連付けられたメタデータとともに、ユーザデバイス上の永続的ディスク記憶装置上にある全ての適用可能なファイルの削除を含んでも良い。アクセスの拒否は、ユーザと関連付けられた任意のアクティブなセッション及び／またはユーザと関連付けられた特定のユーザデバイスの終了を含んでも良い。
【００１７】
少なくともいくつかの実施形態について、本開示は、デバイス全体がリセットまたはワイプされるべきモバイルデバイス管理システムを実施することができる他のシステムよりも有利な点を提供することができる、対象とするワイプを実行する手段を説明する。
【００１８】
図１は、少なくとも１つの実施形態に従った、ドキュメントの共有及び共同の例を示す。第１のユーザデバイス１０２及び第２のユーザデバイス１０４は、ドキュメント管理及び共同システム１０６に接続される。ドキュメント管理及び共同システム１０６は、ユーザデバイスがドキュメントを共有すること、及びドキュメントに関して共同することを可能にする。さらに、ドキュメント管理及び共同システム１０６は、２つのユーザデバイスが同期されることを可能にし、それによって、第１のユーザデバイス１０２によって提供されるテキスト、コメンタリ、注釈、または強調表示が第２のユーザデバイス１０４によって参照されることが可能になる。ユーザデバイスの間の同期は、リアルタイムで、もしくは半継続的、定期的に実行されても良く、またはイベントドリブンもしくはイベントトリガであっても良く、イベントは、共同の下にドキュメントを記憶することなどの任意のタイプのユーザコマンドであっても良い。
【００１９】
ドキュメント共有及び共同システム１０６は、第１のユーザデバイス１０２及び第２のユーザデバイス１０４に対するハードウェア及び／またはソフトウェア構成情報を受信しても良く、それによって、デバイスを一意に識別し、及びトラッキングすることができる。ドキュメント共有及び共同システム１０６は、ドキュメント（図示せず）をドキュメント管理及び共同システムから１つまたは複数のコンピューティングデバイスにダウンロードする要求を受信しても良い。要求は、第１のユーザデバイス１０２または第２のユーザデバイス１０４と関連付けられた管理者（図示せず）またはユーザから発しても良い。要求されたドキュメントは、第１のユーザデバイス１０２または第２のユーザデバイス１０４に送信される。ユーザの識別及び第１のユーザデバイス１０２または第２のユーザデバイス１０４のトラッキングに基づいて、ダウンロードされるドキュメントが第１のユーザデバイス１０２または第２のユーザデバイス１０４から削除されるべきであると判定されても良い。ドキュメント共有及び共同システム１０６は、第１のユーザデバイス１０２または第２のユーザデバイス１０４からのダウンロードされるドキュメントの対象とする削除を実行しても良い。ドキュメント共有及び共同システム１０６はさらに、第１のユーザデバイス１０２または第２のユーザデバイス１０４からのダウンロードされるドキュメントの削除の成功のインジケーションを受信しても良い。
【００２０】
本明細書で説明されるように、用語「ユーザ」は、通信及び計算能力を備える人間操作コンピューティングデバイスを指しても良い。用語「ドキュメント」は、コンピューティングデバイス上でレンダリングされることが可能な、視聴覚媒体などの任意のタイプの媒体であっても良い。ドキュメントは、生産プログラムまたはその組によって製造され、または生産プログラムまたはその組を使用して編集もしくは参照されることが可能なコンピュータファイルであっても良い。したがって、ドキュメントは、とりわけ、編集可能または非編集可能なテキスト、画像、図、及びウェブサイトであっても良い。ユーザがドキュメントに関して共同すること、及びドキュメントを共有することを可能にすることに加え、ドキュメント管理及び共同システム１０６は、ユーザに、ドキュメントを管理するためのファイルシステムまたは組織的構造を提供することができる。組織的構造は、ドキュメントのネスト化したフォルダ及びサブフォルダを有するディレクトリを含んでも良く、ユーザに対してアクセス可能であっても良く、及びドキュメントにアクセスする手段としてユーザによって利用されても良い。
【００２１】
図２は、少なくとも１つの実施形態に従った、コンピューティングリソースサービスプロバイダに接続されたコンピューティングデバイスの例を示す。コンピューティングデバイス２０２は、コンピューティングリソースサービスプロバイダ２１０またはそのエンティティと通信することが可能な任意のデバイスであっても良い。コンピューティングデバイス２０２はまた、ローカルまたはリモート（例えば、、ネットワークベースの）の計算及び記憶能力を備えても良い。計算能力は、中央処理装置（ＣＰＵ）、グラフィックプロセシングユニット（ＧＰＵ）、及びデジタルシグナルプロセッサなどのプロセッサによって提供または有効とされても良い。ＣＰＵの例は、ｘ８６アーキテクチャ（例えば、デスクトップ及びラップトップコンピューティングデバイスで使用されるような）、または縮小命令セットコンピューティング（ＲＩＳＣ）アーキテクチャ（例えば、スマートフォン及びタブレットコンピューティングデバイスで使用されるような）を採用するＣＰＵを含む。コンピューティングデバイス２０２はまた、通信及びネットワーキングハードウェアを備えても良く、ならびに任意の通信プロトコルを使用して通信することが可能であっても良い。さらに、コンピューティングデバイス２０２は、ディスプレイ、タッチスクリーンベースもしくはキーボードベースの入力デバイス、またはスピーカを含むことができる入力／出力デバイスを備えても良い。加えて、コンピューティングデバイスは、スタティックまたはダイナミックメモリなどの任意のタイプのメモリ、及び電源または電力アダプタを含んでも良い。それらのハードウェア能力とは別に、コンピューティングデバイス２０２は、オペレーティングシステム及び／または他のプログラムを稼動させ、または実行するように構成されても良く、ならびにコンピューティングデバイス２０２の関連付けられたメモリは、１つまたは複数のプロセッサによって実行されると、１つもしくは複数の機能を実行させ、またはオペレーティングシステム及び／もしくは他のプログラムを稼動させる実行可能命令を記憶しても良い。２つのデバイスが図２に示されているが、任意の数のデバイスが種々の実施形態で考えられても良い。さらに、コンピューティングデバイス２０２は、コンピューティングリソースサービスプロバイダ２１０またはコンピューティングリソースサービスプロバイダ２１０の任意のエンティティとネットワーク（図示せず）を介して通信しても良い。ネットワークは、パブリックまたはプライベートであっても良く、ネットワークの例は、インターネット及びインターネットサービスプロバイダ（ＩＳＰ）ネットワークを含む。
【００２２】
コンピューティングデバイス２０２は、集合的に、または個々に、コンピューティングリソースサービスプロバイダ２１０またはそのエンティティ及び機能のユーザまたはカスタマと関連付けられても良い。カスタマ（図示せず）は、情報を維持し、及び情報を、種々の地理的位置に位置することができるその従業員に配信するために、コンピューティングリソースサービスプロバイダ２１０によって提供されるサービスのうちの１つまたは複数を利用することができる組織であっても良い。加えて、カスタマは、コンテンツをリモートに位置する作業グループに配信するために、コンピューティングリソースサービスプロバイダ２１０のサービスを利用する個人であっても良い。
【００２３】
コンピューティングリソースサービスプロバイダ２１０は、図２で示されるように、フロントエンドシステム２０４及びドキュメント管理及び共同システム２０６とともに、複数のサービス及びシステムを含む。それらは、コンテンツ分散エッジネットワーク２１２、オブジェクトレベルデータ記憶サービス２１４、仮想コンピューティングサービス２１６、タスク管理及びワークフローサービス２１８、管理ディレクトリサービス２２２、カスタム探索サービス２２４、スケーラブルデータベースサービス２２６、及び通知サービス２２８を含む。種々の実施形態では、コンピューティングリソースサービスプロバイダ２１０が図２を参照して説明されるそれら以外のより少ないサービス及びシステムを含んでも良く、または図２を参照して説明されるそれらに対する追加的または代替的なサービスもしくはシステムを含んでも良いことに留意されたい。さらに、代替的な実施形態では、システム及びサービスは、コンピューティングリソースサービスプロバイダ２１０のコンテキストの外で利用されても良い。例えば、サービス及びシステムは、スタンドアロンであっても良く、または図２を参照して説明されるそれら以外のシステム及びサービスとともに使用されても良い。
【００２４】
フロントエンドシステム２０４は、ドキュメント管理及び共同システム２０６に対するゲートウェイであっても良く、ならびにプライベート及びパブリックなサービスをユーザまたはカスタマ及びそれらのコンピューティングデバイス２０２に供給しても良い。フロントエンドシステム２０４へのアクセスは、認可またはユーザ認証を要求しても良い。加えて、デバイスまたはユーザの特権レベルは、フロントエンドシステム２０４へのアクセス及びフロントエンドシステム２０４とコンピューティングデバイス２０２との間の任意のデータ交換を統制しても良い。フロントエンドシステム２０４へのアクセスは、例えば、グループまたは組織の管理者によって、コンピューティングデバイス２０２と関連付けられた特権レベル、またはコンピューティングデバイス２０２もしくはコンピューティングデバイス２０２のユーザに付与された特権レベルもしくは認証情報により統制されても良い。
【００２５】
フロントエンドシステム２０４は、ドキュメント管理及び共同システム２０６のリソースへのアクセスを許可する前に、カスタマ、ユーザ、またはデバイスの認証を実行しても良い。認証は、とりわけ、ユーザ名及びパスワード情報、またはアクセストークンなどの認証情報に基づいても良い。フロントエンドシステム２０４は、カスタマのアクセスを許可または有効にするサービス及びインタフェースを提供することができる。例えば、フロントエンドシステム２０４は、コンピューティングリソースサービスプロバイダ２１０のサービスに関連する情報をカスタマに提供するウェブベースのプラットフォームまたはコンソールベースのプラットフォームを有効にすることができる。さらに、フロントエンドシステム２０４は、カスタマがコンピューティングリソースサービスプロバイダ２１０においてアプリケーションまたはタスクを実行すること、アプリケーションまたはタスクの実行をトラッキング及び管理すること、実行の結果を受信すること、ならびに結果をユーザデバイスに送信することを可能にすることができる。本明細書でさらに説明されるように、フロントエンドシステム２０４は、それによってカスタマまたはその関連付けられたデバイス２０２がコンピューティングリソースサービスプロバイダ２１０によって提供される複数のサービスを利用することができるゲートウェイであっても良い。
【００２６】
ドキュメント管理及び共同システム２０６は、分散システムにおいて１つまたは複数のユーザの間での共同に対し、ドキュメントの実行及び処理を有効にし、及び管理する。ドキュメント管理及び共同システム２０６は、例えば、ドキュメントをコンピューティングリソースサービスプロバイダ２１０にアップロードすること、ならびにドキュメントと関連付けられたメタデータを保持及び修正することを可能にすることができる。ドキュメント管理及び共同システム２０６はさらに、ドキュメントまたはそれらのメタデータと関連付けられた機能を探索することとともに、ドキュメントに関してユーザ間の共同を可能にすることができる。
【００２７】
用語「ドキュメント」が本明細書ではコンピューティングリソースサービスプロバイダ２０６のユーザによって作成または共同されるオブジェクトを説明するために使用されるが、用語「ドキュメント」は、視聴覚媒体などの媒体に限定されない。ドキュメントは、生産プログラムまたはその組を使用することによって作成され、またはそれらを使用して編集もしくは参照されることが可能なコンピュータファイルであっても良い。したがって、ドキュメントは、とりわけ、編集可能または非編集可能なテキスト、画像、図、及びウェブサイトであっても良い。
【００２８】
コンピューティングリソースサービスプロバイダ２１０のコンテンツ分散エッジネットワーク２１２は、ウェブコンテンツなどのコンテンツを複数のユーザに配信するように集合的に構成されたコンピューティングデバイス及び他のリソースの集合であっても良い。コンテンツ分散エッジネットワーク２１２は、例えば、ユーザデータのスループットを最適化し、及び待ち時間を最小化するように戦略的に配置されたワールドワイドな位置で分散される、複数のエッジ位置を有しても良い。コンテンツ分散エッジネットワーク２１２は、コンテンツに対する要求を受信し、及び要求されたコンテンツをユーザに配信しても良い。コンテンツ分散エッジネットワーク２１２は、コンテンツの一部または全てを記憶する記憶サービスとインタフェースしても良く、ならびにコンテンツ分散エッジネットワーク２１２によって、コンテンツが検索され、及びコンテンツが要求当事者に提供されても良い。コンテンツ分散エッジネットワーク２１２は、フロントエンドシステム２０４のユーザアクセス可能なウェブサイトまたはウェブアプリケーションを有効にするように利用されても良い。
【００２９】
オブジェクトレベルデータ記憶サービス２１４は、データを記憶し、及び／またはデータにアクセスする要求を同期して処理するように構成されたコンピューティングリソースの集合であっても良い。オブジェクトレベルデータ記憶サービス２１４は、オブジェクトレベルデータ記憶サービス２１４がデータを即時に特定及び検索することを可能にするコンピューティングリソース（例えば、データベース）を使用して動作し、それによってデータに対する要求に応答してデータが提供されることを可能にすることができる。例えば、オブジェクトレベルデータ記憶サービス２１４は、データオブジェクトに対する要求が検索されるときに、要求に応答してデータオブジェクトを提供することができる（または、データオブジェクトのストリーミングを開始することができる）ような方式で、記憶されたデータを維持しても良い。述べられるように、オブジェクトレベルデータ記憶サービス２１４に記憶されるデータは、データオブジェクトに組織化されても良い。データオブジェクトは、サイズに関する或る制限を除き、任意のサイズを有しても良い。よって、オブジェクトレベルデータ記憶サービス２１４は、可変サイズの多数のデータオブジェクトを記憶しても良い。本明細書で説明されるように、オブジェクトレベルデータ記憶サービス２１４は、任意のタイプのドキュメント（例えば、ドキュメントのソースファイル）、アンダーレイ、プレビュー、サムネイル、抽出されたドキュメントのテキスト、注釈インデックス、または真偽表を記憶しても良い。
【００３０】
仮想コンピューティングサービス２１６は、コンピューティングリソースサービスプロバイダ２１０（ドキュメント管理及び共同システム２０６など）のエンティティの代わりに、またはカスタマの代わりに仮想マシンインスタンスをインスタンス化するように構成されたコンピューティングリソースの集合であっても良い。当事者は、仮想コンピューティングサービス２１６と相互作用して（適切に構成され、及び認証されたＡＰＩ呼出を介して）、仮想コンピューティングサービス２１６によってホスト及び操作される物理コンピューティングデバイス上でインスタンス化される仮想コンピュータシステムをプロビジョン及び操作しても良い。仮想コンピュータシステムは、ウェブサイトをサポートするサーバを操作し、ビジネスアプリケーションを操作し、または概して計算能力として機能するためなど、種々の目的のために使用されても良い。さらに、仮想コンピュータシステムは、データベースアプリケーション、電子商取引アプリケーション、ビジネスアプリケーション、及び／または他のアプリケーションをサポートするために使用されても良い。仮想コンピューティングサービス２１６が図２に示されるが、視覚化またはインスタンス化を採用せずに、代わりに専用もしくは共有コンピュータ／サーバ、及び／または他の物理デバイス上でコンピューティングリソースをプロビジョンするコンピュータシステムまたはコンピュータシステムサービスなどの任意の他のコンピュータシステムまたはコンピュータシステムサービスが利用されても良い。
【００３１】
タスク管理及びワークフローサービス２１８は、複数のコンピューティング環境及びプラットフォームにわたってコンピューティングタスクを実行することを可能にするタスク調整及び管理サービスを実行するように集合的に構成されたコンピューティングデバイス及び他のリソースの集合であっても良い。タスク管理及びワークフローサービス２１８は、ワークフローの実行の進展をトラッキングし、ならびにタスクのディスパッチ及び保留を実行する。さらに、タスク管理及びワークフローサービス２１８は、タスクを実行するために使用されるホスト、または物理もしくは仮想コンピューティングマシンの割り当てを制御しても良い。ユーザは、実行に対するワークフローを定義しても良く、ワークフローは、１つまたは複数のタスクを含んでも良い。ワークフローは、タスク管理及びワークフローサービス２１８に対するアプリケーションプログラミングインタフェース（ＡＰＩ）構成関数呼出を使用して定義されても良い。さらに、ユーザは、ワークフローに対するタスクの順序、条件的フロー、及びワークフローの実行を再開または終了させるためのタイムアウト期間を指定しても良い。加えて、ワークフローに対する実行ループが定義されても良い。本明細書で説明されるように、ワークフローの実行は非同期であっても良く、及びデータベースの書き込みの同期した実行が先行しても良い。
【００３２】
管理ディレクトリサービス２２２は、ユーザが認証情報のうちの１つの組を使用してコンピューティングリソースサービスプロバイダ２１０のコンピューティングリソースにログオンすることを可能にするディレクトリとして機能し、及び管理者がセキュリティポリシをコンピューティングリソースサービスプロバイダ２１０に均等に適用することを可能にするように集合的に構成されたコンピューティングデバイス及び他のリソースの集合であっても良い。管理ディレクトリサービス２２２は、ユーザ及びグループ管理に対するウェブベースのコンソールを有効にしても良く、ならびにユーザの認証情報に対する認証システムとして使用されても良い。
【００３３】
カスタム探索サービス２２４は、データセットのカスタマイズされた探索を許可し、及び探索を実行する当事者に関するセキュリティまたは認証要件を確立することを可能にするように集合的に構成されたコンピューティングデバイス及び他のリソースの集合であっても良い。さらに、カスタム探索サービス２２４は、データセットの複製が機能停止の場合に安定した性能を有効にすることを可能にする。本明細書で説明されるように、カスタム探索サービス２２４は、カスタマドキュメント及びそれらの関連付けられたメタデータの探索インデックスを維持するために利用されても良い。さらに、安定した性能を保証するために、探索可能メタデータまたはカスタマドキュメントが、安定した性能を保証し、及び機能停止を防止するために複製されても良い。
【００３４】
スケーラブルデータベースサービス２２６は、ドキュメントまたはデータの記憶及び検索を容易にする構造化記憶システムを提供するように集合的に構成されたコンピューティングデバイス及び他のリソースの集合であっても良い。スケーラブルデータベースサービス２２６は、非関係的であっても良く、及びキー値モデルに基づいても良い。スケーラブルデータベースサービス２２６の例は、ＮｏＳＱＬデータベース（例えば、関係構造化クエリ言語（ＳＱＬ）データベース）と区別される）を含む。スケーラブルデータベースサービス２２６は、ドキュメントまたはユーザと関連付けられたメタデータを記憶するために使用されても良い。例えば、スケーラブルデータベースサービス２２６は、アンダーレイ、オーバーレイ、ドキュメント、フィードバック、またはコメントに対するメタデータを記憶しても良い。加えて、スケーラブルデータベースサービス２２６は、ユーザ、組織、及びパーミッションと関連付けられたメタデータを記憶しても良い。非関係データベースとして、スケーラブルデータベースサービス２２６は、単一のテーブルにおける単一の項目への原始的な書き込みを保証することができる。したがって、単一の書き込みは、真偽表に対して同期して実行されても良く、及び残りの書き込みがワークフローを使用して非同期に実行されても良い。
【００３５】
図２に示される環境では、通知サービス２２８が含まれる。通知サービス２２８は、ウェブサービスまたは他のインタフェース及びブラウザベースの管理コンソールを提供するように集合的に構成されたコンピューティングリソースの集合を含んでも良い。管理コンソールは、どのカスタマがアプリケーション（または人々）に通知しようとしているかに対するトピックを構成し、トピックに対してクライアントを署名し、メッセージを発行し、またはメッセージの配信をクライアントの選択のプロトコル（すなわち、とりわけ、ハイパーテキストトランスファープロトコル（ＨＴＴＰ）、電子メール、及びショートメッセージサービス（ＳＭＳ））上で構成するために使用されても良い。通知サービス２２８は、定期的にチェックする必要がない「プッシュ」メカニズム、または新たな情報及び更新に対する「ポーリング」を使用して通知をクライアントに提供することができる。上記議論されたように、通知サービス２２８は、プッシュ通知をコンピューティングデバイス２０２のうちの１つまたは複数に送信しても良い。デバイス上で稼働するクライアントが通知を受信するとき、選択されたドキュメントがデバイスから削除されても良い。通知サービス２２８はさらに、仮想コンピュータシステムサービス２２８、ワークフローシステム、時間制約情報の更新、モバイルアプリケーション、及び多くのその他などで実行されているアプリケーションを監視することなど、種々の目的のために使用されても良い。
【００３６】
図３は、少なくとも１つの実施形態に従った、フロントエンドシステムならびにドキュメント管理及び共同システムの機能エンティティを示す。フロントエンドシステム３０４は、ウェブサーバ３３２、アプリケーションサービス３３４、管理コンソール３３６、及び制御プレーンサービス３３８を含む。ウェブサーバ３３２は、ユーザがドキュメントをドキュメント管理及び共同システム３０６に送信及びアップロードすること、ならびにドキュメントを管理することを許可するウェブサイト、単一ページのウェブアプリケーション、または単一ページのインタフェースの実行を可能にすることができる。ウェブサーバ３３２はさらに、ユーザ（図示せず）がドキュメント、アンダーレイまたはオーバーレイを参照及び編集すること、ならびにドキュメントに関するコメンタリまたはフィードバックを提供することを可能にすることができる。ウェブサーバ３３２はまた、管理者またはユーザが、ドキュメントにアクセスする際に、パーミッションを設定すること、またはユーザに付与される特権を指定するモードを共有することを可能にすることができる。加えて、ウェブサーバは、ユーザまたはデバイスが、認証または認可の認証情報をサブミットすることを可能にすることができる。図２における符号２１２を参照して説明されたコンテンツ分散エッジネットワークは、ウェブサーバ３３２のコンテンツを分散するように使用されても良い。ユーザによって実行される動作は、ウェブサイト、アプリケーション、または管理コンソールを介して行われても良く、及びウェブサーバ３３２は、ウェブサイト、アプリケーション、または管理コンソールを実行することを可能にすることができる。１つのウェブサーバ３３２が図３を参照して説明されるが、任意のタイプの複数のウェブサーバが使用されても良く、ウェブサーバの一部が冗長であっても良いことが考えられても良い。
【００３７】
アプリケーションサービス３３４は、要求をユーザから受信し、及び要求を供給するユーザ公開サービスとして機能するように集合的に構成されたコンピューティングデバイス及び他のリソースの集合であっても良い。ユーザ要求は、ユーザにアクセス可能なウェブサイトもしくは管理コンソールを使用して行われても良く、またはユーザのデバイス上で実行されるクライアントが、ユーザの代わりにサービス要求を行っても良い。要求は、ＡＰＩ関数呼出であっても良く、ならびにアプリケーションサービス３３４は、要求を処理し、及びその実行を管理しても良い。アプリケーションサービス３３４によって、受信された要求と関連付けられた動作の同期実行がされても良く、または代わりに、さらなる複雑な処理を要求する１つもしくは複数の動作が非同期実行のために待ち行列に入れられても良い。アプリケーションサービス３３４はまた、ユーザ認証情報及びユーザの要求認証を認証サービスから受信することに関与しても良い。ユーザによって要求される操作が実行されるために、アプリケーションサービス３３４は、コンピューティングリソースサービスプロバイダ２１０のサービスまたはエンティティへの１つまたは複数の関数呼出を行っても良い。例えば、アプリケーションサービス３３４は、管理ディレクトリサービス２２２からのユーザもしくはアクセストークン検証を要求しても良く、またはアプリケーションサービス３３４によって、カスタム探索サービス２２４により維持される探索インデックスが更新されても良い。
【００３８】
認証に加え、アプリケーションサービス３３４はまた、ユーザデバイスに対するハードウェア及び／またはソフトウェア構成情報を受信し、ならびにこの情報を使用してユーザデバイスを一意に識別し、及びトラッキングするように構成されても良い。ユーザの識別及びユーザデバイスのトラッキングを使用して、ダウンロードされたドキュメントが削除されても良く、そうでない場合、ユーザデバイス上で利用不能とされても良い。１つの実施形態では、アプリケーションサービス３３４は、ユーザデバイスからのダウンロードされたドキュメントの対象とする削除をさせても良い。
【００３９】
管理コンソール３３６は、組織、管理者、及びユーザがドキュメント管理及び共同サービスを利用する登録をすることを許可するように集合的に構成されたコンピューティングデバイス及び他のリソースの集合であっても良い。管理コンソール３３６は、ユーザデバイス上で稼動するウェブサイトまたはアプリケーションに加え、またはそれの代替として使用されても良く、ならびにユーザ及び管理者が適切に構成されたＡＰＩ関数呼出を使用してサービス要求を行うことを許可しても良い。例えば、管理コンソール３３６は、ユーザに、ドキュメント共同システムに参加すること、ドキュメントを参照すること、及びドキュメントに関して共同することを推奨するために使用されても良い。さらに、管理コンソール３３６は、ダッシュボードアクセス、監査ログアクセス、パーミッション設定（例えば、管理者及びユーザに対し）、記憶制限設定、（例えば、組織及びユーザに対し）、ならびにセキュリティ設定（例えば、パスワード及び暗号化）を許可するために使用されても良い。
【００４０】
フロントエンドシステム３０４の制御プレーンサービス３３８は、ドキュメントの共同及び管理のために新たなコンピューティングインスタンスを作成することを可能にするインタフェースとして機能するように集合的に構成されたコンピューティングデバイス及び他のリソースの集合であっても良い。インスタンスは、ドキュメントの管理及び共同のために、管理ディレクトリサービス２２２においてディレクトリを透過的に作成し、及び既存のディレクトリ（例えば、管理ディレクトリサービス２２２またはユーザもしくは管理者によって管理される）を関連付けることによって作成されても良い。制御プレーンサービス３３８は、ドキュメントディレクトリを作成するために利用されても良く、ならびにドキュメントディレクトリは、管理ディレクトリサービス２２２によって実行及び供給されても良い。ドキュメントディレクトリは、ユーザにパーミッション及び特権を提供することが可能な管理者を有する組織と関連付けられても良い。ディレクトリの作成に続き、アプリケーションサービス３３４は、ディレクトリのフォルダまたはドキュメントに作用する機能を有効にするために使用されても良い。
【００４１】
ドキュメント管理及び共同システム３０６は、ユーザトラッキングサービス３４２、デバイストラッキングサービス３４４、ドキュメントトラッキングサービス３４６、削除トラッキングサービス３４８、及びドキュメント管理認可インタフェース３５０を含む。ユーザトラッキングサービス３４２は、ユーザ及びユーザセッションをトラッキングするように集合的に構成されたコンピューティングデバイス及び他のリソースの集合であっても良い。デバイストラッキングサービス３４４は、ユーザデバイスをトラッキングするように集合的に構成されたコンピューティングデバイス及び他のリソースの集合であっても良い。
【００４２】
ドキュメントトラッキングサービス３４６は、種々のドキュメントをトラッキングし、ならびにどのユーザがどのドキュメントをダウンロードしたか、またはどのユーザがドキュメントにアクセスしたかをトラッキングするように集合的に構成されたコンピューティングデバイス及び他のリソースの集合であっても良い。削除トラッキングサービス３４８は、ドキュメントを削除する要求をトラッキングするように集合的に構成されたコンピューティングデバイス及び他のリソースの集合であっても良い。ドキュメント管理認可インタフェース３５０は、ドキュメントを削除する要求を受信及び認可するように集合的に構成されたコンピューティングデバイス及び他のリソースの集合であっても良い。
【００４３】
図４は、少なくとも１つの実施形態に従った、ドキュメント管理及び共同システムを有するコンピューティングリソースサービスプロバイダと通信するユーザデバイスを示す。環境４００では、ユーザデバイス４０８は、ウェブアプリケーション４６２、ならびにドキュメントセキュリティクライアント４６６を備えるドキュメント管理及び共同アプリケーション４６４を含む。コンピューティングリソースサービスプロバイダ４１０は、図３における符号３０６を参照して説明されたドキュメント管理及び共同システムなどのドキュメント管理及び共同システム４０６を含む。コンピューティングリソースサービスプロバイダ４１０は、図２及び３を参照して説明されたエンティティなど、図４に示すそれらに加え、またはそれらに代わるエンティティを含んでも良いことに留意されたい。
【００４４】
本明細書で説明されるように、ユーザデバイス４０８は、コンピューティングリソースサービスプロバイダ４１０またはそのエンティティのうちのいずれか１つと通信するように集合的に構成されたコンピューティングデバイス及び他のリソースの集合を備えても良い。ユーザデバイス４０８は、任意のタイプの無線または有線接続を有効にするポートまたはモデムなど、任意の数またはタイプの通信デバイスを備えても良い。さらに、通信は、インターネット、イントラネット、またはインターネットサービスプロバイダ（ＩＳＰ）ネットワークを含むインターネットプロトコル（ＩＰ）ネットワークなど、任意のタイプのネットワーク（図示せず）上で実行されても良い。加えて、ユーザデバイス４０８は、電気電子技術者協会（ＩＥＥＥ）８０２プロトコル、Ｂｌｕｅｔｏｏｔｈ（商標）、などの短距離通信プロトコル、または第三世代（３Ｇ）通信プロトコルもしくはロングタームエボリューション（ＬＴＥ）などのセルラ通信プロトコルのうちのいずれか１つを含む、任意のタイプの通信プロトコルに従って、またはそれらに応じて通信しても良い。
【００４５】
ウェブアプリケーション４６２は、ユーザデバイス４０８がウェブサイトの表示をレンダリングすること、及びウェブサイトをもたらすこと、ならびにウェブサイトと相互作用することを可能にすることができる。ウェブアプリケーション４６２の例はウェブブラウザを含み、ウェブアプリケーション４６２は、ユーザが認証情報におけるログをドキュメント共同及び管理ウェブサイトに供給すること、ならびにフォルダの１つまたは複数のドキュメントディレクトリにアクセスすることを許可しても良い。さらに、ウェブアプリケーション４６２は、ユーザが、例えば、ウェブサイトを介して、例えば、ユーザの認証情報に少なくとも部分的に基づいて、ユーザが少なくとも参照特権を有するフォルダとディレクトリとの間でナビゲートすることを可能にすることができる。加えて、ウェブサイトは、ユーザに、フォルダに含まれることになるドキュメント、あるいは共有されることになり、ユーザまたは１つもしくは複数の他の共同者によってコメントされ、もしくは注釈を付けられることになるドキュメントをアップロードまたは送信するオプションを提供することができる。
【００４６】
ウェブサイトと相互作用してユーザによって実行される動作によって、ウェブアプリケーション４６２は、要求をコンピューティングリソースサービスプロバイダ４１０またはそのエンティティに送信することができる。要求は、コンピューティングリソースサービスプロバイダ４１０によって実行されるアプリケーションプログラミングインタフェース（ＡＰＩ）関数呼出であっても良い。例えば、ユーザがドキュメントのバージョンに注釈を付け、及び注釈を付けられたバージョンを保存するとき、ウェブアプリケーション４６２によって、コンピューティングリソースサービスプロバイダ４１０またはそのエンティティに注釈を示すＡＰＩ関数呼出が行われても良い。いくつかの実施形態では、ウェブアプリケーション４６２は、完全に同期しなくても良く、及びウェブアプリケーション４６２によって、ユーザによって行われた任意の動作に基づいて要求が行われなくても良い。例えば、ユーザがドキュメントに注釈を付けるので、ウェブアプリケーション４６２は、それらがユーザによって行われるように注釈を同期して中継しなくても良く、代わりにユーザがドキュメントまたは注釈を保存するとき、代替としてそれを行う間隔ごとに注釈を中継するのみであっても良い。
【００４７】
図４に示されるように、ユーザデバイス４０８はさらに、ドキュメント管理及び共同アプリケーション４６４を備えても良い。ドキュメント管理及び共同アプリケーション４６４は、ユーザデバイス４０８のコンピュータシステムによって実行されると、コンピューティングリソースサービスプロバイダ４１０によって提供されるドキュメント共有及び共同機能とのユーザの相互作用を有効にする実行可能命令（例えば、ユーザデバイス４０８上の非一時的コンピュータ可読記憶媒体に記憶され、またはユーザデバイス４０８に結合された）であっても良い。ウェブアプリケーションベースまたはブラウザベースのインタフェースと同様に、ドキュメント管理及び共同アプリケーション４６４は、ユーザが認証情報におけるログを供給すること、及び１つまたは複数のドキュメントディレクトリまたはフォルダにアクセスすることを可能にする。ユーザはまた、（例えば、とりわけ、ドキュメントを１つまたは複数のフォルダにアップロードし、ドキュメントを１つまたは複数のフォルダから削除し、ドキュメントに対するアンダーレイに注釈を付け、注釈を含むオーバーレイを参照することによって）、コンピューティングリソースサービスプロバイダ４１０によって提供されるドキュメント管理及び共同システム４０６と相互作用しても良い。ドキュメント管理及び共同アプリケーション４６４は、任意のドキュメント共同及び管理リソースならびに機能を利用するための、ウェブアプリケーション４６２から独立したメカニズムを提供することができる。
【００４８】
ドキュメント管理及び共同アプリケーション４６４は、フロントエンドシステム４０４ならびにドキュメント管理及び共同システム４０６と通信するドキュメントセキュリティクライアント４６６を含む。ドキュメントセキュリティクライアント４６６は、ドキュメントを削除する要求をドキュメント管理及び共同システム４０６から受信しても良い。要求は、一意なドキュメント識別子を含んでも良い。ドキュメントセキュリティクライアント４６６によって、識別されたドキュメントがユーザデバイス４０８から削除されても良い。
【００４９】
図５は、少なくとも１つの実施形態に従ったディレクトリ構造の例を示す。ディレクトリ５０２は、管理ディレクトリサービスによって維持されても良く、及び組織と関連付けられても良く、そして、組織は、１つまたは複数のディレクトリ５０２を有しても良い。図５に示すように、ディレクトリ５０２は、１つまたは複数のフォルダ５０４（本明細書では単独でフォルダ５０２と称される）を含むように示される。さらに、フォルダ５０４は、フォルダ５０４内でネスト化された１つまたは複数のサブフォルダ５０６を含んでも良い。認識することができるように、サブフォルダ５０６はさらに、１つまたは複数のネスト化されたサブフォルダを含んでも良い。フォルダ５０４は、ディレクトリ５０２内のファイル構造であっても良く、及び、いくつかの実施形態では、フォルダ５０４と関連付けられたセキュリティまたはパーミッション特権は、フォルダ５０４、またはフォルダ５０４内でネスト化されたサブフォルダ５０６内でドキュメント５０８に適用されても良い。
【００５０】
フォルダ５０４は、１つまたは複数のドキュメント５０８（本明細書では単独でドキュメント５０８と称される）を保持しても良い。図５を参照して説明されるように、ドキュメントは、複数のドキュメントバージョン５１０を含んでも良い。ドキュメントバージョン５１０は、例えば、ユーザの修正及び変更を含む、ドキュメント５０８もしくは後続のバージョンの１つの改訂、または既存のドキュメントの改訂であっても良い。さらに、ドキュメントに関して提供されるパーミッションまたはセキュリティ特権は、ドキュメント５０８と関連付けられた複数のドキュメントバージョン５１０に適用されても良い。ドキュメント５０８が削除されるものと選択されるとき、バージョン５１０を含む全てのバージョンがユーザデバイスから削除される。
【００５１】
図６は、本明細書で説明される少なくとも１つの実施形態に従った、ドキュメント管理及び共同システムにおいてデータを管理する方法の例を示す。処理６００では、図３のアプリケーションサービス３３４などのアプリケーションサービスは、処理６０２は、１つまたは複数のコンピューティングデバイスに対するハードウェア及び／またはソフトウェア構成情報を受信する。処理６０４において、１つまたは複数のコンピューティングデバイスは、一意に識別され、及びトラッキングされる。
【００５２】
処理６０６において、ドキュメントをドキュメント管理及び共同システムから１つまたは複数のコンピューティングデバイスにダウンロードする要求が受信される。処理６０８において、ダウンロード要求と関連付けられたユーザが識別される。処理６１０において、要求されたドキュメントが１つまたは複数のコンピューティングデバイスに送信される。
【００５３】
要求されたドキュメントは、新たなドキュメントまたは既存のドキュメントの新たなバージョンであっても良い。さらに、ドキュメントは、固有のドキュメントであっても良い。要求は、ユーザから受信されても良く、及びアクセスもしくは認可トークン、またはログイン情報など、ユーザと関連付けられた認証情報を含んでも良い。認証情報は、要求者と関連付けられた識別を確認し、または要求者が真正であること、もしくは要求者によって提示された識別が真正であることを確認するために検証されることが可能である。さらに、要求者がアップロードされることになるドキュメントを要求することを認可または許可されることが確認されても良い。ユーザは、管理者もしくは別のユーザ、ドキュメント所有者、または他のドキュメントのプリンシパルによって、ドキュメントにアクセスすることを許可されても良い。例えば、他のユーザ、ドキュメント所有者、または他のドキュメントのプリンシパルは、ユーザとドキュメントを共有する特権を有しても良く、したがってユーザがアップロードされるドキュメントにアクセスすることを可能にするその特権を利用することができる。本明細書で説明されるように、要求は、ＡＰＩ構成関数呼出であっても良い。
【００５４】
次いで、アプリケーションサービスは、提供された認証情報に少なくとも部分的に基づいて、要求当事者を認証する。アプリケーションサービスは、ユーザ認証のためのディレクトリサービス認可インタフェースを利用しても良く、及び認証情報をディレクトリサービス認可インタフェースに送信しても良い。ドキュメント管理及び共同システムは、認証のために管理ディレクトリサービス２２２に依存しても良く、管理ディレクトリサービス２２２でのユーザのアカウントまたは組織のアカウントはまた、ドキュメント管理及び共同システムによって提供されるサービスへのアクセスのために利用されても良い。
【００５５】
ユーザの識別及び１つまたは複数のコンピューティングデバイスのトラッキングに基づいて、処理６１２は、ダウンロードされるドキュメントが１つまたは複数のコンピューティングデバイスから削除されるべきであると判定する。
【００５６】
１つまたは複数のコンピューティングデバイスからのダウンロードされるドキュメントの対象とする削除は、処理６１４において実行される。処理６１６において、アプリケーションサービスは、ダウンロードされるドキュメントの削除の成功のインジケーションを受信しても良い。
【００５７】
ドキュメント管理及び共同システムは、ユーザが分散コンピューティングリソースを使用して１つもしくは複数の仮想デスクトップを実行することを可能にする仮想デスクトップサービスなどの他のサービスと統合されても良く、またはそれとともに利用されても良い。例えば、仮想デスクトップの種々のファイルまたはドキュメントディレクトリは、ドキュメント管理及び共同システムによって維持されても良い。ドキュメント管理及び共同システムを使用して、ユーザは、ユーザの仮想デスクトップまたは仮想オペレーティングシステムの種々のドキュメントディレクトリにアクセスすることができる。アクセスは、仮想デスクトップもしくはオペレーティングシステム、または仮想デスクトップサービスに独立してアクセスする必要なく実行されても良い。したがって、ドキュメント管理及び共同システムが仮想デスクトップサービスと統合されるとき、仮想デスクトップサービスによって維持されるディレクトリ、ドキュメント、またはフォルダは、ドキュメント管理及び共同システムを介してアクセス可能となっても良い。
【００５８】
さらに、ドキュメント管理及び共同システムは、仮想デスクトップサービスのためにドキュメント及びディレクトリを記憶するために利用されても良い。さらに、いくつかの実施形態では、ドキュメント管理及び共同システムは、デスクトップドキュメントを記憶することに関与しても良く、仮想デスクトップサービスは、ソフトウェアアプリケーション、プライベート電子メール、及びユーザ設定などの他のファイルタイプを記憶することに関与しても良い。いくつかの実施形態では、セキュリティ特権は、ドキュメント管理及び共同システムと仮想デスクトップサービスとの間で共有されても良く、ユーザは、シングルサインオンで両方のシステムにサインオンしても良く、及び単一の認証処理を利用しても良い。
【００５９】
本開示の実施形態は、以下の条項を考慮して説明されても良い。
１．ドキュメント管理及び共同システムにおいてデータを管理するためのコンピュータにより実施される方法であって、
実行可能命令で構成された１つまたは複数のコンピュータシステムの制御の下、
１つまたは複数のコンピューティングデバイスに対するハードウェアまたはソフトウェア構成情報を受信することと、
前記ハードウェアまたはソフトウェア構成情報に基づいて、前記１つまたは複数のコンピューティングデバイスを一意に識別し、及びトラッキングすることと、
要求を前記１つまたは複数のコンピューティングデバイスのうちの１つのコンピューティングデバイスから受信することであって、前記要求は、前記ドキュメント管理及び共同システムから前記１つのコンピューティングデバイスへのドキュメントのダウンロードに対するものである、ことと、
前記ダウンロードの要求と関連付けられたユーザを識別することと、
前記要求されたドキュメントを前記１つのコンピューティングデバイスに送信することと、
前記ユーザの前記識別及び前記１つまたは複数のコンピューティングデバイスの前記トラッキングに基づいて、前記ダウンロードされるドキュメントが前記１つのコンピューティングデバイスから削除されるべきであると判定することと、
前記１つのコンピューティングデバイスからの前記ダウンロードされるドキュメントの対象とする削除を実行することと、
前記１つのコンピューティングデバイスから、前記ダウンロードされるドキュメントの削除の成功のインジケーションを受信することと
を備えたコンピュータにより実施される方法。
【００６０】
２．前記識別することは、ユーザセッションを有する前記ユーザを認証することを含み、前記トラッキングすることは、前記ユーザセッションを前記１つのコンピューティングデバイスに関連付けることを含む、条項１に記載のコンピュータにより実施される方法。
【００６１】
３．前記対象とする削除を前記実行することは、前記１つのコンピューティングデバイスに前記ダウンロードされるドキュメントを削除することを命令するプッシュ通知を送信することを含む、条項１に記載のコンピュータにより実施される方法。
【００６２】
４．前記対象とする削除を前記実行することは、前記１つのコンピューティングデバイスによって前記ダウンロードされるドキュメントの時間ベースの使用を更新する要求を拒否することを含む、条項１に記載のコンピュータにより実施される方法。
【００６３】
５．係属している削除要求に対する状態を維持することをさらに備える、条項１に記載のコンピュータにより実施される方法。
【００６４】
６．前記対象とする削除を前記実行することは、前記１つのコンピューティングデバイスに前記ダウンロードされるドキュメントを削除することを命令するメッセージを、アイドルチャネル上で送信することを含む、条項１に記載のコンピュータにより実施される方法。
【００６５】
７．少なくともアプリケーションサービスを実施するように集合的に構成された１つまたは複数のコンピューティングデバイスを含むシステムであって、前記アプリケーションサービスは、
ドキュメント管理及び共同システムのユーザと関連付けられた１つまたは複数のユーザデバイスを識別し、
前記ドキュメント管理及び共同システムから前記１つまたは複数のユーザデバイスにダウンロードされた、前記ユーザと関連付けられた１つまたは複数のドキュメントが前記１つまたは複数のユーザデバイスからアクセス不能とされるべきと判定し、
前記１つまたは複数のユーザデバイスからの前記ダウンロードされた１つまたは複数のドキュメントへのアクセスの対象とする拒否をさせる
ように構成されるシステム。
【００６６】
８．前記１つまたは複数のユーザデバイスは、前記１つまたは複数のユーザデバイスに対するハードウェアまたはソフトウェア構成情報に基づいて識別される、条項７に記載のシステム。
【００６７】
９．前記アプリケーションサービスは、
前記１つまたは複数のドキュメントのうちの１つを前記１つまたは複数のユーザデバイスにダウンロードする要求を受信し、
インジケーションをドキュメントの記憶のための位置の同期クライアントに送信し、
前記位置における前記ドキュメントの記憶の成功を示すメッセージを前記同期クライアントから受信する
ようにさらに構成される、条項７に記載のシステム。
【００６８】
１０．前記アプリケーションサービスは、前記メッセージを受信したことに応答して、データベースに、前記ドキュメントがダウンロードされることを示させ、または前記１つまたは複数のユーザデバイス上で提示させるようにさらに構成される、条項９に記載のシステム。
【００６９】
１１．前記１つまたは複数コンピューティングデバイスは、前記１つまたは複数のダウンロードされたドキュメントの削除の成功のインジケーションを受信するように集合的に構成される、条項７に記載のシステム。
【００７０】
１２．前記アクセスの対象とする拒否をさせることは、前記ダウンロードされたドキュメントが前記１つまたは複数のユーザデバイスから削除されるべきであることを示すプッシュ通知を前記１つまたは複数のユーザデバイスに送信することを含む、条項７に記載のシステム。
【００７１】
１３．前記アクセスの対象とする拒否をさせることは、前記１つまたは複数のユーザデバイス上で前記ドキュメントの時間ベースの使用を更新する要求を拒否することを含む、条項７に記載のシステム。
【００７２】
１４．前記アクセスの対象とする拒否をさせることは、
前記１つまたは複数のユーザデバイス上に位置し、ならびに永続的ディスク記憶装置及びメタデータストア上にある、前記ユーザと関連付けられたドキュメントを削除することと、
アクティブなユーザセッションを終了させることと
を含む、条項７に記載のシステム。
【００７３】
１５．前記アクセスの対象とする拒否をさせることは、前記ユーザと関連付けられた前記１つまたは複数のドキュメントのうちの選択された１つの削除を含む、条項７に記載のシステム。
【００７４】
１６．前記アクセスの対象とする拒否をさせることは、前記１つまたは複数のドキュメントのうちの選択された１つが記憶されるメモリ位置を上書きすることを含む、条項７に記載のシステム。
【００７５】
１７．前記アクセスの対象とする拒否をさせることは、前記１つまたは複数のドキュメントにアクセスする要求の拒否を含む、条項７に記載のシステム。
【００７６】
１８．そこに集合的に記憶された実行可能命令を有する非一時的コンピュータ可読記憶媒体であって、前記命令は、コンピューティングデバイスの１つまたは複数のプロセッサによって実行されると、前記コンピューティングデバイスに、少なくとも、
データをドキュメント管理及び共同システムに送信させ、前記データは、どのコンピューティングデバイスが前記ドキュメント管理及び共同システムのユーザと関連付けられるかをトラッキングするためのものであり、
ドキュメントを前記ドキュメント管理及び共同システムから受信させ、及び前記受信されたドキュメントを記憶させ、前記受信及び記憶されたドキュメントは、前記ユーザと関連付けられ、ならびに前記受信及び記憶されたドキュメントは、前記ドキュメント管理及び共同システムによってトラッキングされ、
前記ドキュメント管理及び共同システムからのコマンドに応答して、前記ユーザと関連付けられたダウンロードされるドキュメントのうちの選択された１つへのアクセスを拒否させる
非一時的コンピュータ可読記憶媒体。
【００７７】
１９．前記コンピューティングデバイスに、前記ダウンロードされるドキュメントの前記選択された１つの削除の成功のインジケーションを前記ドキュメント管理及び共同システムに送信させる命令をさらに備える、条項１８に記載の非一時的コンピュータ可読記憶媒体。
【００７８】
２０．前記ユーザと関連付けられた前記ドキュメントは、前記コンピューティングデバイスが前記ダウンロードされるドキュメントの前記選択された１つの対象とする削除を実行するように構成されることを検証するときのみダウンロードされる、条項１８に記載の非一時的コンピュータ可読記憶媒体。
【００７９】
２１．前記命令は、前記１つまたは複数のプロセッサによって実行されると、前記コンピューティングデバイスに、前記ユーザと関連付けられたアクティブなセッションを終了させる命令をさらに含む、条項１８に記載の非一時的コンピュータ可読記憶媒体。
【００８０】
２２．前記アクセスを拒否することは、前記ダウンロードされるドキュメントの前記選択された１つが記憶されるメモリ位置を上書きすることを含む、条項１８に記載の非一時的コンピュータ可読記憶媒体。
【００８１】
図７は、種々の実施形態に従った態様を実施するための例示的な環境７００の態様を示す。理解されるように、ウェブベースの環境が説明の目的で使用されるが、必要に応じて、異なる環境が種々の実施形態を実施するために使用されても良い。環境は、要求、メッセージ、または情報を適切なネットワーク７０４上で送信及び／または受信し、いくつかの実施形態では、情報をデバイスのユーザに再度搬送するように動作可能な任意の適切なデバイスを含むことができる、電子クライアントデバイス７０２を含む。そのようなクライアントデバイスの例は、パーソナルコンピュータ、携帯電話、ハンドヘルドメッセージングデバイス、ラップトップコンピュータ、タブレットコンピュータ、セットトップボックス、携帯情報端末、組み込みコンピュータシステム、及び電子ブックリーダなどを含む。ネットワークは、イントラネット、インターネット、セルラネットワーク、ローカルエリアネットワーク、サテライトネットワーク、任意の他のそのようなネットワーク、及び／またはそれらの任意の組み合わせを含む、任意の適切なネットワークを含むことができる。そのようなシステムに使用される構成要素は、選択されるネットワーク及び環境のタイプに少なくとも部分的に依存することがある。そのようなネットワークを介して通信するためのプロトコル及び構成要素は公知であり、本明細書で詳細に議論されない。ネットワーク上での通信は、有線または無線接続、及びそれらの組み合わせによって有効とされても良い。この例では、環境が、要求を受信し、及びそれに応答してコンテンツを供給するためのウェブサーバ７０６を含むので、ネットワークはインターネットを含むが、他のネットワークについて、同様の目的を果たす代替的なデバイスが、当業者のうちの１人に明らかなように使用されても良い。
【００８２】
例示的な環境は、少なくとも１つのアプリケーションサーバ７０８及びデータストア７１０を含む。連動または構成することができる、いくつかのアプリケーションサーバ、レイヤ、または他の要素、プロセスもしくは構成要素が存在しても良く、それらは、データを適切なデータストアから取得することなどのタスクを実行するように相互作用することができることが理解されるべきである。本明細書で使用されるように、サーバは、ハードウェアデバイスまたは仮想コンピュータシステムなど、種々の手段で実施されても良い。いくつかのコンテキストでは、サーバは、コンピュータシステム上で実行されているプログラミングモジュールを指しても良い。本明細書で使用されるように、他にコンテキストから示されず、かつ明確でない限り、用語「データストア」は、任意の標準的、分散、仮想、またはクラスタ化された環境において、データを記憶し、アクセスし、及び検索することが可能な任意のデバイスまたはデバイスの組み合わせを指し、それらは、任意の組み合わせ及び数のデータサーバ、データベース、データ記憶装置、及びデータ記憶媒体を含むことができる。アプリケーションサーバは、クライアントデバイスに対して１つまたは複数のアプリケーションの態様を実行するために必要に応じてデータストアと統合し、データアクセスのいくつかまたは全て、及びアプリケーションに対するビジネスロジックを扱うための任意の適切なハードウェア、ソフトウェア、及びファームウェアを含むことができる。アプリケーションサーバは、データストアと共同してアクセス制御サービスを提供することができ、ならびにユーザに提供されるよう使用可能なテキスト、グラフィック、音声、映像、及び／または他のコンテンツを含むが、それらに限定されないコンテンツを生成することが可能であり、それらは、ハイパーテキストマークアップ言語（ＨＴＭＬ）、拡張可能マークアップ言語（ＸＭＬ）、ＪａｖａＳｃｒｉｐｔ、カスケーディングスタイルシート（ＣＳＳ）、または別の適切なクライアントサイド構造化言語の形式でウェブサーバによってユーザに供給されても良い。クライアントデバイスに転送されるコンテンツは、聴覚的、視覚的、ならびに／または接触、味覚、及び／もしくは嗅覚を含む他の感覚を通じてユーザに対して感知可能な形式を含むが、それらに限定されない１つまたは複数の形式でコンテンツを提供するためにクライアントデバイスによって処理されても良い。全ての要求及び応答の扱いとともに、電子クライアントデバイス７０２とアプリケーションサーバ７０８との間でのコンテンツの配信は、この例では、ＰＨＰ：ハイパーテキストプリプロセッサ（ＰＨＰ）、Ｐｙｔｈｏｎ、Ｒｕｂｙ、Ｐｅｒｌ、Ｊａｖａ、ＨＴＭＬ、ＸＭＬ、または別の適切なサーバサイド構造化言語を使用してウェブサーバによって扱われても良い。本明細書で議論された構造化コードが本明細書の他の部分で議論される任意の適切なデバイスまたはホストマシン上で実行されても良いので、ウェブ及びアプリケーションサーバが必要であるわけでなく、それらは例示的な構成要素にすぎないことが理解されるべきである。さらに、単一のデバイスによって実行されるとして本明細書で説明された操作は、他にコンテキストから明確でない限り、分散及び／または仮想システムを形成することができる複数のデバイスによって集合的に実行されても良い。
【００８３】
データストア７１０は、いくつかの別個のデータテーブル、データベース、データドキュメント、動的データ記憶スキーム、ならびに／または本開示の特定の態様に関連するデータを記憶するための他のデータ記憶メカニズム及び媒体を含むことができる。例えば、示されるデータストア７１０は、製造側に対してコンテンツを供給するために使用することができる、製造データ７１２及びユーザ情報７１６を記憶するためのメカニズムを含むことができる。データストアはまた、報告、分析、または他のそのような目的のために使用することができる、ログデータ７１４を記憶するためのメカニズムを含むように示される。必要に応じて上記示されたメカニズムのうちのいずれかに、またはデータストア７１０における追加的なメカニズムに記憶することができる、ページ画像情報及びアクセス権情報など、データストアに記憶される必要があることがある多くの他の態様が存在しても良いことが理解されるべきである。データストア７１０は、それと関連付けられたロジックを通じて、命令をアプリケーションサーバ７０８から受信し、それに応答して、データを取得、更新、または処理するように動作可能である。アプリケーションサーバ７０８は、受信された命令に応答して、静的、動的、または静的及び動的データの組み合わせを提供することができる。ウェブログ（ｂｌｏｇ）、買物アプリケーション、ニュースサービス、及び他のそのようなアプリケーションに使用されるデータなどの動的データは、本明細書で説明されるようなサーバサイド構造化言語によって生成されても良く、またはアプリケーションサーバ上で動作し、もしくはアプリケーションサーバの制御に下に動作するコンテンツ管理システム（ＣＭＳ）によって提供されても良い。１つの例では、ユーザは、ユーザによって操作されるデバイスを通じて、或るタイプの項目に対する探索要求をサブミットしても良い。この場合、データストアは、ユーザ情報にアクセスして、ユーザの識別を検証しても良く、及びカタログ詳細情報にアクセスして、そのタイプの項目に関する情報を取得することができる。次いで、情報は、ユーザが電子クライアントデバイス７０２上のブラウザを介して参照することが可能なウェブページ上で示される結果においてなど、ユーザに返却されても良い。対象の特定の項目に対する情報は、ブラウザの専用ページまたはウインドウで参照されても良い。しかしながら、本開示の実施形態は、必ずしもウェブページのコンテキストに限定されず、要求を詳細に処理することにさらに全体的に適用可能であり、要求は必ずしもコンテンツに対する要求でないことに留意されるべきである。
【００８４】
各々のサーバは、一般的に、そのサーバの全体的な管理及び操作に対する実行可能プログラム命令を提供するオペレーティングシステムを含み、及び一般的に、サーバのプロセッサにより実行されると、サーバがその意図された機能を実行することを可能にする命令を記憶したコンピュータ可読記憶媒体（例えば、ハードディスク、ランダムアクセスメモリ、リードオンリメモリなど）を含む。サーバのオペレーティングシステム及び全体機能に対する適切な実施態様は、特に、本明細書における開示を考慮して、当業者によって知られており、または商業的に利用可能であり、及び容易に実施される。
【００８５】
環境は、１つの実施形態では、１つもしくは複数のコンピュータネットワークまたは直接接続を使用して、通信リンクを介して相互接続されるいくつかのコンピュータシステム及び構成要素を利用する分散及び／または仮想コンピューティング環境である。しかしながら、そのようなシステムは、図７に示されるよりも少ない、または多くの数の構成要素を有するシステムで同様に良好に動作しても良いことが当業者によって理解されよう。よって、図７におけるシステム７００の記述は、本質的に例示的であるものと見なされるべきであり、及び開示の範囲を限定するものではない。
【００８６】
種々の実施形態はさらに、場合によってはいくつかのアプリケーションのうちのいずれかを操作するために使用することができる１つまたは複数のユーザコンピュータ、コンピューティングデバイス、または処理デバイスを含むことができる、多種多様なオペレーティング環境で実施されても良い。ユーザまたはクライアントデバイスは、標準的なオペレーティングシステムを稼動させるデスクトップ、ラップトップ、またはタブレットコンピュータなどのいくつかの汎用パーソナルコンピュータとともに、モバイルソフトウェアを稼動させ、ならびにいくつかのネットワーキング及びメッセージングプロトコルをサポートすることが可能なセルラ、無線、及びハンドヘルドデバイスのうちのいずれかを含むことができる。そのようなシステムはまた、開発及びデータベース管理などの目的のための様々な商業的に利用可能なオペレーティングシステム及び他の既知のアプリケーションのうちのいずれかを稼動させるいくつかのワークステーションを含むことができる。それらのデバイスはまた、ダミー端末、シンクライアント、ゲーミングシステム、及びネットワークを介して通信することが可能な他のデバイスなどの、他の電子デバイスを含むことができる。それらのデバイスはまた、仮想マシン、ハイパバイザ、及びネットワークを介して通信することが可能な他の仮想デバイスなどの、仮想デバイスを含むことができる。
【００８７】
本開示の種々の実施形態は、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）、ユーザデータグラムプロトコル（ＵＤＰ）、開放型システム間相互接続（ＯＳＩ）モデルの種々のレイヤで動作するプロトコル、ファイル転送プロトコル（ＦＴＰ）、ユニバーサルプラグアンドプレイ（ＵｐｎＰ）、ネットワークファイルシステム（ＮＦＳ）、コモンインターネットファイルシステム（ＣＩＦＳ）及びＡＰＰＬＥＴＡＬＫなど、様々な商業的に利用可能なプロトコルのうちのいずれかを使用して通信をサポートするために当業者によく知られている少なくとも１つのネットワークを利用する。ネットワークは、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、サテライトネットワーク、及びそれらの任意の組み合わせであっても良い。
【００８８】
ウェブサーバを利用する実施形態では、ウェブサーバは、ハイパーテキストトランスファープロトコル（ＨＴＴＰ）サーバ、ＦＴＰサーバ、コモンゲートウェイインタフェース（ＣＧＩ）サーバ、データサーバ、Ｊａｖａサーバ、Ａｐａｃｈｅサーバ、及びビジネスアプリケーションサーバを含む、様々なサーバまたは中間階層アプリケーションのうちのいずれかを稼動させることができる。サーバはまた、Ｊａｖａ（登録商標）、Ｃ、Ｃ＃、もしくはＣ＋＋などの任意のプログラミング言語、またはＲｕｂｙ、ＰＨＰ、Ｐｅｒｌ、Ｐｙｔｈｏｎ、もしくはＴＣＬなどの任意のスクリプト言語などとともにそれらの組み合わせで記述された１つまたは複数のスクリプトまたはプログラムで実施することができる１つまたは複数のウェブアプリケーションを実行することによってなど、ユーザデバイスからの要求に応答してプログラムまたはスクリプトを実行することが可能であっても良い。サーバはまた、限定なしに、Ｏｒａｃｌｅ（登録商標）、Ｍｉｃｒｏｓｏｆｔ（登録商標）、Ｓｙｂａｓｅ（登録商標）、及びＩＢＭ（登録商標）から商業的に利用可能なものとともに、ＭｙＳＱＬ、Ｐｏｓｔｇｒｅｓ、ＳＱＬｉｔｅ、ＭｏｎｇｏＤＢ、ならびに構造化または非構造化データを記憶、検索、及び処理することが可能な任意の他のサーバなどのオープンソースサーバを含む、データベースサーバを含んでも良い。データベースサーバは、テーブルベースのサーバ、ドキュメントベースのサーバ、非構造化サーバ、関係サーバ、非関係サーバ、もしくはそれらの組み合わせ、及び／または他のデータベースサーバを含んでも良い。
【００８９】
環境は、上記議論された様々なデータストア、ならびに他のメモリ及び記憶媒体を含むことができる。それらは、コンピュータのうちの１つもしくは複数にローカルな（及び／もしくはそれらに内在する）記憶媒体、またはネットワークにわたってコンピュータのうちのいずれかもしくは全てからリモートな記憶媒体など、様々な位置に存在することができる。特定の組の実施形態では、情報は、当業者によく知られているストレージエリアネットワーク（ＳＡＮ）に存在しても良い。同様に、コンピュータ、サーバ、または他のネットワークデバイスに帰属する機能を実行するための任意の必要なファイルは、必要に応じてローカルに、及び／またはリモートに記憶されても良い。システムがコンピュータ化されたデバイスを含む場合、各々のそのようなデバイスは、バスを介して電子的に結合することができるハードウェア要素を含むことができ、当該要素は、例えば、少なくとも１つの中央処理装置（ＣＰＵまたはプロセッサ）、少なくとも１つの入力デバイス（例えば、マウス、キーボード、コントローラ、タッチスクリーン、またはキーパッド）、及び少なくとも１つの出力デバイス（例えば、ディスプレイデバイス、プリンタ、またはスピーカ）を含む。そのようなシステムはまた、ランダムアクセスメモリ（ＲＡＭ）もしくはリードオンリメモリ（ＲＯＭ）などの、ディスクドライブ、光学式記憶装置、及びソリッドステート記憶装置などとともに、着脱可能媒体装置、メモリカード、フラッシュカードなどの１つまたは複数の記憶装置を含んでも良い。
【００９０】
そのようなデバイスはまた、上記説明されたコンピュータ可読記憶媒体リーダ、通信デバイス（例えば、モデム、ネットワークカード（無線もしくは有線）、赤外線通信デバイスなど）、及びワーキングメモリを含むことができる。コンピュータ可読記憶媒体リーダは、リモート、ローカル、固定、及び／もしくは着脱可能な記憶装置を表わすコンピュータ可読記憶媒体とともに、コンピュータ可読情報を一時的に、及び／もしくはより永続的に含み、記憶し、送信し、及び検索するための記憶媒体と接続されても良く、またはそれらを受けるように構成されても良い。システム及び種々のデバイスはまた一般的に、オペレーティングシステム、及びクライアントアプリケーションまたはウェブブラウザなどのアプリケーションプログラムを含む、少なくとも１つのワーキングメモリデバイス内に位置するいくつかのソフトウェアアプリケーション、モジュール、サービス、または他の要素を含む。代替的な実施形態が、上記説明されたものからの多くの変形を有しても良いことが理解されるべきである。例えば、カスタマイズされたハードウェアがまた使用されても良く、及び／または特定の要素がハードウェア、ソフトウェア（アプレットなどのポータブルソフトウェアを含む）、もしくはその両方で実施されても良い。さらに、ネットワーク入力／出力デバイスなどの他のコンピューティングデバイスへの接続が採用されても良い。
【００９１】
コード、またはコードの一部を含むための記憶媒体及びコンピュータ可読媒体は、それらに限定されないが、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報の記憶及び／または送信のための任意の方法または技術で実施される揮発性及び不揮発性、着脱可能及び着脱不能媒体などの記憶媒体及び通信媒体を含む、当分野で既知であり、または使用される任意の適切な媒体を含むことができ、ＲＡＭ、ＲＯＭ、電気的消去可能プログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）、フラッシュメモリもしくは他のメモリ技術、コンパクトディスクリードオンリメモリ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、もしくは他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または所望の情報を記憶するために使用することができ、及びシステムデバイスによってアクセスすることができる任意の他の媒体を含む。本明細書で提供される開示及び教示に基づいて、当業者は、種々の実施形態を実施するための他の手段及び／または方法を理解するであろう。
【００９２】
したがって、明細書及び図面は、限定的な意味ではなく例示的であると見なされることになる。しかしながら、特許請求の範囲で示される発明のより広い精神及び範囲から逸脱することなく、種々の修正及び変更がそれらに行われても良いことが明らかである。
【００９３】
他の変形が本開示の精神の中にある。よって、開示される技術は、種々の修正及び代替的な構造の影響を受け、それらの或る例示された実施形態が図面において示され、及び上記で詳細に説明されている。しかしながら、発明を特定の形式及び開示された形式に限定する意図はなく、むしろ、添付の特許請求の範囲で定義されるように、発明の精神及び範囲に入る全ての修正、代替的な構造、ならびに同等物を発明がカバーすることになる。
【００９４】
用語「ａ」及び「ａｎ」、ならびに「ｔｈｅ」及び開示される実施形態を説明するコンテキストにおける（特に、以下の特許請求の範囲のコンテキストで）同様の指示対象は、他に本明細書で示されず、及びコンテキストによって明確に否定されない限り、単数及び複数系の両方をカバーするものと解釈されることになる。用語「ｃｏｍｐｒｉｓｉｎｇ」、「ｈａｖｉｎｇ」、「ｉｎｃｌｕｄｉｎｇ」、及び「ｃｏｎｔａｉｎｉｎｇ」は、他に述べられない限り、制約がない用語（すなわち、「ｉｎｃｌｕｄｉｎｇ、ｂｕｔ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ」）として解釈されることになる。用語「ｃｏｎｎｅｃｔｅｄ」は、修正されず、及び物理接続を指すときに、何らかの介在するものが存在する場合でさえ、部分的にまたは全体的にその中に含まれ、それに取り付けられ、またはともに結合されるものと解釈されることになる。本明細書における値の範囲の記載は、本明細書で他に示されない限り、その範囲に入る各々の別個の値を個々に指す簡単な方法として機能することが意図されるにすぎず、及び各々の別個の値は、それが本明細書で個々に記載されたかのように明細書に組み込まれる。用語「ｓｅｔ」（例えば、「ａ  ｓｅｔ  ｏｆ  ｉｔｅｍｓ」）または「ｓｕｂｓｅｔ」の使用は、他に述べられず、及びコンテキストによって否定されない限り、１つまたは複数の部品を含む非空集合として解釈されることになる。さらに、他に述べられず、及びコンテキストによって否定されない限り、対応する集合の用語「ｓｕｂｓｅｔ」は、必ずしも対応する集合の適切な部分集合を示しているわけではなく、部分集合及び対応する集合は、等価であっても良い。
【００９５】
形式「ａｔ  ｌｅａｓｔ  ｏｎｅ  ｏｆ  Ａ，Ｂ，ａｎｄ  Ｃ」または「ａｔ  ｌｅａｓｔ  ｏｎｅ  ｏｆ  Ａ，Ｂ  ａｎｄ  Ｃ」のフレーズなどの接続言語は、特に他に示されず、及び他にコンテキストによって明確に否定されない限り、項目、用語などがＡ、ＢもしくはＣのいずれかであっても良いこと、またはＡ、Ｂ及びＣの集合のうちの任意の非空の部分集合であっても良いことを提示するために一般的に使用されるとしてコンテキストで理解される。例えば、３つの部品を有する集合の例示的な例では、接続フレーズ「ａｔ  ｌｅａｓｔ  ｏｎｅ  ｏｆ  Ａ，Ｂ，ａｎｄ  Ｃ」、及び「ａｔ  ｌｅａｓｔ  ｏｎｅ  ｏｆ  Ａ，Ｂ  ａｎｄ  Ｃ」は、以下の集合：｛Ａ｝、｛Ｂ｝、｛Ｃ｝、｛Ａ，Ｂ｝、｛Ａ，Ｃ｝、｛Ｂ，Ｃ｝、｛Ａ，Ｂ，Ｃ｝のうちのいずれかを指す。よって、そのような接続言語は、概して、或る実施形態が、各々が提示されることになるＡのうちの少なくとも１つ、Ｂのうちの少なくとも１つ、及びＣのうちの少なくとも１つを必要とすることを暗に示すことを意図しているわけではない。
【００９６】
本明細書で説明される処理の動作は、本明細書で他に示されず、及びコンテキストによって他に明確に否定されない限り、任意の適切な順序で実行されても良い。本明細書で説明される処理（または、その変形及び／もしくは組み合わせ）は、実行可能命令で構成された１つまたは複数のコンピュータシステムの制御の下で実行されても良く、及び１つもしくは複数のプロセッサ上で、ハードウェア、またはそれらの組み合わせによって集合的に実行するコード（例えば、実行可能命令、１つもしくは複数のコンピュータプログラム、または１つもしくは複数のアプリケーション）として実施されても良い。コードは、例えば、１つまたは複数のプロセッサによって実行可能な複数の命令を含むコンピュータプログラムの形式で、コンピュータ可読記憶媒体に記憶されても良い。コンピュータ可読記憶媒体は、非一時的であっても良い。
【００９７】
本明細書で提供されるいずれか及び全ての例、または例示的な言語（例えば、「ｓｕｃｈ  ａｓ」）の使用は、発明の実施形態をより良好に示すことを意図しているにすぎず、他に主張されない限り、発明の範囲に関して限定を示すものではない。明細書における言語は、任意の特許請求されていない要素が発明の実施に必須であると示すものと解釈されるべきでない。
【００９８】
発明を実行するために発明者に知られているベストモードを含む本開示の好ましい実施形態が本明細書で説明される。それらの好ましい実施形態の変形は、上述した説明を読むときに当業者にとって明確となることがある。発明者は、当業者がそのような変形を必要に応じて採用することを予期し、及び発明者は、本開示の実施形態が本明細書で特に説明された以外で実施されることを意図する。したがって、本開示の範囲は、適用可能な法によって許可されるように以下に添付される特許請求の範囲に記載される主題の全ての変形及び同等物を含む。さらに、それらの全ての考えられる変形における上記説明された要素の任意の組み合わせは、本明細書で他に示され、及びコンテキストによって他に明確に否定されない限り、本開示の範囲に包含される。
【００９９】
本明細書で引用された公開公報、特許出願、及び特許を含む全ての引用文献は、各々の引用文献が個々に、及び特に参照によって組み込まれることになると示されたように、ならびに本明細書のその全体で示されたように、ある程度参照によってここに組み込まれる。
【図１】
0006608453.tif 000002
【図２】
0006608453.tif 000003
【図３】
0006608453.tif 000004
【図４】
0006608453.tif 000005
【図５】
0006608453.tif 000006
【図６】
0006608453.tif 000007
【図７】
0006608453.tif 000008