JP6608453B2 - 記憶されたデータに対するリモートアクセス制御 - Google Patents

記憶されたデータに対するリモートアクセス制御 Download PDF

Info

Publication number
JP6608453B2
JP6608453B2 JP2017535635A JP2017535635A JP6608453B2 JP 6608453 B2 JP6608453 B2 JP 6608453B2 JP 2017535635 A JP2017535635 A JP 2017535635A JP 2017535635 A JP2017535635 A JP 2017535635A JP 6608453 B2 JP6608453 B2 JP 6608453B2
Authority
JP
Japan
Prior art keywords
user
document
documents
devices
user devices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017535635A
Other languages
English (en)
Other versions
JP2017538231A (ja
Inventor
ケヴィン ジョージ ギレット
スティーブン ジョセフ オークリー
ステファン マティアス ハッチンソン
シンシア ジャン テイラー
スブハ ナラヤナムラティ
スコット アンソニー プラント
ロバート アンドリュー アレクサンダー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of JP2017538231A publication Critical patent/JP2017538231A/ja
Application granted granted Critical
Publication of JP6608453B2 publication Critical patent/JP6608453B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Data Mining & Analysis (AREA)
  • General Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

関連出願の相互参照
本出願は、2014年9月29日に出願された米国特許出願第14/500,910の利益を主張するものであり、その開示が参照によってその全体に組み込まれる。
リモートドキュメント記憶などのリモートコンピューティングサービスの使用が近年著しく増加してきた。組織は、例えば、コンピューティングリソースの内部ネットワーク及びその他によって管理されるコンピューティングリソースの両方を使用して、その操作をサポートすることができる。組織のコンピュータは、例えば、他の組織のコンピュータと通信して、ドキュメントまたは他のデータにアクセスし、及び/またはそれらを提供することができるとともに、別の組織のサービスを使用することができる。多くの例では、組織は、他の組織によって管理されるハードウェアを使用して、リモートネットワークを構成及び操作し、それによって、インフラストラクチャコストを削減し、及び他の利点を達成することができる。コンピューティングリソースのそのような構成で、特に、多数の異なるコンピューティングシステムを仮定すると、それらが保持するリソース及びデータにアクセスすることを保証することが困難となることがある。例えば、組織のコンピュータは、パーソナルコンピュータ、タブレット、スマートフォン、ラップトップ及び他のデバイスを含むことがある。
ユーザがドキュメントを共有し、及びドキュメントに関して共同することができることを保証することは、異なるデバイスの様々なハードウェア及びソフトウェア構成要素を仮定すると困難である。さらに、共有されるドキュメントのセキュリティを保証することを支援すること、及び認可されたユーザのみが共有されるドキュメントにアクセスし、またはダウンロードすることが可能となることを支援することは困難である。
ドキュメント共同及び管理のための方法及び装置が開示される。ドキュメント管理及び共同システムのユーザと関連付けられたユーザデバイスが識別される。ユーザと関連付けられたドキュメントは、ドキュメント管理及び共同システムからユーザデバイスにダウンロードされる。ダウンロードされるドキュメントへのアクセスの対象とする拒否が実行される。
本開示に従った種々の実施形態が、図面を参照して説明される。
少なくとも1つの実施形態に従った、対象とするドキュメントの削除の例を示す図である。 少なくとも1つの実施形態に従った、対象とするドキュメントの削除の例を示す図である。 少なくとも1つの実施形態に従った、対象とするドキュメントの削除の例を示す図である。 少なくとも1つの実施形態に従った、コンピューティングリソースサービスプロバイダと通信するユーザデバイス及び対象とするドキュメントの削除の例を示す図である。 少なくとも1つの実施形態に従った、ディレクトリ構造の例及び対象とするドキュメントの削除の例を示す図である。 少なくとも1つの実施形態に従った、対象とするドキュメントの削除の例を示すための方法の例を示す図である。 種々の実施形態を実施することができる環境を示す図である。
この開示の少なくともいくつかの実施形態は概して、ユーザがドキュメントを共有すること、及びドキュメントに関して共同することを可能にするドキュメント管理及び共同システムを利用することに関する。ユーザは、ドキュメント管理及び共同システムによって管理されるドキュメントのディレクトリを維持するユーザのグループまたは組織の一部であっても良い。ユーザは、ディレクトリ、またはディレクトリの関連付けられたフォルダもしくはサブフォルダのいずれかに対して特権を与えるパーミッションを有しても良い。パーミッション特権は、ユーザがドキュメントを参照すること、変更すること、または注釈を付けることを許可しても良い。パーミッション特権はさらに、ユーザがドキュメントに関してコメントすること、またはフィードバックを提供すること、及びドキュメントまたはフォルダを作成または削除することを許可しても良い。種々のレベル、パーミッションまたは共有特権が存在しても良く、及びユーザ特権は変化しても良い。
ディレクトリまたはドキュメントに関して1人のユーザによって実行される動作は、第2のユーザまたは共同者によって感知及び参照されても良い。本明細書で説明されるように、各々のユーザデバイスは、ディレクトリまたはドキュメントに対して作動し、または変更を加えるために、ドキュメント管理及び共同システムと通信することが可能であっても良い。次に、ドキュメント管理及び共同システムによって、第1のユーザによってなされた変更が第2のユーザに伝播されても良く、それによって、第2のユーザは、第1のユーザと一致した見方を有することができる。ドキュメント管理及び共同システムとユーザとの間の交換がAPI構成呼出を使用して実行されても良いことに留意されたい。
ドキュメント管理及び共同システムは、ドキュメントの共有及び共同を有効にするために様々なサービスを利用しても良い。ドキュメント管理及び共同システムは、ドキュメントのメタデータ、例えば、他のタイプのメタデータの中で、ドキュメントのバージョン、記憶位置もしくはサイズ、またはドキュメントもしくはフォルダにアクセスするためのグループのユーザのパーミッションなどを記憶するための種々のデータベースを利用しても良い。
共有されるドキュメントのセキュリティ及び完全性を改善するために、ドキュメント管理及び共同システムは、デバイスにダウンロードされた、共有されるドキュメントのうちの1つまたは複数の対象とする(targeted)削除、または共有されるドキュメントのうちの1つまたは複数のアクセスの対象とする拒否を可能にすることができる。いくつかの実施形態では、対象とする削除またはアクセスの対象とする拒否は、指定されたドキュメントもしくはファイルの削除、または指定されたドキュメントもしくはファイルのアクセスの拒否を指す。対象とする削除またはアクセスの対象とする拒否は、全ての既知のデバイスに関するドキュメントもしくはファイル、特定のユーザと関連付けられた全てのデバイスに関するドキュメントもしくはファイル、特定のデバイスに関するドキュメントもしくはファイルの全てのインスタンス、1つもしくは複数のデバイスに関するドキュメントもしくはファイルの1つもしくは複数のインスタンス、またはそれらの組み合わせの全ての既知のコピー及びバージョンを包含しても良い。ユーザがドキュメント管理及び共同システムのユーザセッションに対して認証するとき、ユーザセッションはデバイスに関連付けられる。デバイスは、デバイスハードウェア、またはホスト名及びIPアドレスなどのソフトウェア構成情報によって一意に識別されても良い。デバイスは、ドキュメント管理及び共同システムによってトラッキングされる他のデバイスに対して一意に識別されても良い。ドキュメント管理及び共同システムは、ユーザがユーザセッションを有していた全てのそのようなデバイスに対するプロファイルを作成しても良く、ならびにユーザに対する全てのセッション及びデバイスのリストを維持しても良い。
ドキュメント管理及び共同システムからダウンロードされたドキュメントを選択的に削除し、またはドキュメント管理及び共同システムからダウンロードされたドキュメントへのアクセスを拒否することが望ましい状況が存在することがある。例えば、デバイスが紛失し、もしくは盗まれることがあり、またはユーザがもはや共同グループの一部でないことがある。種々の実施形態では、管理者またはユーザは、選択の1つまたは複数のレベルにおいて、ドキュメントを選択的に削除し、またはドキュメントへのアクセスを拒否することができる。例えば、ユーザと関連付けられたセッションまたはデバイスの全てまたはその組が選択されても良い。ユーザがユーザセッションを有していた全てのデバイスが選択されても良く、または特定のデバイスが選択されても良い。さらに、ユーザと関連付けられた全てのドキュメントまたは特定のドキュメントが選択されても良い。
対象とする削除またはアクセスの対象とする拒否は、多くの手段で実施されても良い。1つの実施形態では、アクティブなユーザセッションが無効にされても良く、よってユーザがログインを強制される。プッシュ通知をサポートするデバイスに対し、ドキュメント管理及び共同システムは、プッシュ通知をデバイスに送信しても良い(例えば、ショートメッセージサービス(SMS)を使用して)。デバイス上で稼動するクライアントが通知を受信するとき、選択されたドキュメントがデバイスから削除される。選択されたドキュメントの削除に成功すると、結果がドキュメント管理及び共同システムに再度送信されても良い。
いくつかの実施形態では、ドキュメント管理及び共同システムは、ユーザが対象とするドキュメントにアクセスすることを試みるときに、対象とするドキュメントのアクセスを拒否しても良い。例えば、いくつかの実施態様では、ドキュメント管理及び共同システムは、ドキュメントへの全てのアクセスがユーザセッションごとに認可されることを要求しても良い。ドキュメント管理及び共同システムは、要求されたドキュメントへのアクセスを許可する前に、追加のセキュリティチェックを実行して、要求されたドキュメントが削除の対象であるかを検証しても良い。
いくつかの実施形態では、ユーザデバイスは、対象とするドキュメントが記憶されるメモリ位置を上書きしても良い。これは、対象とするドキュメントがユーザデバイス上でアクセス可能でないことを保証することを支援する。
いくつかのデバイスは、プッシュ通知をサポートしないが、それを通じて時限アクセスが許可されるリフレッシュトークンまたはアクセストークンを使用しても良く、ドキュメント管理及び共同システムは、リフレッシュトークンまたはアクセストークンの更新を拒否しても良く、よって、ユーザセッションへの継続的なアクセスを許可しない。ドキュメント管理及び共同システムはさらに、ユーザデバイスに、選択されたドキュメントをデバイスから削除することを命令しても良い。選択されたドキュメントの削除に成功すると、結果がドキュメント管理及び共同システムに再度送信されても良い。
ドキュメント管理及び共同システムは、全ての係属している対象とする削除またはアクセス拒否要求に対する状態情報をトラッキング及び維持しても良い。ドキュメント管理及び共同システムは、対象とする削除/アクセス拒否が要求されたか、通知がユーザデバイスに送信されたか、及びユーザデバイスが再度報告したかを記憶しても良い。ドキュメント管理及び共同システムは、最大のタイムアウトの後に応答が受信されなかった場合、係属している対象とする削除またはアクセス拒否要求を定期的に再試行することをトラッキングしても良い。
削除は、関連付けられたメタデータとともに、ユーザデバイス上の永続的ディスク記憶装置上にある全ての適用可能なファイルの削除を含んでも良い。アクセスの拒否は、ユーザと関連付けられた任意のアクティブなセッション及び/またはユーザと関連付けられた特定のユーザデバイスの終了を含んでも良い。
少なくともいくつかの実施形態について、本開示は、デバイス全体がリセットまたはワイプされるべきモバイルデバイス管理システムを実施することができる他のシステムよりも有利な点を提供することができる、対象とするワイプを実行する手段を説明する。
図1は、少なくとも1つの実施形態に従った、ドキュメントの共有及び共同の例を示す。第1のユーザデバイス102及び第2のユーザデバイス104は、ドキュメント管理及び共同システム106に接続される。ドキュメント管理及び共同システム106は、ユーザデバイスがドキュメントを共有すること、及びドキュメントに関して共同することを可能にする。さらに、ドキュメント管理及び共同システム106は、2つのユーザデバイスが同期されることを可能にし、それによって、第1のユーザデバイス102によって提供されるテキスト、コメンタリ、注釈、または強調表示が第2のユーザデバイス104によって参照されることが可能になる。ユーザデバイスの間の同期は、リアルタイムで、もしくは半継続的、定期的に実行されても良く、またはイベントドリブンもしくはイベントトリガであっても良く、イベントは、共同の下にドキュメントを記憶することなどの任意のタイプのユーザコマンドであっても良い。
ドキュメント共有及び共同システム106は、第1のユーザデバイス102及び第2のユーザデバイス104に対するハードウェア及び/またはソフトウェア構成情報を受信しても良く、それによって、デバイスを一意に識別し、及びトラッキングすることができる。ドキュメント共有及び共同システム106は、ドキュメント(図示せず)をドキュメント管理及び共同システムから1つまたは複数のコンピューティングデバイスにダウンロードする要求を受信しても良い。要求は、第1のユーザデバイス102または第2のユーザデバイス104と関連付けられた管理者(図示せず)またはユーザから発しても良い。要求されたドキュメントは、第1のユーザデバイス102または第2のユーザデバイス104に送信される。ユーザの識別及び第1のユーザデバイス102または第2のユーザデバイス104のトラッキングに基づいて、ダウンロードされるドキュメントが第1のユーザデバイス102または第2のユーザデバイス104から削除されるべきであると判定されても良い。ドキュメント共有及び共同システム106は、第1のユーザデバイス102または第2のユーザデバイス104からのダウンロードされるドキュメントの対象とする削除を実行しても良い。ドキュメント共有及び共同システム106はさらに、第1のユーザデバイス102または第2のユーザデバイス104からのダウンロードされるドキュメントの削除の成功のインジケーションを受信しても良い。
本明細書で説明されるように、用語「ユーザ」は、通信及び計算能力を備える人間操作コンピューティングデバイスを指しても良い。用語「ドキュメント」は、コンピューティングデバイス上でレンダリングされることが可能な、視聴覚媒体などの任意のタイプの媒体であっても良い。ドキュメントは、生産プログラムまたはその組によって製造され、または生産プログラムまたはその組を使用して編集もしくは参照されることが可能なコンピュータファイルであっても良い。したがって、ドキュメントは、とりわけ、編集可能または非編集可能なテキスト、画像、図、及びウェブサイトであっても良い。ユーザがドキュメントに関して共同すること、及びドキュメントを共有することを可能にすることに加え、ドキュメント管理及び共同システム106は、ユーザに、ドキュメントを管理するためのファイルシステムまたは組織的構造を提供することができる。組織的構造は、ドキュメントのネスト化したフォルダ及びサブフォルダを有するディレクトリを含んでも良く、ユーザに対してアクセス可能であっても良く、及びドキュメントにアクセスする手段としてユーザによって利用されても良い。
図2は、少なくとも1つの実施形態に従った、コンピューティングリソースサービスプロバイダに接続されたコンピューティングデバイスの例を示す。コンピューティングデバイス202は、コンピューティングリソースサービスプロバイダ210またはそのエンティティと通信することが可能な任意のデバイスであっても良い。コンピューティングデバイス202はまた、ローカルまたはリモート(例えば、、ネットワークベースの)の計算及び記憶能力を備えても良い。計算能力は、中央処理装置(CPU)、グラフィックプロセシングユニット(GPU)、及びデジタルシグナルプロセッサなどのプロセッサによって提供または有効とされても良い。CPUの例は、x86アーキテクチャ(例えば、デスクトップ及びラップトップコンピューティングデバイスで使用されるような)、または縮小命令セットコンピューティング(RISC)アーキテクチャ(例えば、スマートフォン及びタブレットコンピューティングデバイスで使用されるような)を採用するCPUを含む。コンピューティングデバイス202はまた、通信及びネットワーキングハードウェアを備えても良く、ならびに任意の通信プロトコルを使用して通信することが可能であっても良い。さらに、コンピューティングデバイス202は、ディスプレイ、タッチスクリーンベースもしくはキーボードベースの入力デバイス、またはスピーカを含むことができる入力/出力デバイスを備えても良い。加えて、コンピューティングデバイスは、スタティックまたはダイナミックメモリなどの任意のタイプのメモリ、及び電源または電力アダプタを含んでも良い。それらのハードウェア能力とは別に、コンピューティングデバイス202は、オペレーティングシステム及び/または他のプログラムを稼動させ、または実行するように構成されても良く、ならびにコンピューティングデバイス202の関連付けられたメモリは、1つまたは複数のプロセッサによって実行されると、1つもしくは複数の機能を実行させ、またはオペレーティングシステム及び/もしくは他のプログラムを稼動させる実行可能命令を記憶しても良い。2つのデバイスが図2に示されているが、任意の数のデバイスが種々の実施形態で考えられても良い。さらに、コンピューティングデバイス202は、コンピューティングリソースサービスプロバイダ210またはコンピューティングリソースサービスプロバイダ210の任意のエンティティとネットワーク(図示せず)を介して通信しても良い。ネットワークは、パブリックまたはプライベートであっても良く、ネットワークの例は、インターネット及びインターネットサービスプロバイダ(ISP)ネットワークを含む。
コンピューティングデバイス202は、集合的に、または個々に、コンピューティングリソースサービスプロバイダ210またはそのエンティティ及び機能のユーザまたはカスタマと関連付けられても良い。カスタマ(図示せず)は、情報を維持し、及び情報を、種々の地理的位置に位置することができるその従業員に配信するために、コンピューティングリソースサービスプロバイダ210によって提供されるサービスのうちの1つまたは複数を利用することができる組織であっても良い。加えて、カスタマは、コンテンツをリモートに位置する作業グループに配信するために、コンピューティングリソースサービスプロバイダ210のサービスを利用する個人であっても良い。
コンピューティングリソースサービスプロバイダ210は、図2で示されるように、フロントエンドシステム204及びドキュメント管理及び共同システム206とともに、複数のサービス及びシステムを含む。それらは、コンテンツ分散エッジネットワーク212、オブジェクトレベルデータ記憶サービス214、仮想コンピューティングサービス216、タスク管理及びワークフローサービス218、管理ディレクトリサービス222、カスタム探索サービス224、スケーラブルデータベースサービス226、及び通知サービス228を含む。種々の実施形態では、コンピューティングリソースサービスプロバイダ210が図2を参照して説明されるそれら以外のより少ないサービス及びシステムを含んでも良く、または図2を参照して説明されるそれらに対する追加的または代替的なサービスもしくはシステムを含んでも良いことに留意されたい。さらに、代替的な実施形態では、システム及びサービスは、コンピューティングリソースサービスプロバイダ210のコンテキストの外で利用されても良い。例えば、サービス及びシステムは、スタンドアロンであっても良く、または図2を参照して説明されるそれら以外のシステム及びサービスとともに使用されても良い。
フロントエンドシステム204は、ドキュメント管理及び共同システム206に対するゲートウェイであっても良く、ならびにプライベート及びパブリックなサービスをユーザまたはカスタマ及びそれらのコンピューティングデバイス202に供給しても良い。フロントエンドシステム204へのアクセスは、認可またはユーザ認証を要求しても良い。加えて、デバイスまたはユーザの特権レベルは、フロントエンドシステム204へのアクセス及びフロントエンドシステム204とコンピューティングデバイス202との間の任意のデータ交換を統制しても良い。フロントエンドシステム204へのアクセスは、例えば、グループまたは組織の管理者によって、コンピューティングデバイス202と関連付けられた特権レベル、またはコンピューティングデバイス202もしくはコンピューティングデバイス202のユーザに付与された特権レベルもしくは認証情報により統制されても良い。
フロントエンドシステム204は、ドキュメント管理及び共同システム206のリソースへのアクセスを許可する前に、カスタマ、ユーザ、またはデバイスの認証を実行しても良い。認証は、とりわけ、ユーザ名及びパスワード情報、またはアクセストークンなどの認証情報に基づいても良い。フロントエンドシステム204は、カスタマのアクセスを許可または有効にするサービス及びインタフェースを提供することができる。例えば、フロントエンドシステム204は、コンピューティングリソースサービスプロバイダ210のサービスに関連する情報をカスタマに提供するウェブベースのプラットフォームまたはコンソールベースのプラットフォームを有効にすることができる。さらに、フロントエンドシステム204は、カスタマがコンピューティングリソースサービスプロバイダ210においてアプリケーションまたはタスクを実行すること、アプリケーションまたはタスクの実行をトラッキング及び管理すること、実行の結果を受信すること、ならびに結果をユーザデバイスに送信することを可能にすることができる。本明細書でさらに説明されるように、フロントエンドシステム204は、それによってカスタマまたはその関連付けられたデバイス202がコンピューティングリソースサービスプロバイダ210によって提供される複数のサービスを利用することができるゲートウェイであっても良い。
ドキュメント管理及び共同システム206は、分散システムにおいて1つまたは複数のユーザの間での共同に対し、ドキュメントの実行及び処理を有効にし、及び管理する。ドキュメント管理及び共同システム206は、例えば、ドキュメントをコンピューティングリソースサービスプロバイダ210にアップロードすること、ならびにドキュメントと関連付けられたメタデータを保持及び修正することを可能にすることができる。ドキュメント管理及び共同システム206はさらに、ドキュメントまたはそれらのメタデータと関連付けられた機能を探索することとともに、ドキュメントに関してユーザ間の共同を可能にすることができる。
用語「ドキュメント」が本明細書ではコンピューティングリソースサービスプロバイダ206のユーザによって作成または共同されるオブジェクトを説明するために使用されるが、用語「ドキュメント」は、視聴覚媒体などの媒体に限定されない。ドキュメントは、生産プログラムまたはその組を使用することによって作成され、またはそれらを使用して編集もしくは参照されることが可能なコンピュータファイルであっても良い。したがって、ドキュメントは、とりわけ、編集可能または非編集可能なテキスト、画像、図、及びウェブサイトであっても良い。
コンピューティングリソースサービスプロバイダ210のコンテンツ分散エッジネットワーク212は、ウェブコンテンツなどのコンテンツを複数のユーザに配信するように集合的に構成されたコンピューティングデバイス及び他のリソースの集合であっても良い。コンテンツ分散エッジネットワーク212は、例えば、ユーザデータのスループットを最適化し、及び待ち時間を最小化するように戦略的に配置されたワールドワイドな位置で分散される、複数のエッジ位置を有しても良い。コンテンツ分散エッジネットワーク212は、コンテンツに対する要求を受信し、及び要求されたコンテンツをユーザに配信しても良い。コンテンツ分散エッジネットワーク212は、コンテンツの一部または全てを記憶する記憶サービスとインタフェースしても良く、ならびにコンテンツ分散エッジネットワーク212によって、コンテンツが検索され、及びコンテンツが要求当事者に提供されても良い。コンテンツ分散エッジネットワーク212は、フロントエンドシステム204のユーザアクセス可能なウェブサイトまたはウェブアプリケーションを有効にするように利用されても良い。
オブジェクトレベルデータ記憶サービス214は、データを記憶し、及び/またはデータにアクセスする要求を同期して処理するように構成されたコンピューティングリソースの集合であっても良い。オブジェクトレベルデータ記憶サービス214は、オブジェクトレベルデータ記憶サービス214がデータを即時に特定及び検索することを可能にするコンピューティングリソース(例えば、データベース)を使用して動作し、それによってデータに対する要求に応答してデータが提供されることを可能にすることができる。例えば、オブジェクトレベルデータ記憶サービス214は、データオブジェクトに対する要求が検索されるときに、要求に応答してデータオブジェクトを提供することができる(または、データオブジェクトのストリーミングを開始することができる)ような方式で、記憶されたデータを維持しても良い。述べられるように、オブジェクトレベルデータ記憶サービス214に記憶されるデータは、データオブジェクトに組織化されても良い。データオブジェクトは、サイズに関する或る制限を除き、任意のサイズを有しても良い。よって、オブジェクトレベルデータ記憶サービス214は、可変サイズの多数のデータオブジェクトを記憶しても良い。本明細書で説明されるように、オブジェクトレベルデータ記憶サービス214は、任意のタイプのドキュメント(例えば、ドキュメントのソースファイル)、アンダーレイ、プレビュー、サムネイル、抽出されたドキュメントのテキスト、注釈インデックス、または真偽表を記憶しても良い。
仮想コンピューティングサービス216は、コンピューティングリソースサービスプロバイダ210(ドキュメント管理及び共同システム206など)のエンティティの代わりに、またはカスタマの代わりに仮想マシンインスタンスをインスタンス化するように構成されたコンピューティングリソースの集合であっても良い。当事者は、仮想コンピューティングサービス216と相互作用して(適切に構成され、及び認証されたAPI呼出を介して)、仮想コンピューティングサービス216によってホスト及び操作される物理コンピューティングデバイス上でインスタンス化される仮想コンピュータシステムをプロビジョン及び操作しても良い。仮想コンピュータシステムは、ウェブサイトをサポートするサーバを操作し、ビジネスアプリケーションを操作し、または概して計算能力として機能するためなど、種々の目的のために使用されても良い。さらに、仮想コンピュータシステムは、データベースアプリケーション、電子商取引アプリケーション、ビジネスアプリケーション、及び/または他のアプリケーションをサポートするために使用されても良い。仮想コンピューティングサービス216が図2に示されるが、視覚化またはインスタンス化を採用せずに、代わりに専用もしくは共有コンピュータ/サーバ、及び/または他の物理デバイス上でコンピューティングリソースをプロビジョンするコンピュータシステムまたはコンピュータシステムサービスなどの任意の他のコンピュータシステムまたはコンピュータシステムサービスが利用されても良い。
タスク管理及びワークフローサービス218は、複数のコンピューティング環境及びプラットフォームにわたってコンピューティングタスクを実行することを可能にするタスク調整及び管理サービスを実行するように集合的に構成されたコンピューティングデバイス及び他のリソースの集合であっても良い。タスク管理及びワークフローサービス218は、ワークフローの実行の進展をトラッキングし、ならびにタスクのディスパッチ及び保留を実行する。さらに、タスク管理及びワークフローサービス218は、タスクを実行するために使用されるホスト、または物理もしくは仮想コンピューティングマシンの割り当てを制御しても良い。ユーザは、実行に対するワークフローを定義しても良く、ワークフローは、1つまたは複数のタスクを含んでも良い。ワークフローは、タスク管理及びワークフローサービス218に対するアプリケーションプログラミングインタフェース(API)構成関数呼出を使用して定義されても良い。さらに、ユーザは、ワークフローに対するタスクの順序、条件的フロー、及びワークフローの実行を再開または終了させるためのタイムアウト期間を指定しても良い。加えて、ワークフローに対する実行ループが定義されても良い。本明細書で説明されるように、ワークフローの実行は非同期であっても良く、及びデータベースの書き込みの同期した実行が先行しても良い。
管理ディレクトリサービス222は、ユーザが認証情報のうちの1つの組を使用してコンピューティングリソースサービスプロバイダ210のコンピューティングリソースにログオンすることを可能にするディレクトリとして機能し、及び管理者がセキュリティポリシをコンピューティングリソースサービスプロバイダ210に均等に適用することを可能にするように集合的に構成されたコンピューティングデバイス及び他のリソースの集合であっても良い。管理ディレクトリサービス222は、ユーザ及びグループ管理に対するウェブベースのコンソールを有効にしても良く、ならびにユーザの認証情報に対する認証システムとして使用されても良い。
カスタム探索サービス224は、データセットのカスタマイズされた探索を許可し、及び探索を実行する当事者に関するセキュリティまたは認証要件を確立することを可能にするように集合的に構成されたコンピューティングデバイス及び他のリソースの集合であっても良い。さらに、カスタム探索サービス224は、データセットの複製が機能停止の場合に安定した性能を有効にすることを可能にする。本明細書で説明されるように、カスタム探索サービス224は、カスタマドキュメント及びそれらの関連付けられたメタデータの探索インデックスを維持するために利用されても良い。さらに、安定した性能を保証するために、探索可能メタデータまたはカスタマドキュメントが、安定した性能を保証し、及び機能停止を防止するために複製されても良い。
スケーラブルデータベースサービス226は、ドキュメントまたはデータの記憶及び検索を容易にする構造化記憶システムを提供するように集合的に構成されたコンピューティングデバイス及び他のリソースの集合であっても良い。スケーラブルデータベースサービス226は、非関係的であっても良く、及びキー値モデルに基づいても良い。スケーラブルデータベースサービス226の例は、NoSQLデータベース(例えば、関係構造化クエリ言語(SQL)データベース)と区別される)を含む。スケーラブルデータベースサービス226は、ドキュメントまたはユーザと関連付けられたメタデータを記憶するために使用されても良い。例えば、スケーラブルデータベースサービス226は、アンダーレイ、オーバーレイ、ドキュメント、フィードバック、またはコメントに対するメタデータを記憶しても良い。加えて、スケーラブルデータベースサービス226は、ユーザ、組織、及びパーミッションと関連付けられたメタデータを記憶しても良い。非関係データベースとして、スケーラブルデータベースサービス226は、単一のテーブルにおける単一の項目への原始的な書き込みを保証することができる。したがって、単一の書き込みは、真偽表に対して同期して実行されても良く、及び残りの書き込みがワークフローを使用して非同期に実行されても良い。
図2に示される環境では、通知サービス228が含まれる。通知サービス228は、ウェブサービスまたは他のインタフェース及びブラウザベースの管理コンソールを提供するように集合的に構成されたコンピューティングリソースの集合を含んでも良い。管理コンソールは、どのカスタマがアプリケーション(または人々)に通知しようとしているかに対するトピックを構成し、トピックに対してクライアントを署名し、メッセージを発行し、またはメッセージの配信をクライアントの選択のプロトコル(すなわち、とりわけ、ハイパーテキストトランスファープロトコル(HTTP)、電子メール、及びショートメッセージサービス(SMS))上で構成するために使用されても良い。通知サービス228は、定期的にチェックする必要がない「プッシュ」メカニズム、または新たな情報及び更新に対する「ポーリング」を使用して通知をクライアントに提供することができる。上記議論されたように、通知サービス228は、プッシュ通知をコンピューティングデバイス202のうちの1つまたは複数に送信しても良い。デバイス上で稼働するクライアントが通知を受信するとき、選択されたドキュメントがデバイスから削除されても良い。通知サービス228はさらに、仮想コンピュータシステムサービス228、ワークフローシステム、時間制約情報の更新、モバイルアプリケーション、及び多くのその他などで実行されているアプリケーションを監視することなど、種々の目的のために使用されても良い。
図3は、少なくとも1つの実施形態に従った、フロントエンドシステムならびにドキュメント管理及び共同システムの機能エンティティを示す。フロントエンドシステム304は、ウェブサーバ332、アプリケーションサービス334、管理コンソール336、及び制御プレーンサービス338を含む。ウェブサーバ332は、ユーザがドキュメントをドキュメント管理及び共同システム306に送信及びアップロードすること、ならびにドキュメントを管理することを許可するウェブサイト、単一ページのウェブアプリケーション、または単一ページのインタフェースの実行を可能にすることができる。ウェブサーバ332はさらに、ユーザ(図示せず)がドキュメント、アンダーレイまたはオーバーレイを参照及び編集すること、ならびにドキュメントに関するコメンタリまたはフィードバックを提供することを可能にすることができる。ウェブサーバ332はまた、管理者またはユーザが、ドキュメントにアクセスする際に、パーミッションを設定すること、またはユーザに付与される特権を指定するモードを共有することを可能にすることができる。加えて、ウェブサーバは、ユーザまたはデバイスが、認証または認可の認証情報をサブミットすることを可能にすることができる。図2における符号212を参照して説明されたコンテンツ分散エッジネットワークは、ウェブサーバ332のコンテンツを分散するように使用されても良い。ユーザによって実行される動作は、ウェブサイト、アプリケーション、または管理コンソールを介して行われても良く、及びウェブサーバ332は、ウェブサイト、アプリケーション、または管理コンソールを実行することを可能にすることができる。1つのウェブサーバ332が図3を参照して説明されるが、任意のタイプの複数のウェブサーバが使用されても良く、ウェブサーバの一部が冗長であっても良いことが考えられても良い。
アプリケーションサービス334は、要求をユーザから受信し、及び要求を供給するユーザ公開サービスとして機能するように集合的に構成されたコンピューティングデバイス及び他のリソースの集合であっても良い。ユーザ要求は、ユーザにアクセス可能なウェブサイトもしくは管理コンソールを使用して行われても良く、またはユーザのデバイス上で実行されるクライアントが、ユーザの代わりにサービス要求を行っても良い。要求は、API関数呼出であっても良く、ならびにアプリケーションサービス334は、要求を処理し、及びその実行を管理しても良い。アプリケーションサービス334によって、受信された要求と関連付けられた動作の同期実行がされても良く、または代わりに、さらなる複雑な処理を要求する1つもしくは複数の動作が非同期実行のために待ち行列に入れられても良い。アプリケーションサービス334はまた、ユーザ認証情報及びユーザの要求認証を認証サービスから受信することに関与しても良い。ユーザによって要求される操作が実行されるために、アプリケーションサービス334は、コンピューティングリソースサービスプロバイダ210のサービスまたはエンティティへの1つまたは複数の関数呼出を行っても良い。例えば、アプリケーションサービス334は、管理ディレクトリサービス222からのユーザもしくはアクセストークン検証を要求しても良く、またはアプリケーションサービス334によって、カスタム探索サービス224により維持される探索インデックスが更新されても良い。
認証に加え、アプリケーションサービス334はまた、ユーザデバイスに対するハードウェア及び/またはソフトウェア構成情報を受信し、ならびにこの情報を使用してユーザデバイスを一意に識別し、及びトラッキングするように構成されても良い。ユーザの識別及びユーザデバイスのトラッキングを使用して、ダウンロードされたドキュメントが削除されても良く、そうでない場合、ユーザデバイス上で利用不能とされても良い。1つの実施形態では、アプリケーションサービス334は、ユーザデバイスからのダウンロードされたドキュメントの対象とする削除をさせても良い。
管理コンソール336は、組織、管理者、及びユーザがドキュメント管理及び共同サービスを利用する登録をすることを許可するように集合的に構成されたコンピューティングデバイス及び他のリソースの集合であっても良い。管理コンソール336は、ユーザデバイス上で稼動するウェブサイトまたはアプリケーションに加え、またはそれの代替として使用されても良く、ならびにユーザ及び管理者が適切に構成されたAPI関数呼出を使用してサービス要求を行うことを許可しても良い。例えば、管理コンソール336は、ユーザに、ドキュメント共同システムに参加すること、ドキュメントを参照すること、及びドキュメントに関して共同することを推奨するために使用されても良い。さらに、管理コンソール336は、ダッシュボードアクセス、監査ログアクセス、パーミッション設定(例えば、管理者及びユーザに対し)、記憶制限設定、(例えば、組織及びユーザに対し)、ならびにセキュリティ設定(例えば、パスワード及び暗号化)を許可するために使用されても良い。
フロントエンドシステム304の制御プレーンサービス338は、ドキュメントの共同及び管理のために新たなコンピューティングインスタンスを作成することを可能にするインタフェースとして機能するように集合的に構成されたコンピューティングデバイス及び他のリソースの集合であっても良い。インスタンスは、ドキュメントの管理及び共同のために、管理ディレクトリサービス222においてディレクトリを透過的に作成し、及び既存のディレクトリ(例えば、管理ディレクトリサービス222またはユーザもしくは管理者によって管理される)を関連付けることによって作成されても良い。制御プレーンサービス338は、ドキュメントディレクトリを作成するために利用されても良く、ならびにドキュメントディレクトリは、管理ディレクトリサービス222によって実行及び供給されても良い。ドキュメントディレクトリは、ユーザにパーミッション及び特権を提供することが可能な管理者を有する組織と関連付けられても良い。ディレクトリの作成に続き、アプリケーションサービス334は、ディレクトリのフォルダまたはドキュメントに作用する機能を有効にするために使用されても良い。
ドキュメント管理及び共同システム306は、ユーザトラッキングサービス342、デバイストラッキングサービス344、ドキュメントトラッキングサービス346、削除トラッキングサービス348、及びドキュメント管理認可インタフェース350を含む。ユーザトラッキングサービス342は、ユーザ及びユーザセッションをトラッキングするように集合的に構成されたコンピューティングデバイス及び他のリソースの集合であっても良い。デバイストラッキングサービス344は、ユーザデバイスをトラッキングするように集合的に構成されたコンピューティングデバイス及び他のリソースの集合であっても良い。
ドキュメントトラッキングサービス346は、種々のドキュメントをトラッキングし、ならびにどのユーザがどのドキュメントをダウンロードしたか、またはどのユーザがドキュメントにアクセスしたかをトラッキングするように集合的に構成されたコンピューティングデバイス及び他のリソースの集合であっても良い。削除トラッキングサービス348は、ドキュメントを削除する要求をトラッキングするように集合的に構成されたコンピューティングデバイス及び他のリソースの集合であっても良い。ドキュメント管理認可インタフェース350は、ドキュメントを削除する要求を受信及び認可するように集合的に構成されたコンピューティングデバイス及び他のリソースの集合であっても良い。
図4は、少なくとも1つの実施形態に従った、ドキュメント管理及び共同システムを有するコンピューティングリソースサービスプロバイダと通信するユーザデバイスを示す。環境400では、ユーザデバイス408は、ウェブアプリケーション462、ならびにドキュメントセキュリティクライアント466を備えるドキュメント管理及び共同アプリケーション464を含む。コンピューティングリソースサービスプロバイダ410は、図3における符号306を参照して説明されたドキュメント管理及び共同システムなどのドキュメント管理及び共同システム406を含む。コンピューティングリソースサービスプロバイダ410は、図2及び3を参照して説明されたエンティティなど、図4に示すそれらに加え、またはそれらに代わるエンティティを含んでも良いことに留意されたい。
本明細書で説明されるように、ユーザデバイス408は、コンピューティングリソースサービスプロバイダ410またはそのエンティティのうちのいずれか1つと通信するように集合的に構成されたコンピューティングデバイス及び他のリソースの集合を備えても良い。ユーザデバイス408は、任意のタイプの無線または有線接続を有効にするポートまたはモデムなど、任意の数またはタイプの通信デバイスを備えても良い。さらに、通信は、インターネット、イントラネット、またはインターネットサービスプロバイダ(ISP)ネットワークを含むインターネットプロトコル(IP)ネットワークなど、任意のタイプのネットワーク(図示せず)上で実行されても良い。加えて、ユーザデバイス408は、電気電子技術者協会(IEEE)802プロトコル、Bluetooth(商標)、などの短距離通信プロトコル、または第三世代(3G)通信プロトコルもしくはロングタームエボリューション(LTE)などのセルラ通信プロトコルのうちのいずれか1つを含む、任意のタイプの通信プロトコルに従って、またはそれらに応じて通信しても良い。
ウェブアプリケーション462は、ユーザデバイス408がウェブサイトの表示をレンダリングすること、及びウェブサイトをもたらすこと、ならびにウェブサイトと相互作用することを可能にすることができる。ウェブアプリケーション462の例はウェブブラウザを含み、ウェブアプリケーション462は、ユーザが認証情報におけるログをドキュメント共同及び管理ウェブサイトに供給すること、ならびにフォルダの1つまたは複数のドキュメントディレクトリにアクセスすることを許可しても良い。さらに、ウェブアプリケーション462は、ユーザが、例えば、ウェブサイトを介して、例えば、ユーザの認証情報に少なくとも部分的に基づいて、ユーザが少なくとも参照特権を有するフォルダとディレクトリとの間でナビゲートすることを可能にすることができる。加えて、ウェブサイトは、ユーザに、フォルダに含まれることになるドキュメント、あるいは共有されることになり、ユーザまたは1つもしくは複数の他の共同者によってコメントされ、もしくは注釈を付けられることになるドキュメントをアップロードまたは送信するオプションを提供することができる。
ウェブサイトと相互作用してユーザによって実行される動作によって、ウェブアプリケーション462は、要求をコンピューティングリソースサービスプロバイダ410またはそのエンティティに送信することができる。要求は、コンピューティングリソースサービスプロバイダ410によって実行されるアプリケーションプログラミングインタフェース(API)関数呼出であっても良い。例えば、ユーザがドキュメントのバージョンに注釈を付け、及び注釈を付けられたバージョンを保存するとき、ウェブアプリケーション462によって、コンピューティングリソースサービスプロバイダ410またはそのエンティティに注釈を示すAPI関数呼出が行われても良い。いくつかの実施形態では、ウェブアプリケーション462は、完全に同期しなくても良く、及びウェブアプリケーション462によって、ユーザによって行われた任意の動作に基づいて要求が行われなくても良い。例えば、ユーザがドキュメントに注釈を付けるので、ウェブアプリケーション462は、それらがユーザによって行われるように注釈を同期して中継しなくても良く、代わりにユーザがドキュメントまたは注釈を保存するとき、代替としてそれを行う間隔ごとに注釈を中継するのみであっても良い。
図4に示されるように、ユーザデバイス408はさらに、ドキュメント管理及び共同アプリケーション464を備えても良い。ドキュメント管理及び共同アプリケーション464は、ユーザデバイス408のコンピュータシステムによって実行されると、コンピューティングリソースサービスプロバイダ410によって提供されるドキュメント共有及び共同機能とのユーザの相互作用を有効にする実行可能命令(例えば、ユーザデバイス408上の非一時的コンピュータ可読記憶媒体に記憶され、またはユーザデバイス408に結合された)であっても良い。ウェブアプリケーションベースまたはブラウザベースのインタフェースと同様に、ドキュメント管理及び共同アプリケーション464は、ユーザが認証情報におけるログを供給すること、及び1つまたは複数のドキュメントディレクトリまたはフォルダにアクセスすることを可能にする。ユーザはまた、(例えば、とりわけ、ドキュメントを1つまたは複数のフォルダにアップロードし、ドキュメントを1つまたは複数のフォルダから削除し、ドキュメントに対するアンダーレイに注釈を付け、注釈を含むオーバーレイを参照することによって)、コンピューティングリソースサービスプロバイダ410によって提供されるドキュメント管理及び共同システム406と相互作用しても良い。ドキュメント管理及び共同アプリケーション464は、任意のドキュメント共同及び管理リソースならびに機能を利用するための、ウェブアプリケーション462から独立したメカニズムを提供することができる。
ドキュメント管理及び共同アプリケーション464は、フロントエンドシステム404ならびにドキュメント管理及び共同システム406と通信するドキュメントセキュリティクライアント466を含む。ドキュメントセキュリティクライアント466は、ドキュメントを削除する要求をドキュメント管理及び共同システム406から受信しても良い。要求は、一意なドキュメント識別子を含んでも良い。ドキュメントセキュリティクライアント466によって、識別されたドキュメントがユーザデバイス408から削除されても良い。
図5は、少なくとも1つの実施形態に従ったディレクトリ構造の例を示す。ディレクトリ502は、管理ディレクトリサービスによって維持されても良く、及び組織と関連付けられても良く、そして、組織は、1つまたは複数のディレクトリ502を有しても良い。図5に示すように、ディレクトリ502は、1つまたは複数のフォルダ504(本明細書では単独でフォルダ502と称される)を含むように示される。さらに、フォルダ504は、フォルダ504内でネスト化された1つまたは複数のサブフォルダ506を含んでも良い。認識することができるように、サブフォルダ506はさらに、1つまたは複数のネスト化されたサブフォルダを含んでも良い。フォルダ504は、ディレクトリ502内のファイル構造であっても良く、及び、いくつかの実施形態では、フォルダ504と関連付けられたセキュリティまたはパーミッション特権は、フォルダ504、またはフォルダ504内でネスト化されたサブフォルダ506内でドキュメント508に適用されても良い。
フォルダ504は、1つまたは複数のドキュメント508(本明細書では単独でドキュメント508と称される)を保持しても良い。図5を参照して説明されるように、ドキュメントは、複数のドキュメントバージョン510を含んでも良い。ドキュメントバージョン510は、例えば、ユーザの修正及び変更を含む、ドキュメント508もしくは後続のバージョンの1つの改訂、または既存のドキュメントの改訂であっても良い。さらに、ドキュメントに関して提供されるパーミッションまたはセキュリティ特権は、ドキュメント508と関連付けられた複数のドキュメントバージョン510に適用されても良い。ドキュメント508が削除されるものと選択されるとき、バージョン510を含む全てのバージョンがユーザデバイスから削除される。
図6は、本明細書で説明される少なくとも1つの実施形態に従った、ドキュメント管理及び共同システムにおいてデータを管理する方法の例を示す。処理600では、図3のアプリケーションサービス334などのアプリケーションサービスは、処理602は、1つまたは複数のコンピューティングデバイスに対するハードウェア及び/またはソフトウェア構成情報を受信する。処理604において、1つまたは複数のコンピューティングデバイスは、一意に識別され、及びトラッキングされる。
処理606において、ドキュメントをドキュメント管理及び共同システムから1つまたは複数のコンピューティングデバイスにダウンロードする要求が受信される。処理608において、ダウンロード要求と関連付けられたユーザが識別される。処理610において、要求されたドキュメントが1つまたは複数のコンピューティングデバイスに送信される。
要求されたドキュメントは、新たなドキュメントまたは既存のドキュメントの新たなバージョンであっても良い。さらに、ドキュメントは、固有のドキュメントであっても良い。要求は、ユーザから受信されても良く、及びアクセスもしくは認可トークン、またはログイン情報など、ユーザと関連付けられた認証情報を含んでも良い。認証情報は、要求者と関連付けられた識別を確認し、または要求者が真正であること、もしくは要求者によって提示された識別が真正であることを確認するために検証されることが可能である。さらに、要求者がアップロードされることになるドキュメントを要求することを認可または許可されることが確認されても良い。ユーザは、管理者もしくは別のユーザ、ドキュメント所有者、または他のドキュメントのプリンシパルによって、ドキュメントにアクセスすることを許可されても良い。例えば、他のユーザ、ドキュメント所有者、または他のドキュメントのプリンシパルは、ユーザとドキュメントを共有する特権を有しても良く、したがってユーザがアップロードされるドキュメントにアクセスすることを可能にするその特権を利用することができる。本明細書で説明されるように、要求は、API構成関数呼出であっても良い。
次いで、アプリケーションサービスは、提供された認証情報に少なくとも部分的に基づいて、要求当事者を認証する。アプリケーションサービスは、ユーザ認証のためのディレクトリサービス認可インタフェースを利用しても良く、及び認証情報をディレクトリサービス認可インタフェースに送信しても良い。ドキュメント管理及び共同システムは、認証のために管理ディレクトリサービス222に依存しても良く、管理ディレクトリサービス222でのユーザのアカウントまたは組織のアカウントはまた、ドキュメント管理及び共同システムによって提供されるサービスへのアクセスのために利用されても良い。
ユーザの識別及び1つまたは複数のコンピューティングデバイスのトラッキングに基づいて、処理612は、ダウンロードされるドキュメントが1つまたは複数のコンピューティングデバイスから削除されるべきであると判定する。
1つまたは複数のコンピューティングデバイスからのダウンロードされるドキュメントの対象とする削除は、処理614において実行される。処理616において、アプリケーションサービスは、ダウンロードされるドキュメントの削除の成功のインジケーションを受信しても良い。
ドキュメント管理及び共同システムは、ユーザが分散コンピューティングリソースを使用して1つもしくは複数の仮想デスクトップを実行することを可能にする仮想デスクトップサービスなどの他のサービスと統合されても良く、またはそれとともに利用されても良い。例えば、仮想デスクトップの種々のファイルまたはドキュメントディレクトリは、ドキュメント管理及び共同システムによって維持されても良い。ドキュメント管理及び共同システムを使用して、ユーザは、ユーザの仮想デスクトップまたは仮想オペレーティングシステムの種々のドキュメントディレクトリにアクセスすることができる。アクセスは、仮想デスクトップもしくはオペレーティングシステム、または仮想デスクトップサービスに独立してアクセスする必要なく実行されても良い。したがって、ドキュメント管理及び共同システムが仮想デスクトップサービスと統合されるとき、仮想デスクトップサービスによって維持されるディレクトリ、ドキュメント、またはフォルダは、ドキュメント管理及び共同システムを介してアクセス可能となっても良い。
さらに、ドキュメント管理及び共同システムは、仮想デスクトップサービスのためにドキュメント及びディレクトリを記憶するために利用されても良い。さらに、いくつかの実施形態では、ドキュメント管理及び共同システムは、デスクトップドキュメントを記憶することに関与しても良く、仮想デスクトップサービスは、ソフトウェアアプリケーション、プライベート電子メール、及びユーザ設定などの他のファイルタイプを記憶することに関与しても良い。いくつかの実施形態では、セキュリティ特権は、ドキュメント管理及び共同システムと仮想デスクトップサービスとの間で共有されても良く、ユーザは、シングルサインオンで両方のシステムにサインオンしても良く、及び単一の認証処理を利用しても良い。
本開示の実施形態は、以下の条項を考慮して説明されても良い。
1.ドキュメント管理及び共同システムにおいてデータを管理するためのコンピュータにより実施される方法であって、
実行可能命令で構成された1つまたは複数のコンピュータシステムの制御の下、
1つまたは複数のコンピューティングデバイスに対するハードウェアまたはソフトウェア構成情報を受信することと、
前記ハードウェアまたはソフトウェア構成情報に基づいて、前記1つまたは複数のコンピューティングデバイスを一意に識別し、及びトラッキングすることと、
要求を前記1つまたは複数のコンピューティングデバイスのうちの1つのコンピューティングデバイスから受信することであって、前記要求は、前記ドキュメント管理及び共同システムから前記1つのコンピューティングデバイスへのドキュメントのダウンロードに対するものである、ことと、
前記ダウンロードの要求と関連付けられたユーザを識別することと、
前記要求されたドキュメントを前記1つのコンピューティングデバイスに送信することと、
前記ユーザの前記識別及び前記1つまたは複数のコンピューティングデバイスの前記トラッキングに基づいて、前記ダウンロードされるドキュメントが前記1つのコンピューティングデバイスから削除されるべきであると判定することと、
前記1つのコンピューティングデバイスからの前記ダウンロードされるドキュメントの対象とする削除を実行することと、
前記1つのコンピューティングデバイスから、前記ダウンロードされるドキュメントの削除の成功のインジケーションを受信することと
を備えたコンピュータにより実施される方法。
2.前記識別することは、ユーザセッションを有する前記ユーザを認証することを含み、前記トラッキングすることは、前記ユーザセッションを前記1つのコンピューティングデバイスに関連付けることを含む、条項1に記載のコンピュータにより実施される方法。
3.前記対象とする削除を前記実行することは、前記1つのコンピューティングデバイスに前記ダウンロードされるドキュメントを削除することを命令するプッシュ通知を送信することを含む、条項1に記載のコンピュータにより実施される方法。
4.前記対象とする削除を前記実行することは、前記1つのコンピューティングデバイスによって前記ダウンロードされるドキュメントの時間ベースの使用を更新する要求を拒否することを含む、条項1に記載のコンピュータにより実施される方法。
5.係属している削除要求に対する状態を維持することをさらに備える、条項1に記載のコンピュータにより実施される方法。
6.前記対象とする削除を前記実行することは、前記1つのコンピューティングデバイスに前記ダウンロードされるドキュメントを削除することを命令するメッセージを、アイドルチャネル上で送信することを含む、条項1に記載のコンピュータにより実施される方法。
7.少なくともアプリケーションサービスを実施するように集合的に構成された1つまたは複数のコンピューティングデバイスを含むシステムであって、前記アプリケーションサービスは、
ドキュメント管理及び共同システムのユーザと関連付けられた1つまたは複数のユーザデバイスを識別し、
前記ドキュメント管理及び共同システムから前記1つまたは複数のユーザデバイスにダウンロードされた、前記ユーザと関連付けられた1つまたは複数のドキュメントが前記1つまたは複数のユーザデバイスからアクセス不能とされるべきと判定し、
前記1つまたは複数のユーザデバイスからの前記ダウンロードされた1つまたは複数のドキュメントへのアクセスの対象とする拒否をさせる
ように構成されるシステム。
8.前記1つまたは複数のユーザデバイスは、前記1つまたは複数のユーザデバイスに対するハードウェアまたはソフトウェア構成情報に基づいて識別される、条項7に記載のシステム。
9.前記アプリケーションサービスは、
前記1つまたは複数のドキュメントのうちの1つを前記1つまたは複数のユーザデバイスにダウンロードする要求を受信し、
インジケーションをドキュメントの記憶のための位置の同期クライアントに送信し、
前記位置における前記ドキュメントの記憶の成功を示すメッセージを前記同期クライアントから受信する
ようにさらに構成される、条項7に記載のシステム。
10.前記アプリケーションサービスは、前記メッセージを受信したことに応答して、データベースに、前記ドキュメントがダウンロードされることを示させ、または前記1つまたは複数のユーザデバイス上で提示させるようにさらに構成される、条項9に記載のシステム。
11.前記1つまたは複数コンピューティングデバイスは、前記1つまたは複数のダウンロードされたドキュメントの削除の成功のインジケーションを受信するように集合的に構成される、条項7に記載のシステム。
12.前記アクセスの対象とする拒否をさせることは、前記ダウンロードされたドキュメントが前記1つまたは複数のユーザデバイスから削除されるべきであることを示すプッシュ通知を前記1つまたは複数のユーザデバイスに送信することを含む、条項7に記載のシステム。
13.前記アクセスの対象とする拒否をさせることは、前記1つまたは複数のユーザデバイス上で前記ドキュメントの時間ベースの使用を更新する要求を拒否することを含む、条項7に記載のシステム。
14.前記アクセスの対象とする拒否をさせることは、
前記1つまたは複数のユーザデバイス上に位置し、ならびに永続的ディスク記憶装置及びメタデータストア上にある、前記ユーザと関連付けられたドキュメントを削除することと、
アクティブなユーザセッションを終了させることと
を含む、条項7に記載のシステム。
15.前記アクセスの対象とする拒否をさせることは、前記ユーザと関連付けられた前記1つまたは複数のドキュメントのうちの選択された1つの削除を含む、条項7に記載のシステム。
16.前記アクセスの対象とする拒否をさせることは、前記1つまたは複数のドキュメントのうちの選択された1つが記憶されるメモリ位置を上書きすることを含む、条項7に記載のシステム。
17.前記アクセスの対象とする拒否をさせることは、前記1つまたは複数のドキュメントにアクセスする要求の拒否を含む、条項7に記載のシステム。
18.そこに集合的に記憶された実行可能命令を有する非一時的コンピュータ可読記憶媒体であって、前記命令は、コンピューティングデバイスの1つまたは複数のプロセッサによって実行されると、前記コンピューティングデバイスに、少なくとも、
データをドキュメント管理及び共同システムに送信させ、前記データは、どのコンピューティングデバイスが前記ドキュメント管理及び共同システムのユーザと関連付けられるかをトラッキングするためのものであり、
ドキュメントを前記ドキュメント管理及び共同システムから受信させ、及び前記受信されたドキュメントを記憶させ、前記受信及び記憶されたドキュメントは、前記ユーザと関連付けられ、ならびに前記受信及び記憶されたドキュメントは、前記ドキュメント管理及び共同システムによってトラッキングされ、
前記ドキュメント管理及び共同システムからのコマンドに応答して、前記ユーザと関連付けられたダウンロードされるドキュメントのうちの選択された1つへのアクセスを拒否させる
非一時的コンピュータ可読記憶媒体。


