JP6178867B2 - コンテンツプレビューの提供 - Google Patents

コンテンツプレビューの提供 Download PDF

Info

Publication number
JP6178867B2
JP6178867B2 JP2015556133A JP2015556133A JP6178867B2 JP 6178867 B2 JP6178867 B2 JP 6178867B2 JP 2015556133 A JP2015556133 A JP 2015556133A JP 2015556133 A JP2015556133 A JP 2015556133A JP 6178867 B2 JP6178867 B2 JP 6178867B2
Authority
JP
Japan
Prior art keywords
preview
content
content item
fixed size
block
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
JP2015556133A
Other languages
English (en)
Other versions
JP2016508641A (ja
Inventor
ジガ マーコヴェク,
ジガ マーコヴェク,
ニクラド マーディ,
ニクラド マーディ,
クリストファー ベックマン,
クリストファー ベックマン,
Original Assignee
ドロップボックス, インコーポレイテッド
ドロップボックス, インコーポレイテッド
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 ドロップボックス, インコーポレイテッド, ドロップボックス, インコーポレイテッド filed Critical ドロップボックス, インコーポレイテッド
Publication of JP2016508641A publication Critical patent/JP2016508641A/ja
Application granted granted Critical
Publication of JP6178867B2 publication Critical patent/JP6178867B2/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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/168Details of user interfaces specifically adapted to file systems, e.g. browsing and visualisation, 2d or 3d GUIs
    • 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/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques

Description

本技術はコンテンツプレビューに関し、特にコンテンツアイテムに対してただひとつのコンテンツプレビューを保持することに関する。
関連出願へのクロスリファレンス
本願は、2013年3月14日に出願された米国特許出願第13/826,436号の優先権の利益を享受する。この出願は2013年1月30日に出願された米国特許仮出願第61/758,580の、35USCセクション119(e)の下での優先権の利益を享受する。この出願は、参照によりその全体が本明細書に組み入れられる。
クラウドデータストレージは、ユーザがオンライン上にデータを格納し、かつネットワーク接続を伴う任意の計算デバイスからそのデータにアクセスすることを可能にする。したがって、ユーザは、テキストドキュメントやスプレッドシートや写真やメディアファイルなどの多種多様なファイルに、パーソナルコンピュータ(PC)やラップトップやスマートフォンやタブレットPCなどの多種多様な計算デバイスからアクセスすることができる。現状のクラウドストレージシステムでは、クラウドに保持されるファイルを計算デバイスにダウンロードし、かつ、それをその計算デバイスで実行されるソフトウエアで開くことが要求される。
現状モデルのひとつの問題は、スマートフォンやタブレットPCなどのモバイル計算デバイスが限られたストレージスペースを有しうることであり、したがってクラウドに保持されるファイルをダウンロードすることはリソースを使用しすぎることになりうる。さらに、異なる複数のタイプのファイルを開くために、現状のシステムは、それらの異なるファイルを開くことのできるソフトウエアが異なる複数の計算デバイス上で実行されていることを必要とする。したがって、クラウドに保持されるコンテンツを視るための改良されたシステムが必要である。
本開示の追加的な特徴および利点は以下に説明されるであろうし、また部分的にはその説明から明らかであろうし、また本明細書で開示された原理の実施により学習されるであろう。本開示の特徴および利点は、添付の請求項において具体的に示す機器および組み合わせによって実現され、得られうるものである。本開示のこれらの特徴およびその他の特徴は、以下の記述および添付の請求項からさらに十分に明らかになるか、または本明細書で述べた原理の実施によっても分かるものである。
同期したオンラインコンテンツ管理システムに保持されるコンテンツアイテムのコンテンツプレビューを提供するシステム、方法および非一時的なコンピュータ可読保持媒体が開示される。コンテンツプレビューを、クライアントデバイス上で、コンテンツアイテムそのものをクライアントデバイスにダウンロードすることなしに、かつ、コンテンツアイテムに関連してクライアントデバイスにインストールされるソフトウエアの使用なしに、視ることができる。さらに、各一意のコンテンツアイテムに対してただひとつのコンテンツプレビューを生成して保持することにより、データストーレジおよび処理の要求を最小化することができる。したがって、複数のユーザの複数のコンテンツライブラリに同じコンテンツアイテムが含まれる場合、異なる複数のユーザによりアクセス可能な単一のコンテンツプレビューが生成されうる。
これを達成するために、コンテンツアイテムは、そのコンテンツアイテムのコンテンツプレビューが既に存在するか否かを判定するよう特定されてもよい。そのコンテンツアイテムのコンテンツプレビューがまだ存在しない場合にのみ、コンテンツプレビューが生成されてもよい。コンテンツアイテムを特定するために、ハッシュアルゴリズムが使用されてもよい。例えば、コンテンツアイテムをハッシュアルゴリズムにおける入力として使用し、一意のハッシュ識別子を生成してもよい。結果として得られるハッシュ識別子は、したがって、2つのコンテンツアイテムに違う名前が付されている場合でも、その2つのコンテンツアイテムが同じであると特定できる。
ある実施の形態では、コンテンツアイテムは複数の固定サイズブロックに分けられ、そのブロックのそれぞれはハッシュアルゴリズムにおけるハッシュキーとして使用されてもよい。結果として得られるハッシュ識別子を使用して、コンテンツアイテムを特定するために使用されるブロックリストを生成してもよい。例えば、ある実施の形態では、結果として得られるハッシュ識別子をつなげてブロックリストを生成してもよい。
コンテンツアイテムが特定されると、そのコンテンツアイテムのコンテンツプレビューが存在するか否かの判定が実行されてもよい。ある実施の形態では、ブロックリストのようなコンテンツアイテムの一意の識別子を使用して、コンテンツプレビューが既に生成されている各コンテンツアイテムを特定するプレビューインデックスから探してもよい。プレビューインデックスは生成された各コンテンツプレビューに対してプレビューエントリを含んでもよく、プレビューエントリは一意の識別子とメモリにおけるコンテンツプレビューの位置とを含む。コンテンツアイテムに関連するプレビューエントリが存在しない場合、そのコンテンツアイテムのコンテンツプレビューは存在せず、したがってそのようなコンテンツプレビューが生成されるであろう。コンテンツアイテムに関連するプレビューエントリが存在する場合、コンテンツプレビューは既に存在し、したがってそのようなコンテンツプレビューは生成されないであろう。
一意の識別子は、コンテンツアイテムに対応するコンテンツエントリに関連してもよい。コンテンツエントリは、コンテンツアイテムに関連するユーザアカウントやメモリにおけるコンテンツアイテムの位置やコンテンツアイテムのデータパスおよび名前などのコンテンツアイテムを特定するメタデータを含んでもよい。
クライアントデバイスは、コンテンツアイテムのコンテンツプレビューをクライアントデバイス上で表示することを要求するプレビュー要求を送信してもよい。プレビュー要求は、ブロックリストのようなプレビューインデックスに保持される一意の識別子であってコンテンツプレビューを見つけるのに使用されうる識別子を特定するメタデータを含んでもよい。あるいはまた、プレビュー要求は、コンテンツアイテムに対応するコンテンツエントリを特定するメタデータを含んでもよい。したがって、コンテンツエントリから一意の識別子を取得し、要求されたコンテンツプレビューを見つけるためにプレビューインデックスから探すのにその識別子を使用することができる。
本開示の上記およびその他の利点および特徴は、添付の図面に示す特定の実施の形態を参照することにより明らかになるであろう。これらの図面は、本開示の例示的な実施の形態を示しているだけであり、それゆえ、本開示の範囲を限定しているとみなされてはならないことを理解した上で、添付の図面を用いてさらに具体的かつ詳細に本明細書の原理を記述して説明する。
図1は、本発明に係る、デバイスおよびネットワークの例示的な構成を示す。 図2は、コンテンツアイテムが複数の固定サイズブロックに分けられ、ハッシュ化されてブロックリストが生成される例示的な実施の形態を示す。 図3は、例示的なプレビューインデックスを示す。 図4は、コンテンツプレビューを生成するための例示的な方法の実施の形態を示す。 図5は、コンテンツプレビューをクライアントデバイスに提供するための例示的な方法の実施の形態を示す。 図6Aおよび図6Bは、例示的なありうるシステムの実施の形態を示す。 図6Aおよび図6Bは、例示的なありうるシステムの実施の形態を示す。
本開示のさまざまな実施の形態について、以下に詳しく論じる特定の実装について論じているが、これは説明のみを目的として行われていることを理解されたい。当業者は、本開示の趣旨および範囲から逸脱することなく他のコンポーネントや構成が用いられうることを認識するであろう。
開示される技術は、オンラインストレージシステムに保持されるコンテンツアイテムのコンテンツプレビューを、コンテンツアイテムそのものをクライアントデバイスにダウンロードする必要も、コンテンツアイテムを開くことができるソフトウエアをクライアントデバイスにインストールする必要もなく提供する当該分野の必要性を満たすものである。さらに、開示される技術は、各コンテンツアイテムにつきただひとつのコンテンツプレビューを生成することにより、データストレージ要求を最小化する。したがって、複数のユーザの複数のコンテンツライブラリに同じコンテンツアイテムが含まれる場合、そのコンテンツアイテムに対応するただひとつのコンテンツプレビューが使用されてもよい。
これを達成するために、コンテンツアイテムは一意に特定されてもよい。コンテンツプレビューはそれがまだ存在しない場合にのみ生成される。コンテンツアイテムはハッシュアルゴリズムを使用して特定されてもよい。例えば、コンテンツアイテムをハッシュアルゴリズムにおけるハッシュキーとして使用し、各一意のハッシュキーに対する一意のハッシュ識別子を生成してもよい。結果として得られるハッシュ識別子は、したがって、コンテンツアイテムに異なるファイル名が関連付けられていても、そのコンテンツアイテムを特定することができる。ある実施の形態では、コンテンツアイテムは複数の固定サイズブロックに分けられ、そのブロックのそれぞれはハッシュアルゴリズムにおけるハッシュキーとして使用されてもよい。結果として得られるハッシュキーを使用して、コンテンツアイテムを特定するために使用されるブロックリストを生成してもよい。
コンテンツアイテムが特定されると、そのコンテンツアイテムのコンテンツプレビューが存在するか否かの判定は、コンテンツプレビューが既に生成されている各コンテンツアイテムを特定するプレビューインデックスから探すことにより実行されてもよい。ブロックリストのようなコンテンツアイテムの一意の識別子を使用して、プレビューインデックスにおいて各コンテンツアイテムを特定してもよい。コンテンツアイテムに関連するプレビューエントリが存在しない場合、コンテンツプレビューは存在せず、したがってそのようなコンテンツプレビューが生成されるであろう。コンテンツアイテムに関連するプレビューエントリが存在する場合、コンテンツプレビューは既に存在し、したがって新たなコンテンツプレビューは生成されないであろう。
プレビューインデックスは生成された各コンテンツプレビューのメモリにおける位置を含んでもよい。したがって、コンテンツアイテムの一意の識別子を使用して、コンテンツアイテムのコンテンツプレビューの位置を決定するためにプレビューインデックスから探してもよい。
図1には、例示的なシステム構成100が示される。このシステム構成100では、複数の電子デバイスが、コンテンツや他のデータを交換する目的でネットワークを介して通信する。システムは、図1に示されるように、ワイドエリアネットワーク上で使用されるよう構成されてもよい。しかしながら、本原理は、電子デバイス間の通信を促進する様々な種類のネットワーク構成に適用可能である。例えば、図1のシステム100の各コンポーネントは、ネットワークにおいて局在的または分散的に実装されてもよい。
システム100では、直接および/または間接通信によりネットワーク104と接続された複数のクライアントデバイス102、102、…、102(「102」と総称する)を通じて、ユーザはコンテンツ管理システム106と相互に作用してもよい。コンテンツ管理システム106は、デスクトップコンピュータや、モバイルコンピュータや、携帯電話、スマートフォン、タブレットなどのモバイル通信デバイスや、スマートテレビジョンや、セットトップボックスや、他の任意のネットワーク可能な計算デバイスなどの多種多様なクライアントデバイスからの接続をサポートしてもよい。クライアントデバイス102のタイプや性能やオペレーティングシステムなどはいろいろであってよい。さらにコンテンツ管理システム106は、複数のクライアントデバイス102からの接続を同時に受け付けて相互作用を行ってもよい。
クライアントデバイス102にインストールされたクライアント側アプリケーションを介して、ユーザはコンテンツ管理システム106と相互に作用してもよい。ある実施の形態では、クライアント側アプリケーションはコンテンツ管理システム用のコンポーネントを含んでもよい。例えば、コンポーネントはスタンドアローンアプリケーションやひとつ以上のアプリケーションプラグインやブラウザエクステンションであってもよい。しかしながら、クライアントデバイス102に存在しコンテンツ管理システム106と通信するよう構成されたウェブブラウザなどの第3者アプリケーションを介して、ユーザはコンテンツ管理システム106と相互に作用してもよい。いずれの場合でも、クライアント側アプリケーションは、ユーザがコンテンツ管理システム106と相互作用するためのユーザインタフェース(UI)を提供してもよい。例えば、ファイルシステムと統合されたクライアント側アプリケーションを介して、またはウェブブラウザアプリケーションを使用して表示されたウェブページを介して、ユーザはコンテンツ管理システム106と相互に作用してもよい。
コンテンツ管理システム106は、ユーザによるコンテンツの格納や、コンテンツの取得、変更、ブラウズ、および/または共有などの種々のコンテンツ管理タスクの実行を可能としてもよい。さらにコンテンツ管理システム106は、ユーザが複数のクライアントデバイス102からコンテンツにアクセスすることを可能としてもよい。例えば、クライアントデバイス102はネットワーク104を介してコンテンツ管理システム106にコンテンツをアップロードしてもよい。そのコンテンツは後に、同じクライアントデバイス102または他のクライアントデバイス102を使用してコンテンツ管理システム106から取得されてもよい。
種々のコンテンツ管理サービスをより容易にするために、ユーザはコンテンツ管理システム106にアカウントを生成してもよい。アカウント情報はユーザアカウントデータベース150に維持されてもよい。ユーザアカウントデータベース150は、登録ユーザについてのプロファイル情報を保持してもよい。ある場合には、ユーザプロファイルの個人情報はユーザ名および/または電子メールアドレスのみであってもよい。しかしながら、コンテンツ管理システム106は追加的なユーザ情報を受け入れるよう構成されてもよい。
ユーザアカウントデータベース150は、有料/無料の別などのアカウントタイプや、ファイル編集履歴などの利用情報や、許されている最大ストレージスペースや、利用されているストレージスペースや、コンテンツストレージ位置や、セキュリティ設定や、個人構成設定や、コンテンツ共有データなどのアカウント管理情報を含んでもよい。アカウント管理モジュール124は、ユーザアカウントデータベース150におけるユーザアカウントの詳細を更新および/または取得するよう構成されてもよい。アカウント管理モジュール124は、コンテンツ管理システム106の他の任意の数のモジュールと相互に作用するよう構成されてもよい。
アカウントは、そのアカウントで認証されたひとつ以上のクライアントデバイス102から、ドキュメントやテキストファイルや音声ファイルやビデオファイルなどのコンテンツを格納するために使用されてもよい。コンテンツは、異なる振る舞いを伴う種々のタイプのフォルダやコンテンツアイテムをグループ化する他のメカニズムを含んでもよい。例えば、アカウントは、任意のユーザからアクセス可能なパブリックフォルダを含んでもよい。パブリックフォルダにはウェブアクセス可能なアドレスが割り当てられてもよい。ウェブアクセス可能なアドレスへのリンクを使用してパブリックフォルダのコンテンツにアクセスしてもよい。他の例では、アカウントは、写真に適する特定の属性やアクションを提供する写真用の写真フォルダや、音声ファイルを再生する能力を提供し他の音声関連アクションを実行する音声フォルダや、他の特殊用途フォルダを含んでもよい。アカウントは、複数のユーザアカウントとリンクされそれらのアカウントから利用可能な共有フォルダまたはグループフォルダを含んでもよい。ある共有フォルダについての複数のユーザに対する複数のパーミッションは異なっていてもよい。
コンテンツはコンテンツストレージ160に保持されてもよい。コンテンツストレージ160は、ストレージデバイスや、複数のストレージデバイスや、サーバであってもよい。あるいはまた、コンテンツストレージ160は、ひとつ以上の通信ネットワークを介してアクセス可能なクラウドストレージプロバイダまたはネットワークストレージであってもよい。コンテンツ管理システム106がクライアントデバイス102に対して複雑さと詳細とを隠すことで、クライアントデバイス102は、コンテンツアイテムがコンテンツ管理システム106によって正確にどこに保持されているのかを知る必要はない。ある変形例では、コンテンツ管理システム106は、クライアントデバイス102上に現れるフォルダ階層と同じフォルダ階層でコンテンツアイテムを保持してもよい。しかしながら、コンテンツ管理システム106は自身の順序や構成や階層でコンテンツアイテムを保持してもよい。コンテンツ管理システム106は、ネットワークアクセス可能ストレージ(SAN)デバイスや、廉価ディスクの冗長アレイ(RAID)などにコンテンツアイテムを保持してもよい。コンテンツストレージ160は、FAT、FAT32、NTFS、EXT2、EXT3、EXT4、ReiserFS、BTRFSなどのひとつ以上のパーティションタイプを使用して、コンテンツアイテムを保持してもよい。
コンテンツストレージ160は、コンテンツアイテムおよびコンテンツアイテムタイプおよびコンテンツアイテムと種々のアカウントやフォルダやグループとの関係を説明するメタデータを保持してもよい。コンテンツアイテムのメタデータは、コンテンツアイテムの一部として保持されてもよいし、別個に保持されてもよい。
コンテンツストレージ160は、重複したファイルやファイルの重複セグメントを特定することによって、要求されるストレージスペースの量を低減することができる。複数の複製を保持する代わりに、コンテンツストレージ160は単一の複製を保持し、ポインタや他のメカニズムを使用して、重複しているものをその単一の複製にリンクさせてもよい。同様に、コンテンツストレージ160はファイルをより効率的に保持できるだけでなく、ファイルへの変更や異なるバージョンのファイル(分岐バージョンツリーを含む)や変更履歴を追うファイルバージョン制御を使用することで、操作をやり直す能力を提供してもよい。変更履歴は、元のファイルバージョンに適用された場合、変更後のファイルバージョンを生成する一組の変更を含んでもよい。
コンテンツ管理システム106はひとつ以上のクライアントデバイス102からのコンテンツの自動同期をサポートするよう構成されてもよい。同期はプラットフォーム不可知的であってもよい。すなわち、コンテンツは、種々のタイプや能力やオペレーティングシステムなどを有する複数のクライアントデバイス102に亘って同期されてもよい。例えば、クライアントデバイス102はクライアントソフトウエアを含んでもよい。このソフトウエアは、コンテンツ管理システム106の同期モジュール132を介して、クライアントデバイス102のファイルシステムのなかのコンテンツを関連するユーザアカウントの下のコンテンツと同期させる。ある場合では、クライアントソフトウエアは、新たな、削除された、変更された、複製された、または移動されたファイルやフォルダなどの、指定されたフォルダおよびそのサブフォルダのコンテンツに対する任意の変更を同期させてもよい。クライアントソフトウエアは別個のソフトウエアアプリケーションであってもよく、またはオペレーティングシステム中の既存のコンテンツ管理アプリケーションに統合されていてもよく、またはそれらの組み合わせであってもよい。既存のコンテンツ管理アプリケーションに統合されるクライアントソフトウエアの一例では、ユーザはローカルフォルダ内で直接コンテンツを操作し、その間、バックグラウンド処理は変更がないかローカルフォルダを監視し、そのような変更の同期をコンテンツ管理システム106に対して実行する。逆に、バックグラウンド処理はコンテンツ管理システム106において更新されたコンテンツを特定し、そのような変更の同期をローカルフォルダに対して実行してもよい。クライアントソフトウエアは同期操作の通知を提供してもよく、コンテンツ管理アプリケーションの中で直接、コンテンツ状態の表示を提供してもよい。クライアントデバイス102が利用可能なネットワーク接続を有さない場合がある。このシナリオでは、クライアントソフトウエアはファイル変更がないかリンクされたフォルダを監視し、後にネットワーク接続が利用可能となったときにコンテンツ管理システム106に対して同期を実行するべくそのような変更をキューに入れてもよい。同様に、ユーザは、コンテンツ管理システム106との同期を手動で止めるか一時停止してもよい。
ユーザは、ユーザインタフェースモジュール122によって生成され提供されるウェブインタフェースを介して、コンテンツを視たり操作したりしてもよい。例えば、ユーザは、ウェブブラウザ内で、コンテンツ管理システム106によって提供されるウェブアドレスへと辿り着いてもよい。ファイルの新たなバージョンのアップロードのように、ウェブインタフェースを通じてなされたコンテンツストレージ160のコンテンツへの変更や更新は、ユーザのアカウントに関連する他のクライアントデバイス102へと伝搬されてもよい。例えば、それぞれが自身のクライアントソフトウエアを有する複数のクライアントデバイス102は単一のアカウントと関連付けられていてもよく、そのアカウントのファイルは複数のクライアントデバイス102のそれぞれの間で同期されてもよい。
コンテンツ管理システム106は、アプリケーションプログラミングインタフェース(API)を介して他のコンテンツおよび/またはサービスプロバイダ109、109、…、109(「109」と総称する)と相互に作用可能な通信インタフェース120であって種々のクライアントデバイス102とのインタフェースとしての通信インタフェース120を含んでもよい。所定のソフトウエアアプリケーションは、ユーザの代わりに、APIを介してコンテンツストレージ160にアクセスしてもよい。例えば、スマートフォンやタブレット計算デバイス上のアプリケーションなどのソフトウエアパッケージはプログラム上、ユーザが資格証明を提供する場合、コンテンツ管理システム106を直接呼び出し、コンテンツを読み取り、書き込み、生成し、消去し、共有し、またはそうでなければ操作してもよい。同様に、APIは、ウェブサイトを通じてユーザがコンテンツストレージ160の全てまたは一部にアクセスすることを可能としてもよい。
コンテンツ管理システム106は認証モジュール126を含んでもよい。この認証モジュール126は、ユーザの資格証明やセキュリティトークンやAPIコールや特定のクライアントデバイスなどを検証し、認証されたクライアントおよびユーザのみがファイルにアクセスできることを確実なものとしてもよい。さらに、コンテンツ管理システム106は解析モジュール134モジュールを含んでもよい。この解析モジュール134は集合的ファイル操作やユーザアクションやネットワーク利用状況や使用されているトータルのストレージスペースや、他の技術的、利用状況的またはビジネス上の指標を追い、それについて報告してもよい。プライバシーおよび/またはセキュリティポリシーは、コンテンツ管理システム106に保持されるユーザデータへの許可を得ないアクセスを防止してもよい。
コンテンツ管理システム106は、公にまたは私的にコンテンツを共有することを管理するための共有モジュール130を含んでもよい。公にコンテンツを共有することは、コンテンツアイテムを、コンテンツ管理システム106とネットワーク通信可能な任意の計算デバイスからアクセス可能とすることを含んでもよい。私的にコンテンツを共有することは、コンテンツストレージ160のコンテンツアイテムを2以上のユーザアカウントとリンクさせ、それにより各ユーザアカウントがそのコンテンツアイテムへのアクセスを有することを含んでもよい。共有は、プラットフォーム不可知的態様でなされてもよい。すなわち、コンテンツは、種々のタイプや能力やオペレーティングシステムなどを有する複数のクライアントデバイス102に亘って共有されてもよい。コンテンツは、種々のタイプのユーザアカウントに亘って共有されてもよい。
ある実施の形態では、コンテンツ管理システム106は、コンテンツストレージ160における各コンテンツアイテムの位置を特定するコンテンツディレクトリを維持するよう構成されてもよい。コンテンツディレクトリは、コンテンツストレージに保持される各コンテンツアイテムに対して一意のコンテンツエントリを含んでもよい。
コンテンツエントリは、コンテンツ管理システムにおけるコンテンツアイテムの位置を特定するために使用されるコンテンツパスを含んでもよい。例えば、コンテンツパスはコンテンツアイテムの名前とコンテンツアイテムに関連するフォルダ階層とを含んでもよい。例えば、コンテンツパスは、コンテンツアイテムの名前に加えて、そのコンテンツアイテムが置かれているフォルダまたはフォルダのパスを含んでもよい。コンテンツ管理システム106はコンテンツパスを使用して、コンテンツアイテムを適切なフォルダ階層の中で提示してもよい。
コンテンツエントリは、コンテンツストレージ160におけるコンテンツアイテムの位置を特定するコンテンツポインタを含んでもよい。例えば、コンテンツポインタはメモリにおけるコンテンツアイテムの正確なストレージアドレスを含んでもよい。ある実施の形態では、コンテンツポインタは複数の位置を指してもよく、複数の位置のそれぞれはコンテンツアイテムの一部を含む。
コンテンツパスおよびコンテンツポインタに加えて、コンテンツエントリはコンテンツアイテムへのアクセスを有するユーザアカウントを特定するユーザアカウント識別子を含んでもよい。ある実施の形態では、複数のユーザアカウント識別子が単一のコンテンツエントリに関連付けられてもよく、これは、そのコンテンツアイテムが複数のユーザアカウントによる共有アクセスを有することを示す。
私的にコンテンツアイテムを共有するために、共有モジュール130は、ユーザアカウント識別子をコンテンツアイテムに関連付けられたコンテンツエントリに追加し、それにより追加されたユーザアカウントにコンテンツアイテムへのアクセスを与えるよう構成される。共有モジュール130は、ユーザアカウントのコンテンツアイテムへのアクセスを制限するために、コンテンツエントリからユーザアカウント識別子を除くよう構成されてもよい。
公にコンテンツを共有するために、共有モジュール130はユニフォームリソースロケータ(URL)などのカスタムネットワークアドレスを生成するよう構成されてもよい。このカスタムネットワークアドレスにより、任意のウェブブラウザが、コンテンツ管理システム106のコンテンツに認証なしでアクセスすることが可能となる。これを達成するために、共有モジュール130は生成されるURLにコンテンツ特定データを含めるよう構成されてもよい。コンテンツ特定データは、後に、要求されたコンテンツアイテムを適切に特定して返すために使用されてもよい。例えば、共有モジュール130は、生成されるURLにユーザアカウント識別子とコンテンツパスとを含めるよう構成されてもよい。URLが選択されると、URLに含まれるコンテンツ特定データはコンテンツ管理システム106に送信されてもよい。コンテンツ管理システム106は受信したコンテンツ特定データを使用して適切なコンテンツエントリを特定し、そのコンテンツエントリに関連付けられたコンテンツアイテムを返してもよい。
URLを生成することに加えて、共有モジュール130はコンテンツアイテムへのURLが生成されたことを記録するよう構成されてもよい。ある実施の形態では、コンテンツアイテムに関連付けられたコンテンツエントリは、そのコンテンツアイテムへのURLが生成されたか否かを示すURLフラグを含んでもよい。例えば、URLフラグは、コンテンツアイテムへのURLがまだ生成されていないことを示すために最初に0またはfalseに設定されるブール値であってもよい。共有モジュール130は、コンテンツアイテムへのURLを生成した後はフラグの値を1またはtrueに変更するよう構成されてもよい。
ある実施の形態では、共有モジュール130は生成されたURLを非活性化するよう構成されてもよい。例えば、各コンテンツエントリは、要求に応じて生成されたURLからコンテンツが返されるべきか否かを示すURLアクティブフラグを含んでもよい。例えば、共有モジュール130は、URLアクティブフラグが1またはtrueに設定されている場合にのみ、生成されたリンクによって要求されるコンテンツアイテムを返すよう構成されてもよい。したがって、URLが既に生成されたコンテンツアイテムへのアクセスは、URLアクティブフラグの値を変更することにより、容易に制限されうる。これにより、ユーザは、コンテンツアイテムを移動したり生成されたURLを削除したりしなくても、共有コンテンツアイテムへのアクセスを制限できる。同様に、共有モジュール130は、URLアクティブフラグの値を1またはtrueに変えることでURLを再活性化してもよい。したがって、ユーザは、新たなURLを生成する必要なしにコンテンツアイテムへのアクセスを容易に復活させることができる。
具体的なコンポーネントを有するコンテンツ管理システム106が提示されたが、コンテンツ管理システム106のアーキテクチャ構成は単なる可能なひとつの構成であり、より多いまたはより少ないコンポーネントを有する他の構成もまた可能であることは、当業者には理解されるべきである。例えば、ある実施の形態では、コンテンツ管理システム106は、コンテンツ管理システム106に保持されるコンテンツアイテムのコンテンツプレビューを生成するよう構成されるプレビュー生成モジュール136を含んでもよい。
コンテンツプレビューは、読み取り専用バージョンへと変換されたコンテンツアイテムであってもよい。そのバージョンは、クライアントデバイス102がコンテンツアイテムをダウンロードする必要なしに、またクライアントデバイス102がコンテンツアイテムに関連付けられたソフトウエアを使用することなしに、クライアントデバイス102上で提示されうる。例えば、コンテンツプレビューは、ポータブルドキュメントフォーマット(PDF)形式を有するコンテンツアイテムの読み取り専用バージョンであってもよい。したがって、スプレッドシートのようなコンテンツアイテムはPDFに変換され、スプレッドシートのコンテンツアイテムがクライアントデバイス102によってダウンロードされることなく、かつ、スプレッドシートのソフトウエアがクライアントデバイス102にインストールされることなく、要求元のクライアントデバイス102上で表示されてもよい。同様に、ワードプロセッサドキュメントは読み取り専用PDFに変換され、クライアントデバイス102上でワードプロセッサソフトウエアを使用することなしに、要求元のクライアントデバイス102上で表示されてもよい。したがって、コンテンツアイテムは、コンテンツアイテムがダウンロードされることや対応するソフトウエアがクライアントデバイス102にインストールされることが要求されることなしに、クライアントデバイス102上で容易かつ素早く表示されうる。
コンテンツプレビューを提供するために、プレビュー生成モジュール136は、コンテンツ管理システム106を監視し、コンテンツ管理システム106で発生するコンテンツアイテムプレビュートリガを特定するよう構成される。コンテンツアイテムプレビュートリガは、コンテンツ管理システム106へのコンテンツアイテムの追加、またはコンテンツ管理システム106に既に保持されているコンテンツアイテムの変更であってもよい。コンテンツアイテムプレビュートリガを検出すると、プレビュー生成モジュール136は、コンテンツアイテムプレビュートリガに関連するコンテンツアイテム(すなわち、追加されたまたは変更されたコンテンツアイテム)のコンテンツプレビューを生成するよう構成されてもよい。コンテンツプレビューは、当該分野で既知の任意の利用可能な変換ソフトウエアを使用して生成されてもよい。
ある実施の形態では、コンテンツ管理システム106は、コンテンツ管理システム106に保持される各一意のコンテンツアイテムに対して単一のコンテンツプレビューを保持するよう構成されてもよい。単一のコンテンツプレビューは、コンテンツ管理システム106のコンテンツライブラリに同じコンテンツアイテムを保持させている複数のユーザに、そのコンテンツアイテムのプレビューを提供するために使用されてもよい。したがって、重複したコンテンツプレビューは不要となる。これにより、ストレージ要求を低減できる。コンテンツ管理システム106に保持される一意のコンテンツアイテムの各複製についてひとつのコンテンツプレビューが保持されるのではなく、むしろ、一意のコンテンツアイテムについてひとつだけコンテンツプレビューが保持されるからである。さらに、これによりシステムのリソース利用を低減できる。一意のコンテンツアイテムの各複製について一度、ではなく一度だけコンテンツプレビューを生成すればよいからである。
これを達成するために、プレビュー生成モジュール136は、コンテンツアイテムプレビュートリガに関連付けられた各一意のコンテンツアイテムを特定し、そのコンテンツアイテムのコンテンツプレビューが既に生成されたか否かを判定するよう構成されてもよい。ある実施の形態では、プレビュー生成モジュール136は、ハッシュアルゴリズムを使用して各一意のコンテンツアイテムを特定してもよい。ハッシュアルゴリズムは、既知の種々のハッシュアルゴリズムのうちの任意のものであってもよい。例えば、ある実施の形態では、ハッシュアルゴリズムはSHA256関数であってもよい。
ある実施の形態では、ハッシュアルゴリズムは、ハッシュアルゴリズムに入力された各一意のキーに対して一意のハッシュ識別子を生成してもよい。さらに、ある実施の形態では、ハッシュアルゴリズムは参照透過的であってもよい。すなわち、ハッシュアルゴリズムが「等しい」ハッシュキーに対して2度呼び出された場合、そのそれぞれについて、同じ一意のハッシュ識別子が返されるであろう。したがって、例えば、同じ文字列からなる2つのハッシュキーは、ハッシュアルゴリズムで使用された場合に結果として同じ一意のハッシュ識別子を提供するであろう。
ハッシュ識別子は、当該分野で知られている種々の識別子のうちの任意のものであってもよい。例えば、ハッシュ識別子はストリングや整数などであってもよい。
コンテンツアイテムを一意に特定するために、プレビュー生成モジュール136はコンテンツアイテムをハッシュアルゴリズムにおけるハッシュキーとして使用するよう構成されてもよい。結果として得られる一意のハッシュ識別子は、コンテンツアイテムを特定するために使用されうる。ある実施の形態では、コンテンツアイテム全体がハッシュキーとして使用されてもよい。ある実施の形態では、コンテンツアイテムの一部のみがハッシュキーとして使用されてもよい。例えば、コンテンツアイテムの始めからの一部や、コンテンツアイテムの終わりからの一部や、始めおよび終わりの両方からの一部がハッシュキーとして使用されてもよい。
ある実施の形態では、コンテンツアイテムは複数の固定サイズブロックに分けられ、各固定サイズブロックはハッシュアルゴリズムにおけるキーとして使用されてもよい。例えば、プレビュー生成モジュール136は、コンテンツアイテムを複数の固定サイズブロックに分け、結果として得られる複数の固定サイズブロックをハッシュキーとして使用するよう構成されてもよい。固定サイズブロックは例えば2MBや4MB等であってもよく、実装者の裁量に委ねられてもよい。固定サイズブロックは、全てが同じサイズである必要はないが、最大サイズで制限される。例えば、10MBのコンテンツアイテムは3つの固定サイズブロックに分けられ、そのうち2つの固定サイズブロックは4MBであり、ひとつは2MBであってもよい。ある実施の形態では、プレビュー生成モジュール136は、2つの等しいコンテンツアイテムが分けられた場合にそれらが等しい固定サイズブロックを生成するように、コンテンツアイテムを矛盾無いように分けてもよい。さらに、コンテンツアイテムを複数の固定サイズブロックに分けることは、コンテンツ管理システム106がコンテンツアイテムを同じような固定サイズブロックに保持する実施の形態において、より有利となり得る。
プレビュー生成モジュール136は、コンテンツアイテムを分けることにより生じた各固定サイズブロックを、ハッシュアルゴリズムにおけるハッシュキーとして使用するよう構成されてもよい。ある実施の形態では、プレビュー生成モジュール136は、コンテンツアイテムを特定するブロックリストを、結果として得られるハッシュ識別子から生成してもよい。例えば、ある実施の形態では、プレビュー生成モジュール136は各固定サイズブロックを個別のハッシュキーとして使用することにより生じたハッシュ識別子をつなげることによりブロックリストを生成してもよい。結果として得られるブロックリストはコンテンツアイテムを特定するのに使用されてもよい。ある実施の形態では、プレビュー生成モジュール136は、固定サイズブロックに分けられる2つの等しいコンテンツアイテムのそれぞれから生じるハッシュ識別子で生成されるブロックリストが等しくなるように、ブロックリスト生成のための矛盾の無い方法を使用するよう構成されてもよい。
プレビュー生成モジュール136が例えばハッシュアルゴリズムを使用してコンテンツアイテムを特定すると、プレビュー生成モジュール136はそのコンテンツアイテムのコンテンツプレビューが既に存在するか否かを判定してもよい。これを達成するために、ある実施の形態では、プレビュー生成モジュール136は既に生成された各コンテンツプレビューをリストするコンテンツプレビューインデックスをチェックするよう構成されてもよい。例えば、ある実施の形態では、コンテンツプレビューインデックスは既に生成された各コンテンツプレビューに対してプレビューエントリを含んでもよい。各プレビューエントリは、コンテンツプレビューが既に生成された各コンテンツアイテムのブロックリストや他の一意の識別子を含んでもよい。さらに、ある実施の形態では、プレビューインデックスの各プレビューエントリはコンテンツプレビューのメモリにおける位置を含んでもよい。
したがって、プレビュー生成モジュール136は、ブロックリストなどのコンテンツアイテムに関連付けられた一意の識別子をプレビューインデックスから探し、コンテンツアイテムに関連付けられたコンテンツプレビューが既に存在するか否かを判定してもよい。ある実施の形態では、コンテンツ管理システム106はプレビューインデックスを保持するよう構成されたプレビューデータベース170を含んでもよい。プレビュー生成モジュール136は、プレビューデータベース170と通信してプレビューインデックスから探すよう構成されてもよい。
プレビュー生成モジュール136がコンテンツアイテムのプレビューが存在しない、すなわちコンテンツアイテムに関連付けられたプレビューエントリがプレビューインデックスのなかに見つからないと判定した場合、プレビュー生成モジュール136はそのコンテンツアイテムのコンテンツプレビューを生成し、メモリにそのコンテンツプレビューを格納してもよい。例えば、ある実施の形態では、コンテンツプレビューはプレビューデータベース170に保持されてもよい。あるいはまた、ある実施の形態では、コンテンツプレビューはコンテンツストレージ160に保持されてもよい。ある実施の形態では、プレビューデータベース170およびコンテンツストレージ160は同じデータベースの一部であってもよい。
さらに、プレビュー生成モジュール136はコンテンツプレビューが生成されメモリに格納されたことを示す新たなプレビューエントリをプレビューインデックスに生成してもよい。新たなプレビューエントリは、コンテンツプレビューのメモリにおける物理的位置と共に、ブロックリストなどのコンテンツアイテムを特定する一意の識別子を含んでもよい。例えば、ある実施の形態では、プレビューエントリはコンテンツプレビューへのポインタを含んでもよい。
コンテンツアイテムのプレビューが存在するとプレビュー生成モジュール136が判定した場合、コンテンツアイテムの新たなコンテンツプレビューが生成される必要はない。むしろ、以前に生成されたコンテンツプレビューを使用してコンテンツアイテムのプレビューを提供してもよい。
プレビュー生成モジュール136はさらに、コンテンツアイテムに関連付けられたコンテンツエントリに、ブロックリストなどのコンテンツアイテムに関連付けられた一意の識別子を格納するよう構成されてもよい。
図2は、コンテンツアイテム205が複数の固定サイズブロック210a、210b、210cに分けられ、ハッシュ化されてブロックリストが生成される例示的な実施の形態を示す。示されるように、10MBのコンテンツアイテム205は3つの固定サイズブロック210a、210b、210cに分けられる。示されるように、固定サイズブロック210a、210bは4MBであり、固定サイズブロック210cは2MBである。各固定サイズブロック210a、210b、210cはハッシュアルゴリズム215に対するキーとして使用され、結果として3つの一意のハッシュ識別子220a、220b、220cが生成される。
結果として得られるハッシュ識別子220a、220b、220cのそれぞれは、3文字のストリングである。ハッシュ識別子220aはストリング「abc」であり、ハッシュ識別子220bは「def」であり、ハッシュ識別子220cは「ghk」である。ハッシュ識別子220a、220b、220cを使用して、コンテンツアイテム205を一意に特定するためのブロックリストを生成してもよい。例えば、ハッシュ識別子220a、220b、220cをつなげて、「abcdefghk」などのブロックリストを生成してもよい。このブロックリストはコンテンツアイテム205を一意に特定するために使用されてもよい。さらに、ブロックリストを使用して、コンテンツアイテム205についてコンテンツプレビューが既に生成されたか否かを判定してもよい。
図3は、図2を参照して説明された例示的なプレビューインデックス300を示す。示されるように、プレビューインデックス300は複数のプレビューエントリ305を含む。各プレビューエントリ305はブロックリスト310とコンテンツプレビューのメモリにおける位置315とを含む。示されるように、プレビューエントリ320はブロックリスト値「abcdefghk」を有する。これは、コンテンツアイテム205に関連付けられたコンテンツプレビューが存在することを示す。さらに、プレビューエントリ320は、コンテンツアイテム205のコンテンツプレビューがメモリ位置4002に位置することを示す。
図4は、コンテンツプレビューを生成するための例示的な方法の実施の形態を示す。示されるように、方法はブロック405で始まる。そこでは、コンテンツアイテムプレビュートリガが検出される。コンテンツアイテムプレビュートリガはコンテンツアイテムがコンテンツライブラリに追加されたことであってもよいし、コンテンツライブラリ内の既存のコンテンツアイテムの変更であってもよい。方法はブロック410へと続く。そこでは、コンテンツアイテムプレビュートリガに関連付けられたコンテンツアイテムは複数の固定サイズブロックに分けられる。例えば、追加されたまたは変更されたコンテンツアイテムは複数の固定サイズブロックに分けられてもよい。
方法はブロック415へと続く。そこでは、各固定サイズブロックはハッシュアルゴリズムにおけるハッシュキーとして使用される。ある実施の形態では、固定サイズブロックの全体がハッシュキーとして使用されてもよい。ある実施の形態では、固定サイズブロックの一部がハッシュキーとして使用されてもよい。
方法はブロック420へと続く。そこでは、固定サイズブロックをハッシュキーとして使用することの結果として返されるハッシュ識別子からブロックリストが生成される。ブロックリストは任意の方法で生成されてもよい。例えば、ある実施の形態では、ブロックリストは結果として得られるハッシュ識別子をつなげることにより生成されてもよい。ある実施の形態では、ブロックリストは、結果として得られるハッシュ識別子の結合物を第2ハッシュ関数におけるハッシュキーとして使用することにより生成されてもよい。
ブロック425において、方法は、ブロックリストがプレビューインデックスのプレビューエントリに関連付けられているか否かを判定する。ブロック425においてブロックリストに関連付けられたプレビューエントリが存在すると判定された場合、コンテンツアイテムに関連付けられたコンテンツプレビューは既に存在し、方法はブロック440へと続く。そこでは、ブロックリストはコンテンツアイテムに関連付けられたコンテンツエントリに格納される。
ブロック425においてブロック識別子に関連付けられたプレビューエントリがプレビューインデックスに存在しないと判定された場合、コンテンツアイテムに対するコンテンツプレビューはまだ存在せず、方法はブロック430へと続く。そこでは、コンテンツアイテムに対するコンテンツプレビューが生成され、メモリに格納される。方法は次にブロック435へと続く。そこでは、プレビューインデックスに新たなプレビューエントリが生成される。新たなプレビューエントリはブロックリストとコンテンツプレビューのメモリにおける物理的位置とを含んでもよい。最後に、方法はブロック440へと続く。そこでは、ブロックリストはコンテンツアイテムに関連付けられたコンテンツエントリに格納される。
図5は、コンテンツプレビューをクライアントデバイスに提供するための例示的な方法の実施の形態を示す。示されるように、方法はブロック505で始まる。そこでは、クライアントデバイスからプレビュー要求を受ける。プレビュー要求は、クライアントデバイスに関連付けられたコンテンツライブラリに保持されるコンテンツアイテムのプレビューを表示する要求であってもよい。ある実施の形態では、プレビュー要求を生成するよう構成されたボタンや選択可能リンクなどのユーザインタフェース要素をクライアントデバイスに提供してもよい。ユーザインタフェース要素はプレビューすべき特定のコンテンツアイテムを特定してもよい。
ユーザインタフェース要素が選択されると、コンテンツアイテムを特定するプレビュー要求が生成され、コンテンツ管理システムに送られてもよい。プレビュー要求を受けると、方法はブロック510へと続く。そこでは、コンテンツアイテムに関連付けられたブロックリストが特定される。ある実施の形態では、プレビュー要求はブロック識別子を含んでもよい。ある実施の形態では、プレビュー要求は、コンテンツアイテムに関連付けられたコンテンツエントリを特定するのに使用されてもよいプレビュー要求データを含んでもよい。例えば、プレビュー要求データは、ユーザアカウント識別子とコンテンツアイテムに関連付けられたコンテンツパスとを含んでもよい。このデータを使用して、コンテンツアイテムに関連付けられたコンテンツエントリおよびしたがってブロックリストを特定してもよい。
コンテンツアイテムに関連付けられたブロックリストを特定すると、方法はブロック515へと続く。そこでは、要求されているコンテンツプレビューを見つける。ブロックリストを使用して、コンテンツプレビューのメモリにおける位置を特定する対応するプレビューエントリをプレビューインデックスから探してもよい。
コンテンツプレビューが見つかった後、方法はブロック520へと続く。そこでは、クライアントデバイスの表示能力が判定される。例えば、ある実施の形態では、クライアントデバイスに関連付けられたプロファイルデータをチェックすることで、そのクライアントデバイスの表示能力を判定してもよい。ある実施の形態では、クライアントデバイスの表示能力を示す情報を要求する表示能力要求を要求元のクライアントデバイスに送ってもよい。ある実施の形態では、クライアントデバイスの表示能力はクライアントデバイスから受けたプレビュー要求に含まれていてもよい。
クライアントデバイスの表示能力を判定すると、方法はブロック525へと続く。そこでは、コンテンツプレビューはクライアントデバイス上で表示可能なフォーマットでクライアントデバイス上に表示される。
図6Aおよび図6Bは、例示的なありうるシステムの実施の形態を示す。本技術を実施する場合に、より好適な実施の形態は当業者には明らかであろう。他のシステムの実施の形態が可能であることは、当業者には容易に理解されるであろう。
図6Aは、通常のシステムバス計算システムアーキテクチャ600を示す。システムのコンポーネントはバス605を使用して互いに電気的に通信可能となっている。例示的なシステム600は、処理ユニット(CPUすなわちプロセッサ)610と、読み取り専用メモリ(ROM)620やランダムアクセスメモリ(RAM)625などのシステムメモリ615を含む各種のシステムコンポーネントをプロセッサ610に接続するシステムバス605と、を含む。システム600は、プロセッサ610に直接接続されているか、近接しているか、あるいはその一部として統合されている高速メモリのキャッシュを含んでもよい。システム600は、データをメモリ615および/またはストレージデバイス630からキャッシュ612へコピーして、プロセッサ610が高速でアクセスできるようにしてもよい。このようにして、キャッシュは、データを待っている間のプロセッサ610の遅延を回避するパフォーマンスブーストを提供してもよい。これらおよびその他のモジュールは、各種の動作を行うようにプロセッサ610を制御するか、または制御するように構成されてもよい。その他のシステムメモリ615が同様に使用可能であってもよい。メモリ615は、異なる性能特性を持つ複数の異なるタイプのメモリを含んでもよい。プロセッサ610は、いかなる汎用プロセッサを含んでもよいし、プロセッサ610を制御するように構成されたハードウエアモジュールまたはソフトウエアモジュール、例えばストレージデバイス630の中に格納されたモジュール1 632、モジュール2 634、モジュール3 636を含んでもよいし、実際のプロセッサ設計の中にソフトウエアインストラクションが組み込まれている専用プロセッサを含んでもよい。プロセッサ610は本質的に、複数のコアまたはプロセッサ、バス、メモリコントローラ、キャッシュ等を含んでいる、完全に自己完結型のコンピュータシステムであってもよい。マルチコアプロセッサは、対称でも非対称でもよい。
ユーザと計算デバイス600との対話を可能にするため、入力デバイス645は、音声用マイクロフォン、ジェスチャまたはグラフィカル入力用のタッチセンシティブスクリーン、キーボード、マウス、動作入力、音声等、いくつもの入力メカニズムを表してもよい。出力デバイス635は、当業者には公知の複数の出力メカニズムのうちの1つ以上であってもよい。場合によっては、マルチモーダルシステムによって、ユーザが、計算デバイス600と通信するための複数のタイプの入力を行うことが可能になる。通常、通信インタフェース640が、ユーザ入力とシステム出力とを管理してもよい。特定のハードウェア構成上で動作することについての制限はなく、従って、本明細書での基本的な特徴は、改良型のハードウェア構成やファームウェア構成が開発されれば、それらと容易に置き換わりうる。
ストレージデバイス630は不揮発性メモリである。ストレージデバイス630はハードディスクや、コンピュータによってアクセス可能でありかつデータを保持可能な他のタイプのコンピュータ可読媒体、例えば、磁気カセット、フラッシュメモリカード、ソリッドステートメモリデバイス、デジタルバーサタイルディスク、カートリッジ、ランダムアクセスメモリ(RAMs)625、読み取り専用メモリ(ROM)620、それらのハイブリッド、等であってもよい。
ストレージデバイス630は、プロセッサ610を制御するためのソフトウエアモジュール632、634、636を含んでいてもよい。その他のハードウエアモジュールやソフトウエアモジュールも考えられる。ストレージデバイス630は、システムバス605に接続されていてもよい。一態様では、或る機能を行うハードウエアモジュールは、プロセッサ610、バス605、ディスプレイ635等のような、その機能を実行するのに必要なハードウエアコンポーネントと関連してコンピュータ可読媒体の中に格納されたソフトウエアコンポーネントを含んでもよい。
図6Bは、説明された方法を実行したりグラフィカルユーザインタフェース(GUI)を生成して表示したりする際に使用可能なチップセットアーキテクチャを有するコンピュータシステム650を示す。コンピュータシステム650は、開示された技術を実施するのに使用可能なコンピュータハードウエア、ソフトウエアおよびファームウエアの一例である。システム650はプロセッサ655を含んでもよい。プロセッサ655は、ソフトウエア、ファームウエアおよび特定された計算を行うよう構成されたハードウエアを実行可能な、任意の数の物理的および/または論理的に別個のリソースを表す。プロセッサ655は、プロセッサ655への入力およびプロセッサ655からの出力を制御可能なチップセット660と通信してもよい。本例では、チップセット660はディスプレイなどの出力665へ情報を出力し、ストレージデバイス670に対して情報の読み書きを行ってもよい。ストレージデバイス670は例えば磁気媒体やソリッドステート媒体を含んでもよい。チップセット660はまた、RAM675からデータを読み出し、RAM675へデータを書き込んでもよい。チップセット660とのインタフェースのために、種々のユーザインタフェースコンポーネント685とのインタフェースとなるブリッジ680が提供されてもよい。そのようなユーザインタフェースコンポーネント685は、キーボードやマイクロフォンやタッチ検出および処理回路やマウスなどのポインティングデバイスなどを含んでもよい。一般に、システム650への入力は種々のソースのうちの任意のものから来てもよく、または機械により生成されおよび/または人により生成されてもよい。
チップセット660は、異なる複数の物理的インタフェースを有しうるひとつ以上の通信インタフェース690と連結されてもよい。そのような通信インタフェースは、有線および無線ローカルエリアネットワークとのインタフェースと、ブロードバンド無線ネットワークとのインタフェースと、パーソナルエリアネットワークとのインタフェースと、を含んでもよい。本明細書で開示されるGUIを生成し表示し使用する方法のいくつかの応用は、物理的なインタフェースを介して順序付けられたデータセットを受けること、または順序付けられたデータセットがプロセッサ655がストレージ670または675に保持されるデータを解析することで機械そのものにより生成されることを含んでもよい。さらに、機械はユーザインタフェースコンポーネント685を介してユーザから入力を受け、プロセッサ655を使用してこれらの入力を解釈することで、ブラウズ機能などの適切な機能を実行してもよい。
例示的なシステム600および650はひとつ以上のプロセッサ610を有してもよく、または処理能力を高めるためにネットワーク化された計算デバイスのグループまたはクラスタの一部であってもよいことは理解されるであろう。
説明の明確化のため、ある例では、本技術はデバイスやデバイスコンポーネントやソフトウエアで実施される方法のステップまたはルーチンやハードウエアとソフトウエアとの組み合わせを含む機能ブロックを含む個々の機能ブロックを含むものとして提示されてもよい。
ある実施の形態では、コンピュータ可読保持デバイス、媒体およびメモリは、ビットストリームを含むケーブルや無線信号などを含んでもよい。しかしながら、言及される場合、非一時的コンピュータ可読保持媒体は、エネルギやキャリア信号や電磁波や信号そのものなどの媒体を明示的に除外する。
上述の例に係る方法は、コンピュータ可読媒体に保持されるかそうでなければその媒体から利用可能なコンピュータ実行可能インストラクションを使用して実装されてもよい。そのようなインストラクションは、例えば、汎用コンピュータ、専用コンピュータ、または専用処理デバイスに所定の機能もしくは機能のグループを実行させるかそうでなければ実行するよう設定するインストラクションおよびデータを含んでもよい。使用されるコンピュータリソースの一部はネットワークを介してアクセス可能であってもよい。コンピュータ実行可能インストラクションは、例えば、バイナリや、アセンブリ言語などの中間フォーマットインストラクションや、ファームウエアや、ソースコードであってもよい。インストラクション、使用される情報、および/または説明された例に係る方法中に生成される情報を保持するのに使用されうるコンピュータ可読媒体の例は、磁気または光学ディスク、フラッシュメモリ、不揮発性メモリを備えるUSBデバイス、ネットワークストレージデバイスなどを含む。
本開示に係る方法を実装するデバイスはハードウエア、ファームウエアおよび/またはソフトウエアを含んでもよく、種々の形状ファクタのうちの任意のものをとりうる。そのような形状ファクタの典型的な例は、ラップトップや、スマートフォンや、小さい形状ファクタのパーソナルコンピュータや、パーソナルデジタルアシスタントなどを含む。本明細書で説明される機能は周辺機器やアドインカードにおいて実現されてもよい。さらなる例として、そのような機能は回路基板上で異なる複数のチップの間でまたは単一デバイスで実行される異なる複数の処理の間で実現されてもよい。
インストラクション、そのようなインストラクションを運ぶための媒体、そのようなインストラクションを実行するための計算リソース、およびそのような計算リソースをサポートするための他の構成は、本開示で説明される機能を提供するための手段である。
添付の請求項の範囲内の態様を説明するために様々な例および他の情報が使用されたが、そのような例における特定の特徴や構成に基づくいかなる請求項の限定も暗示されてはならない。当業者であれば、これらの例を使用して多種多様な実装を導くことができるであろう。さらに、いくつかの主題が構造的特徴および/または方法ステップの例に特有の言語で記述されたかもしれないが、添付の請求項で規定される主題はこれらの記述された特徴や行為に限定される必要はないことは理解されるべきである。例えば、そのような機能は異なるように分散されてもよいし、本明細書で特定されたもの以外のコンポーネントで実行されてもよい。むしろ、記述された特徴およびステップは、添付の請求項の範囲内のシステムおよび方法のコンポーネントの例として開示される。

Claims (23)

  1. ひとつ以上のプロセッサを介して、コンテンツアイテムを規定するデータを少なくとも第1固定サイズデータブロックと第2固定サイズデータブロックとに分けることであって、前記第1固定サイズデータブロックおよび前記第2固定サイズデータブロックは前記コンテンツアイテムを規定する前記データの一意の部分を、前記第1固定サイズデータブロックに含まれるデータが前記第2固定サイズデータブロックに含まれないように含むことと、
    前記第1固定サイズデータブロックの少なくとも一部をハッシュアルゴリズムにおける第1ハッシュキーとして使用することにより第1ハッシュ識別子を計算することと、
    前記第2固定サイズデータブロックの少なくとも一部を前記ハッシュアルゴリズムにおける第2ハッシュキーとして使用することにより第2ハッシュ識別子を計算することと、
    少なくとも前記第1ハッシュ識別子と前記第2ハッシュ識別子とをつなげて、前記コンテンツアイテムを特定するブロックリストを生成することと、
    利用可能なコンテンツプレビューを有するコンテンツアイテムを特定するプレビューインデックスに前記ブロックリストがリストされているか否かを判定することと、
    前記ブロックリストが前記プレビューインデックスに含まれていないと判定されると、前記コンテンツアイテムのコンテンツプレビューを生成することと、を含むことを特徴とするコンピュータにより実施される方法。
  2. 前記プレビューインデックスに新たなプレビューエントリを生成することをさらに含み、
    前記新たなプレビューエントリは前記ブロックリストとメモリにおける前記コンテンツプレビューの位置とを含むことを特徴とする請求項1に記載のコンピュータにより実施される方法。
  3. 前記判定することは、前記ブロックリストに合う既存のプレビューエントリを前記プレビューインデックスから探すことを含むことを特徴とする請求項2に記載のコンピュータにより実施される方法。
  4. 前記ブロックリストを前記コンテンツアイテムのコンテンツエントリと関連付けることをさらに含み、
    前記コンテンツエントリは前記コンテンツアイテムを記述するメタデータを含むことを特徴とする請求項1から3のいずれか一項に記載のコンピュータにより実施される方法。
  5. 前記コンテンツアイテムに関連するプレビュー要求をクライアントデバイスから受けることをさらに含み、
    前記プレビュー要求は前記ブロックリストを含み、前記コンテンツプレビューの位置は前記ブロックリストを前記プレビューインデックスから探すことにより特定されることを特徴とする請求項1から4のいずれか一項に記載のコンピュータにより実施される方法。
  6. 前記コンテンツアイテムに関連するプレビュー要求をクライアントデバイスから受けることをさらに含み、
    前記プレビュー要求は前記コンテンツアイテムのコンテンツエントリを特定するためのデータを含み、前記コンテンツエントリは前記ブロックリストを含み、前記コンテンツプレビューの位置は前記ブロックリストに基づいて前記プレビューインデックスから探すことにより特定されることを特徴とする請求項1から4のいずれか一項に記載のコンピュータにより実施される方法。
  7. 少なくともひとつのプロセッサと、
    インストラクションを含むメモリと、を備えるシステムであって、
    前記インストラクションは、実行されると、前記少なくともひとつのプロセッサに、
    コンテンツアイテムを規定するデータを複数の固定サイズデータブロックに分けさせ、ここで、前記複数の固定サイズデータブロックの各固定サイズデータブロックは前記コンテンツアイテムの一意の部分を、前記複数の固定サイズデータブロックのうちの第1固定サイズデータブロックに含まれるデータが前記複数の固定サイズデータブロックのうちの他の固定サイズデータブロックに含まれないように含み、
    複数のハッシュ識別子を決定させ、ここで、前記複数のハッシュ識別子の各ハッシュ識別子は前記複数の固定サイズブロックのうちのひとつの固定サイズデータブロックに対応し、各ハッシュ識別子は前記ハッシュ識別子に対応する前記固定サイズブロックの少なくとも一部をハッシュアルゴリズムにおけるハッシュキーとして使用して生成され、
    前記複数のハッシュ識別子をつなげて前記コンテンツアイテムに対するブロックリストを生成させ、
    利用可能なコンテンツプレビューを有すると知られているコンテンツアイテムに対するブロックリストを含むプレビューインデックスに前記ブロックリストが含まれるか否かを判定させ、
    前記ブロックリストが前記プレビューインデックスに含まれていないと判定されると、前記コンテンツアイテムのコンテンツプレビューを生成させることを特徴とするシステム。
  8. 前記インストラクションは前記少なくともひとつのプロセッサにさらに、前記プレビューインデックスに新たなプレビューエントリを生成させ、
    前記新たなプレビューエントリは前記ブロックリストとメモリにおける前記コンテンツプレビューの位置とを含むことを特徴とする請求項7に記載のシステム。
  9. 前記プレビューインデックスに前記ブロックリストが含まれるか否かを判定することは、前記ブロックリストに関連する既存のプレビューエントリを前記プレビューインデックスから探すことを含むことを特徴とする請求項8に記載のシステム。
  10. 前記インストラクションは前記少なくともひとつのプロセッサにさらに、前記ブロックリストを前記コンテンツアイテムのコンテンツエントリと関連付けさせ、
    前記コンテンツエントリは前記コンテンツアイテムを記述するメタデータを含むことを特徴とする請求項7から9のいずれか一項に記載のシステム。
  11. 前記インストラクションは前記少なくともひとつのプロセッサにさらに、前記コンテンツアイテムに関連するプレビュー要求をクライアントデバイスから受けさせ、
    前記プレビュー要求は前記ブロックリストを含み、前記コンテンツプレビューの位置は前記ブロックリストに基づいて前記プレビューインデックスから探すことにより特定されることを特徴とする請求項7から10のいずれか一項に記載のシステム。
  12. 前記インストラクションは前記少なくともひとつのプロセッサにさらに、前記コンテンツアイテムに関連するプレビュー要求をクライアントデバイスから受けさせ、
    前記プレビュー要求は前記コンテンツアイテムに関連するコンテンツエントリを特定するデータを含み、前記コンテンツエントリは前記ブロックリストを含み、前記コンテンツプレビューの位置は前記ブロックリストに基づいて前記プレビューインデックスから探すことにより特定されることを特徴とする請求項7から10のいずれか一項に記載のシステム。
  13. 前記ハッシュアルゴリズムは、一意のハッシュキーのおのおのについて、一意のハッシュ識別子を返すことを特徴とする請求項7から12のいずれか一項に記載のシステム。
  14. インストラクションを含むコンピュータプログラムであって、前記インストラクションは、計算デバイスによって実行されると、前記計算デバイスに、
    第1コンテンツアイテムを第1ユーザアカウントに保持するための要求を受けさせ、ここで、前記第1コンテンツアイテムは少なくとも第1固定サイズデータブロックと第2固定サイズデータブロックとに分けられており、前記第1固定サイズデータブロックおよび前記第2固定サイズデータブロックは前記コンテンツアイテムを規定するデータの異なる部分を、前記第1固定サイズデータブロックに含まれるデータが前記第2固定サイズデータブロックに含まれないように含み、
    前記第1固定サイズデータブロックの少なくとも一部をハッシュアルゴリズムにおける第1ハッシュキーとして使用して第1ハッシュ識別子を計算させ、かつ、前記第2固定サイズデータブロックの少なくとも一部を前記ハッシュアルゴリズムにおける第2ハッシュキーとして使用して第2ハッシュ識別子を計算させ、
    少なくとも前記第1ハッシュ識別子と前記第2ハッシュ識別子とをつなげて前記コンテンツアイテムに対するブロックリストを生成させ、
    プレビューインデックスにおいて前記ブロックリストに関連するプレビューエントリを特定させ、ここで、前記プレビューエントリは第2ユーザアカウントの第2コンテンツアイテムに関連付けられており、
    前記プレビューエントリを前記第1ユーザアカウントの前記第1コンテンツアイテムに割り当てさせることを特徴とするコンピュータプログラム
  15. 前記プレビューインデックスにおいて前記プレビューエントリを特定することは、前記ブロックリストに関連する既存のプレビューエントリを前記プレビューインデックスから探すことを含み、
    前記プレビューインデックスは複数のプレビューエントリを含み、前記複数のプレビューエントリの各プレビューエントリはブロックリストとメモリにおける割り当てられたコンテンツプレビューの位置とを含むことを特徴とする請求項14に記載のコンピュータプログラム
  16. 前記インストラクションは前記計算デバイスにさらに、
    前記コンテンツアイテムに関連するプレビュー要求をクライアントデバイスから受けさせ、
    ンテンツプレビューの位置を特定させ、
    前記コンテンツプレビューを前記クライアントデバイスの返させることを特徴とする請求項14に記載のコンピュータプログラム
  17. 前記プレビュー要求は前記ブロックリストを含み、前記コンテンツプレビューの前記位置は前記ブロックリストに基づいて前記プレビューインデックスから探すことにより特定されることを特徴とする請求項16に記載のコンピュータプログラム
  18. 前記プレビュー要求は前記コンテンツアイテムのコンテンツエントリを特定するデータを含み、前記コンテンツエントリは前記ブロックリストを含み、前記コンテンツプレビューの前記位置は前記ブロックリストに基づいて前記プレビューインデックスから探すことにより特定されることを特徴とする請求項16に記載のコンピュータプログラム
  19. コンテンツアイテムを規定するデータを少なくとも第1固定サイズデータブロックと第2固定サイズデータブロックとに分ける手段であって、前記第1固定サイズデータブロックおよび前記第2固定サイズデータブロックは前記コンテンツアイテムを規定する前記データの一意の部分を、前記第1固定サイズデータブロックに含まれるデータが前記第2固定サイズデータブロックに含まれないように含む手段と、
    前記第1固定サイズデータブロックの少なくとも一部をハッシュアルゴリズムにおける第1ハッシュキーとして使用することにより第1ハッシュ識別子を計算する手段と、
    前記第2固定サイズデータブロックの少なくとも一部を前記ハッシュアルゴリズムにおける第2ハッシュキーとして使用することにより第2ハッシュ識別子を計算する手段と、
    少なくとも前記第1ハッシュ識別子と前記第2ハッシュ識別子とをつなげて前記コンテンツアイテムを特定するブロックリストを生成する手段と、
    利用可能なコンテンツプレビューを有するコンテンツアイテムを特定するプレビューインデックスに前記ブロックリストがリストされているか否かを判定する手段と、
    前記ブロックリストが前記プレビューインデックスに含まれていないと判定されると、前記コンテンツアイテムのコンテンツプレビューを生成する手段と、を備えることを特徴とするシステム。
  20. 前記プレビューインデックスに新たなプレビューエントリを生成する手段をさらに備え、
    前記新たなプレビューエントリは前記ブロックリストとメモリにおける前記コンテンツプレビューの位置とを含むことを特徴とする請求項19に記載のシステム。
  21. 前記ブロックリストを前記コンテンツアイテムのコンテンツエントリと関連付ける手段をさらに備え、
    前記コンテンツエントリは前記コンテンツアイテムを記述するメタデータを含むことを特徴とする請求項19または20に記載のシステム。
  22. 前記コンテンツアイテムに関連するプレビュー要求をクライアントデバイスから受ける手段をさらに備え、
    前記プレビュー要求は前記ブロックリストを含み、前記コンテンツプレビューの位置は前記ブロックリストを前記プレビューインデックスから探すことにより特定されることを特徴とする請求項19から21のいずれか一項に記載のシステム。
  23. 前記コンテンツアイテムに関連するプレビュー要求をクライアントデバイスから受ける手段をさらに備え、
    前記プレビュー要求は前記コンテンツアイテムのコンテンツエントリを特定するデータを含み、前記コンテンツエントリは前記ブロックリストを含み、前記コンテンツプレビューの位置は前記ブロックリストに基づいて前記プレビューインデックスから探すことにより特定されることを特徴とする請求項19から21のいずれか一項に記載のシステム。
JP2015556133A 2013-01-30 2014-01-30 コンテンツプレビューの提供 Active JP6178867B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361758580P 2013-01-30 2013-01-30
US61/758,580 2013-01-30
US13/826,436 US9110937B2 (en) 2013-01-30 2013-03-14 Providing a content preview
US13/826,436 2013-03-14
PCT/US2014/013890 WO2014120944A1 (en) 2013-01-30 2014-01-30 Providing a content preview

Publications (2)

Publication Number Publication Date
JP2016508641A JP2016508641A (ja) 2016-03-22
JP6178867B2 true JP6178867B2 (ja) 2017-08-09

Family

ID=51224157

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015556133A Active JP6178867B2 (ja) 2013-01-30 2014-01-30 コンテンツプレビューの提供

Country Status (5)

Country Link
US (4) US9110937B2 (ja)
EP (1) EP2951734B1 (ja)
JP (1) JP6178867B2 (ja)
AU (1) AU2014212365B2 (ja)
WO (1) WO2014120944A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9646149B2 (en) * 2014-05-06 2017-05-09 Microsoft Technology Licensing, Llc Accelerated application authentication and content delivery
EP2980708A1 (en) * 2014-07-31 2016-02-03 Open Text S.A. Method and system for assigning a content item as a link target to a managed object
US9929990B2 (en) * 2015-04-28 2018-03-27 Dropbox, Inc. Inserting content into an application from an online synchronized content management system
US20170091831A1 (en) * 2015-09-25 2017-03-30 Bookgrabbr, Inc. Automated generation of content-limited previews for electronic media in a sharing platform
US10353865B2 (en) * 2015-12-30 2019-07-16 Dropbox, Inc. On-device indexing of hosted content items
US10783012B2 (en) 2018-04-20 2020-09-22 CopyBucket, Inc. Systems and methods for efficient inter-device data exchange
US11249950B2 (en) * 2018-04-27 2022-02-15 Dropbox, Inc. Aggregated details displayed within file browser interface
US11429380B2 (en) 2018-09-25 2022-08-30 Fossid AB Method for converting source code into numeric identifiers and comparison against data sets
US11537786B2 (en) * 2020-11-16 2022-12-27 Dropbox, Inc. Generating fillable documents and fillable templates in a collaborative environment
US20220358855A1 (en) 2021-05-05 2022-11-10 Disney Enterprises, Inc. Accessibility Enhanced Content Creation

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6385596B1 (en) * 1998-02-06 2002-05-07 Liquid Audio, Inc. Secure online music distribution system
US8001187B2 (en) * 2003-07-01 2011-08-16 Apple Inc. Peer-to-peer active content sharing
US7523098B2 (en) 2004-09-15 2009-04-21 International Business Machines Corporation Systems and methods for efficient data searching, storage and reduction
US20060242163A1 (en) * 2005-04-22 2006-10-26 Microsoft Corporation Local thumbnail cache
JP4525556B2 (ja) * 2005-11-02 2010-08-18 日本電気株式会社 決済システム、取引管理サーバ及びそれらに用いる決済方法並びにそのプログラム
US7469317B2 (en) * 2006-09-12 2008-12-23 Alcatel Lucent Method and system for character string searching
US7797323B1 (en) 2006-10-11 2010-09-14 Hewlett-Packard Development Company, L.P. Producing representative hashes for segments of a file
JP2009059275A (ja) * 2007-09-03 2009-03-19 Dainippon Screen Mfg Co Ltd データ生成方法、データ生成装置およびプログラム
US20090157987A1 (en) * 2007-12-14 2009-06-18 Casdex, Inc. System and Method for Creating Self-Authenticating Documents Including Unique Content Identifiers
US9419801B2 (en) * 2009-05-12 2016-08-16 Infrascale Inc. System and method for transmitting needed portions of a data file between networked computers
US9195636B2 (en) * 2012-03-07 2015-11-24 Box, Inc. Universal file type preview for mobile devices

Also Published As

Publication number Publication date
WO2014120944A1 (en) 2014-08-07
US9110937B2 (en) 2015-08-18
US10489369B2 (en) 2019-11-26
US20170075889A1 (en) 2017-03-16
JP2016508641A (ja) 2016-03-22
US9501511B2 (en) 2016-11-22
US20170322937A1 (en) 2017-11-09
US20140214856A1 (en) 2014-07-31
AU2014212365B2 (en) 2016-06-09
US20150317307A1 (en) 2015-11-05
EP2951734B1 (en) 2017-05-17
EP2951734A1 (en) 2015-12-09
US9747321B2 (en) 2017-08-29
AU2014212365A1 (en) 2015-08-13
WO2014120944A4 (en) 2014-11-13

Similar Documents

Publication Publication Date Title
US11516288B2 (en) Synchronized content library
US10277673B2 (en) Local server for synced online content management system
JP6276388B2 (ja) 共有コンテンツのアクセス許可
JP6178867B2 (ja) コンテンツプレビューの提供
US20180260410A1 (en) Prioritizing content item synchronization based on sharing
US20150012861A1 (en) Syncing content clipboard
US9613047B2 (en) Automatic content item upload
US11816128B2 (en) Managing content across discrete systems
US20140304384A1 (en) Uploading large content items
US10348821B2 (en) Prioritizing structural operations and distributing changes in a synced online content management system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170323

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: 20170710

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170714

R150 Certificate of patent or registration of utility model

Ref document number: 6178867

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250