(57)【特許請求の範囲】
【請求項１】
指示を含んだ非一時的なコンピュータ可読記憶媒体であって、前記指示は、その指示を実行するコンピュータ・システムに、
メディア・ファイルを求めて前記コンピュータ・システムのデータストレージ装置をスキャンすることと、
そのスキャン中に見つかった１つ以上のメディア・ファイルを含んだ前記データストレージ装置のディレクトリの非メディア・ファイルに対するメディア・ファイルの比率が閾値百分率を超える場合に当該ディレクトリをアップロード・ディレクトリ・リストに追加することと、
前記１つ以上のメディア・ファイルのそれぞれの識別子を判定することと、
その判定された識別子をサーバに送信することと、
その送信された識別子が前記サーバによって既に格納されているメディア・ファイルの識別子に一致するかどうかの確認を前記サーバから受信することと、
前記サーバによって既に格納されているメディア・ファイルの識別子に一致しないと確認された識別子を有する１つ以上のメディア・ファイルを前記サーバにアップロードすることと
を行わせる、非一時的なコンピュータ可読記憶媒体。
【請求項２】
前記指示は、
前記コンピュータ・システムに接続されている外部ストレージ装置を検知することと、
メディア・ファイルを求めて前記外部ストレージ装置をスキャンすることと、
前記外部ストレージ装置のスキャン中に見つかった１つ以上のメディア・ファイルを含んだ前記外部ストレージ装置のディレクトリをアップロード・ディレクトリ・リストに追加することと
を前記コンピュータ・システムに更に行わせる、請求項１に記載の非一時的なコンピュータ可読記憶媒体。
【請求項３】
前記指示は、
前記コンピュータ・システムに接続されている周辺機器を検知することと、
メディア・ファイルを求めて前記周辺機器のメモリをスキャンすることと、
前記周辺機器の前記メモリのスキャン中に見つかった１つ以上のメディア・ファイルを前記アップロード・ディレクトリ・リストの中の目的のディレクトリにコピーすることとを前記コンピュータ・システムに更に行わせる、請求項１に記載の非一時的なコンピュータ可読記憶媒体。
【請求項４】
前記指示は、
前記周辺機器の前記メモリ上に見つかった前記１つ以上のメディア・ファイルのそれぞれの識別子を判定することと、
前記１つ以上のメディア・ファイルの判定された前記識別子を、前記コンピュータ・システムの前記データストレージ装置上に格納されているメディア・ファイルの識別子と比較することと
を前記コンピュータ・システムに更に行わせ、前記周辺機器の前記メモリ上の前記１つ以上のメディア・ファイルの判定された前記識別子が、前記コンピュータ・システムの前記データストレージ装置上に既に格納されているメディア・ファイルの識別子に一致しない場合には、前記１つ以上のメディア・ファイルは前記目的のディレクトリにコピーされる、請求項３に記載の非一時的なコンピュータ可読記憶媒体。
【請求項５】
前記指示は、前記１つ以上のメディア・ファイルが前記目的のディレクトリにコピーされた後、前記周辺機器の前記メモリから前記１つ以上のメディア・ファイルを削除することを前記コンピュータ・システムに更に行わせる、請求項３に記載の非一時的なコンピュータ可読記憶媒体。
【請求項６】
前記指示は、以前のアップロードのタイムスタンプの後に作成されて前記ディレクトリに含まれている前記１つ以上のメディア・ファイルのそれぞれの識別子を判定することを前記コンピュータ・システムに更に行わせる、請求項１に記載の非一時的なコンピュータ可読記憶媒体。
【請求項７】
前記データストレージ装置をスキャンするという前記指示は、
前記ディレクトリの中のファイルのメタデータを検知することと、
前記ファイルの前記メタデータに基づいて前記ファイルをメディア・ファイルであると認定することと
を前記コンピュータ・システムに更に行わせる、請求項１に記載の非一時的なコンピュータ可読記憶媒体。
【請求項８】
前記ファイルをメディア・ファイルであると認定するという前記指示は、前記ファイルの前記メタデータからの各Ｅｘｉｆデータを分析することを前記コンピュータ・システムに更に行わせる、請求項７に記載の非一時的なコンピュータ可読記憶媒体。
【請求項９】
前記ファイルをメディア・ファイルであると認定するという前記指示は、前記ディレクトリの中のＥｘｉｆデータを有する複数のファイルを分析することを前記コンピュータ・システムに更に行わせる、請求項７に記載の非一時的なコンピュータ可読記憶媒体。
【請求項１０】
前記ファイルをメディア・ファイルであると認定するという前記指示は、前記ファイルの各解像度を分析することを前記コンピュータ・システムに更に行わせる、請求項７に記載の非一時的なコンピュータ可読記憶媒体。
【請求項１１】
前記指示は、
前記データストレージ装置をスキャンするときに読み取り遅延を検知することと、
前記読み取り遅延に基づいて前記スキャンの速度を落とすことと
を前記コンピュータ・システムに更に行わせる、請求項１に記載の非一時的なコンピュータ可読記憶媒体。
【請求項１２】
前記１つ以上のメディア・ファイルのそれぞれの識別子を判定するという前記指示は、それぞれのダイジェストを生成するべく前記１つ以上のメディア・ファイルにハッシュ関数を適用することを前記コンピュータ・システムに更に行わせる、請求項１に記載の非一時的なコンピュータ可読記憶媒体。
【請求項１３】
前記周辺機器の前記メモリ上に見つかった前記１つ以上のメディア・ファイルの各識別子は、前記周辺機器の前記メモリ上に見つかった前記１つ以上のメディア・ファイルのそれぞれのファイル名を含む、請求項４に記載の非一時的なコンピュータ可読記憶媒体。
【請求項１４】
１つ以上のプロセッサと、
データストレージ装置と、
指示が格納されている非一時的なコンピュータ可読記憶媒体と
を備えるシステムであって、前記指示は、前記１つ以上のプロセッサにより実行されると、
メディア・ファイルを求めて前記データストレージ装置をスキャンすることと、
そのスキャン中に見つかった１つ以上のメディア・ファイルを含んだ前記データストレージ装置のディレクトリの非メディア・ファイルに対するメディア・ファイルの比率が閾値百分率を超える場合に当該ディレクトリをアップロード・ディレクトリ・リストに追加することと、
前記１つ以上のメディア・ファイルのそれぞれの識別子を判定することと、
その判定された識別子をサーバに送信することと、
その送信された識別子が前記サーバによって既に格納されているメディア・ファイルの識別子に一致するかどうかの確認を前記サーバから受信することと、
前記サーバによって既に格納されているメディア・ファイルの識別子に一致しないと確認された識別子を有する１つ以上のメディア・ファイルを前記サーバにアップロードすることと
を含むオペレーションを前記１つ以上のプロセッサに行わせる、システム。
【請求項１５】
前記オペレーションは、
前記システムに接続されている外部ストレージ装置を検知することと、
メディア・ファイルを求めて前記外部ストレージ装置をスキャンすることと、
前記外部ストレージ装置のスキャン中に見つかった１つ以上のメディア・ファイルを含んだ前記外部ストレージ装置のディレクトリを前記アップロード・ディレクトリ・リストに追加することと
を更に含む、請求項１４に記載のシステム。
【請求項１６】
前記オペレーションは、
前記システムに接続されている周辺機器を検知することと、
メディア・ファイルを求めて前記周辺機器のメモリをスキャンすることと、
前記周辺機器の前記メモリの前記スキャン中に見つかった１つ以上のメディア・ファイルを前記アップロード・ディレクトリ・リストの中の目的のディレクトリにコピーすることと
を更に含む、請求項１４に記載のシステム。
【請求項１７】
前記オペレーションは、
前記周辺機器の前記メモリ上に見つかった前記１つ以上のメディア・ファイルのそれぞれの識別子を判定することと、
前記１つ以上のメディア・ファイルの判定された前記識別子を、前記データストレージ装置上に格納されているメディア・ファイルの識別子と比較することと
を更に含み、前記周辺機器の前記メモリ上の前記１つ以上のメディア・ファイルの判定された前記識別子が、前記データストレージ装置上に既に格納されているメディア・ファイルの識別子に一致しない場合には、前記１つ以上のメディア・ファイルは前記目的のディレクトリにコピーされる、請求項１６に記載のシステム。
【請求項１８】
指示を含んだ非一時的なコンピュータ可読記憶媒体であって、前記指示は、その指示を実行するコンピュータ・システムに、
メディア・ファイルを求めて前記コンピュータ・システムの第１のデータストレージ装置をスキャンすることと、
前記第１のデータストレージ装置のスキャン中に見つかった１つ以上のメディア・ファイルを含んだ前記第１のデータストレージ装置のディレクトリの非メディア・ファイルに対するメディア・ファイルの比率が閾値百分率を超える場合に当該ディレクトリをアップロード・ディレクトリ・リストに追加することと、
メディア・ファイルを求めて前記コンピュータ・システムに接続されている第２のデータストレージ装置をスキャンすることと、
前記第２のデータストレージ装置のスキャン中に見つかった１つ以上のメディア・ファイルを含んだ前記第２のデータストレージ装置のディレクトリを前記アップロード・ディレクトリ・リストに追加することと、
前記１つ以上のメディア・ファイルのそれぞれの識別子を判定することと、
その判定された識別子をサーバに送信することと、
その送信された識別子が前記サーバによって既に格納されているメディア・ファイルの識別子に一致するかどうかの確認を前記サーバから受信することと、
前記サーバによって既に格納されているメディア・ファイルの識別子に一致しないと確認された識別子を有する１つ以上のメディア・ファイルを前記サーバにアップロードすることと
を行わせる、非一時的なコンピュータ可読記憶媒体。
【請求項１９】
前記指示は、
前記コンピュータ・システムに接続されている周辺機器を検知することと、
メディア・ファイルを求めて前記周辺機器のメモリをスキャンすることと、
前記周辺機器の前記メモリの前記スキャン中に見つかった１つ以上のメディア・ファイルを前記アップロード・ディレクトリ・リストの中の目的のディレクトリにコピーすることと
を前記コンピュータ・システムに更に行わせる、請求項１８に記載の非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ファイルをアーカイブ保存することに関し、より詳細には、ユーザの生成したメディア・ファイルを自動的にアーカイブ保存することに関する。
【背景技術】
【０００２】
デジタルカメラおよび他の同様の装置により、人々は写真およびビデオを撮ることができ、これらはファイルとして保存される。ユーザがコンピュータにカメラを接続する場合、ユーザは必ずしもカメラからメディア・ファイルを転送するとは限らない。ユーザはまた、それらのコンテンツのバックアップに熱心ではない場合がある。更に、ユーザは、ファイルをどこに保存したかを覚えていなかったり、あるいはユーザは、忘れてしまった場所に保存することにより、ファイルの組を誤配置したりすることがある。写真またはビデオをアップロードすることを試みる際、ユーザはそれらのコンテンツを格納するディレクトリのうちのいずれかあるいはすべてを知らない場合がある。
【発明の概要】
【０００３】
本技術の態様は、ユーザが生成したメディア・ファイルをアーカイブ保存するシステムおよび方法に関する。非一時的なコンピュータ可読記憶媒体は指示を含んでおり、前記指示は、その指示を実行するコンピュータ・システムに、メディア・ファイルを求めて前記コンピュータ・システムのデータストレージ装置をスキャンすることと、そのスキャン中に見つかった１つ以上のメディア・ファイルを含んだ前記データストレージ装置のディレクトリをアップロード・ディレクトリ・リストに追加することとを行わせる。前記指示は、前記アップロード・ディレクトリ・リストにおける各ディレクトリについて、そのディレクトリに含まれる前記１つ以上のメディア・ファイルのそれぞれの識別子を判定することと、その判定された識別子をサーバに送信することと、その送信された識別子がサーバによって既に格納されているメディア・ファイルの識別子に一致するかどうかの確認を前記サーバから受信することとを前記コンピュータ・システムに更に行わせる。前記指示は、前記サーバによって既に格納されているメディア・ファイルの識別子に一致しないと確認された識別子を有する１つ以上のメディア・ファイルを前記サーバにアップロードすることを前記コンピュータ・システムに更に行わせる。
【０００４】
本技術の態様はまた、１つ以上のプロセッサと、指示が格納されている非一時的なコンピュータ可読記憶媒体とを備えるシステムに関し、前記指示は、前記１つ以上のプロセッサにより実行されると、オペレーションを前記１つ以上のプロセッサに行わせる。前記オペレーションは、メディア・ファイルを求めてコンピュータ・システムのデータストレージ装置をスキャンすることと、そのスキャン中に見つかった１つ以上のメディア・ファイルを含んだ前記データストレージ装置のディレクトリをアップロード・ディレクトリ・リストに追加することとを含む。前記オペレーションは、アップロード・ディレクトリ・リストにおける各ディレクトリについて、そのディレクトリに含まれる前記１つ以上のメディア・ファイルのそれぞれの識別子を判定することと、その判定された識別子をサーバに送信することとを更に含む。前記オペレーションは、その送信された識別子が前記サーバによって既に格納されているメディア・ファイルの識別子に一致するかどうかの確認を前記サーバから受信することと、前記サーバによって既に格納されているメディア・ファイルの識別子に一致しないと確認された識別子を有する１つ以上のメディア・ファイルを前記サーバにアップロードすることとを更に含む。
【０００５】
本技術の態様はまた、指示を含んだ非一時的なコンピュータ可読記憶媒体に関する。前記指示は、その指示を実行するコンピュータ・システムに、メディア・ファイルを求めて前記コンピュータ・システムの第１のデータストレージ装置をスキャンすることと、前記第１のデータストレージ装置のスキャン中に見つかった１つ以上のメディア・ファイルを含んだ前記第１のデータストレージ装置のディレクトリをアップロード・ディレクトリ・リストに追加することとを行わせる。前記指示は、メディア・ファイルを求めて前記コンピュータ・システムに接続されている第２のデータストレージ装置をスキャンすることと、前記第２のデータストレージ装置のスキャン中に見つかった１つ以上のメディア・ファイルを含んだ前記第２のデータストレージ装置のディレクトリを前記アップロード・ディレクトリ・リストに追加することと、前記アップロード・ディレクトリ・リストにおける各ディレクトリについて、そのディレクトリに含まれる前記１つ以上のメディア・ファイルのそれぞれの識別子を判定することとを前記コンピュータ・システムに更に行わせる。前記指示は、その判定された識別子をサーバに送信することと、その送信された識別子が前記サーバによって既に格納されているメディア・ファイルの識別子に一致するかどうかの確認を前記サーバから受信することと、前記サーバによって既に格納されているメディア・ファイルの識別子に一致しないと確認された識別子を有する１つ以上のメディア・ファイルを前記サーバにアップロードすることとを前記コンピュータ・システムに更に行わせる。
【０００６】
本技術の他の構成が後述する詳細な説明から当業者に容易に明確なものとなることが理解され、本技術の様々な構成が実例により示されるとともに記述される。実現されるように、本技術は他の異なる構成となり得るものであって、そのそれぞれの詳細は、様々な他の点で、本技術の範囲から逸脱することなくすべて修正可能である。従って、図面および詳細な説明は本来例示的なものであり、限定的なものではないとみなされる。
【０００７】
添付の図面は、更に理解できるようにするべく含まれ、本明細書に組み込まれて本明細書の一部を構成するものであるが、開示の態様を示し、本明細書と組み合わせて開示の態様の原理を説明するように機能する。
【図面の簡単な説明】
【０００８】
【図１】図１は本開示の例示的な態様に係るネットワーク環境を示す。
【図２】図２は本開示の例示的な態様に係るメディア・ファイルをアーカイブ保存するプロセスのフローチャートを示す。
【図３】図３は本開示の例示的な態様に係る外部ストレージ装置からメディア・ファイルをアーカイブ保存するプロセスのフローチャートを示す。
【図４】図４は本開示の例示的な態様に係る周辺機器からメディア・ファイルをアーカイブ保存するプロセスのフローチャートを示す。
【図５】図５は本開示の例示的な態様に係る電子システムの図を示す。
【発明を実施するための形態】
【０００９】
後述する詳細な説明は、本技術の様々な構成の開示として意図されるものであり、本技術が実行される１つの構成のみを表すようには意図されない。添付の図面がここに組み込まれ、詳細な説明の一部を構成する。詳細な説明は、本技術についての完全な理解を提供する目的で特定の詳細を含む。しかしながら、本技術はここに述べられた特定の詳細に限定されるものではなく、これらの特定の詳細を伴うことなく実行されてもよい。いくつかの例において、構造および要素は、本技術の概念が不明瞭とならないようにブロック図の形式で示されている。
【００１０】
本技術の様々な態様によれば、システムは、写真、ビデオ、イメージ、ＧＩＦアニメなどのメディア・ファイルを検索するためにユーザのハードドライブをスキャンするように構成される。基準を満たすメディア・ファイルを含むユーザのハードドライブ上のディレクトリが見つかると、ディレクトリはアップロード・ディレクトリ・リストに追加される。システムは、アップロード・ディレクトリ・リストを保持し、これにより、後にアップロード・ディレクトリ・リストの中の各ディレクトリのメディア・ファイルを、クラウド・ストレージ・システム、リモート・ディレクトリ、あるいは他の中央ハードドライブのような目的の位置にアップロードする。
【００１１】
図１は、コンピュータ１１０、カメラ１２０、外部ストレージ装置１３０、ネットワーク１４０、サーバ１５０、およびデータ・リポジトリ１６０を含んだ例示のネットワーク環境１００を示す。コンピュータ１１０は、メディア・ファイル１１７Ａを含んだディレクトリ１１５Ａを有する。カメラ１２０および外部ストレージ装置１３０はコンピュータ１１０に接続することができる。カメラ１２０は、メディア・ファイル１２７Ａを含んだディレクトリ１２５を有する。外部ストレージ装置１３０は、外部ハードドライブ、ネットワーク化された記憶装置、あるいは他の同様の装置であってもよく、メディア・ファイル１３７Ａを含んだディレクトリ１３５Ａを有する。コンピュータ１１０はネットワーク１４０を介してサーバ１５０と通信する。サーバ１５０はデータ・リポジトリ１６０を含むか、あるいはデータ・リポジトリ１６０に接続される。サーバ１５０およびデータ・リポジトリ１６０はクラウド・ストレージ・システムであってもよい。
【００１２】
ユーザは、カメラ１２０で撮られた写真および／またはビデオのようなメディア・ファイルをディレクトリ１１５Ａのような１つのディレクトリに格納するか、あるいはコンピュータ１１０のハードドライブの中の複数のディレクトリにわたって展開する場合がある。例示の態様によれば、システムは、アップロードの候補であるメディア・ファイルを含んだディレクトリを発見および確認するべくコンピュータ１１０のハードドライブをスキャンするように構成される。スキャンは、ハードドライブ上のルート・ディレクトリから開始する木の走査（tree traversal）であってもよい。スキャンは、ユーザが他の処理にコンピューティング・デバイスを使用している間に行われるバックグラウンド処理であってもよい。ユーザによるコンピュータ１１０の使用に対する干渉を少なくするためにスキャンは減速されてもよい。
【００１３】
システムは、例えばメディア・ファイルに関連付けられるファイル名拡張子やメタデータを通じてメディア・ファイルを識別してもよい。少なくとも１つのメディア・ファイルを有するディレクトリが見つかると、システムは、メディア・ファイルを有するものとしてそのディレクトリをタグ付けするかリストに保存するか、あるいは別の方法で注釈する。図１において、ディレクトリ１１５Ａはメディア・ファイル１１７Ａを有するものと認定されている。
【００１４】
システムは、メディア・ファイルを有するディレクトリを識別すると、それらのメディア・ファイルを検査してそれがサーバ１５０および／またはデータ・リポジトリ１６０のようなクラウド・ストレージ・システムにユーザがアップロードを所望するメディア・ファイルであるかどうかを判断する。ディレクトリがメディア・ファイルを含んでいても、ユーザはインターネットからダウンロードされたメディア・ファイルのようなメディア・ファイルまですべてをアップロードすることを所望するものではない。システムは、ユーザがアップロードを所望するメディア・ファイルを含んだディレクトリのアップロード・ディレクトリ・リストを保持している。
【００１５】
システムは、様々なヒューリスティックスを使用し、メディア・ファイルがユーザの生成したコンテンツに相当するかどうか、また、関係するディレクトリをアップロード・ディレクトリ・リストに追加すべきかどうかを判断してもよい。例えば、システムは、多数のイメージ・ファイルを含んだディレクトリを検査してもよい。デジタルカメラで撮られた写真は通常、Ｅｘｉｆメタデータで保存される。イメージ・ファイルがＥｘｉｆメタデータを含まない場合には、そのディレクトリはユーザの写真を含まず、代わりにユーザがアップロードを望まないイメージ・ファイルのブラウザ・キャッシュを含むのかもしれない。他のヒューリスティックスも使用可能である。例えば、ファイルサイズやイメージの解像度が分析されてもよい。ファイルサイズや解像度がファイルサイズ閾値や解像度閾値未満である場合、メディア・ファイルはユーザの生成したコンテンツではなく、サムネールやプレビュー・ファイルであるのかもしれない。メディア・ファイルのプロパティについて統計分析を行ってもよい。例えば、ユーザがコンテンツを生成したと判断するために作成タイムスタンプを分析することができる。メディア・ファイルが同時に作成されている場合には、ユーザの生成したコンテンツではないのかもしれない。あるいは、ブラックアウト時間の間に作成されたメディアが無視されるように所定のブラックアウト時間をユーザが指定してもよい。他のブラックリストが使用されてもよい。例えば、システム・ディレクトリ、他の所定のディレクトリ、あるいはユーザが予め指定したディレクトリが無視されるようにしてもよい。ユーザはまた、含めるべき特定のディレクトリを予め指定してもよい。
【００１６】
ディレクトリの中のメディア・ファイルがユーザの生成したコンテンツに相当するとシステムが判断すると、システムは、タグ付けするかあるいはアップロード・ディレクトリ・リストに保存することによってそのディレクトリをアップロード・ディレクトリとして指定する。システムは、ディレクトリを追加または削除することによってユーザがアップロード・ディレクトリ・リストを探査および手動で変更できるようにするユーザ・インターフェースを呈示してもよい。図１において、ディレクトリ１１５Ａは、ユーザの生成したメディア・ファイル１１７Ａを含んでいる。これにより、ディレクトリ１１５Ａは、アップロード・ディレクトリ・リストに追加される。
【００１７】
アップロード・ディレクトリの指定後、メディア・ファイルはアップロード・ディレクトリからクラウド・ストレージ・システムにアップロードされてもよい。アップロード・ディレクトリの非メディア・ファイルは無視されてもよい。アップロードしようとするメディア・ファイルが以前にアップロードされたものでないことを確実にするために、システムは、以前にアップロードされたメディア・ファイルの識別子と比較するために各メディア・ファイルの識別子を判定する。例えば、システムは、セキュア・ハッシュ・アルゴリズム（ＳＨＡ）のようなハッシュ・アルゴリズムをアップロード・ディレクトリの中の各メディア・ファイルに適用してもよい。システムはクラウド・ストレージ・システムに各ハッシュ・ダイジェストを送信する。クラウド・ストレージ・システムは、既にアップロードされたメディア・ファイルのダイジェストのリストやテーブルを、そのダイジェストと比較することにより、メディア・ファイルが既にアップロードされたものであるかどうかを判断してもよい。一致するダイジェストがない場合、そのメディア・ファイルは新しいものと推測され、その後、クラウド・ストレージ・システムにアップロードされてもよい。クラウド・ストレージ・システムは、ダイジェストが一致しないという確認をシステムに送信してもよい。図１に示すように、メディア・ファイル１１７Ａはメディア・ファイル１１７Ｂとしてデータ・リポジトリ１６０にアップロードされており、メディア・ファイル１１７Ｂはディレクトリ１１５Ｂに格納されてもよい。あるいは、識別子は、ファイル名および／または、タイムスタンプのような他のメタデータに基づいてもよい。
【００１８】
ユーザはまた、外部ストレージ装置１３０やカメラ１２０のような周辺機器をコンピュータ１１０に接続してもよい。周辺機器の種類に応じて、上述したように、周辺機器のディレクトリはアップロードのためにスキャンおよび指定されてもよく、あるいはメディア・ファイルは、コンピュータ１１０のアップロード・ディレクトリまたは他の指定のディレクトリにコピーされてもよい。周辺機器は、ファイルをアーカイブ保存するための外部ハードドライブやデータストレージ装置であってもよく、これらは記憶容量や装置識別子に基づいて判断される。例えば、周辺機器が外部ストレージ装置１３０である場合、外部ストレージ装置１３０のディレクトリは、コンピュータ１１０のディレクトリと同様にスキャンおよび分析される。図１において、メディア・ファイル１３７Ａはアップロード候補のメディア・ファイルであると判断され、ディレクトリ１３５Ａがアップロード・ディレクトリ・リストに追加される。図１に更に示すように、メディア・ファイル１３７Ａは、ディレクトリ１３５Ａに対応するディレクトリ１３５Ｂの中のメディア・ファイル１３７Ｂとしてデータ・リポジトリ１６０にアップロードされている。
【００１９】
周辺機器はカメラ、スマートフォンなど、あるいはリムーバブル・ストレージ装置（例えばメディア・カードや、外部ハードドライブとは見なされないデータストレージ装置）であってもよい。周辺機器がカメラ１２０である場合、メディア・ファイルはまずコンピューティング・デバイス上のアップロード・ディレクトリにコピーまたは移動されてもよい。既にコンピュータ上にあるメディア・ファイルのコピーを防ぐために、システムは、周辺機器のメモリ上のメディア・ファイルを分析してもよい。例えば、周辺機器上のメディア・ファイルのファイル名をコンピュータ上のメディア・ファイルのファイル名と比較してもよい。また、複製を防ぐために、周辺機器上のメディア・ファイルのハッシュ・ダイジェストをコンピュータ上のメディア・ファイルのハッシュ・ダイジェストと比較してもよい。周辺機器からメディア・ファイルをコピーした後、周辺機器上のメディア・ファイルは周辺機器上のスペースを解放するために削除してもよい。図１において、メディア・ファイル１２７Ａは、アップロード候補のメディア・ファイルであると判断されている。メディア・ファイル１２７Ａは、メディア・ファイル１２７Ｂとしてコンピュータ１１０のディレクトリ１１５Ａにコピーされている。メディア・ファイル１２７Ｂは、ディレクトリ１１５Ｂの中のメディア・ファイル１２７Ｃとしてデータ・リポジトリ１６０にアップロードされている。図１はコンピュータ１１０のディレクトリ構造を反映するものとしてデータ・リポジトリ１６０のディレクトリ構造を示しているが、他の実施形態においてディレクトリ構造は変更されてもよい。
【００２０】
図２は、例示の態様に係るユーザ生成コンテンツの自動アーカイブ保存のプロセスのフローチャート２００を示す。ブロック２１０において、コンピュータ１１０のようなコンピュータ・システムのデータストレージ装置がメディア・ファイルを求めてスキャンされる。スキャン動作は、自動アーカイブ保存用のソフトウェアが最初にインストールおよび実行されたときに開始されてもよい。スキャン動作はまた、ユーザによって開始されてもよく、あるいはコンピュータ・システムによって自動的に開始されてもよい。例えば、９０日や６０日ごとのような周期的に、あるいは周辺機器の検知のようなきっかけに応じてスキャン動作を開始するようにコンピュータ・システムは構成されてもよい。スキャン動作は、ルート・ディレクトリにおいて開始されてもよく、木の走査によってディレクトリごとに検査されてもよい。各ディレクトリのファイルは、それらがユーザ生成メディア・ファイルであるかどうかを判断するべく検査されてもよい。メディア・ファイルは、そのメディア・ファイルがユーザ生成コンテンツに相当するかどうかを判断するために、ヒューリスティックスにより分析されてもよい。例えば．ｊｐｇ、．ｍｐ４のような周知のメディア・ファイル拡張子を備えるファイルをメディア・ファイルと認定してもよい。また、ユーザ生成メディア・ファイルに対応するＥｘｉｆメタデータのようなメタデータを備えるファイルをメディア・ファイルと認定してもよい。また、他のヒューリスティックスを適用してもよく、それにはファイルサイズ分析のような決定論的ヒューリスティックス、ユーザ定義の規則のような非決定論的ヒューリスティックス、および／またはファイル作成／修正タイムスタンプの調査のような統計的ヒューリスティックスが含まれる。例えばインターネットに由来する一般的すなわち普及している画像を含んだディレクトリを除外するためにネガティブ・ヒューリスティックスを適用してもよく、これは、例えば既知のキャッシュ・ディレクトリ名あるいは階層に一致するディレクトリ名から判断してもよい。ユーザは、追加のフィルタを加えたり、あるいは手動でディレクトリを含めたり除外したりするオプションを更に有することができる。
【００２１】
スキャン動作はバックグラウンド・プロセスであってもよい。スキャン動作は資源集約的であってもよく、これによりコンピュータ・システムは速度を落とす。スキャン動作はユーザが経験するようなパフォーマンスの低下を緩和するために速度を落としてもよい。例えば、システムは、木の走査中に、試験的なランダム・リード処理を要求してもよく、これは完了までに予想される時間を有する。ランダム・リード処理を完了するための実際の時間を予想された時間と比較することにより、コンピュータ・システムは、読み取り遅延すなわち待ち時間を判定してもよい。待ち時間に基づいて、コンピュータ・システムはスキャン処理の速度を落としてもよい。待ち時間は走査によって生じることがあり、走査が遅くなることがある。待ち時間が検知されない場合には、コンピュータ・システムは同じ速度で走査を継続するか、あるいは速度を高める。このようにスキャンは動的に調整されてもよい。速度を落とすチェックは、例えば６０秒ごとのように周期的に行われてもよく、あるいは別の資源集約的なアプリケーションの実行のような仕事量の変化に応じて行われてもよい。
【００２２】
ブロック２２０において、スキャン中に見つかった１つ以上のメディア・ファイルを含んだコンピュータ・システムのディレクトリは、アップロード・ディレクトリ・リストに追加される。ディレクトリは、ユーザ生成コンテンツであると判断されるメディア・ファイルを含む場合に追加されてもよい。ディレクトリはメディア・ファイルのみを含むものであってもよいし、あるいは他のファイルとともに所定の数のメディア・ファイルを含むものであってもよい。例えば、ディレクトリの中のファイルの少なくとも５０％がメディア・ファイルである場合にディレクトリを追加するようにしてもよい。他の実施形態において、アップロード・ディレクトリ・リストにディレクトリを追加すべきかどうかを判断するべく、非メディア・ファイルに対するメディア・ファイルの比率がメディア・ファイル２５％のような他の閾値百分率と比較されてもよい。追加されたディレクトリにおける非メディア・ファイルは無視してもよいし、あるいはメディア・ファイルとして扱ってもよい。
【００２３】
ブロック２３０において、ディレクトリに含まれているメディア・ファイルのそれぞれの識別子は、アップロード・ディレクトリ・リストの中の各ディレクトリごとに判定される。識別子は、ダイジェストを生成するべくセキュア・ハッシュ・アルゴリズム（ＳＨＡ）のようなハッシュ・アルゴリズムをメディア・ファイルに適用することにより計算されてもよい。他の実施形態では、ファイル名や他のメタデータのような他の識別子が使用されてもよい。メディア・ファイルは一時的にキューに入れられてもよく、これにより、最後に作成または修正されたファイルがまずハッシュされる。より古いファイルは、以前にアップロードされた可能性が高いかもしれない。また、以前のアップロードのタイムスタンプが保存されてもよい。以前のアップロードよりも前に作成または修正されたメディア・ファイルは、既に分析および／またはアップロードされているかもしれない。すなわち、識別子は、以前のアップロードのタイムスタンプの後に作成／修正されたメディア・ファイルのためのみに生成されてもよい。
【００２４】
ブロック２４０において、判定された識別子は、サーバ１５０のようなサーバに送信される。サーバはアップロードしようとするファイルの目的地であってもよい。あるいは、サーバは、データ・リポジトリに送信されるファイルを管理するものであってもよい。所定の実施形態において、サーバはコンピュータ・システムで実行されるものであってもよい。
【００２５】
ブロック２５０において、送信された識別子がサーバによって既に格納されているメディア・ファイルの識別子に一致するかどうかの確認がサーバから受信される。この確認は、サーバによって既に格納されているファイルのダイジェストにダイジェストが一致するかどうかのような比較に基づくものであってもよい。例えば、サーバは、ユーザにより以前にアップロードされたメディア・ファイルを含んだユーザに対応するディレクトリあるいは他のデータ・リポジトリを有するものであってもよい。サーバは、ユーザにより以前にアップロードされたメディア・ファイルの識別子を保持していてもよく、あるいは必要に応じて識別子を生成してもよい。サーバはその後、識別子を比較して一致を判断する。一致は、対応するメディア・ファイルが既にアップロードされていることを示すか、あるいはアップロードするべきではないことを示す。また、サーバは、インターネット上で入手可能な一般的な画像の識別子へのアクセスを格納するか有していてもよい。サーバは、一般的な画像の識別子に識別子が一致するかどうかを更に判定してもよい。サーバは、識別子が一般的な画像に対応するものであることをコンピュータ・システムに通知する。コンピュータ・システムはその後、アップロード・ディレクトリ・リストから一般的な画像を含んだディレクトリを削除する。
【００２６】
ブロック２６０において、サーバによって既に格納されているメディア・ファイルの識別子に一致しないと確認された識別子を有する１つ以上のメディア・ファイルはサーバにアップロードされる。サーバはアップロードされたファイルを格納してもよいし、あるいはアーカイブ保存のためにデータ・リポジトリ１６０のような別のデータ・リポジトリにそれらを送信してもよい。
【００２７】
図３は、外部ストレージ装置からメディア・ファイルをアーカイブ保存するプロセスのフローチャート３００を示す。ブロック３１０において、コンピュータ・システムに接続されている外部ストレージ装置１３０のような外部ストレージ装置は、例えばコンピュータ・システムのオペレーティング・システムによって、コンピュータ・システムにより検知される。オペレーティング・システムは、周辺機器が接続されたときにポートから信号を受信してもよい。オペレーティング・システムは、チェックのために自動アーカイブ保存ソフトウェアのためのフラグをセットしてもよい。あるいは、オペレーティング・システムは、周辺機器の検知に応じて自動アーカイブ保存ソフトウェアを開始してもよい。オペレーティング・システムは周辺機器を種類を識別してもよく、アラートを出すか、あるいは自動アーカイブ保存ソフトウェアを開始してもよい。他の実施形態において、周辺機器の接続によって、コンピュータ・システムのファイル・ディレクトリ構造が変更されてもよく、自動アーカイブ保存ソフトウェアは、接続されている周辺機器に関連付けられてもよい。
【００２８】
ブロック３２０において、外部ストレージ装置はメディア・ファイルを求めてスキャンされる。このスキャンは、コンピュータ・システムのスキャンに関して本明細書中で述べたスキャン動作と同様であってもよい。ブロック３３０において、外部ストレージ装置のスキャン中に見つかった１つ以上のメディア・ファイルを含んだ外部ストレージ装置のディレクトリはアップロード・ディレクトリ・リストに追加される。例えば、外部ストレージ装置のディレクトリはコンピュータ・システムのアップロード・ディレクトリ・リストに追加される。本明細書中に述べられているように、外部ストレージ装置のディレクトリの中の１つ以上のメディア・ファイルは、コンピュータ・システムのディレクトリからのメディア・ファイルとともにアップロードされてもよい。
【００２９】
図４は、カメラ１２０のような周辺機器からメディア・ファイルをアーカイブ保存するプロセスのフローチャート４００を示す。ブロック４１０において、コンピュータ・システムに接続されている周辺機器が検知される。周辺機器は、コンピュータ・システムに接続されたときに検知されてもよい。あるいは、周辺機器はコンピュータ・システム上のスキャン動作中に検知されてもよい。
【００３０】
ブロック４２０において、周辺機器のメモリがスキャンされる。メモリは例えば周辺機器のフラッシュ記憶装置である。このスキャンは、図２に関して上述したスキャン動作と同様であってもよい。ブロック４３０において、周辺機器のメモリのスキャン中に見つかった１つ以上のメディア・ファイルは、目的のディレクトリにコピーされる。目的のディレクトリはアップロード・ディレクトリ・リストの中のディレクトリであってもよい。目的のディレクトリは、コンピュータ・システム上にあってもよいし、あるいはコンピュータ・システムに接続されている外部ストレージ装置上にあってもよい。アップロード動作中は周辺機器がコンピュータ・システムに接続されていなくてもよい。目的のディレクトリにメディア・ファイルがコピーされることによって、メディア・ファイルは周辺機器から後にアーカイブ保存される。所定の実施形態において、メディア・ファイルは、目的のディレクトリにコピーされた後に周辺機器のメモリから削除されてもよい。メディア・ファイルは、コピーされた後に常に削除されてもよい。あるいは、周辺機器のメモリ上の空きスペースが１０％未満、あるいは５％や１５％などの他の空きスペース閾値未満である場合にメディア・ファイルを削除してもよい。
【００３１】
図５は、本技術のいくつかの実施形態を実行することができる例示的な電子システムを概念的に示す。電子システム５００は、コンピュータ、電話、ＰＤＡ、あるいは任意の他の種類の電子デバイスである。このような電子システムは、様々なタイプのコンピュータ可読媒体と、様々な他のタイプのコンピュータ可読媒体用のインターフェースとを含む。電子システム５００は、バス５１０、１つ以上の処理装置５６０、システム・メモリ５３０、読み出し専用メモリ（ＲＯＭ）５５０、恒久的ストレージ装置５２０、入力装置インターフェース５７０、出力装置インターフェース５４０、およびネットワーク・インターフェース５８０を含む。
【００３２】
バス５１０は、電子システム５００の多数の内部装置を通信接続するすべてのシステム、周辺装置およびチップセット・バスを集合的に示す。例えば、バス５１０は、１つ以上の処理装置５６０をＲＯＭ５５０、システム・メモリ５３０および恒久的ストレージ装置５２０と通信可能に接続する。
【００３３】
これらの様々な記憶素子から、１つ以上の処理装置５６０は、本開示のプロセスを実行するために実行するべき指示および処理するべきデータを検索する。１つ以上の処理装置は、異なる実施形態において、シングル・プロセッサあるいはマルチコア・プロセッサになり得る。
【００３４】
ＲＯＭ５５０は、１つ以上の処理装置５６０および電子システムの他のモジュールが必要とする静的なデータおよび指示を格納する。恒久的ストレージ装置５２０は他方では、読み取りおよび書き込みメモリ素子である。この装置は、電子システム５００がオフである場合においても指示およびデータを格納する不揮発性の記憶素子である。本開示のいくつかの実施形態は恒久的ストレージ装置５２０として大容量記憶装置（例えば磁気または光ディスク、およびその対応するディスクドライブ）を使用する。
【００３５】
他の実施形態は恒久的ストレージ装置５２０としてリムーバブル記憶装置（例えばフロッピーディスク（登録商標）、フラッシュ・ドライブ、およびその対応するディスクドライブ）を使用する。恒久的ストレージ装置５２０と同様に、システム・メモリ５３０は読み取りおよび書き込みメモリ素子である。しかしながら、記憶装置５２０と異なり、システム・メモリ５３０は、ランダム・アクセス・メモリのような揮発性の読み取りおよび書き込みメモリである。システム・メモリ５３０は、プロセッサがランタイムに必要とする指示およびデータのうちのいくつかを格納する。いくつかの実施形態では、本開示のプロセスは、システム・メモリ５３０、恒久的ストレージ装置５２０、あるいはＲＯＭ５５０に格納される。例えば、様々な記憶素子は、ユーザが生成したメディア・コンテンツを見つけるとともにアップロードするための指示を含む。これらの様々な記憶素子から、１つ以上の処理装置５６０は、いくつかの実施形態のプロセスを実行するために実行するべき指示および処理するべきデータを検索する。
【００３６】
バス５１０は、入力装置インターフェース５７０および出力装置インターフェース５４０に更に接続する。ユーザは入力装置インターフェース５７０により情報を通信し、電子システムに対するコマンドを選択することができる。入力装置インターフェース５７０と組み合わせて使用される入力装置は、例えば英数字キーボードおよびポインティングデバイス（「カーソル制御装置」とも呼ぶ）を含む。出力装置インターフェース５４０により、例えば、電子システム５００によって生成される画像の表示が可能となる。出力装置インターフェース５４０と組み合わせて使用される出力装置は、例えばプリンタおよびディスプレイ装置、例えば陰極線管（ＣＲＴ）や液晶ディスプレイ（ＬＣＤ）を含む。いくつかの実施形態は装置、例えば入出力両方の装置として機能するタッチ・スクリーンを含む。
【００３７】
最後に、図５に示すように、バス５１０はまた、ネットワーク・インターフェース５８０を介して電子システム５００をネットワーク（図示しない）に接続する。このように、コンピュータは、コンピュータのネットワークの一部（例えばローカル・エリア・ネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、イントラネット、複数のネットワークのネットワーク、例えばインターネット）になり得る。電子システム５００のうちの任意の要素あるいはすべての要素は本開示と組み合わせて使用可能である。
【００３８】
上記特徴および応用の多くは、コンピュータ可読記憶媒体（コンピュータ可読媒体とも呼ぶ）に記録される１組の指示として特定されるソフトウェア・プロセスとして実行される。これらの指示が１つ以上の処理装置（例えば１つ以上のプロセッサ、プロセッサのコア、あるいは他の処理装置）によって実行されると、これらにより処理装置は指示に示されるアクションを実行する。コンピュータ可読媒体の例は、ＣＤ−ＲＯＭ、フラッシュ・ドライブ、ＲＡＭチップ、ハードドライブ、ＥＰＲＯＭなどを含むが、これらに制限されるものではない。コンピュータ可読媒体は無線あるいは有線接続上を通過する搬送波および電子信号を含まない。
【００３９】
本明細書において、用語「ソフトウェア」は、磁気記憶装置に格納される読み出し専用メモリまたはアプリケーションに存在するファームウェアを含むように構成され、これはプロセッサによって処理するためにメモリに読み込むことができる。更に、いくつかの実施形態において、本開示の複数のソフトウェア態様は、より大きなプログラムのサブ部として実行可能であるが、本開示のソフトウェア態様は個別の状態を維持する。いくつかの実施形態において、複数のソフトウェア態様は、個別のプログラムとして更に実行可能である。最後に、ここに開示されるソフトウェア態様を一体的に実行する個別のプログラムの任意の組み合わせは、本開示の範囲内にある。所定の実施形態において、ソフトウェア・プログラムは、１つ以上の電子システム上で作動するようにインストールされると、ソフトウェア・プログラムのオペレーションを実行するとともに実施する１つ以上の特定の機械の実施形態を定義する。
【００４０】
コンピュータ・プログラム（プログラム、ソフトウェア、ソフトウェア・アプリケーション、スクリプト、あるいはコードとしても周知）は、コンパイラ言語またはインタープリタ型言語、宣言型言語または手続き型言語を含む任意の形態のプログラミング言語で記述され、スタンド・アロンのプログラムとして、あるいはモジュール、コンポーネント、サブルーチン、オブジェクト、あるいはコンピューティング環境における使用に好適な他のユニットとしてなどを含む任意の形態で展開可能である。コンピュータ・プログラムは、ファイルシステムにおけるファイルに一致するが、必ずしも一致する必要はない。プログラムは、他のプログラムあるいはデータ（例えば、１つ以上のスクリプト、マークアップ言語ドキュメントに格納された）を保持するファイルの一部に、問題のプログラム専用の１つのファイルに、あるいは複数の統合ファイル（例えば１つ以上のモジュール、サブ・プログラムあるいはコードの部分を格納するファイル）に格納することができる。コンピュータ・プログラムは、１台のコンピュータ上で、あるいは１つのサイトに配置されるか、複数のサイトを横断して配置されるとともに通信ネットワークによって相互に接続される複数のコンピュータ上で実行されるように展開することができる。
【００４１】
上述した機能は、コンピュータ・ソフトウェア、ファームウェア、あるいはハードウェアにおけるデジタル電子回路類において実行可能である。本技術は１つ以上のコンピュータ・プログラム製品を使用して実行可能である。プログラム可能なプロセッサおよびコンピュータはモバイル・デバイスに含まれるか、パッケージ化される。プロセスおよびロジックのフローは、プログラム可能な１つ以上のプロセッサによって、および１つ以上のプログラマブル・ロジック回路類によって実行可能である。汎用および専用コンピューティング・デバイスの記憶装置は通信ネットワークを介して相互に接続可能である。
【００４２】
所定の実施は、機械可読またはコンピュータ可読媒体（これに代えて、コンピュータ可読記憶媒体、機械可読媒体、あるいは機械可読記憶媒体とも呼ぶ）にコンピュータ・プログラムの命令を格納する電子部品、例えばマイクロプロセッサ、記憶装置、およびメモリを含む。そのようなコンピュータ可読媒体の所定の例は、ＲＡＭ、ＲＯＭ、読み出し専用のコンパクト・ディスク（ＣＤ−ＲＯＭ）、追記型コンパクト・ディスク（ＣＤ−Ｒ）、書き換え可能なコンパクト・ディスク（ＣＤ−ＲＷ）、読み出し専用のディジタル・バーサタイル・ディスク（例えばＤＶＤ−ＲＯＭおよび２層ＤＶＤ−ＲＯＭ）、様々な記録可能／書き換え可能なＤＶＤ（例えば、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷなど）、フラッシュ・メモリ（例えばＳＤカード、ミニＳＤカード、マイクロＳＤカードなど）、磁気ハードドライブまたはソリッド・ステート・ハードドライブ、読み出し専用Ｂｌｕ−ｒａｙ（登録商標）ディスクおよび追記型Ｂｌｕ−ｒａｙディスク、超密度光ディスク、任意の他の光学または磁気媒体、およびフロッピーディスクを含む。コンピュータ可読媒体は、少なくとも１つの処理装置によって実行可能であるとともに様々なオペレーションを行うための指示の組を含むコンピュータ・プログラムを格納することができる。コンピュータ・プログラムすなわちコンピュータ・コードの例は、例えばコンパイラによって生成される機械コード、並びにインタープリタを使用するコンピュータ、電子コンポーネント、あるいはマイクロプロセッサによって実行されるより高い水準のコードを含んだファイルを含む。
【００４３】
上記は主にソフトウェアを実行するマイクロプロセッサやマルチコア・プロセッサを示すが、所定の実施形態は、１つ以上の集積回路、例えば特定用途向けＩＣ（ＡＳＩＣ）や、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）によって行われる。所定の実施形態において、そのような集積回路は、回路自体上に格納される指示を実行する。
【００４４】
本明細書、および本願の任意の請求項において使用されるように、用語「コンピュータ」、「サーバ」、「プロセッサ」、および「メモリ」は、すべて電子デバイスまたは他の技術的なデバイスを示す。これらの用語は人間あるいは人々を除外する。特定するために、用語ディスプレイあるいは表示は、電子デバイス上に表示することを示す。本明細書および本願の任意の請求項において使用されるように、１つまたは複数の「コンピュータ可読媒体」なる用語は、コンピュータによって判読可能な形態で情報を格納する有形の物理的な物体に完全に制限される。これらの用語はいかなる無線信号、有線ダウンロード信号、および他のエフェメラル信号も除外する。
【００４５】
ユーザと対話するために、本明細書に開示される主題の実施形態は、ユーザに情報を表示するためのディスプレイ装置、例えばＣＲＴやＬＣＤモニタ、並びにユーザがコンピュータに入力可能なキーボードおよびポインティングデバイス、例えばマウスやトラックボールを有するコンピュータ上で実行することができる。他の種類の装置が同様にユーザと対話するために使用可能であり、例えば、ユーザに提供されるフィードバックは、例えば視覚フィードバック、聴覚フィードバック、あるいは触覚フィードバックなどの任意の形態の知覚のフィードバックであり、ユーザからの入力は聴覚、音声、あるいは触覚の入力を含む任意の形態で受信可能である。加えて、コンピュータはユーザによって使用される装置にドキュメントを送信することにより、また、この装置からドキュメントを受信することにより、例えばウェブ・ブラウザから受信したリクエストに応じてユーザのクライアント装置上のウェブ・ブラウザにウェブ・ページを送信することによってユーザと対話することができる。
【００４６】
本明細書に開示される主題の実施形態は、例えばデータ・サーバとしてのバックエンド・コンポーネントを含むか、例えばアプリケーション・サーバのようなミドルウェア・コンポーネントを含むか、例えばユーザが本明細書に開示される主題の実施形態と対話できるグラフィカル・ユーザ・インターフェースまたはウェブ・ブラウザを有するクライアント・コンピュータなどのフロントエンド・コンポーネント、あるいは１つ以上の上記バックエンド・コンポーネント、ミドルウェア・コンポーネントや、フロントエンド・コンポーネントの任意の組み合わせを含むコンピューティング・システムにおいて実施される。システムの要素は、デジタルデータ通信の任意の形態または媒体、例えば通信ネットワークによって相互に接続可能である。通信ネットワークの例はローカル・エリア・ネットワーク（ＬＡＮ）および広域ネットワーク（ＷＡＮ）、相互ネットワーク（例えばインターネット）、並びにピアツーピア・ネットワーク（例えばアド・ホックのピアツーピア・ネットワーク）を含む。
【００４７】
コンピューティング・システムはクライアントおよびサーバを含む。クライアントおよびサーバは、通常互いに隔離され、典型的には通信ネットワークを介して対話する。クライアントおよびサーバの関係は、それぞれのコンピュータ上で作動するとともに互いにクライアント・サーバ関係を有するコンピュータ・プログラムによって生じる。いくつかの実施形態において、サーバは、クライアント装置に（例えば、クライアント装置と対話するユーザにデータを表示するとともにユーザからユーザ入力を受信するために）データ（例えばＨＴＭＬページ）を送信する。クライアント装置で生成されたデータ（例えばユーザとの対話の結果）は、サーバでクライアント装置から受信することができる。
【００４８】
開示されるプロセスにおける工程の任意の特定の順序や階層は、アプローチの例示であるものと理解される。設計の選択に基づいて、プロセスにおける工程の特定の順序または階層は再構成されてもよいこと、あるいはすべての図示の工程が行われてもよいことが理解される。工程のうちのいくつかは同時に行われてもよい。例えば、所定の状況において、マルチタスクおよび並列処理が効果的である。更に、上述した実施形態における様々なシステム・コンポーネントの分離はすべての実施形態においてそのような分離を要求するものとして理解する必要はなく、上述したプログラム・コンポーネントおよびシステムは、通常１つのソフトウェア製品に一体的に統合されるか、複数のソフトウェア製品にパッケージ化され得るものと理解されるべきである。
【００４９】
上記はいずれの当業者もここに開示される様々な態様を実施することができるように提供される。これらの態様に対する様々な修正が当業者に容易に明白なものとなり、また、ここに定義される総括的な原理は、他の態様に適用されてもよい。従って、請求項は、ここに示した態様に制限されるようには意図されないが、言語の請求項と一致する全体の範囲に一致するように意図され、単数の要素への言及は、特に記載が無い限り「１つで１つのみ」を意味するようには意図されないが、むしろ「１つ以上」を意味するように意図される。特に別記しない限り、用語「所定の」は１つ以上を示す。標題および副題は、もしあれば、便宜のためにのみ使用され、本開示を制限するものではない。
【００５０】
「態様」のような句は、そのような態様が本技術にとって必要であることや、そのような態様が本技術のすべての構成に当てはまることを示唆しない。態様に関する開示は、すべての構成、あるいは１つ以上の構成に適用される。態様のような句は１つ以上の態様を示し、その逆もいえる。「構成」のような句は、そのような構成が本技術にとって必要であることや、そのような構成が本技術のすべての構成に適用されることを示唆するものではない。構成に関する開示は、すべての構成、あるいは１つ以上の構成に適用される。構成のような句は１つ以上の構成を示し、その逆もいえる。
【図１】
0006328798.tif 000002
【図２】
0006328798.tif 000003
【図３】
0006328798.tif 000004
【図４】
0006328798.tif 000005
【図５】
0006328798.tif 000006