19.前記コンピューティングデバイスに、前記ダウンロードされるドキュメントの前記選択された1つの削除の成功のインジケーションを前記ドキュメント管理及び共同システムに送信させる命令をさらに備える、条項18に記載の非一時的コンピュータ可読記憶媒体。
20.前記ユーザと関連付けられた前記ドキュメントは、前記コンピューティングデバイスが前記ダウンロードされるドキュメントの前記選択された1つの対象とする削除を実行するように構成されることを検証するときのみダウンロードされる、条項18に記載の非一時的コンピュータ可読記憶媒体。
21.前記命令は、前記1つまたは複数のプロセッサによって実行されると、前記コンピューティングデバイスに、前記ユーザと関連付けられたアクティブなセッションを終了させる命令をさらに含む、条項18に記載の非一時的コンピュータ可読記憶媒体。
22.前記アクセスを拒否することは、前記ダウンロードされるドキュメントの前記選択された1つが記憶されるメモリ位置を上書きすることを含む、条項18に記載の非一時的コンピュータ可読記憶媒体。
図7は、種々の実施形態に従った態様を実施するための例示的な環境700の態様を示す。理解されるように、ウェブベースの環境が説明の目的で使用されるが、必要に応じて、異なる環境が種々の実施形態を実施するために使用されても良い。環境は、要求、メッセージ、または情報を適切なネットワーク704上で送信及び/または受信し、いくつかの実施形態では、情報をデバイスのユーザに再度搬送するように動作可能な任意の適切なデバイスを含むことができる、電子クライアントデバイス702を含む。そのようなクライアントデバイスの例は、パーソナルコンピュータ、携帯電話、ハンドヘルドメッセージングデバイス、ラップトップコンピュータ、タブレットコンピュータ、セットトップボックス、携帯情報端末、組み込みコンピュータシステム、及び電子ブックリーダなどを含む。ネットワークは、イントラネット、インターネット、セルラネットワーク、ローカルエリアネットワーク、サテライトネットワーク、任意の他のそのようなネットワーク、及び/またはそれらの任意の組み合わせを含む、任意の適切なネットワークを含むことができる。そのようなシステムに使用される構成要素は、選択されるネットワーク及び環境のタイプに少なくとも部分的に依存することがある。そのようなネットワークを介して通信するためのプロトコル及び構成要素は公知であり、本明細書で詳細に議論されない。ネットワーク上での通信は、有線または無線接続、及びそれらの組み合わせによって有効とされても良い。この例では、環境が、要求を受信し、及びそれに応答してコンテンツを供給するためのウェブサーバ706を含むので、ネットワークはインターネットを含むが、他のネットワークについて、同様の目的を果たす代替的なデバイスが、当業者のうちの1人に明らかなように使用されても良い。
例示的な環境は、少なくとも1つのアプリケーションサーバ708及びデータストア710を含む。連動または構成することができる、いくつかのアプリケーションサーバ、レイヤ、または他の要素、プロセスもしくは構成要素が存在しても良く、それらは、データを適切なデータストアから取得することなどのタスクを実行するように相互作用することができることが理解されるべきである。本明細書で使用されるように、サーバは、ハードウェアデバイスまたは仮想コンピュータシステムなど、種々の手段で実施されても良い。いくつかのコンテキストでは、サーバは、コンピュータシステム上で実行されているプログラミングモジュールを指しても良い。本明細書で使用されるように、他にコンテキストから示されず、かつ明確でない限り、用語「データストア」は、任意の標準的、分散、仮想、またはクラスタ化された環境において、データを記憶し、アクセスし、及び検索することが可能な任意のデバイスまたはデバイスの組み合わせを指し、それらは、任意の組み合わせ及び数のデータサーバ、データベース、データ記憶装置、及びデータ記憶媒体を含むことができる。アプリケーションサーバは、クライアントデバイスに対して1つまたは複数のアプリケーションの態様を実行するために必要に応じてデータストアと統合し、データアクセスのいくつかまたは全て、及びアプリケーションに対するビジネスロジックを扱うための任意の適切なハードウェア、ソフトウェア、及びファームウェアを含むことができる。アプリケーションサーバは、データストアと共同してアクセス制御サービスを提供することができ、ならびにユーザに提供されるよう使用可能なテキスト、グラフィック、音声、映像、及び/または他のコンテンツを含むが、それらに限定されないコンテンツを生成することが可能であり、それらは、ハイパーテキストマークアップ言語(HTML)、拡張可能マークアップ言語(XML)、JavaScript、カスケーディングスタイルシート(CSS)、または別の適切なクライアントサイド構造化言語の形式でウェブサーバによってユーザに供給されても良い。クライアントデバイスに転送されるコンテンツは、聴覚的、視覚的、ならびに/または接触、味覚、及び/もしくは嗅覚を含む他の感覚を通じてユーザに対して感知可能な形式を含むが、それらに限定されない1つまたは複数の形式でコンテンツを提供するためにクライアントデバイスによって処理されても良い。全ての要求及び応答の扱いとともに、電子クライアントデバイス702とアプリケーションサーバ708との間でのコンテンツの配信は、この例では、PHP:ハイパーテキストプリプロセッサ(PHP)、Python、Ruby、Perl、Java、HTML、XML、または別の適切なサーバサイド構造化言語を使用してウェブサーバによって扱われても良い。本明細書で議論された構造化コードが本明細書の他の部分で議論される任意の適切なデバイスまたはホストマシン上で実行されても良いので、ウェブ及びアプリケーションサーバが必要であるわけでなく、それらは例示的な構成要素にすぎないことが理解されるべきである。さらに、単一のデバイスによって実行されるとして本明細書で説明された操作は、他にコンテキストから明確でない限り、分散及び/または仮想システムを形成することができる複数のデバイスによって集合的に実行されても良い。
データストア710は、いくつかの別個のデータテーブル、データベース、データドキュメント、動的データ記憶スキーム、ならびに/または本開示の特定の態様に関連するデータを記憶するための他のデータ記憶メカニズム及び媒体を含むことができる。例えば、示されるデータストア710は、製造側に対してコンテンツを供給するために使用することができる、製造データ712及びユーザ情報716を記憶するためのメカニズムを含むことができる。データストアはまた、報告、分析、または他のそのような目的のために使用することができる、ログデータ714を記憶するためのメカニズムを含むように示される。必要に応じて上記示されたメカニズムのうちのいずれかに、またはデータストア710における追加的なメカニズムに記憶することができる、ページ画像情報及びアクセス権情報など、データストアに記憶される必要があることがある多くの他の態様が存在しても良いことが理解されるべきである。データストア710は、それと関連付けられたロジックを通じて、命令をアプリケーションサーバ708から受信し、それに応答して、データを取得、更新、または処理するように動作可能である。アプリケーションサーバ708は、受信された命令に応答して、静的、動的、または静的及び動的データの組み合わせを提供することができる。ウェブログ(blog)、買物アプリケーション、ニュースサービス、及び他のそのようなアプリケーションに使用されるデータなどの動的データは、本明細書で説明されるようなサーバサイド構造化言語によって生成されても良く、またはアプリケーションサーバ上で動作し、もしくはアプリケーションサーバの制御に下に動作するコンテンツ管理システム(CMS)によって提供されても良い。1つの例では、ユーザは、ユーザによって操作されるデバイスを通じて、或るタイプの項目に対する探索要求をサブミットしても良い。この場合、データストアは、ユーザ情報にアクセスして、ユーザの識別を検証しても良く、及びカタログ詳細情報にアクセスして、そのタイプの項目に関する情報を取得することができる。次いで、情報は、ユーザが電子クライアントデバイス702上のブラウザを介して参照することが可能なウェブページ上で示される結果においてなど、ユーザに返却されても良い。対象の特定の項目に対する情報は、ブラウザの専用ページまたはウインドウで参照されても良い。しかしながら、本開示の実施形態は、必ずしもウェブページのコンテキストに限定されず、要求を詳細に処理することにさらに全体的に適用可能であり、要求は必ずしもコンテンツに対する要求でないことに留意されるべきである。
各々のサーバは、一般的に、そのサーバの全体的な管理及び操作に対する実行可能プログラム命令を提供するオペレーティングシステムを含み、及び一般的に、サーバのプロセッサにより実行されると、サーバがその意図された機能を実行することを可能にする命令を記憶したコンピュータ可読記憶媒体(例えば、ハードディスク、ランダムアクセスメモリ、リードオンリメモリなど)を含む。サーバのオペレーティングシステム及び全体機能に対する適切な実施態様は、特に、本明細書における開示を考慮して、当業者によって知られており、または商業的に利用可能であり、及び容易に実施される。
環境は、1つの実施形態では、1つもしくは複数のコンピュータネットワークまたは直接接続を使用して、通信リンクを介して相互接続されるいくつかのコンピュータシステム及び構成要素を利用する分散及び/または仮想コンピューティング環境である。しかしながら、そのようなシステムは、図7に示されるよりも少ない、または多くの数の構成要素を有するシステムで同様に良好に動作しても良いことが当業者によって理解されよう。よって、図7におけるシステム700の記述は、本質的に例示的であるものと見なされるべきであり、及び開示の範囲を限定するものではない。
種々の実施形態はさらに、場合によってはいくつかのアプリケーションのうちのいずれかを操作するために使用することができる1つまたは複数のユーザコンピュータ、コンピューティングデバイス、または処理デバイスを含むことができる、多種多様なオペレーティング環境で実施されても良い。ユーザまたはクライアントデバイスは、標準的なオペレーティングシステムを稼動させるデスクトップ、ラップトップ、またはタブレットコンピュータなどのいくつかの汎用パーソナルコンピュータとともに、モバイルソフトウェアを稼動させ、ならびにいくつかのネットワーキング及びメッセージングプロトコルをサポートすることが可能なセルラ、無線、及びハンドヘルドデバイスのうちのいずれかを含むことができる。そのようなシステムはまた、開発及びデータベース管理などの目的のための様々な商業的に利用可能なオペレーティングシステム及び他の既知のアプリケーションのうちのいずれかを稼動させるいくつかのワークステーションを含むことができる。それらのデバイスはまた、ダミー端末、シンクライアント、ゲーミングシステム、及びネットワークを介して通信することが可能な他のデバイスなどの、他の電子デバイスを含むことができる。それらのデバイスはまた、仮想マシン、ハイパバイザ、及びネットワークを介して通信することが可能な他の仮想デバイスなどの、仮想デバイスを含むことができる。
本開示の種々の実施形態は、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、ユーザデータグラムプロトコル(UDP)、開放型システム間相互接続(OSI)モデルの種々のレイヤで動作するプロトコル、ファイル転送プロトコル(FTP)、ユニバーサルプラグアンドプレイ(UpnP)、ネットワークファイルシステム(NFS)、コモンインターネットファイルシステム(CIFS)及びAPPLETALKなど、様々な商業的に利用可能なプロトコルのうちのいずれかを使用して通信をサポートするために当業者によく知られている少なくとも1つのネットワークを利用する。ネットワークは、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、サテライトネットワーク、及びそれらの任意の組み合わせであっても良い。
ウェブサーバを利用する実施形態では、ウェブサーバは、ハイパーテキストトランスファープロトコル(HTTP)サーバ、FTPサーバ、コモンゲートウェイインタフェース(CGI)サーバ、データサーバ、Javaサーバ、Apacheサーバ、及びビジネスアプリケーションサーバを含む、様々なサーバまたは中間階層アプリケーションのうちのいずれかを稼動させることができる。サーバはまた、Java(登録商標)、C、C#、もしくはC++などの任意のプログラミング言語、またはRuby、PHP、Perl、Python、もしくはTCLなどの任意のスクリプト言語などとともにそれらの組み合わせで記述された1つまたは複数のスクリプトまたはプログラムで実施することができる1つまたは複数のウェブアプリケーションを実行することによってなど、ユーザデバイスからの要求に応答してプログラムまたはスクリプトを実行することが可能であっても良い。サーバはまた、限定なしに、Oracle(登録商標)、Microsoft(登録商標)、Sybase(登録商標)、及びIBM(登録商標)から商業的に利用可能なものとともに、MySQL、Postgres、SQLite、MongoDB、ならびに構造化または非構造化データを記憶、検索、及び処理することが可能な任意の他のサーバなどのオープンソースサーバを含む、データベースサーバを含んでも良い。データベースサーバは、テーブルベースのサーバ、ドキュメントベースのサーバ、非構造化サーバ、関係サーバ、非関係サーバ、もしくはそれらの組み合わせ、及び/または他のデータベースサーバを含んでも良い。
環境は、上記議論された様々なデータストア、ならびに他のメモリ及び記憶媒体を含むことができる。それらは、コンピュータのうちの1つもしくは複数にローカルな(及び/もしくはそれらに内在する)記憶媒体、またはネットワークにわたってコンピュータのうちのいずれかもしくは全てからリモートな記憶媒体など、様々な位置に存在することができる。特定の組の実施形態では、情報は、当業者によく知られているストレージエリアネットワーク(SAN)に存在しても良い。同様に、コンピュータ、サーバ、または他のネットワークデバイスに帰属する機能を実行するための任意の必要なファイルは、必要に応じてローカルに、及び/またはリモートに記憶されても良い。システムがコンピュータ化されたデバイスを含む場合、各々のそのようなデバイスは、バスを介して電子的に結合することができるハードウェア要素を含むことができ、当該要素は、例えば、少なくとも1つの中央処理装置(CPUまたはプロセッサ)、少なくとも1つの入力デバイス(例えば、マウス、キーボード、コントローラ、タッチスクリーン、またはキーパッド)、及び少なくとも1つの出力デバイス(例えば、ディスプレイデバイス、プリンタ、またはスピーカ)を含む。そのようなシステムはまた、ランダムアクセスメモリ(RAM)もしくはリードオンリメモリ(ROM)などの、ディスクドライブ、光学式記憶装置、及びソリッドステート記憶装置などとともに、着脱可能媒体装置、メモリカード、フラッシュカードなどの1つまたは複数の記憶装置を含んでも良い。
そのようなデバイスはまた、上記説明されたコンピュータ可読記憶媒体リーダ、通信デバイス(例えば、モデム、ネットワークカード(無線もしくは有線)、赤外線通信デバイスなど)、及びワーキングメモリを含むことができる。コンピュータ可読記憶媒体リーダは、リモート、ローカル、固定、及び/もしくは着脱可能な記憶装置を表わすコンピュータ可読記憶媒体とともに、コンピュータ可読情報を一時的に、及び/もしくはより永続的に含み、記憶し、送信し、及び検索するための記憶媒体と接続されても良く、またはそれらを受けるように構成されても良い。システム及び種々のデバイスはまた一般的に、オペレーティングシステム、及びクライアントアプリケーションまたはウェブブラウザなどのアプリケーションプログラムを含む、少なくとも1つのワーキングメモリデバイス内に位置するいくつかのソフトウェアアプリケーション、モジュール、サービス、または他の要素を含む。代替的な実施形態が、上記説明されたものからの多くの変形を有しても良いことが理解されるべきである。例えば、カスタマイズされたハードウェアがまた使用されても良く、及び/または特定の要素がハードウェア、ソフトウェア(アプレットなどのポータブルソフトウェアを含む)、もしくはその両方で実施されても良い。さらに、ネットワーク入力/出力デバイスなどの他のコンピューティングデバイスへの接続が採用されても良い。
コード、またはコードの一部を含むための記憶媒体及びコンピュータ可読媒体は、それらに限定されないが、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報の記憶及び/または送信のための任意の方法または技術で実施される揮発性及び不揮発性、着脱可能及び着脱不能媒体などの記憶媒体及び通信媒体を含む、当分野で既知であり、または使用される任意の適切な媒体を含むことができ、RAM、ROM、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、フラッシュメモリもしくは他のメモリ技術、コンパクトディスクリードオンリメモリ(CD−ROM)、デジタル多用途ディスク(DVD)、もしくは他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または所望の情報を記憶するために使用することができ、及びシステムデバイスによってアクセスすることができる任意の他の媒体を含む。本明細書で提供される開示及び教示に基づいて、当業者は、種々の実施形態を実施するための他の手段及び/または方法を理解するであろう。
したがって、明細書及び図面は、限定的な意味ではなく例示的であると見なされることになる。しかしながら、特許請求の範囲で示される発明のより広い精神及び範囲から逸脱することなく、種々の修正及び変更がそれらに行われても良いことが明らかである。
他の変形が本開示の精神の中にある。よって、開示される技術は、種々の修正及び代替的な構造の影響を受け、それらの或る例示された実施形態が図面において示され、及び上記で詳細に説明されている。しかしながら、発明を特定の形式及び開示された形式に限定する意図はなく、むしろ、添付の特許請求の範囲で定義されるように、発明の精神及び範囲に入る全ての修正、代替的な構造、ならびに同等物を発明がカバーすることになる。
用語「a」及び「an」、ならびに「the」及び開示される実施形態を説明するコンテキストにおける(特に、以下の特許請求の範囲のコンテキストで)同様の指示対象は、他に本明細書で示されず、及びコンテキストによって明確に否定されない限り、単数及び複数系の両方をカバーするものと解釈されることになる。用語「comprising」、「having」、「including」、及び「containing」は、他に述べられない限り、制約がない用語(すなわち、「including、but not limited to」)として解釈されることになる。用語「connected」は、修正されず、及び物理接続を指すときに、何らかの介在するものが存在する場合でさえ、部分的にまたは全体的にその中に含まれ、それに取り付けられ、またはともに結合されるものと解釈されることになる。本明細書における値の範囲の記載は、本明細書で他に示されない限り、その範囲に入る各々の別個の値を個々に指す簡単な方法として機能することが意図されるにすぎず、及び各々の別個の値は、それが本明細書で個々に記載されたかのように明細書に組み込まれる。用語「set」(例えば、「a set of items」)または「subset」の使用は、他に述べられず、及びコンテキストによって否定されない限り、1つまたは複数の部品を含む非空集合として解釈されることになる。さらに、他に述べられず、及びコンテキストによって否定されない限り、対応する集合の用語「subset」は、必ずしも対応する集合の適切な部分集合を示しているわけではなく、部分集合及び対応する集合は、等価であっても良い。
形式「at least one of A,B,and C」または「at least one of A,B and C」のフレーズなどの接続言語は、特に他に示されず、及び他にコンテキストによって明確に否定されない限り、項目、用語などがA、BもしくはCのいずれかであっても良いこと、またはA、B及びCの集合のうちの任意の非空の部分集合であっても良いことを提示するために一般的に使用されるとしてコンテキストで理解される。例えば、3つの部品を有する集合の例示的な例では、接続フレーズ「at least one of A,B,and C」、及び「at least one of A,B and C」は、以下の集合:{A}、{B}、{C}、{A,B}、{A,C}、{B,C}、{A,B,C}のうちのいずれかを指す。よって、そのような接続言語は、概して、或る実施形態が、各々が提示されることになるAのうちの少なくとも1つ、Bのうちの少なくとも1つ、及びCのうちの少なくとも1つを必要とすることを暗に示すことを意図しているわけではない。
本明細書で説明される処理の動作は、本明細書で他に示されず、及びコンテキストによって他に明確に否定されない限り、任意の適切な順序で実行されても良い。本明細書で説明される処理(または、その変形及び/もしくは組み合わせ)は、実行可能命令で構成された1つまたは複数のコンピュータシステムの制御の下で実行されても良く、及び1つもしくは複数のプロセッサ上で、ハードウェア、またはそれらの組み合わせによって集合的に実行するコード(例えば、実行可能命令、1つもしくは複数のコンピュータプログラム、または1つもしくは複数のアプリケーション)として実施されても良い。コードは、例えば、1つまたは複数のプロセッサによって実行可能な複数の命令を含むコンピュータプログラムの形式で、コンピュータ可読記憶媒体に記憶されても良い。コンピュータ可読記憶媒体は、非一時的であっても良い。
本明細書で提供されるいずれか及び全ての例、または例示的な言語(例えば、「such as」)の使用は、発明の実施形態をより良好に示すことを意図しているにすぎず、他に主張されない限り、発明の範囲に関して限定を示すものではない。明細書における言語は、任意の特許請求されていない要素が発明の実施に必須であると示すものと解釈されるべきでない。
発明を実行するために発明者に知られているベストモードを含む本開示の好ましい実施形態が本明細書で説明される。それらの好ましい実施形態の変形は、上述した説明を読むときに当業者にとって明確となることがある。発明者は、当業者がそのような変形を必要に応じて採用することを予期し、及び発明者は、本開示の実施形態が本明細書で特に説明された以外で実施されることを意図する。したがって、本開示の範囲は、適用可能な法によって許可されるように以下に添付される特許請求の範囲に記載される主題の全ての変形及び同等物を含む。さらに、それらの全ての考えられる変形における上記説明された要素の任意の組み合わせは、本明細書で他に示され、及びコンテキストによって他に明確に否定されない限り、本開示の範囲に包含される。
本明細書で引用された公開公報、特許出願、及び特許を含む全ての引用文献は、各々の引用文献が個々に、及び特に参照によって組み込まれることになると示されたように、ならびに本明細書のその全体で示されたように、ある程度参照によってここに組み込まれる。

