(57)【要約】  クライアントデバイスはオンラインコンテンツ管理システム用のクライアント側アプリケーションを作動させてもよい。このクライアント側アプリケーションはローカルで保持されるデータをコンテンツ管理システムに保持されるデータと同期させてもよい。ローカルウェブサーバはクライアントデバイス上で作動し、クライアント側アプリケーションと連携して、ローカルウェブサーバがローカルで保持されるデータにアクセスできるよう動作する。クライアントデバイスのユーザは、ウェブブラウザを使用してローカルウェブサーバに接続し、クライアント側にローカルで保持される同期データにアクセスすることができる。ローカルウェブサーバを介してウェブブラウザを使用してローカルで保持されるデータにアクセスすることの利点は、性能の向上、データへのオフラインアクセス、およびデータとの相互作用のためのネイティブクライアントアプリケーションの利用を含む。【選択図】図３
2016518653.tif 000002
【特許請求の範囲】
【請求項１】
クライアント計算デバイスにローカルで保持されるデータとオンラインコンテンツ管理システムに保持されるデータとを同期させるために前記オンラインコンテンツ管理システムと通信するクライアント側アプリケーションを、前記クライアント計算デバイスにおいて、実行することと、
前記クライアント計算デバイスにおいてローカルウェブサーバを作動させることであって、前記ローカルウェブサーバはローカルで保持される前記データの少なくとも一部と相互作用するために前記クライアント側アプリケーションと通信するよう構成され、ローカルで保持される前記データは前記オンラインコンテンツ管理システムに保持される前記データと同期されることと、
前記クライアント計算デバイスにおいて、ウェブブラウザを作動させることと、
前記クライアント計算デバイスにおいて作動する前記ローカルウェブサーバに、前記ウェブブラウザを介してアクセスすることと、
ローカルで保持される前記データの前記少なくとも一部と相互作用することと、を含み、
前記ローカルで保持される前記データの前記少なくとも一部と相互作用することは、前記ローカルウェブサーバに前記ウェブブラウザを介してアクセスすることに少なくとも部分的に基づくことを特徴とするコンピュータにより実施される方法。
【請求項２】
前記ウェブブラウザから前記オンラインコンテンツ管理システムに通信情報を送信することと、
前記オンラインコンテンツ管理システムに保持される前記データの少なくとも一部を、前記通信情報に少なくとも部分的に基づき変更することと、をさらに含むことを特徴とする請求項１に記載のコンピュータにより実施される方法。
【請求項３】
前記クライアント側アプリケーションは第１の安全なウェブ接続を介して前記オンラインコンテンツ管理システムと通信し、前記ウェブブラウザは第２の安全なウェブ接続を介して前記ローカルウェブサーバにアクセスし、前記ウェブブラウザから前記オンラインコンテンツ管理システムへの前記通信は第３の安全なウェブ接続を介して生じることを特徴とする請求項２に記載のコンピュータにより実施される方法。
【請求項４】
前記第１の安全なウェブ接続、前記第２の安全なウェブ接続および前記第３の安全なウェブ接続のそれぞれは安全なハイパーテキストトランスファプロトコル接続を有することを特徴とする請求項３に記載のコンピュータにより実施される方法。
【請求項５】
ローカルで保持される前記データの前記少なくとも一部のプレビューを生成することをさらに含み、
前記ローカルで保持される前記データの前記少なくとも一部と相互作用することは、ローカルで保持される前記データの前記少なくとも一部の前記プレビューを提示することを含むことを特徴とする請求項１に記載のコンピュータにより実施される方法。
【請求項６】
前記ローカルウェブサーバに前記ウェブブラウザを介してアクセスすることおよび前記ローカルで保持される前記データの前記少なくとも一部と相互作用することのうちの少なくともひとつは、前記クライアント側アプリケーションが前記オンラインコンテンツ管理と通信できない間に生じることを特徴とする請求項１に記載のコンピュータにより実施される方法。
【請求項７】
前記ローカルで保持される前記データの前記少なくとも一部と相互作用することはさらに、前記クライアント計算デバイスにインストールされたアプリケーションであってローカルで保持される前記データの前記少なくとも一部に関連付けられた特定のデータタイプに関して動作するよう構成されたアプリケーションを実行することを含むことを特徴とする請求項１に記載のコンピュータにより実施される方法。
【請求項８】
プロセッサと、
コンピュータ可読媒体と、
前記コンピュータ可読媒体に保持されるコンピュータ可読インストラクションと、を備え、
前記コンピュータ可読インストラクションは、前記プロセッサによって実行された場合、前記システムに、
クライアントデバイス上のローカルデータとオンラインコンテンツ管理システム上のデータとを同期させるよう構成されたクライアントアプリケーションを前記クライアントデバイスにおいて作動させ、
１以上の指定された時に前記オンラインコンテンツ管理システム上の前記データと同期する前記ローカルデータと相互作用するために前記クライアントアプリケーションと通信するよう構成されたローカルサーバを、前記クライアントデバイスにおいて作動させ、
前記クライアントデバイスから前記ローカルサーバにアクセスさせ、
前記クライアントデバイスから前記ローカルサーバにアクセスすることに少なくとも部分的に基づいて、前記ローカルデータの少なくとも一部と相互作用させるのに有効であることを特徴とするシステム。
【請求項９】
前記インストラクションは前記システムにさらに、前記オンラインコンテンツ管理システムに保持される前記データの少なくとも一部を操作するために前記クライアントデバイスから前記オンラインコンテンツ管理システムに通信情報を送信させることを特徴とする請求項８に記載のシステム。
【請求項１０】
前記オンラインコンテンツ管理システムに保持される前記データの前記少なくとも一部を操作することは、前記データの前記少なくとも一部を変更することおよび１以上のユーザに前記データの前記少なくとも一部へのアクセスを付与することのうちの少なくともひとつを含むことを特徴とする請求項９に記載のシステム。
【請求項１１】
前記ローカルデータの前記少なくとも一部と相互作用することは、前記ローカルデータの前記少なくとも一部を表示すること、再生すること、開くこと、実行すること、および操作することのうちの少なくともひとつを含むことを特徴とする請求項８に記載のシステム。
【請求項１２】
前記ローカルサーバにアクセスすることに少なくとも部分的に基づいて前記ローカルデータの前記少なくとも一部と相互作用することは、前記オンラインコンテンツ管理システムに保持される前記データの対応する部分と相互作用することよりも効率的に行われることを特徴とする請求項８に記載のシステム。
【請求項１３】
前記ローカルデータの前記少なくとも一部と相互作用することは、前記クライアントアプリケーションが前記オンラインコンテンツ管理システムと通信できない間に行われることを特徴とする請求項８に記載のシステム。
【請求項１４】
前記インストラクションは前記システムにさらに、前記クライアントデバイスにインストールされたアプリケーションを実行させ、
前記アプリケーションは前記ローカルデータの前記少なくとも一部で動作可能であり、
前記ローカルデータの前記少なくとも一部と相互作用することは、前記アプリケーションを使用して前記ローカルデータの前記少なくとも一部と相互作用することを含むことを特徴とする請求項８に記載のシステム。
【請求項１５】
前記ローカルデータの前記少なくとも一部と相互作用することは、前記クライアントデバイスで作動する前記クライアントアプリケーションのひとつ以上の設定を変更することを含むことを特徴とする請求項８に記載のシステム。
【請求項１６】
前記ローカルデータは前記オンラインコンテンツ管理システムのウェブページを描画するのに役立つ情報を含むことを特徴とする請求項８に記載のシステム。
【請求項１７】
コンピュータ実行可能インストラクションを保持する非一時的なコンピュータ可読媒体であって、
前記コンピュータ実行可能インストラクションは、
クライアント計算デバイス上のローカルデータとオンラインコンテンツ管理システム上のデータとを同期させるよう構成されたクライアントアプリケーションを作動させることと、
１以上の指定された時に前記オンラインコンテンツ管理システム上の前記データと同期する前記ローカルデータと相互作用するために前記クライアントアプリケーションと通信するよう構成されたローカルサーバを作動させることと、
前記クライアント計算デバイスから前記ローカルサーバにアクセスすることと、
前記クライアント計算デバイスから前記ローカルサーバにアクセスすることに少なくとも部分的に基づいて、前記ローカルデータの少なくとも一部と相互作用することと、を含む方法を前記クライアント計算デバイスに実行させるためのものであることを特徴とする非一時的なコンピュータ可読媒体。
【請求項１８】
前記ローカルサーバにアクセスすることに少なくとも部分的に基づいて前記ローカルデータの前記少なくとも一部と相互作用することは、前記オンラインコンテンツ管理システムに保持される前記データの対応する部分となされうる相互作用よりも効率的に行われることを特徴とする請求項１７に記載の非一時的なコンピュータ可読媒体。
【請求項１９】
前記ローカルデータの前記少なくとも一部と相互作用することは、前記クライアントアプリケーションが前記オンラインコンテンツ管理システムと通信できない間に行われることを特徴とする請求項１７に記載の非一時的なコンピュータ可読媒体。
【請求項２０】
前記インストラクションは前記クライアント計算デバイスにさらに、前記クライアント計算デバイスにインストールされたアプリケーションを実行させ、
前記アプリケーションは前記ローカルデータの前記少なくとも一部で動作可能であり、
前記ローカルデータの前記少なくとも一部と相互作用することは、前記アプリケーションを使用して前記ローカルデータの前記少なくとも一部と相互作用することを含むことを特徴とする請求項１７に記載の非一時的なコンピュータ可読媒体。
【請求項２１】
クライアント計算デバイスにローカルで保持されるデータとオンラインコンテンツ管理システムに保持されるデータとを同期させるために前記オンラインコンテンツ管理システムと通信するクライアント側アプリケーションを、前記クライアント計算デバイスにおいて、実行する手段と、
前記クライアント計算デバイスにおいてローカルウェブサーバを作動させる手段であって、前記ローカルウェブサーバはローカルで保持される前記データの少なくとも一部と相互作用するために前記クライアント側アプリケーションと通信するよう構成され、ローカルで保持される前記データは前記オンラインコンテンツ管理システムに保持される前記データと同期される手段と、
前記クライアント計算デバイスにおいて、ウェブブラウザを作動させる手段と、
前記クライアント計算デバイスにおいて作動する前記ローカルウェブサーバに、前記ウェブブラウザを介してアクセスする手段と、
ローカルで保持される前記データの前記少なくとも一部と相互作用する手段と、を備え、
前記ローカルで保持される前記データの前記少なくとも一部と相互作用することは、前記ローカルウェブサーバに前記ウェブブラウザを介してアクセスすることに少なくとも部分的に基づくことを特徴とするシステム。
【請求項２２】
前記ウェブブラウザから前記オンラインコンテンツ管理システムに通信情報を送信する手段と、
前記オンラインコンテンツ管理システムに保持される前記データの少なくとも一部を、前記通信情報に少なくとも部分的に基づき変更する手段と、をさらに備えることを特徴とする請求項２１に記載のシステム。
【請求項２３】
前記クライアント側アプリケーションは第１の安全なウェブ接続を介して前記オンラインコンテンツ管理システムと通信し、前記ウェブブラウザは第２の安全なウェブ接続を介して前記ローカルウェブサーバにアクセスし、前記ウェブブラウザから前記オンラインコンテンツ管理システムへの前記通信は第３の安全なウェブ接続を介して生じることを特徴とする請求項２２に記載のシステム。
【請求項２４】
前記第１の安全なウェブ接続、前記第２の安全なウェブ接続および前記第３の安全なウェブ接続のそれぞれは安全なハイパーテキストトランスファプロトコル接続を有することを特徴とする請求項２３に記載のシステム。
【請求項２５】
ローカルで保持される前記データの前記少なくとも一部のプレビューを生成する手段をさらに備え、
前記ローカルで保持される前記データの前記少なくとも一部と相互作用することは、ローカルで保持される前記データの前記少なくとも一部の前記プレビューを提示することを含むことを特徴とする請求項２１に記載のシステム。
【請求項２６】
前記ローカルウェブサーバに前記ウェブブラウザを介してアクセスすることおよび前記ローカルで保持される前記データの前記少なくとも一部と相互作用することのうちの少なくともひとつは、前記クライアント側アプリケーションが前記オンラインコンテンツ管理と通信できない間に生じることを特徴とする請求項２１に記載のシステム。
【請求項２７】
前記ローカルで保持される前記データの前記少なくとも一部と相互作用することはさらに、前記クライアント計算デバイスにインストールされたアプリケーションであってローカルで保持される前記データの前記少なくとも一部に関連付けられた特定のデータタイプに関して動作するよう構成されたアプリケーションを実行することを含むことを特徴とする請求項２１に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は同期したデータへのアクセスに関し、特にローカルウェブサーバを使用して、同期したデータを読み出し、それにアクセスし、またはそうでなければそれと相互作用することに関する。
【０００２】
関連出願へのクロスリファレンス 
本願は、２０１３年３月２２日に出願された米国特許出願第１３／８４９，１６５号の優先権の利益を享受する。この出願は、参照によりその全体が本明細書に組み入れられる。
【背景技術】
【０００３】
計算デバイスやアプリケーションはよりありふれたものとなってきている。日々、人々は計算デバイス上のアプリケーションを使用してデータにアクセスしたりデータと相互作用したりする。これは特にモバイル計算デバイスやアプリケーションが数の上でも機能の上でも増えるにつれてそうである。ナビゲートしたり種々のデータにアクセスしたりするために、よくブラウザアプリケーションが使用される。ある人はサーバ上のオンラインとデバイス上のローカルとで同期したデータを有する。ユーザはオンラインサーバに彼のデータを格納し、かつ、そのデータを彼の計算デバイス上のローカルデータと同期させることができる。例えば、ユーザの電子メールはオンラインで保持され、かつ、彼の計算デバイス上にローカルで保持されうる。ユーザがオンラインで保持される電子メールを削除すると、同じローカルバージョンの電子メールが彼の計算デバイスから削除されうる。同様に、ユーザが彼のデバイスからローカル電子メールを削除すると、オンラインバージョンの電子メールもまた削除されうる。
【０００４】
ある場合には、ナビゲートしたりデータと相互作用したりするために、上記の例ではオンラインバージョンの電子メールを読むために、ブラウザアプリケーションを使用すると便利となりうる。しかしながら、ブラウザアプリケーションを介したオンラインデータへのアクセスは、オンラインデータへのネットワーク接続に依存して、遅いかまたは信頼できないものとなりうる。ネットワーク接続が遅いか、断続的か、そうでなければ信頼できない場合、データと相互作用するためにブラウザアプリケーションを使用することに関する全体的なユーザ体験は減少しうる。
【発明の概要】
【０００５】
本開示の追加的な特徴および利点は以下に説明されるであろうし、また部分的にはその説明から明らかであろうし、また本明細書で開示された原理の実施により学習されるであろう。本開示の特徴および利点は、添付の請求項において具体的に示す機器および組み合わせによって実現され、得られうるものである。本開示のこれらの特徴およびその他の特徴は、以下の記述および添付の請求項からさらに十分に明らかになるか、または本明細書で述べた原理の実施によっても分かるものである。
【０００６】
同期したオンラインコンテンツ管理システムと共に動作可能なローカルサーバのためのシステム、方法、および非一時的なコンピュータ可読保持媒体が開示される。本開示の種々の実施の形態は、データが、ローカル計算デバイスおよびオンラインコンテンツ管理システムの両方に保持され、かつそれらの間で同期されることを可能とする。
【０００７】
ある実施の形態では、クライアント計算デバイスは、オンラインコンテンツ管理システムに対応するクライアントアプリケーションを実行してもよい。クライアントアプリケーションは、クライアント計算デバイスにローカルで保持される選択されたデータ（例えば、コンテンツアイテムやファイルやフォルダなど）が、オンラインコンテンツ管理システムで保持され、かつ、同期することを可能としてもよい。ローカルで保持されるデータ（すなわち、ローカルデータ）とオンラインコンテンツ管理システムで保持されるデータ（すなわち、オンラインデータ）との間の同期処理は、１以上の指定された時に（例えば、定時に、同期コマンドに応じて、データが変更された場合、など）、生じてもよい。
【０００８】
一例では、クライアント計算デバイスはウェブブラウザを作動させていてもよい。この例では、ウェブブラウザのユーザはウェブブラウザを使用してインターネットを閲覧してもよい。閲覧の途中または閲覧後に、ユーザは、オンラインコンテンツ管理システムに保持される彼のコンテンツアイテム（例えば、ファイル）のひとつ以上にアクセスするのにウェブブラウザを使用すると決定してもよい。ブラウザは既に開いており、ユーザにより使用されているので、そのブラウザを使用してオンラインデータにアクセスする方が、（オンラインデータに同期した）ローカルデータにアクセスするコンテンツナビゲーション（例えば、ファイルナビゲーション）アプリケーションへと切り替えるよりも、よりユーザ利便性が高くなりうる。しかしながら、ウェブブラウザを使用したオンラインデータへのアクセスに関するユーザ体験は、ネットワーク接続のスピードおよび／または信頼性（例えば、インターネットスピードおよび／または利用可能性）によって変わりうる。
【０００９】
開示される技術は、クライアント計算デバイスにおいて作動するローカルサーバを実現してもよい。ローカルサーバはクライアントアプリケーションと連携して、ローカルで保持されるデータにアクセスするようおよび／またはそのデータと作用し合うよう動作してもよい。そのデータはコンテンツ管理システムのオンラインデータと同期している。ある実施の形態では、ローカルサーバは、クライアント計算デバイス上でのクライアントアプリケーションの実行に含まれていてもよい。ローカルサーバを介して、ブラウザなどのナビゲーションアプリケーションは、オンラインデータと同期したローカルで保持されるデータにアクセスしたり、そのデータと相互作用したりしてもよい。ローカルサーバを介してナビゲーションアプリケーションを使用して同期データにローカルでアクセスすることの利点は、性能の向上、データへのオフラインアクセス、およびデータとの相互作用のためのネイティブクライアントアプリケーションの利用を含む（がそれに限定されない）。
【図面の簡単な説明】
【００１０】
本開示の上記およびその他の利点および特徴は、添付の図面に示す特定の実施の形態を参照することにより明らかになるであろう。これらの図面は、本開示の例示的な実施の形態を示しているだけであり、それゆえ、本開示の範囲を限定しているとみなされてはならないことを理解した上で、添付の図面を用いてさらに具体的かつ詳細に本明細書の原理を記述して説明する。
【００１１】
【図１】図１は、本発明に係る、デバイスおよびネットワークの例示的な構成を示す。
【図２】図２は、同期オンラインコンテンツ管理システムと互換性のあるローカルウェブサーバについての例示的なシステムの実施の形態を示す。
【図３】図３は、同期オンラインコンテンツ管理システムと互換性のあるローカルウェブサーバについての例示的なシステムの実施の形態を示す。
【図４】図４は、同期オンラインコンテンツ管理システムと互換性のあるローカルウェブサーバを使用してデータにアクセスすることについての例示的なシステムの実施の形態を示す。
【図５】図５は、クライアント計算デバイスが同期オンラインコンテンツ管理システムと通信できない場合に、ローカルウェブサーバを使用してデータにアクセスすることについての例示的なシステムの実施の形態を示す。
【図６】図６は、データで動作するよう構成されたアプリケーションを実行するためにローカルウェブサーバを使用してそのデータにアクセスすることについての例示的なシステムの実施の形態を示す。
【図７】図７は、ローカルウェブサーバとクライアント計算デバイスと同期オンラインコンテンツ管理システムとの間で安全に通信することについての例示的なシステムの実施の形態を示す。
【図８】図８は、同期オンラインコンテンツ管理システムと互換性のあるローカルウェブサーバを使用することについての例示的な方法の実施の形態を示す。
【図９】図９は、同期オンラインコンテンツ管理システムと互換性のあるローカルウェブサーバを使用することについての例示的な方法の実施の形態を示す。
【図１０Ａ】図１０Ａおよび図１０Ｂは、例示的なシステムの実施の形態を示す。
【図１０Ｂ】図１０Ａおよび図１０Ｂは、例示的なシステムの実施の形態を示す。
【発明を実施するための形態】
【００１２】
本開示のさまざまな実施の形態について、以下に詳しく論じる特定の実装について論じているが、これは説明のみを目的として行われていることを理解されたい。当業者は、本開示の趣旨および範囲から逸脱することなく他のコンポーネントや構成が用いられうることを認識するであろう。
【００１３】
開示される技術は、ローカル計算デバイスおよびオンラインコンテンツ管理システムについて同期されるデータにアクセスするかまたはそのデータと相互作用することへの当該技術分野における要求を満たす。開示される技術は、クライアントデバイスがクライアント側アプリケーションをサーバ側オンラインコンテンツ管理システムのために実行することを可能としてもよい。クライアント側アプリケーションはサーバ側オンラインコンテンツ管理システムと通信し、クライアント側にローカルで保持されるデータをサーバ側に保持されるデータと同期させてもよい。ローカルウェブサーバは、クライアント側アプリケーションと協働するように、クライアントデバイス上で実装されてもよい。その結果、ローカルウェブサーバはローカルで保持されるデータにアクセスしてもよい。クライアントデバイスは、ローカルウェブサーバと通信するウェブブラウザを作動させてもよい。クライアントデバイスのユーザは、ウェブブラウザを使用してローカルウェブサーバに接続し、クライアント側にローカルで保持される同期データにアクセスすることができる。ローカルウェブサーバを介してウェブブラウザを使用してローカルで保持されるデータにアクセスすることの利点は、性能の向上、データへのオフラインアクセス、およびデータとの相互作用のためのネイティブクライアントアプリケーションの利用を含む。
【００１４】
図１には、例示的なシステム構成１００が示される。このシステム構成１００では、複数の電子デバイスが、コンテンツや他のデータを交換する目的でネットワークを介して通信する。システムは、図１に示されるように、ワイドエリアネットワーク上で使用されるよう構成されてもよい。しかしながら、本原理は、電子デバイス間の通信を促進する様々な種類のネットワーク構成に適用可能である。例えば、図１のシステム１００の各コンポーネントは、ネットワークにおいて局在的または分散的に実装されてもよい。
【００１５】
システム１００では、直接および／または間接通信によりネットワーク１０４と接続された複数のクライアントデバイス１０２１、１０２２、…、１０２ｎ（「１０２」と総称する）を通じて、ユーザはコンテンツ管理システム１０６と相互に作用してもよい。コンテンツ管理システム１０６は、デスクトップコンピュータや、モバイルコンピュータや、携帯電話、スマートフォン、タブレットなどのモバイル通信デバイスや、スマートテレビジョンや、セットトップボックスや、他の任意のネットワーク可能な計算デバイスなどの多種多様なクライアントデバイスからの接続をサポートしてもよい。クライアントデバイス１０２のタイプや性能やオペレーティングシステムなどはいろいろであってよい。さらにコンテンツ管理システム１０６は、複数のクライアントデバイス１０２からの接続を同時に受け付けて相互作用を行ってもよい。
【００１６】
クライアントデバイス１０２ｉにインストールされたクライアント側アプリケーションを介して、ユーザはコンテンツ管理システム１０６と相互に作用してもよい。ある実施の形態では、クライアント側アプリケーションはコンテンツ管理システム用のコンポーネントを含んでもよい。例えば、コンポーネントはスタンドアローンアプリケーションやひとつ以上のアプリケーションプラグインやブラウザエクステンションであってもよい。しかしながら、クライアントデバイス１０２ｉに存在しコンテンツ管理システム１０６と通信するよう構成されたウェブブラウザなどの第３者アプリケーションを介して、ユーザはコンテンツ管理システム１０６と相互に作用してもよい。いずれの場合でも、クライアント側アプリケーションは、ユーザがコンテンツ管理システム１０６と相互作用するためのユーザインタフェース（ＵＩ）を提供してもよい。例えば、ファイルシステムと統合されたクライアント側アプリケーションを介して、またはウェブブラウザアプリケーションを使用して表示されたウェブページを介して、ユーザはコンテンツ管理システム１０６と相互に作用してもよい。
【００１７】
コンテンツ管理システム１０６は、ユーザによるコンテンツの格納や、コンテンツの取得、変更、ブラウズ、および／または共有などの種々のコンテンツ管理タスクの実行を可能としてもよい。さらにコンテンツ管理システム１０６は、ユーザが複数のクライアントデバイス１０２からコンテンツにアクセスすることを可能としてもよい。例えば、クライアントデバイス１０２ｉはネットワーク１０４を介してコンテンツ管理システム１０６にコンテンツをアップロードしてもよい。そのコンテンツは後に、同じクライアントデバイス１０２ｉまたは他のクライアントデバイス１０２ｊを使用してコンテンツ管理システム１０６から取得されてもよい。
【００１８】
種々のコンテンツ管理サービスをより容易にするために、ユーザはコンテンツ管理システム１０６にアカウントを生成してもよい。アカウント情報はユーザアカウントデータベース１５０に維持されてもよい。ユーザアカウントデータベース１５０は、登録ユーザについてのプロファイル情報を保持してもよい。ある場合には、ユーザプロファイルの個人情報はユーザ名および／または電子メールアドレスのみであってもよい。しかしながら、コンテンツ管理システム１０６は追加的なユーザ情報を受け入れるよう構成されてもよい。
【００１９】
ユーザアカウントデータベース１５０は、有料／無料の別などのアカウントタイプや、ファイル編集履歴などの利用情報や、許されている最大ストレージスペースや、利用されているストレージスペースや、コンテンツストレージ位置や、セキュリティ設定や、個人構成設定や、コンテンツ共有データなどのアカウント管理情報を含んでもよい。アカウント管理モジュール１２４は、ユーザアカウントデータベース１５０におけるユーザアカウントの詳細を更新および／または取得するよう構成されてもよい。アカウント管理モジュール１２４は、コンテンツ管理システム１０６の他の任意の数のモジュールと相互に作用するよう構成されてもよい。
【００２０】
アカウントは、そのアカウントで認証されたひとつ以上のクライアントデバイス１０２から、デジタルデータやドキュメントやテキストファイルや音声ファイルやビデオファイルなどのコンテンツを格納するために使用されてもよい。コンテンツは、異なる振る舞いを伴う種々のタイプのフォルダやコンテンツアイテムをグループ化する他のメカニズムを含んでもよい。例えば、アカウントは、任意のユーザからアクセス可能なパブリックフォルダを含んでもよい。パブリックフォルダにはウェブアクセス可能なアドレスが割り当てられてもよい。ウェブアクセス可能なアドレスへのリンクを使用してパブリックフォルダのコンテンツにアクセスしてもよい。他の例では、アカウントは、写真に適する特定の属性やアクションを提供する写真用の写真フォルダや、音声ファイルを再生する能力を提供し他の音声関連アクションを実行する音声フォルダや、他の特殊用途フォルダを含んでもよい。アカウントは、複数のユーザアカウントとリンクされそれらのアカウントから利用可能な共有フォルダまたはグループフォルダを含んでもよい。ある共有フォルダについての複数のユーザに対する複数のパーミッションは異なっていてもよい。
【００２１】
コンテンツはコンテンツストレージ１６０に保持されてもよい。コンテンツストレージ１６０は、ストレージデバイスや、複数のストレージデバイスや、サーバであってもよい。あるいはまた、コンテンツストレージ１６０は、ひとつ以上の通信ネットワークを介してアクセス可能なクラウドストレージプロバイダまたはネットワークストレージであってもよい。コンテンツ管理システム１０６がクライアントデバイス１０２に対して複雑さと詳細とを隠すことで、クライアントデバイス１０２は、コンテンツアイテムがコンテンツ管理システム１０６によって正確にどこに保持されているのかを知る必要はない。ある変形例では、コンテンツ管理システム１０６は、クライアントデバイス１０２ｉ上に現れるフォルダ階層と同じフォルダ階層でコンテンツアイテムを保持してもよい。しかしながら、コンテンツ管理システム１０６は自身の順序や構成や階層でコンテンツアイテムを保持してもよい。コンテンツ管理システム１０６は、ネットワークアクセス可能ストレージ（ＳＡＮ）デバイスや、廉価ディスクの冗長アレイ（ＲＡＩＤ）などにコンテンツアイテムを保持してもよい。コンテンツストレージ１６０は、ＦＡＴ、ＦＡＴ３２、ＮＴＦＳ、ＥＸＴ２、ＥＸＴ３、ＥＸＴ４、ＲｅｉｓｅｒＦＳ、ＢＴＲＦＳなどのひとつ以上のパーティションタイプを使用して、コンテンツアイテムを保持してもよい。
【００２２】
コンテンツストレージ１６０は、コンテンツアイテムおよびコンテンツアイテムタイプおよびコンテンツアイテムと種々のアカウントやフォルダやグループとの関係を説明するメタデータを保持してもよい。コンテンツアイテムのメタデータは、コンテンツアイテムの一部として保持されてもよいし、別個に保持されてもよい。ある変形例では、コンテンツストレージ１６０に保持される各コンテンツアイテムには、システム全体で一意の識別子が割り当てられてもよい。
【００２３】
コンテンツストレージ１６０は、重複したコンテンツアイテムやコンテンツアイテムの重複セグメントを特定することによって、要求されるストレージスペースの量を低減することができる。複数の複製を保持する代わりに、コンテンツストレージ１６０は単一の複製を保持し、ポインタや他のメカニズムを使用して、重複しているものをその単一の複製にリンクさせてもよい。同様に、コンテンツストレージ１６０はファイルをより効率的に保持できるだけでなく、ファイルへの変更や異なるバージョンのコンテンツアイテム（分岐バージョンツリーを含む）や変更履歴を追うコンテンツアイテムバージョン制御を使用することで、操作をやり直す能力を提供してもよい。変更履歴は、元のコンテンツアイテムバージョンに適用された場合、変更後のコンテンツアイテムバージョンを生成する一組の変更を含んでもよい。
【００２４】
コンテンツ管理システム１０６はひとつ以上のクライアントデバイス１０２からのコンテンツの自動同期をサポートするよう構成されてもよい。同期はプラットフォーム不可知的であってもよい。すなわち、コンテンツは、種々のタイプや能力やオペレーティングシステムなどを有する複数のクライアントデバイス１０２に亘って同期されてもよい。例えば、クライアントデバイス１０２ｉはクライアントソフトウエアを含んでもよい。このソフトウエアは、コンテンツ管理システム１０６の同期モジュール１３２を介して、クライアントデバイス１０２ｉのファイルシステムのなかのコンテンツを関連するユーザアカウントの下のコンテンツと同期させる。ある場合では、クライアントソフトウエアは、新たな、削除された、変更された、複製された、または移動されたファイルやフォルダなどの、指定されたフォルダおよびそのサブフォルダのコンテンツに対する任意の変更を同期させてもよい。クライアントソフトウエアは別個のソフトウエアアプリケーションであってもよく、またはオペレーティングシステム中の既存のコンテンツ管理アプリケーションに統合されていてもよく、またはそれらの組み合わせであってもよい。既存のコンテンツ管理アプリケーションに統合されるクライアントソフトウエアの一例では、ユーザはローカルフォルダ内で直接コンテンツを操作し、その間、バックグラウンド処理は変更がないかローカルフォルダを監視し、そのような変更の同期をコンテンツ管理システム１０６に対して実行する。逆に、バックグラウンド処理はコンテンツ管理システム１０６において更新されたコンテンツを特定し、そのような変更の同期をローカルフォルダに対して実行してもよい。クライアントソフトウエアは同期操作の通知を提供してもよく、コンテンツ管理アプリケーションの中で直接、コンテンツ状態の表示を提供してもよい。クライアントデバイス１０２ｉが利用可能なネットワーク接続を有さない場合がある。このシナリオでは、クライアントソフトウエアはファイル変更がないかリンクされたフォルダを監視し、後にネットワーク接続が利用可能となったときにコンテンツ管理システム１０６に対して同期を実行するべくそのような変更をキューに入れてもよい。同様に、ユーザは、コンテンツ管理システム１０６との同期を手動で止めるか一時停止してもよい。
【００２５】
ユーザは、ユーザインタフェースモジュール１２２によって生成され提供されるウェブインタフェースを介して、コンテンツを視たり操作したりしてもよい。例えば、ユーザは、ウェブブラウザ内で、コンテンツ管理システム１０６によって提供されるウェブアドレスへと辿り着いてもよい。コンテンツアイテムの新たなバージョンのアップロードのように、ウェブインタフェースを通じてなされたコンテンツストレージ１６０のコンテンツへの変更や更新は、ユーザのアカウントに関連する他のクライアントデバイス１０２へと伝搬されてもよい。例えば、それぞれが自身のクライアントソフトウエアを有する複数のクライアントデバイス１０２は単一のアカウントと関連付けられていてもよく、そのアカウントのコンテンツアイテムは複数のクライアントデバイス１０２のそれぞれの間で同期されてもよい。
【００２６】
コンテンツ管理システム１０６は、アプリケーションプログラミングインタフェース（ＡＰＩ）を介して他のコンテンツおよび／またはサービスプロバイダ１０９１、１０９２、…、１０９ｎ（「１０９」と総称する）と相互に作用可能な通信インタフェース１２０であって種々のクライアントデバイス１０２とのインタフェースとしての通信インタフェース１２０を含んでもよい。所定のソフトウエアアプリケーションは、ユーザの代わりに、ＡＰＩを介してコンテンツストレージ１６０にアクセスしてもよい。例えば、スマートフォンやタブレット計算デバイス上のアプリケーションなどのソフトウエアパッケージはプログラム上、ユーザが資格証明を提供する場合、コンテンツ管理システム１０６を直接呼び出し、コンテンツを読み取り、書き込み、生成し、消去し、共有し、またはそうでなければ操作してもよい。同様に、ＡＰＩは、ウェブサイトを通じてユーザがコンテンツストレージ１６０の全てまたは一部にアクセスすることを可能としてもよい。
【００２７】
コンテンツ管理システム１０６は認証モジュール１２６を含んでもよい。この認証モジュール１２６は、ユーザの資格証明やセキュリティトークンやＡＰＩコールや特定のクライアントデバイスなどを検証し、認証されたクライアントおよびユーザのみがコンテンツアイテムにアクセスできることを確実なものとしてもよい。さらに、コンテンツ管理システム１０６は解析モジュール１３４モジュールを含んでもよい。この解析モジュール１３４は集合的コンテンツアイテム操作やユーザアクションやネットワーク利用状況や使用されているトータルのストレージスペースや、他の技術的、利用状況的またはビジネス上の指標を追い、それについて報告してもよい。プライバシーおよび／またはセキュリティポリシーは、コンテンツ管理システム１０６に保持されるユーザデータへの許可を得ないアクセスを防止してもよい。
【００２８】
コンテンツ管理システム１０６は、公にまたは私的にコンテンツを共有することを管理するための共有モジュール１３０を含んでもよい。公にコンテンツを共有することは、コンテンツアイテムを、コンテンツ管理システム１０６とネットワーク通信可能な任意の計算デバイスからアクセス可能とすることを含んでもよい。私的にコンテンツを共有することは、コンテンツストレージ１６０のコンテンツアイテムを２以上のユーザアカウントとリンクさせ、それにより各ユーザアカウントがそのコンテンツアイテムへのアクセスを有することを含んでもよい。共有は、プラットフォーム不可知的態様でなされてもよい。すなわち、コンテンツは、種々のタイプや能力やオペレーティングシステムなどを有する複数のクライアントデバイス１０２に亘って共有されてもよい。コンテンツは、種々のタイプのユーザアカウントに亘って共有されてもよい。
【００２９】
ある実施の形態では、コンテンツ管理システム１０６は、コンテンツストレージ１６０における各コンテンツアイテムの位置を特定するコンテンツディレクトリを維持するよう構成されてもよい。コンテンツディレクトリは、コンテンツストレージに保持される各コンテンツアイテムに対して一意のコンテンツエントリを含んでもよい。
【００３０】
コンテンツエントリは、コンテンツ管理システムにおけるコンテンツアイテムの位置を特定するために使用されるコンテンツパスを含んでもよい。例えば、コンテンツパスはコンテンツアイテムの名前とコンテンツアイテムに関連するフォルダ階層とを含んでもよい。例えば、コンテンツパスは、コンテンツアイテムの名前に加えて、そのコンテンツアイテムが置かれているフォルダまたはフォルダのパスを含んでもよい。コンテンツ管理システム１０６はコンテンツパスを使用して、コンテンツアイテムを適切なフォルダ階層の中で提示してもよい。
【００３１】
コンテンツエントリは、コンテンツストレージ１６０におけるコンテンツアイテムの位置を特定するコンテンツポインタを含んでもよい。例えば、コンテンツポインタはメモリにおけるコンテンツアイテムの正確なストレージアドレスを含んでもよい。ある実施の形態では、コンテンツポインタは複数の位置を指してもよく、複数の位置のそれぞれはコンテンツアイテムの一部を含む。
【００３２】
コンテンツパスおよびコンテンツポインタに加えて、コンテンツエントリはコンテンツアイテムへのアクセスを有するユーザアカウントを特定するユーザアカウント識別子を含んでもよい。ある実施の形態では、複数のユーザアカウント識別子が単一のコンテンツエントリに関連付けられてもよく、これは、そのコンテンツアイテムが複数のユーザアカウントによる共有アクセスを有することを示す。
【００３３】
私的にコンテンツアイテムを共有するために、共有モジュール１３０は、ユーザアカウント識別子をコンテンツアイテムに関連付けられたコンテンツエントリに追加し、それにより追加されたユーザアカウントにコンテンツアイテムへのアクセスを与えるよう構成される。共有モジュール１３０は、ユーザアカウントのコンテンツアイテムへのアクセスを制限するために、コンテンツエントリからユーザアカウント識別子を除くよう構成されてもよい。
【００３４】
公にコンテンツを共有するために、共有モジュール１３０はユニフォームリソースロケータ（ＵＲＬ）などのカスタムネットワークアドレスを生成するよう構成されてもよい。このカスタムネットワークアドレスにより、任意のウェブブラウザが、コンテンツ管理システム１０６のコンテンツに認証なしでアクセスすることが可能となる。これを達成するために、共有モジュール１３０は生成されるＵＲＬにコンテンツ特定データを含めるよう構成されてもよい。コンテンツ特定データは、後に、要求されたコンテンツアイテムを適切に特定して返すために使用されてもよい。例えば、共有モジュール１３０は、生成されるＵＲＬにユーザアカウント識別子とコンテンツパスとを含めるよう構成されてもよい。ＵＲＬが選択されると、ＵＲＬに含まれるコンテンツ特定データはコンテンツ管理システム１０６に送信されてもよい。コンテンツ管理システム１０６は受信したコンテンツ特定データを使用して適切なコンテンツエントリを特定し、そのコンテンツエントリに関連付けられたコンテンツアイテムを返してもよい。
【００３５】
ＵＲＬを生成することに加えて、共有モジュール１３０はコンテンツアイテムへのＵＲＬが生成されたことを記録するよう構成されてもよい。ある実施の形態では、コンテンツアイテムに関連付けられたコンテンツエントリは、そのコンテンツアイテムへのＵＲＬが生成されたか否かを示すＵＲＬフラグを含んでもよい。例えば、ＵＲＬフラグは、コンテンツアイテムへのＵＲＬがまだ生成されていないことを示すために最初に０またはｆａｌｓｅに設定されるブール値であってもよい。共有モジュール１３０は、コンテンツアイテムへのＵＲＬを生成した後はフラグの値を１またはｔｒｕｅに変更するよう構成されてもよい。
【００３６】
ある実施の形態では、共有モジュール１３０は生成されたＵＲＬを非活性化するよう構成されてもよい。例えば、各コンテンツエントリは、要求に応じて生成されたＵＲＬからコンテンツが返されるべきか否かを示すＵＲＬアクティブフラグを含んでもよい。例えば、共有モジュール１３０は、ＵＲＬアクティブフラグが１またはｔｒｕｅに設定されている場合にのみ、生成されたリンクによって要求されるコンテンツアイテムを返すよう構成されてもよい。したがって、ＵＲＬが既に生成されたコンテンツアイテムへのアクセスは、ＵＲＬアクティブフラグの値を変更することにより、容易に制限されうる。これにより、ユーザは、コンテンツアイテムを移動したり生成されたＵＲＬを削除したりしなくても、共有コンテンツアイテムへのアクセスを制限できる。同様に、共有モジュール１３０は、ＵＲＬアクティブフラグの値を１またはｔｒｕｅに変えることでＵＲＬを再活性化してもよい。したがって、ユーザは、新たなＵＲＬを生成する必要なしにコンテンツアイテムへのアクセスを容易に復活させることができる。
【００３７】
具体的なコンポーネントを有するコンテンツ管理システム１０６が提示されたが、システム１０６のアーキテクチャ構成は単なる可能なひとつの構成であり、より多いまたはより少ないコンポーネントを有する他の構成もまた可能であることは、当業者には理解されるべきである。
【００３８】
図２を参照すると、図２は、同期オンラインコンテンツ管理システムと互換性のあるローカルウェブサーバについての例示的なシステムの実施の形態を示す。例示的なシステム２００は、クライアント計算デバイス２０２（すなわち、クライアントデバイスやクライアントなど）と、クライアント計算デバイス２０２の外部にあるひとつ以上のサーバ２２０と、を含んでもよい。クライアントデバイス２０２はクライアント側アプリケーション２０４（すなわち、クライアントアプリケーション）を作動させていてもよい。クライアントデバイス２０２はローカルウェブサーバ２０６を作動させていてもよい。ローカルウェブサーバ２０６はクライアントアプリケーション２０４に含まれていてもよいし、クライアントアプリケーション２０４と連携して動作してもよい。さらに、クライアント計算デバイス２０２は、コンテンツ／ファイルナビゲーションアプリケーションすなわちウェブブラウザ２０８などのナビゲーションアプリケーションを作動させていてもよい。
【００３９】
ある実施の形態では、クライアントアプリケーション２０４は、ひとつ以上のサーバ２２０上で作動しているオンラインコンテンツ管理システム２２２（例えば、図１のコンテンツ管理システム１０６）と通信するよう構成されてもよい。クライアントアプリケーション２０４は、インターネットなどのネットワークを介して、コンテンツ管理システム２２２と通信してもよい。クライアントアプリケーション２０４はコンテンツ管理システム２２２と通信し、クライアントデバイス２０２においてローカルで保持されるデータ（すなわち、ローカルデータ）をコンテンツ管理システム２２２に保持されるデータ（すなわち、オンラインデータ）と同期させてもよい。例えば、クライアント２０２においてローカルで保持されるデータのある一片や一部は、コンテンツ管理システム２２２に保持されるデータの対応する一片や一部と同期してもよい。したがって、コンテンツ管理システム２２２およびクライアントデバイス２０２の両方において、コンテンツアイテム（例えば、ファイル）および／または他の情報が保持され、かつ、同期される。ある実施の形態では、クライアント２０２においてローカルで保持されるデータとコンテンツ管理システム２２２で保持されるデータとの間の同期は、毎日決められた時刻や同期ポリシー（例えば、しきい値パーセンテージ分のデータが変更された場合はいつでもなど）により決められた時刻などの１以上の指定された時に生じてもよい。
【００４０】
図３は、同期オンラインコンテンツ管理システムと互換性のあるローカルウェブサーバについての例示的なシステムの実施の形態を示す。例示的なシステムの実施の形態３００は、クライアント３０２と少なくともひとつのサーバ３２０とを含んでもよい。クライアント３０２はクライアントアプリケーション３０４とローカルウェブサーバ３０６とを作動させていてもよい。クライアント３０２はブラウザ３０８などのナビゲーションアプリケーションを作動させていてもよい。オンラインコンテンツ管理システム３２２をホストするためにサーバ３２０などのひとつ以上のサーバが使用されてもよい。
【００４１】
ある実施の形態では、オンラインコンテンツ管理システム３２２はユーザまたは他の主体に関連付けられたデータを保持してもよい。例えば、オンラインコンテンツ管理システム３２２は複数のユーザのアカウントを含むよう構成されてもよい。各アカウントは対応するユーザ（例えば、ユーザＡ）のデータを保持する。図３に示されるように、オンラインコンテンツ管理システム３２２でのユーザＡのアカウント３３０は、コンテンツアイテムＸ３３２（例えば、ファイルＸ）やコンテンツアイテムＹ３３４やコンテンツアイテムＺ３３６などのデータを含んでもよい。
【００４２】
ユーザＡはオンラインコンテンツ管理システム３２２と互換性のあるクライアント側アプリケーション３０４を作動させてもよい。クライアントアプリケーション３０４は、コンテンツ管理システム３２２と通信３４２するよう構成されてもよい。通信３４２を介して、クライアントアプリケーション３０４はユーザＡのローカルアカウント３１０に関連付けられたローカルデータと、コンテンツ管理システム３２２でユーザＡのアカウント３３０の下で保持されるデータと、を同期させてもよい。例えば、ローカルコンテンツアイテム（例えば、ファイル）Ｘ３１２、Ｙ３１４およびＺ３１６はそれぞれ、コンテンツ管理システム３２２に保持されるコンテンツアイテムＸ３３２、コンテンツアイテムＹ３３４およびコンテンツアイテムＺ３３６と同期してもよい。ある実施の形態では、ユーザＡのローカルアカウント３１０はクライアントデバイス３０２におけるディレクトリであってもよい。クライアント３０２におけるユーザＡのローカルアカウント３１０のディレクトリに置かれたコンテンツアイテム、ファイル、および／または他のデータは、コンテンツ管理システム３２２におけるユーザＡのアカウント３３０に含まれるデータと同期してもよい。
【００４３】
図３に示されるように、クライアントアプリケーション３０４はユーザＡのアカウント３１０の下でローカルで保持されるデータ（例えば、コンテンツアイテムＸ３１２、コンテンツアイテムＹ３１４、コンテンツアイテムＺ３１６など）と相互作用してもよい。ある実施の形態では、ローカルウェブサーバ３０６は、例えばクライアントアプリケーション３０４を介してローカルデータと相互作用することにより、ローカルで保持されるデータと相互作用してもよい。
【００４４】
ブラウザ３０８は、ローカルウェブサーバ３０６にアクセスし、ローカルで保持されるデータ（例えば、コンテンツアイテムＸ３１２、コンテンツアイテムＹ３１４、コンテンツアイテムＺ３１６など）と相互作用してもよい。ブラウザ３０８は、ローカルデータ（例えば、コンテンツアイテムＸ３１２、コンテンツアイテムＹ３１４、コンテンツアイテムＺ３１６など）を閲覧し、読み出し、ブラウズし、またはそうでなければ相互作用するためのナビゲーションツールとして機能してもよい。図３に示されるように、ブラウザ３０８は通信３４６を通じてローカルウェブサーバ３０６にアクセスし、ローカルデータと相互作用してもよい。
【００４５】
ある実施の形態では、接続３４４を介したコンテンツ管理システム３２２のデータ（例えば、３３２、３３４、３３６）へのアクセスは、ローカルウェブサーバ３０６および接続３４６を介したローカルデータ（例えば、３１２、３１４、３１６）へのアクセスのバックアップまたは代替として役立つ。ローカルウェブサーバ３０６を介してローカルで保持される（コンテンツ管理システム３２２のデータと同期している）データにアクセスすることは、接続３４４（例えば、インターネット接続）を使用してコンテンツ管理システム３２２のデータにアクセスすることよりもいくつかの点で有利となり得る。これらの利点は、性能の向上、データへのオフラインアクセス、および所定のデータとの相互作用のためにネイティブアプリケーションを用いることができる能力を含む（がそれに限定されない）。
【００４６】
図４は、同期オンラインコンテンツ管理システムと互換性のあるローカルウェブサーバを使用してデータにアクセスすることについての例示的なシステムの実施の形態を示す。例示的なシステムの実施の形態４００は、クライアント４０２と、サーバ４２０などのひとつ以上のサーバと、を含んでもよい。図４では、クライアントアプリケーション４０４およびローカルウェブサーバ４０６はクライアントデバイス４０２において作動しており、ローカルで保持されるデータ（例えば、４１２、４１４、４１６）と相互作用してもよい。ブラウザ４０８もまたクライアントデバイス４０２において作動しており、ローカルウェブサーバ４０６にアクセスして接続４４６を介してローカルデータ（例えば、４１２、４１４、４１６）と相互作用してもよい。さらに、クライアントアプリケーション４０４はコンテンツ管理システム４２２と通信４４２し、ローカルデータをコンテンツ管理システム４２２のデータと同期させてもよい。例えば、ローカルコンテンツアイテム４１２、４１４および４１６はそれぞれ、コンテンツ管理システム４２２のコンテンツアイテム４３２、４３４および４３６と同期してもよい。
【００４７】
上述の通り、ローカルウェブサーバ４０６を介して同期したローカルデータにアクセスすることの利点のひとつは、性能の改善である。性能の改善は、ローカルデータとのより速い相互作用および／または操作を含んでもよい。例えば、ウェブ接続４４４を介してブラウザ４０８から（コンテンツアイテム４１４と同期した）コンテンツアイテム４３４を開く場合と比較して、ローカルウェブサーバ４０６およびクライアントアプリケーション４０４を介してブラウザ４０８からコンテンツアイテム４１４を開く場合のコンテンツアイテム４１４を開くスピードはかなり向上しうる。図４に示されるように、コンテンツアイテム４１４（同期したコンテンツアイテム４３４も同様に）は画像ファイルであってもよい。ローカルウェブサーバ４０６を介して画像コンテンツアイテム４１４のフル解像度バージョン４１８をローカルで開くほうが、オンラインコンテンツ管理システム４２２から画像コンテンツアイテム４３４を開くよりもかなり速くなりうる。ローカル接続（例えば、４４６）のレイテンシ問題は、他のネットワーク接続（例えば４４２、４４４）のそれよりもかなり小さい。
【００４８】
他の例では、性能の改善はデータのプレビューを生成することを含んでもよい。図４に示されるように、コンテンツアイテム４１２、４１４および４１６は画像ファイルであってもよい。この場合、画像ファイル４１２、４１４および４１６についてサムネイルが生成されてもよい。オンラインコンテンツ管理システム４２２でプレビューを生成してそれからそのプレビューを表示のためにコンテンツ管理システム４２２からクライアント４０２へ送信する場合と比較して、クライアントデバイス２０２においてプレビュー（例えば、サムネイル）を生成して表示するほうがより効率的であり得る。ローカルデータのサムネイルの生成は、クライアント計算デバイス４０２の計算リソースを使用して実行されてもよい。
【００４９】
図５は、クライアント計算デバイスが同期オンラインコンテンツ管理システムと通信できない場合に、ローカルウェブサーバを使用してデータにアクセスすることについての例示的なシステムの実施の形態を示す。例示的なシステムの実施の形態５００において、クライアント５０２は、クライアントアプリケーション５０４と、ローカルウェブサーバ５０６と、ブラウザ５０８と、を実装してもよい。サーバ５２０は、コンテンツ管理システム５２２をホストしてもよい。
【００５０】
上述の通り、ローカルデータにアクセスすることの他の利点は、コンテンツ管理システム５２２へのネットワーク接続（例えば、５４２、５４４）がない場合でも、ユーザはデータへのアクセスを有しうる点である。言い換えると、コンテンツ管理システム５２２に保持されるデータ（例えば、５３２、５３４、５３６）へのアクセスは、クライアント５０２がコンテンツ管理システム５２２に接続可能な場合にのみ生じうる。ローカルデータにアクセスすることの利点は、インターネット（例えば、５４２、５４４）が利用不可である場合や無効化されている場合でも、データにアクセス可能である点である。一例では、ユーザは無線インターネットを提供しない飛行機に搭乗してもよい。フライト中に、ユーザはドキュメント（例えば、クライアント５０２上の５１２やコンテンツ管理システム５２２上の５３２）を読むと決めてもよい。ブラウザ５０８を使用してローカルウェブサーバ５０６にアクセスすることで、ユーザは、フライト中はインターネットが利用不可であるにもかかわらず、ドキュメント（例えば、クライアント５０２上の５１２）を読むことができる。
【００５１】
（図５では不図示の）他の例では、ユーザは、クライアント５０２上ではファイル５１６として、コンテンツ管理システム５２２上ではファイル５３６として、同期されている音楽ファイルを聴いていてもよい。ユーザがブラウザ５０８を介してコンテンツ管理システム５２２上のファイル５３６を再生する場合、かつ、ブラウザ５０８とコンテンツ管理システム５２２との間の接続５４４が失われる場合、ファイル５３６の再生は中断されうる。対して、ユーザがローカルウェブサーバ５０６を介してブラウザ５０８上でローカルファイル５１６を再生する場合、コンテンツ管理システム５２２との接続（例えば、５４２、５４４）がない場合でも、ファイル５１６の再生を続けることができる。
【００５２】
図６は、データで動作するよう構成されたアプリケーション（すなわち、ネイティブアプリケーション）を実行するためにローカルウェブサーバを使用してデータにアクセスすることについての例示的なシステムの実施の形態を示す。典型的には、ウェブアプリケーションはデバイスのオペレーティングシステムと通信できない。したがって、オンラインコンテンツ管理システム６２２のファイル（例えば、６３４）などのコンテンツアイテムを開くことは、典型的には、ネイティブアプリケーションを使用してそのコンテンツアイテムを開くというよりむしろ、所定のウェブアプリケーションを使用してそのコンテンツアイテムを開くことのみに制限される。例えば、ブラウザ６０８を使用してコンテンツ管理システム６２２の画像ファイル６３４を開くことは、ブラウザ６０８に含まれるか埋め込まれている画像ビューワを実行して画像ファイル６３４を開くことに制限されうる。
【００５３】
例示的なシステムの実施の形態６００では、ローカルウェブサーバ６０６およびクライアントアプリケーション６０４は、ローカルウェブサーバ６０６および／またはクライアントアプリケーション６０４がクライアント６０２のオペレーティングシステムと通信可能なようにクライアントデバイス６０２上で実装されてもよい。続いて、ブラウザ６０８はローカルウェブサーバ６０６および／またはクライアントアプリケーション６０４にアクセスし、クライアント６０２のオペレーティングシステムと通信してもよい。ローカルウェブサーバ６０６および／またはクライアントアプリケーション６０４は、特定のデータ片についてどのアプリケーションがネイティブかをオペレーティングシステムに尋ねてもよい。したがって、同期データにローカルでアクセスすることの他の利点は、データで動作するよう構成されたネイティブアプリケーションまたは複数のアプリケーションを使用して、そのデータと相互作用するおよび／またはそのデータを操作することができることである。
【００５４】
一例では、ブラウザ６０８はローカルウェブサーバ６０６を介して画像ファイル６１４に辿り着いてもよい。ブラウザ６０８から、画像６１４を開くのにどのネイティブアプリケーションを使用するかを選択するためのインストラクション（例えば、ファイル６１４についての「Ｏｐｅｎ  Ｗｉｔｈ  …」のオプション）をローカルウェブサーバ６０６を介して送ってもよい。例えば、そのインストラクションは、ファイル６１４を表すアイコンに対するマウスの右クリックに対応してもよい。クライアント６０２にインストールされているネイティブアプリケーションのなかに、画像エディタ６１８が含まれてもよい。ブラウザ６０８から開始されたコマンドは、画像エディタ６１８（すなわち、ネイティブアプリケーション、ファイル６１４用に構成されたアプリケーション、またはファイル６１４に関するファイルタイプ用に構成されたアプリケーション）にファイル６１４を開かせてもよい。画像エディタ６１８を使用して画像ファイル６１４を開くことは、より単純なウェブ画像ビューワアプリケーションでコンテンツ管理システム６２２の画像６３４を開く場合と比較して、より豊かなまたはそうでなければよりよい体験を提供できる。
【００５５】
図７は、ローカルウェブサーバとクライアント計算デバイスと同期オンラインコンテンツ管理システムとの間で安全に通信することについての例示的なシステムの実施の形態を示す。例示的なシステムの実施の形態７００において示されるように、ローカルウェブサーバ７０６とブラウザ７０８とコンテンツ管理システム７２２との間の通信は、例えば、ハイパーテキストトランスファプロトコルセキュア（ＨＴＴＰＳ）接続（例えば、７４２、７４４、７４６）に対応してもよい。しかしながら、ＨＴＴＰＳスキームに起因して、ブラウザ７０８はターゲットアドレス「ｈｔｔｐｓ：／／ｌｏｃａｌｈｏｓｔ」に行くことでローカルウェブサーバ７０６にアクセスすることができない。ＨＴＴＰＳスキームは、セキュアソケットレイヤ（ＳＳＬ）証明書などのセキュリティキーを必要としうるからである。
【００５６】
ある実施の形態では、「ｈｔｔｐｓ：／／ｗｗｗ．ｏｎｌｉｎｅｃｏｎｔｅｎｔｍａｎａｇｅｍｅｎｔｓｙｓｔｅｍｌｏｃａｌｈｏｓｔ．ｃｏｍ」７１８などのオンラインコンテンツ管理システム７２２のドメイン名が生成されてもよい。ローカルウェブサーバ７０８がＨＴＴＰＳ接続を受け入れるために、ローカルウェブサーバ７０８のための公開鍵証明書が必要である。ブラウザ７０８が警告なしに証明書を受け入れるためには、その証明書は信頼された認証局７３０によって署名されなくてはならない。認証局７３０は、証明書の持ち主（例えば、ドメイン７１８）が確かに証明書を提供するウェブサーバ（例えばローカルウェブサーバ７０８）のオペレータであることを証明または認証してもよい。
【００５７】
図７では、ローカルウェブサーバ７０６はＳＳＬ証明書７１０を備えてもよい。ＳＳＬ証明書７１０は例えばコンテンツ管理システム７２２の管理者によって準備されてもよい。ＳＳＬ証明書７１０は認証局７３０で検証可能であってもよい。一例では、ローカルウェブサーバ７０６にアクセスするために、ブラウザ７０８はドメイン「ｈｔｔｐｓ：／／ｗｗｗ．ｏｎｌｉｎｅｃｏｎｔｅｎｔｍａｎａｇｅｍｅｎｔｓｙｓｔｅｍｌｏｃａｌｈｏｓｔ．ｃｏｍ」７１８（これもまたコンテンツ管理システム７２２の管理者によって準備されるか設定されてもよい）に行ってもよい。ドメイン名「ｈｔｔｐｓ：／／ｗｗｗ．ｏｎｌｉｎｅｃｏｎｔｅｎｔｍａｎａｇｅｍｅｎｔｓｙｓｔｅｍｌｏｃａｌｈｏｓｔ．ｃｏｍ」７１８は、名前解決されてインターネットプロトコル（ＩＰ）アドレス（例えば、１２７．０．０．１）をループバックするよう構成されてもよい。そのアドレスはローカルウェブサーバ７０６を指す。ブラウザ７０８は、ローカルウェブサーバ７０６のＳＳＬ証明書７１０が正しいことを認証局７３０で検証してもよい。そして、ブラウザ７０８がドメイン名「ｈｔｔｐｓ：／／ｗｗｗ．ｏｎｌｉｎｅｃｏｎｔｅｎｔｍａｎａｇｅｍｅｎｔｓｙｓｔｅｍｌｏｃａｌｈｏｓｔ．ｃｏｍ」を介してローカルウェブサーバ７０６にアクセスできるように、ＨＴＴＰＳ接続７４６が確立されてもよい。
【００５８】
ある実施の形態では、ドメイン名７１８のエントリはローカルドメイン名サービス（ＤＮＳ）７１２に保持されてもよい。これにより、ブラウザ７０８はインターネット接続がない場合でもドメイン名７１８を名前解決してループバックされたＩＰアドレスを得ることができる。一例では、ブラウザ７０８がドメイン名７１８を名前解決してループバックされたＩＰアドレスを得ることができる蓋然性をさらに確保するか増大させるために、ドメイン名７１８のエントリは長い残り寿命（ＴＴＬ）を有するように構成されてもよい。
【００５９】
さらに、ある実施の形態では、クライアントアプリケーション７０４は、ドメイン７１８がどこに名前解決されるかをブラウザ７０８に対して指定するコンテンツアイテム（例えば、ファイル）を含んでもよい。例えば、クライアントアプリケーション７０４は、ドメイン名７１８がローカルウェブサーバ７０６を指すループバックＩＰアドレス（例えば、１２７．０．０．１）に名前解決されることを指定するＡＳＣＩＩファイルを含むよう構成されてもよい。
【００６０】
図８は、同期オンラインコンテンツ管理システムと互換性のあるローカルウェブサーバを使用することについての例示的な方法の実施の形態８００を示す。そうでないと宣言されない限り、種々の実施の形態の範囲内において、追加の、より少ない、または代替のステップが同様のまたは代替的な順序でまたは並列に実行されうることは理解されるべきである。方法の実施の形態８００は、ステップ８０２において、オンラインコンテンツ管理システムと通信するクライアント側アプリケーションの実行で始まってもよい。クライアント側アプリケーションはクライアント計算デバイスで実行されてもよい。クライアント側アプリケーションはコンテンツ管理システムと通信し、クライアント計算デバイスにおいてローカルで保持されるデータをオンラインコンテンツ管理システムに保持されるデータと同期させてもよい。
【００６１】
ステップ８０４において、方法８００は、クライアント計算デバイスにおいてローカルウェブサーバを作動させてもよい。ローカルウェブサーバは、クライアント側アプリケーションと通信し、ローカルで保持されるデータの少なくとも一部と相互作用するよう構成されてもよい。上述の通り、ローカルで保持されるデータはオンラインコンテンツ管理システムに保持されるデータと同期してもよい。ステップ８０６は、クライアント計算デバイスにおいてウェブブラウザを作動させることを含んでもよい。ある実施の形態では、ウェブをブラウズする能力のある任意のアプリケーションが用いられてもよい。ある実施の形態では、コンテンツ／ファイルナビゲーション能力のあるアプリケーションが用いられてもよい。
【００６２】
方法８００は、ステップ８０８において、ウェブブラウザを介して、クライアント計算デバイスにおいて作動しているローカルウェブサーバにアクセスしてもよい。ステップ８１０は、ローカルで保持されるデータの少なくとも一部と相互作用することを含んでもよい。ローカルで保持されるデータの少なくとも一部との相互作用は、ローカルウェブサーバへのウェブブラウザを介したアクセスに少なくとも部分的に基づいてもよい。例えば、ウェブブラウザがオンラインコンテンツ管理システムのコンテンツアイテムの同期オンラインバージョンを開く場合よりも、ウェブブラウザがローカルウェブサーバにアクセスしてローカルで保持されるコンテンツアイテム（例えば、ファイル）を開くほうが、かなり効率的でありうる。
【００６３】
図９は、同期オンラインコンテンツ管理システムと互換性のあるローカルウェブサーバを使用することについての例示的な方法の実施の形態９００を示す。再び、そうでないと宣言されない限り、種々の実施の形態の範囲内において、追加の、より少ない、または代替のステップが同様のまたは代替的な順序でまたは並列に実行されうることは理解されるべきである。ステップ９０２において、例示的な方法の実施の形態９００は、クライアントデバイス上のローカルデータをオンラインコンテンツ管理システム上のデータと同期させるよう構成されたクライアントアプリケーションを作動させてもよい。クライアントアプリケーションはクライアントデバイス上で実行されてもよい。ステップ９０４において、例示的な方法の実施の形態９００は、クライアントアプリケーションと通信してローカルデータと相互作用するよう構成されたローカルサーバを作動させてもよい。ローカルサーバはクライアントデバイス上で実行されてもよい。１以上の指定された時に、ローカルデータはオンラインコンテンツ管理システムのオンラインデータと同期してもよい。
【００６４】
例示的な方法９００は、ステップ９０６において、クライアントデバイスからローカルサーバにアクセスしてもよい。ある実施の形態では、ローカルサーバは、クライアントデバイス上で作動しているブラウザアプリケーションなどのナビゲーションアプリケーションからアクセスされてもよい。ステップ９０８は、ローカルデータの少なくとも一部と相互作用することを含んでもよい。相互作用は、クライアントデバイスからの（例えば、クライアントデバイス上で作動するナビゲーションアプリケーションからの）ローカルサーバへのアクセスに少なくとも部分的に基づいてもよい。
【００６５】
ある実施の形態では、同期データ（ローカルデータまたはオンラインデータ）片へのアクセスまたはそれとの相互作用の要求は、ローカルウェブサーバおよびオンラインコンテンツ管理システムについて同時に開始されてもよい。最初に応答したソース（たいていはローカルウェブサーバ）がいずれであってもそのソースによって要求が満たされてもよい。
【００６６】
上述の通り、ローカルデータとオンラインデータとの同期は１以上の指定された時に生じてもよい。ある実施の形態では、同期期間中に、ブラウザはオンラインコンテンツ管理システムに保持されるオンラインデータにアクセスしてもよい。一例では、ブラウザはクライアントデバイスからコンテンツアイテムを要求してもよい。クライアントデバイスは、ブラウザに、そのコンテンツアイテムは同期（例えば、更新）処理中であると知らせてもよい。すると、ブラウザはオンラインコンテンツ管理システムからコンテンツアイテムにアクセスしてもよい。
【００６７】
ある実施の形態では、本開示の種々の実施の形態は、ひとつ以上の設定やオプションやプリファレンスをブラウザを介して変更可能としてもよい。例えば、ブラウザはクライアントアプリケーションについての選択同期オプションに関する設定を変更してもよい。そのオプションは、クライアントデバイスについてどのコンテンツアイテム、ファイル、および／またはフォルダが同期されるべきかを指定する。他の例では、ブラウザはクライアントアプリケーションおよびオンラインコンテンツ管理システムについて統一されたインタフェースに関する設定を変更してもよい。
【００６８】
ある実施の形態では、本開示の種々の実施の形態は、ローカルウェブサーバおよび／またはクライアントアプリケーションがコンテンツデリバリネットワーク（ＣＤＮ）として機能することを可能としてもよい。一例では、オンラインコンテンツ管理システムについてのウェブサイトデータ（例えば、ＨＴＭＬファイル、ＣＳＳファイル、ジャバスクリプトファイル、ウェブページ画像など）がクライアントアプリケーションに含まれてもよい。ブラウザがローカルウェブサーバにアクセスする場合、ブラウザにおいて、オンラインコンテンツ管理システムのウェブサイトと同様のインタフェースが提供されてもよい。さらに、ブラウザがオンラインコンテンツ管理システムのウェブサイトにアクセスする必要がある場合、ウェブサイトのデータはローカルで保持されているので、ブラウザはより速くウェブサイトをロードできる。加えて、オンラインコンテンツ管理システムのウェブサイトのデータが変更された場合はいつでも、更新されたウェブサイトのデータがクライアントアプリケーションに（例えば、クライアントアプリケーションの更新として）含まれてもよい。
【００６９】
ある実施の形態では、ローカルウェブサーバを介したローカルデータとの相互作用は、コンテンツアイテム（例えば、ファイル）を閲覧することおよび再生することなどの「読み取り専用」相互作用を含んでもよい。ある実施の形態では、コンテンツアイテムの共有やファイルコンテンツの変更などのローカルデータに対する「書き込み」相互作用は、オンラインコンテンツ管理システムとのネットワーク接続を使用して達成されうる。一例では、クライアントアプリケーションは、ファイルを共有するためのオンラインコンテンツ管理システムでのリンクをブラウザで開くことによってのみ、そのファイルを共有することができる。しかしながら、本開示によると、ブラウザは、ファイルを共有するためのオンラインコンテンツ管理システムへのアクセスを、同期データにローカルでアクセスすることの利点に吸収することができる。
【００７０】
本開示の種々の実施の形態は、クライアント側対応物を有する種々のオンラインサービス／システムにおいて実現されてもよい。例えば、オンラインメディアストリーミングサービスはクライアント側アプリケーションを有してもよい。オンラインでおよびローカルで保持されるメディア（例えば、音楽やビデオなど）は同期してもよい。ローカルウェブサーバを使用してローカルで保持されるメディア（これはオンラインメディアと同期していてもよい）にアクセスすることは上述のものと同様の種々の利点を提供しうる。
【００７１】
当業者であれば本開示の範囲と矛盾しないように実現されうる他のアプローチや変形例を認識しうることが想定される。例えば、ある実施の形態では、ローカルウェブサーバおよび／またはクライアントアプリケーションはウェブブラウザのエクステンションとして実装されてもよい。他の例では、ローカルウェブサーバおよび／またはクライアントアプリケーションは、クライアントデバイスの計算リソースを使用してひとつ以上の計算タスクが実行されることを可能としてもよく、それによりオンラインコンテンツ管理システムにより必要とされるリソースが低減される。
【００７２】
図１０Ａおよび図１０Ｂを参照すると、図１０Ａおよび図１０Ｂは、例示的なありうるシステムの実施の形態を示す。本技術を実施する場合に、より好適な実施の形態は当業者には明らかであろう。他のシステムの実施の形態が可能であることは、当業者には容易に理解されるであろう。
【００７３】
図１０Ａは、通常のシステムバス計算システムアーキテクチャ１０００を示す。システムのコンポーネントはバス１００５を使用して互いに電気的に通信可能となっている。例示的なシステム１０００は、処理ユニット（ＣＰＵすなわちプロセッサ）１０１０と、読み取り専用メモリ（ＲＯＭ）１０２０やランダムアクセスメモリ（ＲＡＭ）１０２５などのシステムメモリ１０１５を含む各種のシステムコンポーネントをプロセッサ１０１０に接続するシステムバス１００５と、を含む。システム１０００は、プロセッサ１０１０に直接接続されているか、近接しているか、あるいはその一部として統合されている高速メモリのキャッシュを含んでもよい。システム１０００は、データをメモリ１０１５および／またはストレージデバイス１０３０からキャッシュ１０１２へコピーして、プロセッサ１０１０が高速でアクセスできるようにしてもよい。このようにして、キャッシュは、データを待っている間のプロセッサ１０１０の遅延を回避するパフォーマンスブーストを提供してもよい。これらおよびその他のモジュールは、各種の動作を行うようにプロセッサ１０１０を制御するか、または制御するように構成されてもよい。その他のシステムメモリ１０１５が同様に使用可能であってもよい。メモリ１０１５は、異なる性能特性を持つ複数の異なるタイプのメモリを含んでもよい。プロセッサ１０１０は、いかなる汎用プロセッサを含んでもよいし、プロセッサ１０１０を制御するように構成されたハードウエアモジュールまたはソフトウエアモジュール、例えばストレージデバイス１０３０の中に格納されたモジュール１  １０３２、モジュール２  １０３４、モジュール３  １０３６を含んでもよいし、実際のプロセッサ設計の中にソフトウエアインストラクションが組み込まれている専用プロセッサを含んでもよい。プロセッサ１０１０は本質的に、複数のコアまたはプロセッサ、バス、メモリコントローラ、キャッシュ等を含んでいる、完全に自己完結型のコンピュータシステムであってもよい。マルチコアプロセッサは、対称でも非対称でもよい。
【００７４】
ユーザと計算デバイス１０００との対話を可能にするため、入力デバイス１０４５は、音声用マイクロフォン、ジェスチャまたはグラフィカル入力用のタッチセンシティブスクリーン、キーボード、マウス、動作入力、音声等、いくつもの入力メカニズムを表してもよい。出力デバイス１０３５は、当業者には公知の複数の出力メカニズムのうちの１つ以上であってもよい。場合によっては、マルチモーダルシステムによって、ユーザが、計算デバイス１０００と通信するための複数のタイプの入力を行うことが可能になる。通常、通信インタフェース１０４０が、ユーザ入力とシステム出力とを管理してもよい。特定のハードウェア構成上で動作することについての制限はなく、従って、本明細書での基本的な特徴は、改良型のハードウェア構成やファームウェア構成が開発されれば、それらと容易に置き換わりうる。
【００７５】
ストレージデバイス１０３０は不揮発性メモリである。ストレージデバイス１０３０はハードディスクや、コンピュータによってアクセス可能でありかつデータを保持可能な他のタイプのコンピュータ可読媒体、例えば、磁気カセット、フラッシュメモリカード、ソリッドステートメモリデバイス、デジタルバーサタイルディスク、カートリッジ、ランダムアクセスメモリ（ＲＡＭｓ）１０２５、読み取り専用メモリ（ＲＯＭ）１０２０、それらのハイブリッド、等であってもよい。
【００７６】
ストレージデバイス１０３０は、プロセッサ１０１０を制御するためのソフトウエアモジュール１０３２、１０３４、１０３６を含んでいてもよい。その他のハードウエアモジュールやソフトウエアモジュールも考えられる。ストレージデバイス１０３０は、システムバス１００５に接続されていてもよい。一態様では、或る機能を行うハードウエアモジュールは、プロセッサ１０１０、バス１００５、ディスプレイ１０３５等のような、その機能を実行するのに必要なハードウエアコンポーネントと関連してコンピュータ可読媒体の中に格納されたソフトウエアコンポーネントを含んでもよい。
【００７７】
図１０Ｂは、説明された方法を実行したりグラフィカルユーザインタフェース（ＧＵＩ）を生成して表示したりする際に使用可能なチップセットアーキテクチャを有するコンピュータシステム１０５０を示す。コンピュータシステム１０５０は、開示された技術を実施するのに使用可能なコンピュータハードウエア、ソフトウエアおよびファームウエアの一例である。システム１０５０はプロセッサ１０５５を含んでもよい。プロセッサ１０５５は、ソフトウエア、ファームウエアおよび特定された計算を行うよう構成されたハードウエアを実行可能な、任意の数の物理的および／または論理的に別個のリソースを表す。プロセッサ１０５５は、プロセッサ１０５５への入力およびプロセッサ１０５５からの出力を制御可能なチップセット１０６０と通信してもよい。本例では、チップセット１０６０はディスプレイなどの出力１０６５へ情報を出力し、ストレージデバイス１０７０に対して情報の読み書きを行ってもよい。ストレージデバイス１０７０は例えば磁気媒体やソリッドステート媒体を含んでもよい。チップセット１０６０はまた、ＲＡＭ１０７５からデータを読み出し、ＲＡＭ１０７５へデータを書き込んでもよい。チップセット１０６０とのインタフェースのために、種々のユーザインタフェースコンポーネント１０８５とのインタフェースとなるブリッジ１０８０が提供されてもよい。そのようなユーザインタフェースコンポーネント１０８５は、キーボードやマイクロフォンやタッチ検出および処理回路やマウスなどのポインティングデバイスなどを含んでもよい。一般に、システム１０５０への入力は種々のソースのうちの任意のものから来てもよく、または機械により生成されおよび／または人により生成されてもよい。
【００７８】
チップセット１０６０は、異なる複数の物理的インタフェースを有しうるひとつ以上の通信インタフェース１０９０と連結されてもよい。そのような通信インタフェースは、有線および無線ローカルエリアネットワークとのインタフェースと、ブロードバンド無線ネットワークとのインタフェースと、パーソナルエリアネットワークとのインタフェースと、を含んでもよい。本明細書で開示されるＧＵＩを生成し表示し使用する方法のいくつかの応用は、物理的なインタフェースを介して順序付けられたデータセットを受けること、または順序付けられたデータセットがプロセッサ１０５５がストレージ１０７０または１０７５に保持されるデータを解析することで機械そのものにより生成されることを含んでもよい。さらに、機械はユーザインタフェースコンポーネント１０８５を介してユーザから入力を受け、プロセッサ１０５５を使用してこれらの入力を解釈することで、ブラウズ機能などの適切な機能を実行してもよい。
【００７９】
例示的なシステム１０００および１０５０はひとつ以上のプロセッサ１０１０を有してもよく、または処理能力を高めるためにネットワーク化された計算デバイスのグループまたはクラスタの一部であってもよいことは理解されるであろう。
【００８０】
説明の明確化のため、ある例では、本技術はデバイスやデバイスコンポーネントやソフトウエアで実施される方法のステップまたはルーチンやハードウエアとソフトウエアとの組み合わせを含む機能ブロックを含む個々の機能ブロックを含むものとして提示されてもよい。
【００８１】
ある実施の形態では、コンピュータ可読保持デバイス、媒体およびメモリは、ビットストリームを含むケーブルや無線信号などを含んでもよい。しかしながら、言及される場合、非一時的コンピュータ可読保持媒体は、エネルギやキャリア信号や電磁波や信号そのものなどの媒体を明示的に除外する。
【００８２】
上述の例に係る方法は、コンピュータ可読媒体に保持されるかそうでなければその媒体から利用可能なコンピュータ実行可能インストラクションを使用して実装されてもよい。そのようなインストラクションは、例えば、汎用コンピュータ、専用コンピュータ、または専用処理デバイスに所定の機能もしくは機能のグループを実行させるかそうでなければ実行するよう設定するインストラクションおよびデータを含んでもよい。使用されるコンピュータリソースの一部はネットワークを介してアクセス可能であってもよい。コンピュータ実行可能インストラクションは、例えば、バイナリや、アセンブリ言語などの中間フォーマットインストラクションや、ファームウエアや、ソースコードであってもよい。インストラクション、使用される情報、および／または説明された例に係る方法中に生成される情報を保持するのに使用されうるコンピュータ可読媒体の例は、磁気または光学ディスク、フラッシュメモリ、不揮発性メモリを備えるＵＳＢデバイス、ネットワークストレージデバイスなどを含む。
【００８３】
本開示に係る方法を実装するデバイスはハードウエア、ファームウエアおよび／またはソフトウエアを含んでもよく、種々の形状ファクタのうちの任意のものをとりうる。そのような形状ファクタの典型的な例は、ラップトップや、スマートフォンや、小さい形状ファクタのパーソナルコンピュータや、パーソナルデジタルアシスタントなどを含む。本明細書で説明される機能は周辺機器やアドインカードにおいて実現されてもよい。さらなる例として、そのような機能は回路基板上で異なる複数のチップの間でまたは単一デバイスで実行される異なる複数の処理の間で実現されてもよい。
【００８４】
インストラクション、そのようなインストラクションを運ぶための媒体、そのようなインストラクションを実行するための計算リソース、およびそのような計算リソースをサポートするための他の構成は、本開示で説明される機能を提供するための手段である。
【００８５】
添付の請求項の範囲内の態様を説明するために様々な例および他の情報が使用されたが、そのような例における特定の特徴や構成に基づくいかなる請求項の限定も暗示されてはならない。当業者であれば、これらの例を使用して多種多様な実装を導くことができるであろう。さらに、いくつかの主題が構造的特徴および／または方法ステップの例に特有の言語で記述されたかもしれないが、添付の請求項で規定される主題はこれらの記述された特徴や行為に限定される必要はないことは理解されるべきである。例えば、そのような機能は異なるように分散されてもよいし、本明細書で特定されたもの以外のコンポーネントで実行されてもよい。むしろ、記述された特徴およびステップは、添付の請求項の範囲内のシステムおよび方法のコンポーネントの例として開示される。 
【図１】
2016518653.tif 000003
【図２】
2016518653.tif 000004
【図３】
2016518653.tif 000005
【図４】
2016518653.tif 000006
【図５】
2016518653.tif 000007
【図６】
2016518653.tif 000008
【図７】
2016518653.tif 000009
【図８】
2016518653.tif 000010
【図９】
2016518653.tif 000011
【図１０Ａ】
2016518653.tif 000012
【図１０Ｂ】
2016518653.tif 000013
【手続補正書】
【提出日】平成26年10月3日(2014.10.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
クライアント計算デバイスにローカルで保持されるデータとオンラインコンテンツ管理システムに保持されるデータとを同期させるために前記オンラインコンテンツ管理システムと通信するクライアント側アプリケーションを、前記クライアント計算デバイスにおいて、実行することと、
前記クライアント計算デバイスにおいてローカルウェブサーバを作動させることであって、前記ローカルウェブサーバはローカルで保持される前記データの少なくとも一部と相互作用するために前記クライアント側アプリケーションと通信するよう、かつ、同期したデータと相互作用するための要求に応じて前記オンラインコンテンツ管理システムに保持される前記データの少なくとも一部と相互作用するよう構成され、ローカルで保持される前記データは前記オンラインコンテンツ管理システムに保持される前記データと同期されることと、
前記クライアント計算デバイスにおいて、前記要求を受けるよう構成されたウェブブラウザを作動させることと、
前記クライアント計算デバイスにおいて作動する前記ローカルウェブサーバに、前記ウェブブラウザを介してアクセスすること、および前記受けた要求に応じて前記クライアント側アプリケーションを介して前記オンラインコンテンツ管理システムへのアクセスを試行することと、
前記ローカルウェブサーバに前記ウェブブラウザを介してアクセスすることに少なくとも部分的に基づいて、ローカルで保持される前記データの前記少なくとも一部と相互作用することと、
前記要求に関連付けられたデータを表示することであって、前記表示されるデータはローカルで保持される前記データまたは前記オンラインコンテンツ管理システムに保持される前記データであって、そのどちらであるかはいずれのソースが先に応答するかに基づくことと、を含むことを特徴とするコンピュータにより実施される方法。
【請求項２】
前記ウェブブラウザから前記オンラインコンテンツ管理システムに通信情報を送信することと、
前記オンラインコンテンツ管理システムに保持される前記データの少なくとも一部を、前記通信情報に少なくとも部分的に基づき変更することと、をさらに含むことを特徴とする請求項１に記載のコンピュータにより実施される方法。
【請求項３】
前記クライアント側アプリケーションは第１の安全なウェブ接続を介して前記オンラインコンテンツ管理システムと通信し、前記ウェブブラウザは第２の安全なウェブ接続を介して前記ローカルウェブサーバにアクセスし、前記ウェブブラウザから前記オンラインコンテンツ管理システムへの前記通信は第３の安全なウェブ接続を介して生じることを特徴とする請求項２に記載のコンピュータにより実施される方法。
【請求項４】
前記第１の安全なウェブ接続、前記第２の安全なウェブ接続および前記第３の安全なウェブ接続のそれぞれは安全なハイパーテキストトランスファプロトコル接続を有することを特徴とする請求項３に記載のコンピュータにより実施される方法。
【請求項５】
ローカルで保持される前記データの前記少なくとも一部のプレビューを生成することをさらに含み、
前記ローカルで保持される前記データの前記少なくとも一部と相互作用することは、ローカルで保持される前記データの前記少なくとも一部の前記プレビューを提示することを含むことを特徴とする請求項１に記載のコンピュータにより実施される方法。
【請求項６】
前記ローカルウェブサーバに前記ウェブブラウザを介してアクセスすることおよび前記ローカルで保持される前記データの前記少なくとも一部と相互作用することのうちの少なくともひとつは、前記クライアント側アプリケーションが前記オンラインコンテンツ管理と通信できない間に生じることを特徴とする請求項１に記載のコンピュータにより実施される方法。
【請求項７】
前記ローカルで保持される前記データの前記少なくとも一部と相互作用することはさらに、前記クライアント計算デバイスにインストールされたアプリケーションであってローカルで保持される前記データの前記少なくとも一部に関連付けられた特定のデータタイプに関して動作するよう構成されたアプリケーションを実行することを含むことを特徴とする請求項１に記載のコンピュータにより実施される方法。
【請求項８】
プロセッサと、
コンピュータ可読媒体と、
前記コンピュータ可読媒体に保持されるコンピュータ可読インストラクションと、を備え、
前記コンピュータ可読インストラクションは、前記プロセッサによって実行された場合、前記システムに、
クライアントデバイス上のローカルデータとオンラインコンテンツ管理システム上のデータとを同期させるよう構成されたクライアントアプリケーションを前記クライアントデバイスにおいて作動させ、
１以上の指定された時に前記オンラインコンテンツ管理システム上の前記データと同期する前記ローカルデータと相互作用するために前記クライアントアプリケーションと通信するよう構成されたローカルサーバを、前記クライアントデバイスにおいて作動させ、
前記同期したデータと相互作用するための要求を受けたことに応じて、前記クライアントデバイスから前記ローカルサーバにアクセスさせ、
前記同期したデータと相互作用するための前記要求を受けたことに応じて、前記クライアントデバイスからの前記オンラインコンテンツ管理システムへのアクセスを試行させ、
前記クライアントデバイスから前記ローカルサーバにアクセスすることに少なくとも部分的に基づいて、前記ローカルデータの少なくとも一部と相互作用させ、
前記要求に関連付けられたデータを表示させるのに有効であり、
前記表示されるデータはローカルで保持される前記データまたは前記オンラインコンテンツ管理システムに保持される前記データであって、そのどちらであるかはいずれのソースが先に応答するかに基づくことを特徴とするシステム。
【請求項９】
前記インストラクションは前記システムにさらに、前記オンラインコンテンツ管理システムに保持される前記データの少なくとも一部を操作するために前記クライアントデバイスから前記オンラインコンテンツ管理システムに通信情報を送信させることを特徴とする請求項８に記載のシステム。
【請求項１０】
前記オンラインコンテンツ管理システムに保持される前記データの前記少なくとも一部を操作することは、前記データの前記少なくとも一部を変更することおよび１以上のユーザに前記データの前記少なくとも一部へのアクセスを付与することのうちの少なくともひとつを含むことを特徴とする請求項９に記載のシステム。
【請求項１１】
前記ローカルデータの前記少なくとも一部と相互作用することは、前記ローカルデータの前記少なくとも一部を表示すること、再生すること、開くこと、実行すること、および操作することのうちの少なくともひとつを含むことを特徴とする請求項８に記載のシステム。
【請求項１２】
前記ローカルサーバにアクセスすることに少なくとも部分的に基づいて前記ローカルデータの前記少なくとも一部と相互作用することは、前記オンラインコンテンツ管理システムに保持される前記データの対応する部分と相互作用することよりも効率的に行われることを特徴とする請求項８に記載のシステム。
【請求項１３】
前記ローカルデータの前記少なくとも一部と相互作用することは、前記クライアントアプリケーションが前記オンラインコンテンツ管理システムと通信できない間に行われることを特徴とする請求項８に記載のシステム。
【請求項１４】
前記インストラクションは前記システムにさらに、前記クライアントデバイスにインストールされたアプリケーションを実行させ、
前記アプリケーションは前記ローカルデータの前記少なくとも一部で動作可能であり、
前記ローカルデータの前記少なくとも一部と相互作用することは、前記アプリケーションを使用して前記ローカルデータの前記少なくとも一部と相互作用することを含むことを特徴とする請求項８に記載のシステム。
【請求項１５】
前記ローカルデータの前記少なくとも一部と相互作用することは、前記クライアントデバイスで作動する前記クライアントアプリケーションのひとつ以上の設定を変更することを含むことを特徴とする請求項８に記載のシステム。
【請求項１６】
前記ローカルデータは前記オンラインコンテンツ管理システムのウェブページを描画するのに役立つ情報を含むことを特徴とする請求項８に記載のシステム。
【請求項１７】
コンピュータ実行可能インストラクションを保持する非一時的なコンピュータ可読媒体であって、
前記コンピュータ実行可能インストラクションは、
クライアント計算デバイス上のローカルデータとオンラインコンテンツ管理システム上のデータとを同期させるよう構成されたクライアントアプリケーションを作動させることと、
１以上の指定された時に前記オンラインコンテンツ管理システム上の前記データと同期する前記ローカルデータと相互作用するために前記クライアントアプリケーションと通信するよう構成されたローカルサーバを作動させることと、
前記同期したデータと相互作用するための要求を受けたことに応じて、前記クライアント計算デバイスから前記ローカルサーバにアクセスすることと、
前記同期したデータと相互作用するための前記要求を受けたことに応じて、前記クライアントデバイスからの前記オンラインコンテンツ管理システムへのアクセスを試行することと、
前記クライアント計算デバイスから前記ローカルサーバにアクセスすることに少なくとも部分的に基づいて、前記ローカルデータの少なくとも一部と相互作用することと、
前記要求に関連付けられたデータを表示することであって、前記表示されるデータはローカルで保持される前記データまたは前記オンラインコンテンツ管理システムに保持される前記データであって、そのどちらであるかはいずれのソースが先に応答するかに基づくことと、を含む方法を前記クライアント計算デバイスに実行させるためのものであることを特徴とする非一時的なコンピュータ可読媒体。
【請求項１８】
前記ローカルサーバにアクセスすることに少なくとも部分的に基づいて前記ローカルデータの前記少なくとも一部と相互作用することは、前記オンラインコンテンツ管理システムに保持される前記データの対応する部分となされうる相互作用よりも効率的に行われることを特徴とする請求項１７に記載の非一時的なコンピュータ可読媒体。
【請求項１９】
前記ローカルデータの前記少なくとも一部と相互作用することは、前記クライアントアプリケーションが前記オンラインコンテンツ管理システムと通信できない間に行われることを特徴とする請求項１７に記載の非一時的なコンピュータ可読媒体。
【請求項２０】
前記インストラクションは前記クライアント計算デバイスにさらに、前記クライアント計算デバイスにインストールされたアプリケーションを実行させ、
前記アプリケーションは前記ローカルデータの前記少なくとも一部で動作可能であり、
前記ローカルデータの前記少なくとも一部と相互作用することは、前記アプリケーションを使用して前記ローカルデータの前記少なくとも一部と相互作用することを含むことを特徴とする請求項１７に記載の非一時的なコンピュータ可読媒体。
【請求項２１】
クライアント計算デバイスにローカルで保持されるデータとオンラインコンテンツ管理システムに保持されるデータとを同期させるために前記オンラインコンテンツ管理システムと通信するクライアント側アプリケーションを、前記クライアント計算デバイスにおいて、実行する手段と、
前記クライアント計算デバイスにおいてローカルウェブサーバを作動させる手段であって、前記ローカルウェブサーバはローカルで保持される前記データの少なくとも一部と相互作用するために前記クライアント側アプリケーションと通信するよう、かつ、前記オンラインコンテンツ管理システムに保持される前記データの少なくとも一部と相互作用するよう構成され、ローカルで保持される前記データは前記オンラインコンテンツ管理システムに保持される前記データと同期される手段と、
前記クライアント計算デバイスにおいて、前記要求を受けるよう構成されたウェブブラウザを作動させる手段と、
前記クライアント計算デバイスにおいて作動する前記ローカルウェブサーバに、前記ウェブブラウザを介してアクセスし、かつ、前記受けた要求に応じて前記クライアント側アプリケーションを介して前記オンラインコンテンツ管理システムにアクセスする手段と、
ローカルで保持される前記データの前記少なくとも一部と相互作用する手段であって、前記ローカルで保持される前記データの前記少なくとも一部と相互作用することは、前記ローカルウェブサーバに前記ウェブブラウザを介してアクセスすることに少なくとも部分的に基づく手段と、
前記要求に関連付けられたデータを表示する手段であって、前記表示されるデータはローカルで保持される前記データまたは前記オンラインコンテンツ管理システムに保持される前記データであって、そのどちらであるかはいずれのソースが先に応答するかに基づく手段と、を備えることを特徴とするシステム。
【請求項２２】
前記ウェブブラウザから前記オンラインコンテンツ管理システムに通信情報を送信する手段と、
前記オンラインコンテンツ管理システムに保持される前記データの少なくとも一部を、前記通信情報に少なくとも部分的に基づき変更する手段と、をさらに備えることを特徴とする請求項２１に記載のシステム。
【請求項２３】
前記クライアント側アプリケーションは第１の安全なウェブ接続を介して前記オンラインコンテンツ管理システムと通信し、前記ウェブブラウザは第２の安全なウェブ接続を介して前記ローカルウェブサーバにアクセスし、前記ウェブブラウザから前記オンラインコンテンツ管理システムへの前記通信は第３の安全なウェブ接続を介して生じることを特徴とする請求項２２に記載のシステム。
【請求項２４】
前記第１の安全なウェブ接続、前記第２の安全なウェブ接続および前記第３の安全なウェブ接続のそれぞれは安全なハイパーテキストトランスファプロトコル接続を有することを特徴とする請求項２３に記載のシステム。
【請求項２５】
ローカルで保持される前記データの前記少なくとも一部のプレビューを生成する手段をさらに備え、
前記ローカルで保持される前記データの前記少なくとも一部と相互作用することは、ローカルで保持される前記データの前記少なくとも一部の前記プレビューを提示することを含むことを特徴とする請求項２１に記載のシステム。
【請求項２６】
前記ローカルウェブサーバに前記ウェブブラウザを介してアクセスすることおよび前記ローカルで保持される前記データの前記少なくとも一部と相互作用することのうちの少なくともひとつは、前記クライアント側アプリケーションが前記オンラインコンテンツ管理と通信できない間に生じることを特徴とする請求項２１に記載のシステム。
【請求項２７】
前記ローカルで保持される前記データの前記少なくとも一部と相互作用することはさらに、前記クライアント計算デバイスにインストールされたアプリケーションであってローカルで保持される前記データの前記少なくとも一部に関連付けられた特定のデータタイプに関して動作するよう構成されたアプリケーションを実行することを含むことを特徴とする請求項２１に記載のシステム。
【国際調査報告】
2016518653.tif 000014
2016518653.tif 000015