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