Claims (14)

  1. ドキュメント管理及び共同システムにおいてデータを管理するためのコンピュータによる実施方法であって、
    実行可能命令で構成された1つまたは複数のコンピュータシステムの制御の下、
    複数のコンピューティングデバイスに対するハードウェアまたはソフトウェア構成情報を受信することと、
    前記ハードウェアまたはソフトウェア構成情報に基づいて、前記複数のコンピューティングデバイスを一意に識別し及びトラッキングすることと、
    前記ドキュメント管理及び共同システムから前記1つのコンピューティングデバイスへのドキュメントのダウンロードに対する要求を前記複数のコンピューティングデバイスのうちの1つのコンピューティングデバイスから受信することと、
    前記要求と関連付けられたユーザを識別することと、
    前記ドキュメントを前記識別されたユーザがユーザセッションを有しているコンピューティングデバイスに送信することと、
    前記識別されたユーザ及び前記コンピューティングデバイスの前記トラッキングに基づいて、前記ユーザがユーザセッションを有していたコンピューティングデバイスから前記ドキュメントが削除されるべきであると判定することと、
    前記コンピューティングデバイスから前記ドキュメントを削除することと、
    前記コンピューティングデバイスから、前記ドキュメントの削除の成功のインジケーションを受信することと
    を備えたコンピュータによる実施方法。
  2. 前記ユーザを識別することは、前記ユーザセッションを有する前記ユーザを認証することを含み、前記トラッキングは、前記ユーザセッションを前記1つのコンピューティングデバイスに関連付けることを含む、請求項1に記載のコンピュータによる実施方法。
  3. 前記ドキュメントを削除することは、前記1つのコンピューティングデバイスに前記ドキュメントを削除することを命令するプッシュ通知を送信することを含む、請求項1に記載のコンピュータによる実施方法。
  4. 前記ドキュメントを削除することは、前記1つのコンピューティングデバイスに前記ドキュメントを削除することを命令するメッセージを、アイドルチャネル上で送信することを含む、請求項1に記載のコンピュータによる実施方法。
  5. 少なくともアプリケーションサービスを実施するように集合的に構成された複数のコンピューティングデバイスを含むシステムであって、前記アプリケーションサービスは、
    ドキュメント管理及び共同システムにユーザがユーザセッションを有していた複数のユーザデバイスを識別し、
    前記ドキュメント管理及び共同システムから前記複数のユーザデバイスにダウンロードされた1つまたは複数のドキュメントが前記複数のユーザデバイスから削除されるべきと判定し、
    前記複数のユーザデバイスからの前記ダウンロードされた1つまたは複数のドキュメントを削除させ、
    前記複数のユーザデバイスから前記1つまたは複数のドキュメントの削除の成功のインジケーションを受信する、
    ように構成されるシステム。
  6. 前記複数のユーザデバイスは、前記複数のユーザデバイスに対するハードウェアまたはソフトウェア構成情報に基づいて識別される、請求項5に記載のシステム。
  7. 前記ドキュメントを削除させることは、
    前記複数のユーザデバイス上に位置し、ならびに永続的ディスク記憶装置及びメタデータストア上にある、前記ユーザと関連付けられたドキュメントを削除することと、
    前記ユーザが有していた前記ユーザセッションを終了させることと
    を含む、請求項5に記載のシステム。
  8. 前記ドキュメントを削除させることは、前記1つまたは複数のドキュメントのうちの選択された1つが記憶されるメモリ位置を上書きすることを含む、請求項5に記載のシステム。
  9. ドキュメント管理及び共同システムにユーザセッションを有するユーザと関連付けられた複数のユーザデバイスを識別することと、
    前記ドキュメント管理及び共同システムから前記複数のユーザデバイスにダウンロードされた前記ユーザと関連付けられた1つまたは複数のドキュメントが、前記複数のユーザデバイスから削除されるべきであると判定することと、
    前記複数のユーザデバイスから前記1つまたは複数のドキュメントを削除させることと、
    前記複数のユーザデバイスから、前記ドキュメントの削除の成功のインジケーションを受信することと、
    を備えたコンピュータによる実施方法。
  10. 前記複数のユーザデバイスは、前記複数のユーザデバイスに対するハードウェアまたはソフトウェア構成情報に基づいて識別される、請求項9に記載のコンピュータによる実施方法。
  11. 前記1つまたは複数のドキュメントのうちの1つを前記複数のユーザデバイスのうちの1つにダウンロードする要求を受信することと、
    ドキュメントの記憶のための位置の同期クライアントのインジケーションを送信することと、
    前記同期クライアントから前記位置における前記1つまたは複数のドキュメントのうちの1つの記憶の成功を示すメッセージを受信することと、をさらに備える、請求項9に記載のコンピュータによる実施方法。
  12. 前記メッセージを受信したことに応答し、データベースに前記1つまたは複数のドキュメントのうちの1つがダウンロードされたことを示させ、または前記複数のユーザデバイスのうちの1つで提示させるようにさらに構成される、請求項11に記載のコンピュータによる実施方法。
  13. 前記ドキュメントを削除させることは、前記ダウンロードされたドキュメントが前記複数のユーザデバイスから削除されるべきであることを示すプッシュ通知を前記複数のユーザデバイスに送信することを含む、請求項9に記載のコンピュータによる実施方法。
  14. 前記ドキュメントを削除させることは、前記ダウンロードされるドキュメントの前記選択された1つが記憶されるメモリ位置を上書きすることを含む、請求項9に記載のコンピュータによる実施方法。
JP2017535635A 2014-09-29 2015-09-25 記憶されたデータに対するリモートアクセス制御 Active JP6608453B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/500,910 2014-09-29
US14/500,910 US9934221B2 (en) 2014-09-29 2014-09-29 Remote access control for stored data
PCT/US2015/052441 WO2016053807A1 (en) 2014-09-29 2015-09-25 Remote access control for stored data

Publications (2)

Publication Number Publication Date
JP2017538231A JP2017538231A (ja) 2017-12-21
JP6608453B2 true JP6608453B2 (ja) 2019-11-20

Family

ID=54337358

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017535635A Active JP6608453B2 (ja) 2014-09-29 2015-09-25 記憶されたデータに対するリモートアクセス制御

Country Status (6)

Country Link
US (2) US9934221B2 (ja)
EP (2) EP3201818B1 (ja)
JP (1) JP6608453B2 (ja)
CN (1) CN106796632B (ja)
CA (1) CA2962227C (ja)
WO (1) WO2016053807A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10498777B2 (en) * 2014-03-17 2019-12-03 Citrix Systems, Inc. Real-time push notifications for cloud-based applications
JP6451227B2 (ja) * 2014-11-06 2019-01-16 富士ゼロックス株式会社 情報処理装置、情報処理システム、プログラム、及び記録媒体
US9641522B1 (en) * 2014-11-11 2017-05-02 Amazon Technologies, Inc. Token management in a managed directory service
US10681182B1 (en) * 2016-04-06 2020-06-09 Uipco, Llc Multi-device work flow management method and system for managing work flow data collection for users across a diverse set of devices and processes by unifying the work process to be data and device agnostic
US10339211B1 (en) * 2016-05-31 2019-07-02 Google Llc Systems and methods for synchronizing comments to an electronic document across platforms
US10318287B2 (en) * 2016-12-21 2019-06-11 Hewlett Packard Enterprise Development Lp Deploying documents to a server in a specific environment
US10608882B2 (en) * 2017-02-16 2020-03-31 International Business Machines Corporation Token-based lightweight approach to manage the active-passive system topology in a distributed computing environment
EP3438774B1 (de) * 2017-08-02 2021-09-29 Siemens Aktiengesellschaft Verfahren zur bereitstellung von funktionen innerhalb eines industriellen automatisierungssystems und automatisierungssystem
US10909070B2 (en) * 2017-08-31 2021-02-02 Salesforce.Com, Inc. Memory efficient policy-based file deletion system
US10438594B2 (en) * 2017-09-08 2019-10-08 Amazon Technologies, Inc. Administration of privileges by speech for voice assistant system
CN108549623B (zh) * 2018-04-12 2022-03-01 北京三快在线科技有限公司 协作文档编辑控制方法、装置、电子设备及存储介质
US12008343B2 (en) 2018-11-21 2024-06-11 Kony, Inc. System and method for a registration system within an intelligent digital experience development platform
CN110221891A (zh) * 2019-05-17 2019-09-10 北京大米科技有限公司 一种绘图数据获取方法、装置、存储介质以及终端
US11374990B2 (en) * 2020-09-14 2022-06-28 Box, Inc. Saving an overlay annotation in association with a shared document
CN114360108A (zh) * 2021-12-30 2022-04-15 沙龙智行科技有限公司 车辆的钥匙权限控制方法、装置及车辆

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004072834A1 (en) * 2003-02-14 2004-08-26 Whale Communications Ltd. System and method for providing conditional access to server-based applications from remote access devices
CN101111825A (zh) * 2004-12-06 2008-01-23 Teac宇航技术公司 擦除非易失性记录介质的系统和方法
JP4347255B2 (ja) * 2005-04-13 2009-10-21 アルパイン株式会社 端末装置、コンテンツの消去/転送制御システム及びコンテンツ消去制御方法
CN101114867B (zh) * 2006-07-25 2012-12-19 深圳Tcl工业研究院有限公司 一种多信道同步传输的方法及系统
US7895662B1 (en) * 2006-12-12 2011-02-22 At&T Mobility Ii Llc Systems and methods for the remote deletion of pre-flagged data
US8826375B2 (en) 2008-04-14 2014-09-02 Lookwithus.Com Inc. Rich media collaboration system
US8839397B2 (en) * 2010-08-24 2014-09-16 Verizon Patent And Licensing Inc. End point context and trust level determination
US8898742B2 (en) 2011-10-11 2014-11-25 Paramount Pictures Corporation Systems and methods for controlling access to content distributed over a network
US8788816B1 (en) * 2011-02-02 2014-07-22 EJS Technologies, LLC Systems and methods for controlling distribution, copying, and viewing of remote data
US9143530B2 (en) * 2011-10-11 2015-09-22 Citrix Systems, Inc. Secure container for protecting enterprise data on a mobile device
US9213805B2 (en) 2012-06-20 2015-12-15 Ricoh Company, Ltd. Approach for managing access to data on client devices
US9392077B2 (en) * 2012-10-12 2016-07-12 Citrix Systems, Inc. Coordinating a computing activity across applications and devices having multiple operation modes in an orchestration framework for connected devices
CN104756584A (zh) 2012-10-29 2015-07-01 高通股份有限公司 时分多址网络中的设备注册和探测
JP6306055B2 (ja) 2013-01-22 2018-04-04 アマゾン・テクノロジーズ、インコーポレイテッド アクセス制御のための自由形式メタデータの使用
WO2014152025A2 (en) 2013-03-14 2014-09-25 Intralinks, Inc. Computerized method and system for managing networked secure collaborative exchange environment
US9451043B2 (en) * 2013-09-13 2016-09-20 Evie Labs, Inc. Remote virtualization of mobile apps

Also Published As

Publication number Publication date
US10747822B2 (en) 2020-08-18
EP3553685A1 (en) 2019-10-16
WO2016053807A1 (en) 2016-04-07
EP3553685B1 (en) 2022-08-10
CN106796632B (zh) 2020-10-27
US20160092442A1 (en) 2016-03-31
US20180196803A1 (en) 2018-07-12
EP3201818A1 (en) 2017-08-09
JP2017538231A (ja) 2017-12-21
US9934221B2 (en) 2018-04-03
EP3201818B1 (en) 2019-05-08
CN106796632A (zh) 2017-05-31
CA2962227A1 (en) 2016-04-07
CA2962227C (en) 2020-05-05

Similar Documents

Publication Publication Date Title
JP6608453B2 (ja) 記憶されたデータに対するリモートアクセス制御
JP6800184B2 (ja) ドキュメント管理及びコラボレーション・システム
US10877953B2 (en) Processing service requests for non-transactional databases
US11792199B2 (en) Application-assisted login for a web browser
US10282522B2 (en) Cross-application authentication on a content management system
US9781089B2 (en) Authenticating a user account with a content management system
US11848994B2 (en) Communication protocols for an online content management system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180604

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181022

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190408

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190802

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20190813

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191021

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191023

R150 Certificate of patent or registration of utility model

Ref document number: 6608453

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250