JP2008538627A - ローカル・サムネイル・キャッシュ - Google Patents

ローカル・サムネイル・キャッシュ Download PDF

Info

Publication number
JP2008538627A
JP2008538627A JP2008507623A JP2008507623A JP2008538627A JP 2008538627 A JP2008538627 A JP 2008538627A JP 2008507623 A JP2008507623 A JP 2008507623A JP 2008507623 A JP2008507623 A JP 2008507623A JP 2008538627 A JP2008538627 A JP 2008538627A
Authority
JP
Japan
Prior art keywords
thumbnail
cache
thumbnail image
file
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008507623A
Other languages
English (en)
Inventor
ミラー,マーク
ヤニティ,ブレンダ・エイ
デ・ボルチック,デイヴィッド・ジー
デブリー,ファブリス・エイ
ベルト,ジェフリー・シー
ミロット,マニュエル
グスモリノ,ポール・エイ
カットシンガー,ポール・エル
シンクレアー,ロバート・イー
ビーム,タイラー・ケイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2008538627A publication Critical patent/JP2008538627A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/54Browsing; Visualisation therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【課題】 ユーザ毎/システム毎のサムネイル・キャッシュにサムネイル画像を格納し検索するシステムおよび方法を提供する。
【解決手段】 1つ以上のデータ・ファイルを用いて、様々なサイズのサムネイル画像を格納することができる。個々のファイルに対するサムネイルの1つまたは複数の位置でインデックスを更新し、そのURLおよび変更時間をキーとして用いて、インデックス内においてサムネイルを発見することができる。サムネイル画像の直接メモリ・マッピングを備えている。同時技法を利用して、多数のプロセス間でキャッシュへの協同アクセスを維持する。キャッシュ内容が孤立していたり使用されていない場合には、これらよりも新しいサムネイル画像または頻繁に用いられるサムネイル画像を用いるために回収される。
【選択図】 図1

Description

本発明は、コンピュータ上における画像のキャッシュ処理に関する。更に特定すれば、本発明は、システム全体のサムネイル画像データベースにおける画像のキャッシュ方法およびシステムを提供する。
サムネイル画像は、実際に画像またはファイルを開くことを必要とせずに、その画像またはファイルの内容を伝達するためにコンピュータ上で広く用いられている方式である。サムネイルは、画像、ワープロ文書、ウェブ・ページ、プレゼンテーション用スライド等を微小化した描写を提示することができる。サムネイルは、グラフィカル・オペレーティング・システムにおいてファイルを表すために頻繁に用いられている。
図2Aは、グラフィカル・オペレーティング・システムにおける従来技術のサムネイルの使用例を示す。ウィンドウ201は、共通ファイル・ディレクトリに収容されているJPEGフォーマット・ファイル202の集合体のサムネイル画像を表示する。各サムネイル画像は、ファイルの内容の複製であり、標準的なサイズに合わせて大きさを変更してある。特定の1ファイルを選択すると、ウィンドウ201は選択したファイルのサムネイル203を表示する。
図2Bは、コンピュータ110に利用可能なファイル階層205における従来技術のサムネイル記憶の一例を示す。ファイル階層205内に表されているファイルは、コンピュータ110上(例えば、ハード・ドライブ上またはダイナミック・メモリ内)、リムーバブル媒体(例えば、フロッピ・ドライブまたはUSBサムドライブ)上、ネットワーク・サーバ上、またはそれ以外のコンピュータ110にアクセス可能な場所に格納することができる。ファイル階層205内部にあるファイルは、ファイル・フォルダのシステムを用いて、階層状に格納することができる。ファイル・フォルダは、ファイルおよびその他のファイル・フォルダを収容する。第1ファイル・フォルダ211はファイルの第1集合体212を格納し、第2ファイル・フォルダ221は第2ファイル集合体222を格納する。
従来の方法論を用いると、コンピュータ110上のオペレーティング・システムは、ファイル・フォルダ211、221内にファイルのサムネイルを作成する。例えば、ウィンドウ201のフォルダ・ビューを作成するには、オペレーティング・システムは、各ファイルを繰り返し見渡し、その内容を走査し、内容の標準サイズの複製を発生することによって、ファイルのサムネイルを作成することができる。オペレーティング・システムによっては、個々のサムネイル集合が必要となる毎に、このステップを繰り返す場合もある。別のオペレーティング・システムでは、サムネイルを1回だけ発生し、次いでグラフィカル・ファイル(ビットマップまたはJPEG)として格納し、その後検索することができるようにしている。このようなシステムは、今後のサムネイル検索のための処理時間を節約する。コンピュータ110は、以前に描出したサムネイルを、サムネイル・キャッシュ214、224に格納する。
第1サムネイル・キャッシュ214は、第1集合体212におけるファイルの各々についてサムネイルを収容することができる。呼び出されたときにはいつでも、第1サムネイル・キャッシュ214はオペレーティング・システムまたは第三者であるソフトウェアのいずれかによる使用のために、これらの画像を供出することができる。同様に、第2サムネイル・キャッシュ224は、要求に応じて、第2集合体222からの画像を提出することができる。このようにフォルダ毎にサムネイルを格納することは、単純であるが、コンピュータ110のユーザにとって問題が発生する可能性がある。
現行の方法論を用いると、コンピュータ110が発生したサムネイルを格納できるのは、それが書き込みアクセスすることができるファイル・フォルダだけである。例えば、コンピュータ110のユーザがリード・オンリCD−ROM上に格納されている画像を閲覧する場合、発生したサムネイルを今後の再利用のために格納することができない。何故なら、オペレーティング・システムはCD−ROM上に格納されているファイル・フォルダ内にサムネイル・キャッシュを作成することができないからである。加えて、現行の方法論では、機密ファイルに対する安全なアクセスがないがしろにされている場合がある。例えば、スライド・プレゼンテーション223の所有者が、コンピュータ110の他のいずれのユーザにもアクセス不可能なファイルを作成したとしても、他のユーザは、オペレーティング・システムが発生し第2サムネイル・キャッシュ224に格納したサムネイルを見ることができてしまう。これはプレゼンテーション・スライドの微小化バージョンに過ぎないが、サムネイルだけでも機密情報を開示するのに十分であることもあり得る。サムネイル画像の大きさおよび詳細が拡大する程、このようなセキュリティ上の問題は増々心配の種となる。
従来のサムネイル・システムでは、サムネイル・コンテンツを表示するために複製するにつれて、サムネイル画像の多数のコピーをメモリ内に作成させるので、必要以上のメモリを利用している。また、むやみにサムネイル・キャッシュを格納することにより、使用頻度が少ないサムネイルを識別して間引きすることがし難くなっている(例えば、追加のディスク空間を必要とするとき)。更に、コンピュータ110のユーザが、多数のディレクトリからのファイルを含むファイル探索結果を見る場合、問い合わせ結果はサムネイルとして表示することができない。
したがって、当技術分野では、ファイル・アクセス特権を特別に与えて、ユーザがアクセスできるファイルのサムネイルのみをユーザに見せることを許可するサムネイル・キャッシュが求められている。更に、リード・オンリ位置に常駐することができるファイルのサムネイルを格納することが可能なサムネイル・キャッシュも求められている。また、メモリ内におけるサムネイル画像の不要な複製を極力抑えるサムネイル・キャッシュも求められている。最後に、サムネイルを特定して間引きすることができ、更にファイル位置には無関係にサムネイル画像の全体表示を可能にするサムネイル・キャッシュも求められている。
以下に、本発明の様々な態様の基本的な理解を得るために簡素化した概要を示す。概要は、本発明の広範な全体像ではない。また、本発明の鍵となる要素や重要な要素を特定したり、発明の範囲を明確に描写することも意図していない。以下の概要は、単に、以下に続く更に詳細な説明への序文として、簡素化した形態で本発明の概念の一部を示すに過ぎない。
第1の例示実施形態は、ローカル・サムネイル・キャッシュにサムネイルを格納する方法を提供する。サムネイル画像および識別情報(例えば、変更タイムスタンプ、ファイル・パス、またはストリングURLのCRC−64ハッシュ)を、画像を格納する要求と共に提示する。1つ以上のデータ・ファイルの1つに画像を格納し、データ・ファイル内におけるサムネイルの位置に伴うインデックス・ファイルに、識別情報を格納する。
第2の例示実施形態は、サムネイル・キャッシュを管理するシステムを提供する。このシステムは、データ・ファイルおよびインデックス・ファイルを格納するストレージを含む。また、このシステムは、ファイルと関連付けられた識別情報を伴う、サムネイル画像を格納する要求を受けるように構成されている。また、プロセッサは、データ・ファイルにサムネイル画像を格納し、データ・ファイルにおけるその位置を、識別情報と共に、インデックス・ファイルに格納するように構成されている。
添付図面に、限定ではなく一例として、本発明を示す。図面では、同様の参照番号は同一または同様の要素を示すものとする。
以下の種々の実施形態の説明では、その一部をなす添付図面を参照する。図面には、本発明を実用化することができる種々の実施形態が一例として示されている。尚、別の実施形態も利用可能であり、本発明の範囲および主旨から逸脱することなく、構造および機能の変更が可能であることは理解されよう。
図1は、本発明を実施することができる、適当な計算システム環境100の一例を示す。計算システム環境100は、適した計算機環境の一例に過ぎず、本発明の使用範囲や機能性について限定を示唆する意図は全くない。また、計算機環境100は、動作環境例100に示す構成要素のいずれの1つまたは組み合わせに関しても、何らかの依存性や必須要件を有するという解釈は行わないこととする。
本発明の態様は、多数のその他の汎用または特殊目的用計算システム環境や構成とでも動作することができる。本発明と共に用いるのに適していると思われる周知の計算システム、環境、および/または構成の例には、パーソナル・コンピュータ(PC)、サーバ・コンピュータ、パーソナル・ディジタル・アシスタント(PDA)、タブレットPCまたはラップトップPCのようなハンド・ヘルドまたはその他の携帯デバイス、マルチプロセッサ・システム、マイクロプロセッサに基づくシステム、セット・トップ・ボックス、プログラマブル消費者用電子機器、ネットワークPC、ミニコンピュータ、メインフレーム・コンピュータ、前述のシステムまたはデバイスのいずれをも含む分散型計算機環境等が含まれる。
本発明の態様についての説明は、総じて、コンピュータによって実行するプログラム・モジュールのような、コンピュータ実行可能命令との関連において行うこととする。一般に、プログラム・モジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含み、特定のタスクを実行するか、または特定の抽象的データ・タイプを実現する。また、本発明は、通信ネットワークを通じてリンクされているリモート処理デバイスがタスクを実行する分散型計算機環境においても実用可能である。分散型計算機環境では、プログラム・モジュールは、メモリ記憶装置を含むローカルおよびリモート・コンピュータ記憶媒体双方に配することができる。
図1を参照すると、本発明を実施するシステム例は、コンピュータ110の形態とした汎用計算機を含む。コンピュータ110の構成要素は、限定ではなく、演算装置120、システム・メモリ130、およびシステム・バス121を含むことができる。システム・バス121は、システム・メモリを含む種々のシステム構成要素を演算装置120に結合する。システム・バス121は、数種類のバス構造のいずれでもよく、メモリ・バスまたはメモリ・コントローラ、周辺バス、および種々のバス構造のいずれかを用いるローカル・バスを含む。限定ではなく一例として、このような構造には、業界標準アーキテクチャ(ISA)バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、改良ISA(EISA)バス、ビデオ電子規格連合(VESA)ローカル・バス、およびMezzanine バスとしても知られている周辺素子相互接続(PCI)バスが含まれる。
コンピュータ110は、通例、種々のコンピュータ読み取り可能媒体を含む。コンピュータ読み取り可能媒体は、コンピュータ110がアクセス可能な入手可能な媒体であればいずれでも可能であり、揮発性および不揮発性の双方、リムーバブル、および非リムーバブル媒体を含む。限定ではない一例をあげると、コンピュータ読み取り可能媒体は、コンピュータ記憶媒体および通信媒体から成ると考えられる。コンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、またはその他のデータというような情報の格納のために、あらゆる方法または技術で実施される、揮発性および不揮発性の双方、リムーバブル、および非リムーバブル媒体を含む。コンピュータ記憶媒体は、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、電気的消去可能プログラマブル・メモリ(EEPROM)、フラッシュ・メモリまたはその他のメモリ技術、コンパクト・ディスクROM(CD−ROM)、ディジタル多様ディスク(DVD)またはその他の光ディスク・ストレージ、磁気カセット、磁気テープ、磁気ディスク・ストレージまたはその他の磁気記憶デバイス、あるいは所望の情報を格納するために用いることができしかもコンピュータ110がアクセス可能なその他のいずれの媒体も含むが、これらに限定されるのではない。通信媒体は、通例、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、またはその他のデータを、搬送波またはその他の移送機構のような変調データ信号において具体化し、あらゆる情報配信媒体を含む。限定ではなく、一例として、通信媒体は、有線ネットワークまたは直接有線接続というような有線媒体、ならびに音響、BLUETOOTHまたは超広帯域(UWB)標準ワイヤレス・リンクというような無線周波数(RF)、赤外線、およびその他のワイヤレス媒体というようなワイヤレス媒体を含む。前述のいずれの組み合わせも、コンピュータ読み取り可能媒体の範囲に当然含まれるものとする。
システム・メモリ130は、ROM131およびRAM132のような揮発性および/または不揮発性メモリの形態で、コンピュータ記憶媒体を含む。基本入出力システム133(BIOS)は、起動中のように、コンピュータ20内のエレメント間におけるデータ転送を補助する基本的なルーチンを含み、典型的にROM131内に格納されている。RAM132は、典型的に、演算装置120が直ちにアクセス可能であるデータおよび/またはプログラム・モジュール、または現在これによって処理されているデータおよび/またはプログラム・モジュールを収容する。一例として、そして限定ではなく、図1は、オペレーティング・システム134、アプリケーション・プログラム135、その他のプログラム・モジュール136、およびプログラム・データ137を示す。
また、コンピュータ110は、その他のリムーバブル/非リムーバブル揮発性/不揮発性コンピュータ記憶媒体も含むことができる。一例としてのみ、図1は、非リムーバブル不揮発性磁気媒体からの読み取りおよびこれへの書き込みを行なうハード・ディスク・ドライブ141、リムーバブル不揮発性磁気ディスク152からの読み取りおよびこれへの書き込みを行なう磁気ディスク・ドライブ151、ならびにCD ROMまたはその他の光媒体のようなリムーバブル不揮発性光ディスク156からの読み取りおよびこれへの書き込みを行なう光ディスク・ドライブ155を示す。動作環境の一例において使用可能なその他のリムーバブル/非リムーバブル、揮発性/不揮発性コンピュータ記憶媒体には、限定する訳ではないが、磁気テープ・カセット、フラッシュ・メモリ・カード、ディジタル・バーサタイル・ディスク、ディジタル・ビデオ・テープ、ソリッド・ステートRAM、ソリッド・ステートROM等が含まれる。ハード・ディスク・ドライブ141は、典型的に、インターフェース140のような非リムーバブル・メモリ・インターフェースを介してシステム・バス121に接続され、磁気ディスク・ドライバ151および光ディスク・ドライブ155は、典型的に、インターフェース150のようなリムーバブル・メモリ・インターフェースによって、システム・バス121に接続する。
先に論じ図1に示すドライブおよびそれらと連動するコンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラム・モジュール、およびコンピュータ110のその他のデータを格納する。図1では、例えば、ハード・ディスク・ドライブ141は、オペレーティング・システム144、アプリケーション・プログラム145、その他のプログラム・モジュール146、およびプログラム・データ147を格納するように示されている。尚、これらの構成要素は、オペレーティング・システム134、アプリケーション・プログラム135、その他のプログラム・モジュール136、およびプログラム・データ137と同じでも異なっていても可能であることを注記しておく。オペレーティング・システム144、アプリケーション・プログラム145、その他のプログラム・モジュール146、およびプログラム・データ147は、ここで、少なくともこれらが異なるコピーであることを示すために、異なる番号が与えられている。
ユーザは、キーボード162、および一般にマウス、トラックボールまたはタッチ・パッドと呼ばれているポインティング・デバイス161によって、コマンドおよび情報をコンピュータ110に入力することができる。これらのデバイスの各々は、複数の入力構成要素を含むことができ、その各々はそれ自体の入力を供給する。キーボードの場合、キーまたは特殊ボタンの各々は入力構成要素として機能することができる。更に、ユーザがControl、Alt、Shiftまたはその他のキーを組み合わせて同時に押下したままにすることによってキー入力を変更するというように、キーの組み合わせによって一意の入力構成要素として機能することもできる。マウス、トラックボール、またはその他のポインティング・デバイスの場合、各々が提供する一情報に加えて、入力構成要素は、ボタン、ホイール、またはデバイス内に内蔵されているその他の入力メカニズムを含むこともできる。
追加の入力デバイス(図示せず)は、マイクロフォン、ジョイスティック、ゲーム・パッド、スキャナ等を含むことができる。これらおよびその他の入力デバイスは、多くの場合、ユーザ入力インターフェース160を介して、演算装置120に接続されている。ユーザ入力インターフェース160は、システム・バスに結合されているが、パラレル・ポート、ゲーム・ポート、ユニバーサル・シリアル・バス(USB)、IEEE1394シリアル・バス(FIREWIRE)のようなその他のインターフェースおよびバス構造によって接続することも可能である。モニタ184またはその他の形式の表示装置も、ビデオ・インターフェース183のようなインターフェースを介して、システム・バス121に接続されている。ビデオ・アダプタ183は、それ自体の特殊プロセッサおよびメモリに加えて、先進の2Dまたは3Dグラフィクス処理能力も備えることができる。
また、コンピュータ110は、ユーザがスタイラス186を用いて入力することを可能にするために、ディジタイザ185を含むこともできる。ディジタイザ185は、モニタ184に一体化することも別の表示装置とすることもでき、あるいはディジタイザ・パッドのように、別個のデバイスの一部とすることもできる。また、コンピュータ110は、スピーカ189およびプリンタ188のような、その他の周辺出力装置も含むことができ、これらは出力周辺インターフェース187を通じて接続することができる。
コンピュータ110は、リモート・コンピュータ180のような1つ以上のリモート・コンピュータへの論理接続を用いて、ネットワーク環境において動作することも可能である。リモート・コンピュータ180は、パーソナル・コンピュータ、ハンド・ヘルド・デバイス、サーバ、ルータ、ネットワークPC、ピア・デバイス、またはその他の共通ネットワーク・ノードとすることができ、典型的に、コンピュータ110に関して先に説明したエレメントの多くまたは全てを含むが、図1にはメモリ記憶装置181のみを示す。図1に示す論理接続は、ローカル・エリア・ネットワーク(LAN)171およびワイド・エリア・ネットワーク(WAN)173を含むが、他のネットワークも含むことができる。このようなネットワーク環境は、事務所、企業規模のコンピュータ・ネットワーク、イントラネットおよびインターネットにおいては、一般的である。
LANネットワーク環境で用いる場合、コンピュータ110は、ネットワーク・インターフェースまたはアダプタ170を介してLAN171に接続する。WANネットワーク環境で用いる場合、コンピュータ110は、典型的に、モデム172、衛星円盤(図示せず)、またはインターネットのようなWAN173を通じて通信を確立するその他の手段を含む。モデム172は、内蔵でも外付けでもよく、ユーザ入力インターフェース160またはその他の適切な機構を介してシステム・バス121に接続することができる。ネットワーク環境では、コンピュータ110に関して図示したプログラム・モジュール、またはその一部は、リモート・メモリ記憶装置に格納することもできる。一例として、そして限定ではなく、図1は、リモート・アプリケーション・プログラム185がメモリ素子181上に常駐するものとして示している。尚、図示のネットワーク接続は一例であり、コンピュータ間で通信リンクを確立する他の手段も使用可能であることは認められよう。
図3は、本発明の1つ以上の例示実施形態によるローカル・サムネイル・キャッシュ301のブロック図を示す。ローカル・サムネイル・キャッシュ301は、サムネイル画像の発生、格納、および表示において連携する構成要素の大きな集合における一部であってもよい。これらの構成要素は、サムネイル・クライアント310を含むことができ、サムネイル・コンシューマ(thumbnail consumer)313はプログラムによってサムネイル・クライアント310と双方向処理を行うことができる。サムネイル・コンシューマ313は、オペレーティング・システム132の構成要素(例えば、グラフィカル・ファイル・ブラウザ)または第三者ソフトウェア(例えば、グラフィクス編集ソフトウェア)の構成要素を含むこともできる。サムネイル・コンシューマ313は、特定のファイルについてのサムネイルを要求および検索することができる。サムネイル・クライアント310は、このような要求を受信すると、サムネイル画像発生を要求することができ(恐らくは背景プロセスとして)、あるいはローカル・サムネイル・キャッシュ310から画像を検索することができる。
特定のファイルに関連する情報は、サムネイルを格納および検索するための「キー」として用いることができる。この関連情報は、個々のファイルの位置または特性を識別するために用いることができるので、「識別データ」と記述することもできる。このような情報は、個々のファイルの名称、ファイルの位置(例えば、ユニフォーム・リソース・ロケータ(URL)またはファイル経路)、変更タイムスタンプ、作成タイムスタンプ、ファイル・サイズ等を含むことができる。更に、識別データは、前述のいずれの暗号ハッシュ(cryptographic hash)も含むことができる。例えば、あるファイルと関連があるURLを変更日時と組み合わせれば、識別ストリングを形成することができ、これからCRC−64ハッシュを抽出する。このような識別情報は、ローカル・サムネイル・キャッシュ301内部でサムネイルにインデックスを付けるときに用いることができる。
例えば、サムネイル・コンシューマ313の1つが、ファイル312のサムネイル画像を要求する際、このファイルについての識別情報(例えば、URL、および/または変更日時)を提供すればよい。識別情報を参照キーとして用いて、サムネイル・クライアント310は最初にローカル・サムネイル・キャッシュ301を調べて、ファイル312のサムネイル画像が既に格納されているか否か確認することができる。ローカル・サムネイル・キャッシュ301がそのサムネイルを有していない場合、サムネイル・クライアント310は、登録されているサムネイル抽出部311にファイル312に対するサムネイル画像を発生するように要求することができる。一旦発生したなら、サムネイル・クライアント310は、コンシューマの要求に返答して、新たに発生したサムネイルのコピーまたはサムネイルへの参照を与えることができる。次回サムネイル・コンシューマがファイル312のサムネイルを要求したときは、サムネイル・クライアント310は、新たにサムネイル画像を発生する無駄な処理時間を要することなく、ローカル・サムネイル・キャッシュ301に格納されている画像のコピー、または画像への参照を与えて返答することができる。
ローカル・サムネイル・キャッシュ301を「ローカル」と記述するのは、これにアクセスできるのが現在認識済みのユーザだけであるからである。認識済みのユーザという用語は、オペレーティング・システム134が認識したコンピュータ110のユーザを意味する。コンピュータは多くのユーザを有することがあるが、認識済みのユーザだけに、彼らのファイルのセキュリティに対する制御、および彼らのローカル設定値に対する制御を付与することができる。認識済みのユーザは、彼または彼女自身のローカル設定集合にアクセスすることができる。ローカル設定集合は、デスクトップの好み(例えば、背景色)や、セキュリティ特権(例えば、ユーザ・ファイルから他のユーザを締め出す)を含むことができる。
ローカル・サムネイル・キャッシュ301は、認識済みのユーザのローカル・ファイル間に格納することができる。コンピュータ110の各認識済みユーザには、彼または彼女のローカル・サムネイル・キャッシュ301を割り当てることができる。これは複製可能にしてもよいが、機密ファイルと考えられる場合、自由なアクセスを防止する。前述のように、全体的にアクセス可能なサムネイル・キャッシュでは、無許可ユーザがアクセスできないファイルのサムネイル画像に、無許可ユーザをアクセスさせてしまう可能性がある。全てのサムネイルをローカル・キャッシュにキャッシュし、認識済みユーザのみにアクセス可能とすることにより、潜在的なセキュリティの孔を塞ぐことができる。種々の最適化方式によって、サムネイル発生プロセスを合理化することができる。これらの方式には、他のローカルまたはリモート・キャッシュにキャッシュされているサムネイルの共有(セキュリティ対策が妨害されないことを確保しつつ)を含むことができる。このキャッシュ方式は、ユーザ毎/マシン毎キャッシュと記述することができる。何故なら、別個のキャッシュをコンピュータ110の認識されているユーザ毎に作成するからである。
ローカル・サムネイル・キャッシュ301は、データ・ストア303およびインデックス・ストア304と結合されたサムネイル・サーバ302という形態で、演算装置120によって実行可能なソフトウェア・コードを含むことができる。データ・ストア303は、グラフィカル情報として格納したサムネイル画像を収容する1つ以上のデータ・ファイルを含むことができる。データ・ストア303は、画像の寸法やファイル・サイズには関係なく、全てのサムネイル画像を格納する単一のデータ・ファイルのみを含んでもよい。あるいは、寸法が異なるサムネイルを格納するために、多数のデータ・ファイルを用いてもよい。インデックス・ストア304は、データ・ストア303内にある関連するサムネイルの位置(または位置オフセット)と結合したファイル識別情報を収容するインデックス・ファイルを含むことができる。インデックス・ストア304およびデータ・ストア303は、オペレーティング・システム134内に別個のファイルとして格納することができる。全体を通じて別個のファイルと記述するが、これらのファイルを組み合わせて、メモリに格納するときには、単一の連合キャッシュ・ファイルとしてもよい。
サムネイル・サーバ302は、特定のサムネイル関連プログラム・インターフェースを実施する実行可能コードの集合体とすることができる。サムネイル・サーバ302は、実行可能ファイル(例えば、thumbs.exe)または実行可能コードの動的リンク可能ライブラリ(例えば、thumbcache.dll)とすることができる。サムネイル・サムネイル・サーバ302によって実施するIThumbnailCacheインターフェースは、サムネイル・クライアント310がキャッシュに格納されているサムネイルを取り込み(例えば、GetThumbnai())、サムネイルをキャッシュに保存する(例えば、SetThumbnail())ことを可能にする、2つの必須機能を含むことができる。
サムネイル・クライアント310がローカル・サムネイル・キャッシュ301からサムネイル画像を取り込もうとする場合、サムネイル・クライアント310は、識別情報をサムネイル・サーバ302に供給することによって、これを要求することができる。先に注記したように、この識別情報は、URL、日付、時刻、以上のデータ全てのハッシュ等を含むことができる。加えて、ローカル・サムネイル・キャッシュ301が多数のサイズのサムネイル画像を格納している場合、識別情報はサムネイルの寸法(例えば、32×32または128×128)も含むことができる。ローカル・サムネイル・キャッシュ301に、識別情報の全てが一致するサムネイルがない場合、キャッシュ301はキャッシュ・ミス・インディケータ(cache miss indicator)をサムネイル・クライアント310に戻すことができる。
ローカル・サムネイル・キャッシュ301が、要求されたサムネイルのコピーを格納している場合、サムネイル画像のコピー、または直接キャッシュを指し示す画像への参照のいずれかを戻すことができる。これを「直接マッピング」と呼ぶこともできる。サムネイル画像への直接キャッシュ参照を用いると、サムネイルの余分なバッファ・コピー、即ち、管理しなければならないコピーの作成(例えば、基礎のサムネイルを変更したときに、コピーをリフレッシュしなければならない)を回避することができる。キャッシュに格納されているサムネイル画像への参照を供給することにより、ビデオ・アダプタ183は、オペレーティング・システム134が採用するメモリ管理メカニズムに応じて、ハード・ディスク141から直接サムネイルを参照することが可能となる。
図4は、本発明の1つ以上の例示実施形態による、関連データ・ファイル402、403、404を有するサムネイル・キャッシュ・インデックス401を示す。ローカル・サムネイル・キャッシュ301は、インデックス401を含むことができる。インデックス401は、インデックス・バージョン番号のような情報や、読み取り/書き込みロックを管理するためのフィールドを有するヘッダを含むことができる。インデックス401内にある個々のエントリ、例えば、エントリ421は、識別情報(例えば、発生したURLストリングのハッシュおよび/または変更の日時)を含むことができる。加えて、各インデックス・エントリは、位置情報のアレイ、サムネイルを収容することができるサムネイル・データ・ファイル毎に1つのアレイ・エントリを収容することができる。インデックス401に格納されているインデックス・エントリは、素早いアクセスのために、ハッシュ・テーブルまたは散乱テーブル(scatter table)を用いて格納することもできる。具体的には、インデックス・エントリは、線形精査シーケンス(linear probe sequence)で、開放アドレス散乱テーブル(open addressed scatter table)に格納することができる。インデックス401内部におけるインデックス・エントリの編成を調整または最適化して、ファイルの格納場所(locality)を増大させ、頻繁に要求されるサムネイルを一緒に互いに都合が良い位置に格納すれば、素早くアクセスすることが可能となる。
ローカル・サムネイル・キャッシュ301は、1つ以上の関連データ・ファイル402、403、404を含むことができ、各々、特定のサイズまたは寸法のサムネイルを収容する。各データ・ファイルは、ヘッダ412、413、414を含むことができ、ヘッダは、データ・ファイル・バージョン番号、付随するサムネイルのサイズ(例えば、32×32または128×128)というような情報、更には孤立画像(orphan)除去および読み出し/書き込み/維持系統(maintainer)ロックを管理するためのフィールドを含むことができるう。サムネイル・サイズが1つだけのデータ・ファイルを用いると、コード化を簡素化することができる。何故なら、直列化したビットマップ(またはその他のグラフィック・フォーマット)は必ず標準サイズとなり、データ・ファイルの考察および操作が一層簡単になるからである。画素またはファイル・サイズの要件を完全に満たすサムネイル画像(例えば、標準のアスペクト比とは異なるアスペクト比を有する)には、詰め物をして、標準のエントリ・サイズを維持すればよい。例えば、サムネイルの直接マッピングを可能にするために必要な特定のファイル・サイズを得るために、画像に詰め物をする場合がある。
データ・ファイル402、403、404のヘッダ412、413、414に続いて、格納したビットマップ(またはJPEG、あるいはその他のグラフィック・フォーマット)の直列化バージョンが、各データ・ファイル内にあるとよい。サムネイル、特に大きな画像を格納するために、圧縮フォーマットを用いることもできる。これらの圧縮画像は、検索のときに伸張することができる。インデックス401の各インデックス・エントリと共に格納されている位置情報は、オフセット情報を含み、各データ・ファイル内において固定されている開始点から計数するバイト数または画像数を与えるようにするとよい。加えて、インデックス401の各インデックス・エントリ内に格納されている位置情報は、サムネイル画像の内容のCRC−32チェックサム(または同様のチェックサム)も含むことができる。これによって、ローカル・サムネイル・キャッシュ301は、サムネイル画像の内容が、その画像が格納されて以来、不用意に(または悪意で)変更されていないか否かチェックすることが可能となる。
ローカル・サムネイル・キャッシュ301には、各クライアント・プロセスのプロセス内サーバ構成要素を通じてアクセスすることができる。サムネイル・キャッシュへのアクセスを調停するためにユーザ毎またはシステム毎のブローカ・サービスを用いる代わりに、個々のクライアント・プロセスが協同してアクセスの同期を取り、同じファイルまたはメモリ空間にアクセスするときの競合を回避するとよい。インデックス401上での競合は少ないと思われる。標準的な多重リーダ/単一ライタ・グループ・ロックを用いて、インデックス401内における競合に対して保護してもよい。グループ・ロックの実施態様は、「ライタ切望型」(writer-starved)とし、リーダ・ロックを優先するとよい。1つ以上のデータ・ファイル402、403上の競合は多いと思われる。リーダ/ライタ/維持系統ロックを用いて、データ・ファイル402、403、404における競合を回避するとよい。維持系統は、リーダがアクセスできないデータ・ファイル・エントリを変更することだけを許可し(例えば、インデックス・エントリ位置の移動のためにデータ・ファイル・エントリが孤立している場合)、古くなったサムネイルの「収集整理」ならびに背景走査およびフラグメンテーション解消を実行することを許可するとよい。
ローカル・サムネイル・キャッシュ301はキャッシュである(データベースではない)ので、キャッシュのファイル・サイズを管理するために一連の方策を採用するとよい。キャッシュの中にいつまでも残っていられることを保証されている特別なサムネイル画像はない。使用頻度が少ないサムネイルまたは期限切れのサムネイルを、定期的に削除して、新しいサムネイルのための余裕空間を作るとよい。キャッシュ・サイズを管理する方策は、各ユーザのサムネイル・キャッシュ(または全てのユーザのキャッシュ)を、特定のサイズまたは利用可能なディスク空間の特定の割合に制約し、ディスク浄化ウィザードの一部としてユーザに全てのサムネイル・キャッシュを消去させ、「ごみ」を収集することによって孤立した(参照されてない)データ・ファイル・エントリを除去し、新しいサムネイルが用いるために、古いキャッシュ・エントリおよび/または使用されないキャッシュ・エントリが占める空間を回収することを含むことができる。回収の方策は、使用頻度、最後の使用以来の時間、最初に変換したファイルのサイズ等を考慮に入れるとよい。例えば、元のファイルの方が大きい場合(そして、サムネイルを発生するために長い時間がかかる)、元のファイルが頻繁に用いられなくても、これがキャッシュ内に残留し回収されない可能性の方が高い場合もある。
個々のサムネイル画像が現在使用されている(したがって、ごみではない)か否か判定する際、従来の手法または従来と異なった手法を採用することができる。サムネイルが使用されているか否か追跡する方法の1つでは、参照カウンタによって、サムネイルへの参照を追跡する。参照カウンタは、インデックス401と共に共有メモリに格納されていることもある。しかしながら、参照カウンタは、予期せずに終了したプロセスによっては減数されないようにすれば、現在孤立しているサムネイル画像のガベージ・コレクションを防止することができる。
データ・ファイルにおける画像への参照を追跡する代替方法の1つでは、読み取られたサムネイル画像毎に、一意の名称を付けたカーネル・オブジェクトを作成する。サムネイルを読み取るとき、例えば、画像名のURLおよびCRC−64の連結を用いて、チープ・カーネル・オブジェクト(cheap kernel object)(例えば、ミュテックス(mutex)またはイベント)を作成し、カーネル・オブジェクトに名称を付ける。サムネイルを読み取っている間にプロセスが消滅した場合、オペレーティング・システムはカーネル・オブジェクト(複数のカーネル・オブジェクト)を浄化する。個々のサムネイルが使用されているか否か確認するためにチェックする場合、システムは単にカーネルに問い合わせて一意の名称を求めるか、または同じオブジェクトを作成しようとして、エラーとなるか否か調べる。エラーとなり、そのオブジェクトが既に存在することが述べられる限り、そのサムネイルは「用いられている」ことになる。
回収アルゴリズムを用いて、ガベージ・コレクションを行うことができる(例えば、もはやインデックスによって参照されず、もはや「用いられて」いないサムネイル画像を除去または上書きする)。このようなアルゴリズムは、データ・ファイルの全体を精査して(恐らく、背景プロセスとして)孤立したサムネイルおよび使用されていないサムネイルを探し出すことを要する場合がある。孤立したサムネイルは、直ちに新しいサムネイルと交換することもできるが、あるいはこれらにフラグを立てて、今後再利用できるようにしてもよい。データ・ファイル内にあるサムネイルは、格納されている各画像の先頭にヘッダ・エントリを含むことができる。このヘッダは、孤立した状態を示すフラグを収容することができる。代わりに、格納されている各画像のヘッダは、「次の孤立した」データ・ファイル・エントリに対する値を収容することもできる。「次に孤立した」エントリをリンクしたリストを調べることにより、全ての孤立したサムネイル画像を発見し、1つずつ処置することができる。加えて、フラグメンテーション解消パスが、孤立したサムネイル画像をデータ・ファイルから完全に除去し、参照されているサムネイルを詰めて行って隙間をなくすこともできる。これらのパスは、経時的な使用カウントを連続的に更新したヒストグラムのような、使用統計に基づいて、より良い場所に位置付けるために画像を配列し直すこともできる。
図5は、前述の回収方策が示唆するローカル・サムネイル・キャッシュ301におけるサムネイル画像の格納プロセスを示す。ステップ500において、サムネイル画像を格納する要求を受け、識別情報によって遂行する。判断501においてインデックス401をチェックし、同じ識別情報を用いて、画像が既にこのサムネイル・サイズで格納されているか否か確認する。画像が既に格納されている場合、判断502において、古い画像をチェックし、これが現在使用されているか否か確認する。使用されている場合、ステップ503において、既に格納されている画像の位置を、後に浄化する、孤立位置のリストに格納する。画像が現在用いられていない場合、ステップ505において、新しい画像のためにその位置を再利用する。ステップ503の後、または判断501において、画像が以前に格納されていなかった場合、判断504において孤立画像のリストをチェックして、現在使用されていないものがあるか否か確認する。使用されていない孤立画像がある場合、ステップ506において、この孤立画像の画像サイズが、交換する画像を収容できるだけの大きさであるならば、この孤立画像の位置を新しい画像のために用いる。利用可能な孤立画像がない場合、判断507において、データ・ファイルを検査して、先に論じた制約を仮定して、データ・ファイルを拡大することができるか否か確認する。データ・ファイルを拡大することができる場合、ステップ508において、新しい画像をデータ・ファイルに添付する。データ・ファイルをそれ以上拡大することができない場合、判断511において、先に論じた回収方策の使用を開始して、孤立していないが使用されていない画像を選択して回収する。画像を発見することができない場合、ステップ512において、新しい画像をキャッシュには格納しない。回収可能な画像が発見された場合、ステップ509において、格納位置を再利用し、選択した回収可能な画像と新しい画像を置き換える。前述のステップ(505、506、508、または509)のいずれかにおいて新しい画像を確認した場合、ステップ510において、画像の新しい位置を用いて、インデックス401におけるエントリを更新する。
図6は、ローカル・サムネイル・キャッシュ301にサムネイルを格納し検索する総合的なプロセスを示す。ステップ601において、インデックス401および1つ以上のデータ・ファイルを用いて、ローカル・サムネイル・キャッシュ301を維持する。ステップ602において、サムネイルを格納する要求を受け取り、識別情報によって遂行する。ステップ603において、サムネイル画像をデータ・ファイルに格納する。ここで、先に概要を述べたプロセスを用いることができる。ステップ604において、インデックス401に識別情報を格納し、ステップ605において、データ・ファイル内における画像の位置を、識別情報と共に、インデックス401に格納する。ステップ606において、その識別情報によって示されるように、サムネイル画像を検索する要求を受け取る。ステップ607において、先に概要を述べたプロセスを用いて、画像またはそれへの参照を検索する。
以上、現時点において本発明を実施するのに好ましい態様を含む、具体的な例に関して、本発明の態様を説明したが、前述の説明および技術には、添付した特許請求の範囲に明記した発明の主旨および範囲に該当する数多くの変形および代用物があることは、当業者には認められよう。
図1は、本発明の例示実施形態の1つ以上の態様を実施することができる動作環境の機能ブロック図である。 図2Aは、従来技術のサムネイル・キャッシュを示す。 図2Bは、従来技術のサムネイル・キャッシュを示す。 図3は、本発明の1つ以上の例示実施形態によるローカル・サムネイル・キャッシュのブロック図を示す。 図4は、本発明の1つ以上の例示実施形態による、サムネイル・キャッシュ・インデックス・ファイルを、付随するデータ・ファイルと共に示す。 図5は、本発明の1つ以上の例示実施形態にしたがって、サムネイル・キャッシュにサムネイルを格納するプロセスを示す。 図6は、本発明の1つ以上の例示実施形態にしたがって、サムネイル・キャッシュを用いてサムネイルを格納および検索するプロセスを示す。

Claims (20)

  1. サムネイル画像を管理するためのコンピュータで実施する方法であって、
    コンピュータ内にサムネイル・キャッシュを維持するステップであって、前記サムネイル・キャッシュがインデックスとデータ・ストアとを含む、ステップと、
    サムネイル画像を前記サムネイル・キャッシュに追加する第1要求を受けるステップであって、前記第1要求は、前記サムネイル画像と、識別情報と、サムネイル・サイズをと含む、ステップと、
    前記サムネイル画像を前記データ・ストアに格納するステップと、
    前記インデックスに、前記識別情報と、前記サムネイル・サイズと、前記データ・ストア内における前記サムネイル画像の位置とを格納するステップと、
    を備えている、方法。
  2. 請求項1記載の方法において、前記識別情報は、ファイル位置と、変更時刻とを含む、方法。
  3. 請求項1記載の方法であって、更に、
    前記サムネイル画像を検索する第2要求を受けるステップであって、前記第2要求は、前記識別情報と前記サムネイル・サイズとを含む、ステップと、
    前記第2要求に対して、前記サムネイル画像を与えて回答するステップと、
    を備えている、方法。
  4. 請求項3記載の方法であって、更に、
    ディスプレイ上に前記サムネイル画像を表示するステップを備えており、前記ディスプレイと連動するメモリが、前記サムネイル・キャッシュから直接前記サムネイル画像の非圧縮コピーを読み出す、方法。
  5. 請求項1記載の方法において、
    前記データ・ストアは、複数のデータ・ファイルを含み、複数の異なるサムネイル・サイズ毎に、1つのデータ・ファイルを有し、
    前記インデックスにおけるエントリは、前記識別情報と、前記複数のデータ・ファイル内における複数のサムネイル画像とを含む、方法。
  6. 請求項1記載の方法において、前記コンピュータの認識された各ユーザが、専用のサムネイル・キャッシュを有する、方法。
  7. 請求項6記載の方法において、各専用サムネイル・キャッシュは、対応する認識済みユーザのみがアクセス可能である、方法。
  8. 請求項1記載の方法において、前記サムネイル・キャッシュは、前記コンピュータ上でランする複数のプロセスによって同時にアクセス可能である、方法。
  9. 請求項8記載の方法において、前記複数のプロセスは、協同して、前記サムネイル・キャッシュに対するこれらのアクセスを同期させる、方法。
  10. 請求項1記載の方法において、前記サムネイル画像を前記データ・ストアに格納するステップは、
    前記識別情報と関連付けられた古いサムネイル画像が、既に前記データ・ストア内の位置に存在するか否か判定するステップと、
    前記古いサムネイル画像が前記データ・ストアに存在することに応答して、前記サムネイル画像を、前記古いサムネイル画像の位置に格納するステップと、
    を備えている、方法。
  11. サムネイル画像を管理するシステムであって、
    サムネイル・キャッシュを格納するストレージであって、前記サムネイル・キャッシュがインデックス・ファイルと1つ以上のデータ・ファイルとを含む、ストレージと、
    プロセッサと、
    を備えており、前記プロセッサが、
    サムネイル画像を前記サムネイル・キャッシュに格納する第1要求を受け、前記第1要求が前記サムネイル画像と識別情報とを含み、
    前記1つ以上のデータ・ファイルの1つに、前記サムネイル画像を格納し、
    前記インデックスに、前記識別情報と、前記1つ以上のデータ・ファイルの前記1つにおける前記サムネイル画像の位置とを格納し、
    前記サムネイル画像を検索する第2要求を受け、前記第2要求が前記識別情報を含み、
    前記第2要求に対して、前記サムネイル画像への参照を与えて回答する、
    ように構成されている、システム。
  12. 請求項11記載のシステムにおいて、前記識別情報は、ファイル位置と、変更の日時とを含む、システム。
  13. 請求項12記載のシステムにおいて、前記ファイル位置は、ユニフォーム・リソース・ロケータである、システム。
  14. 請求項10記載のシステムであって、更に、
    ディスプレイと、
    メモリと、
    を備えており、前記サムネイル画像への参照は、前記サムネイル画像の表現が位置する前記メモリ内におけるメモリ位置を指し示し、前記プロセッサは、更に、前記メモリ位置を直接参照することによって、前記ディスプレイ上に前記サムネイル画像を表示するように構成されている、システム。
  15. 請求項11記載のシステムにおいて、前記プロセッサは、更に、
    前記識別情報に対するメモリ位置に、古いサムネイル画像が以前に格納されていたか否か判定を行い、
    前記古いサムネイル画像が以前に格納されていたことに応答して、前記サムネイル画像を格納するために、前記1つ以上のデータ・ファイルの前記1つの内部における前記古いサムネイル画像のメモリ位置を再利用する、
    ように構成されている、システム。
  16. 請求項11記載のシステムにおいて、当該システムの認識されたユーザが専用のサムネイル・キャッシュを有する、システム。
  17. 請求項11記載のシステムにおいて、前記サムネイル・キャッシュは、前記コンピュータ上でランする多数のプロセスによって同時にアクセス可能である、システム。
  18. 請求項11記載のシステムにおいて、
    前記サムネイル・キャッシュは、複数のデータ・ファイルを備えており、複数の異なるサムネイル画像サイズ毎に1つのデータ・ファイルがあり、
    前記インデックス・ファイルにおけるエントリは、前記識別情報と、前記複数のデータ・ファイル内における1つ以上のサムネイル画像の位置とを含み、
    前記第1要求は、更に、前記複数の異なるサムネイル画像サイズの1つのインディケータを含む、システム。
  19. サムネイル画像を管理するシステムであって、
    ディスプレイと、
    サムネイル・キャッシュを格納するストレージであって、前記サムネイル・キャッシュがインデックス・ファイルと複数のデータ・ファイルとを含む、ストレージと、
    プロセッサと、
    を備えており、
    前記プロセッサが、
    サムネイル画像を前記サムネイル・キャッシュに格納する第1要求を受け、該第1要求が、前記サムネイル画像と、ファイル位置と、変更日時と、サムネイル・サイズとを含み、
    前記サムネイル画像を前記複数のデータ・ファイルの1つに格納し、
    前記インデックス・ファイルに、前記複数のデータ・ファイルの前記1つにおける前記サムネイル画像の前記ファイル位置と、前記変更日時と、前記サムネイル・サイズとを格納し、
    前記サムネイル画像を検索する第2要求を受け、該第2要求が、前記ファイル位置と、前記変更日時と、前記サムネイル・サイズとを備えており、
    前記サムネイル画像を前記ディスプレイ上に表示するように構成されている、システム。
  20. 請求項18記載のシステムであって、更に、
    ビデオ・アダプタを備えており、該ビデオ・アダプタは、前記サムネイル画像を前記サムネイル・キャッシュから直接読み出す、システム。
JP2008507623A 2005-04-22 2005-07-28 ローカル・サムネイル・キャッシュ Pending JP2008538627A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/111,986 US20060242163A1 (en) 2005-04-22 2005-04-22 Local thumbnail cache
PCT/US2005/026850 WO2006115517A2 (en) 2005-04-22 2005-07-28 Local thumbnail cache

Publications (1)

Publication Number Publication Date
JP2008538627A true JP2008538627A (ja) 2008-10-30

Family

ID=37188303

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008507623A Pending JP2008538627A (ja) 2005-04-22 2005-07-28 ローカル・サムネイル・キャッシュ

Country Status (6)

Country Link
US (1) US20060242163A1 (ja)
EP (1) EP1872197A4 (ja)
JP (1) JP2008538627A (ja)
KR (1) KR20080002838A (ja)
CN (1) CN101167047B (ja)
WO (1) WO2006115517A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016508641A (ja) * 2013-01-30 2016-03-22 ドロップボックス, インコーポレイテッド コンテンツプレビューの提供

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080022218A1 (en) * 2006-07-24 2008-01-24 Arcsoft, Inc. Method for cache image display
TW200840357A (en) * 2006-12-26 2008-10-01 Sony Corp Information processing apparatus, information processing method, and program
US20080244469A1 (en) * 2007-03-30 2008-10-02 Research In Motion Limited Method of optimizing the displaying of image media on a wireless communications device
US7941749B2 (en) * 2007-05-15 2011-05-10 Microsoft Corporation Composition of electronic document layout
CN101193074A (zh) * 2007-05-22 2008-06-04 腾讯科技(深圳)有限公司 一种在即时通信展示框上显示图片的方法和系统
US7975109B2 (en) 2007-05-30 2011-07-05 Schooner Information Technology, Inc. System including a fine-grained memory and a less-fine-grained memory
US20090064045A1 (en) * 2007-09-04 2009-03-05 Christopher Tremblay Low memory rendering of graphical objects
DE102008008138A1 (de) 2008-02-08 2009-08-13 Rhode & Schwarz Gmbh & Co. Kg Konfigurierbares Messgerät und entsprechendes Messverfahren
KR101531499B1 (ko) * 2008-03-19 2015-06-26 엘지전자 주식회사 미들웨어, 녹화물 정보 제공 방법 및 녹화물 정보 제공방법을 기록한 기록매체
US8229945B2 (en) 2008-03-20 2012-07-24 Schooner Information Technology, Inc. Scalable database management software on a cluster of nodes using a shared-distributed flash memory
US8732386B2 (en) * 2008-03-20 2014-05-20 Sandisk Enterprise IP LLC. Sharing data fabric for coherent-distributed caching of multi-node shared-distributed flash memory
JP5782214B2 (ja) 2008-05-30 2015-09-24 富士通株式会社 情報検索プログラム、情報検索装置および情報検索方法
JP5419486B2 (ja) * 2009-02-10 2014-02-19 キヤノン株式会社 データ処理装置、データ処理方法、およびプログラム
US9076239B2 (en) 2009-04-30 2015-07-07 Stmicroelectronics S.R.L. Method and systems for thumbnail generation, and corresponding computer program product
JP5504722B2 (ja) * 2009-07-15 2014-05-28 富士ゼロックス株式会社 情報処理装置及びコンピュータプログラム
JP5515507B2 (ja) * 2009-08-18 2014-06-11 ソニー株式会社 表示装置及び表示方法
EP2336910B1 (en) * 2009-11-23 2018-02-21 BlackBerry Limited Generating device specific thumbnails
CN102088573A (zh) * 2009-12-08 2011-06-08 新奥特(北京)视频技术有限公司 一种管理字幕素材文件的服务器
CN102088568B (zh) * 2009-12-08 2016-08-10 新奥特(北京)视频技术有限公司 一种字幕制作系统
CN101807199B (zh) * 2010-02-05 2012-10-24 腾讯科技(深圳)有限公司 一种缩略图显示方法及装置
US9047351B2 (en) 2010-04-12 2015-06-02 Sandisk Enterprise Ip Llc Cluster of processing nodes with distributed global flash memory using commodity server technology
US8725951B2 (en) 2010-04-12 2014-05-13 Sandisk Enterprise Ip Llc Efficient flash memory-based object store
US8856593B2 (en) 2010-04-12 2014-10-07 Sandisk Enterprise Ip Llc Failure recovery using consensus replication in a distributed flash memory system
US9164554B2 (en) 2010-04-12 2015-10-20 Sandisk Enterprise Ip Llc Non-volatile solid-state storage system supporting high bandwidth and random access
US8868487B2 (en) 2010-04-12 2014-10-21 Sandisk Enterprise Ip Llc Event processing in a flash memory-based object store
US8666939B2 (en) 2010-06-28 2014-03-04 Sandisk Enterprise Ip Llc Approaches for the replication of write sets
CN102024057B (zh) * 2010-12-24 2015-07-01 中兴通讯股份有限公司 海量数据记录的索引建立方法及装置
US8694733B2 (en) 2011-01-03 2014-04-08 Sandisk Enterprise Ip Llc Slave consistency in a synchronous replication environment
US8874515B2 (en) 2011-04-11 2014-10-28 Sandisk Enterprise Ip Llc Low level object version tracking using non-volatile memory write generations
CN102760131B (zh) * 2011-04-28 2015-11-04 腾讯科技(深圳)有限公司 一种网络相册的展示方法及系统
CN102789458B (zh) * 2011-05-18 2016-01-13 腾讯科技(深圳)有限公司 一种影像文件处理方法及系统
US9204175B2 (en) 2011-08-03 2015-12-01 Microsoft Technology Licensing, Llc Providing partial file stream for generating thumbnail
DE102011081600A1 (de) * 2011-08-25 2013-02-28 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Betreiben eines Fahrzeuginformationssystems, Fahrzeuginformationssystem und Computerprogramm
US9135064B2 (en) 2012-03-07 2015-09-15 Sandisk Enterprise Ip Llc Fine grained adaptive throttling of background processes
JP5952612B2 (ja) * 2012-03-28 2016-07-13 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム
US11368760B2 (en) 2012-08-17 2022-06-21 Flextronics Ap, Llc Applications generating statistics for user behavior
US20160119675A1 (en) * 2012-09-06 2016-04-28 Flextronics Ap, Llc Programming user behavior reporting
CN103678357B (zh) * 2012-09-13 2018-12-11 腾讯科技(深圳)有限公司 一种移动终端获取图片缩略图的方法及装置
CN102857949B (zh) * 2012-09-14 2018-11-20 中兴通讯股份有限公司 一种规划数据一致性保证的方法和装置
US9785307B1 (en) * 2012-09-27 2017-10-10 Open Text Corporation Reorder and selection persistence of displayed objects
CN103873918B (zh) 2012-12-14 2017-08-29 腾讯科技(深圳)有限公司 图片处理方法、装置及终端
CN103905496A (zh) * 2012-12-27 2014-07-02 腾讯科技(深圳)有限公司 一种图片下载方法及装置
CN103064627B (zh) * 2013-01-11 2016-03-02 广东欧珀移动通信有限公司 一种应用程序管理方法及装置
CN104079600B (zh) * 2013-03-27 2018-10-12 中兴通讯股份有限公司 文件存储方法、装置、访问客户端及元数据服务器系统
CN103246729A (zh) * 2013-05-09 2013-08-14 北京暴风科技股份有限公司 一种处理安卓移动端的多媒体文件的方法和系统
CN104168252A (zh) * 2013-05-17 2014-11-26 深圳市同洲电子股份有限公司 一种媒体资源管理方法及系统
CN103699566B (zh) * 2013-11-01 2018-07-10 北京奇虎科技有限公司 一种图片实时切图装置及方法
US9787799B2 (en) 2014-02-27 2017-10-10 Dropbox, Inc. Systems and methods for managing content items having multiple resolutions
US10885104B2 (en) 2014-02-27 2021-01-05 Dropbox, Inc. Systems and methods for selecting content items to store and present locally on a user device
US9489413B2 (en) * 2014-03-31 2016-11-08 Oracle International Corporation Asynchronous global index maintenance during partition maintenance
JP2015215740A (ja) * 2014-05-09 2015-12-03 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
CN103995706A (zh) * 2014-06-06 2014-08-20 广州金山网络科技有限公司 一种图片缩略图显示方法及装置
TWI502482B (zh) * 2014-07-29 2015-10-01 Insyde Software Corp Handheld electronic device with the function of starting electronic device and its method, computer program product
CN104268012B (zh) * 2014-09-28 2017-10-24 广州华多网络科技有限公司 一种图片数据处理方法及装置
US10198355B2 (en) 2015-10-29 2019-02-05 Dropbox, Inc. Proving a dynamic digital content cache
KR102448863B1 (ko) * 2016-03-08 2022-09-30 엘지전자 주식회사 이동단말기 및 그 제어방법
CN108228646B (zh) * 2016-12-21 2022-02-08 伊姆西Ip控股有限责任公司 用于访问数据的方法和电子设备
US10983677B2 (en) * 2018-11-16 2021-04-20 Dropbox, Inc. Prefetching digital thumbnails from remote servers to client devices based on a dynamic determination of file display criteria
CN112597110B (zh) * 2020-12-17 2023-05-09 海信视像科技股份有限公司 一种显示设备及文件展示方法
US12003776B2 (en) 2021-12-28 2024-06-04 Western Digital Technologies, Inc. Reducing file sizes for media content
CN116561351A (zh) * 2022-01-29 2023-08-08 华为技术有限公司 缩略图存储方法及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11284948A (ja) * 1998-03-30 1999-10-15 Matsushita Electric Ind Co Ltd サムネイル作成方法及びサムネイル表示方法
JP2002225377A (ja) * 2001-02-02 2002-08-14 Seiko Epson Corp 印刷装置及びコンピュータ可読媒体
US20050041886A1 (en) * 2002-12-09 2005-02-24 Toshiaki Wada Image search program, information storage medium, image search apparatus and image search method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5893116A (en) * 1996-09-30 1999-04-06 Novell, Inc. Accessing network resources using network resource replicator and captured login script for use when the computer is disconnected from the network
US5933824A (en) * 1996-12-23 1999-08-03 Lsi Logic Corporation Methods and apparatus for locking files within a clustered storage environment
US7248753B2 (en) * 2003-07-31 2007-07-24 Kyocera Mita Corporation Image displaying apparatus and program product for displaying image

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11284948A (ja) * 1998-03-30 1999-10-15 Matsushita Electric Ind Co Ltd サムネイル作成方法及びサムネイル表示方法
JP2002225377A (ja) * 2001-02-02 2002-08-14 Seiko Epson Corp 印刷装置及びコンピュータ可読媒体
US20050041886A1 (en) * 2002-12-09 2005-02-24 Toshiaki Wada Image search program, information storage medium, image search apparatus and image search method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016508641A (ja) * 2013-01-30 2016-03-22 ドロップボックス, インコーポレイテッド コンテンツプレビューの提供
US10489369B2 (en) 2013-01-30 2019-11-26 Dropbox, Inc. Providing a content preview

Also Published As

Publication number Publication date
EP1872197A2 (en) 2008-01-02
KR20080002838A (ko) 2008-01-04
WO2006115517A3 (en) 2007-02-01
CN101167047B (zh) 2010-12-08
CN101167047A (zh) 2008-04-23
WO2006115517A2 (en) 2006-11-02
US20060242163A1 (en) 2006-10-26
EP1872197A4 (en) 2008-09-03

Similar Documents

Publication Publication Date Title
JP2008538627A (ja) ローカル・サムネイル・キャッシュ
US9734158B2 (en) Searching and placeholders
US7849063B2 (en) Systems and methods for indexing content for fast and scalable retrieval
US8650164B2 (en) Efficient storage and retrieval for large number of data objects
US6449615B1 (en) Method and system for maintaining the integrity of links in a computer network
US8738572B2 (en) System and method for storing data streams in a distributed environment
JP5023715B2 (ja) 情報処理システム、情報処理装置及びプログラム
Alink et al. XIRAF–XML-based indexing and querying for digital forensics
US20050120004A1 (en) Systems and methods for indexing content for fast and scalable retrieval
JP2005011339A (ja) コンピュータ・システム・アーキテクチャのためのコンテキスト関連づけスキーマ
US20090300013A1 (en) Optimized Reverse Key Indexes
MX2008000520A (es) Indice y busqueda de contenedor inteligente.
JP2011065546A (ja) ファイル検索システム及びプログラム
JP2002163137A (ja) 変更ログを統合化および最適化する方法
JP2005018754A (ja) 関連付けを有するコンピュータオブジェクトの共有
US20140081917A1 (en) Searching files
US20130311493A1 (en) Systems and methods for arbitrary data transformations
EP2015202A1 (en) Method and apparatus for generating electronic content guide
US9898603B2 (en) Offline extraction of configuration data
US20140358868A1 (en) Life cycle management of metadata
JP2000076109A (ja) データ表示装置およびデータ表示方法
US7421451B2 (en) Padding management for content files
KR20060063653A (ko) 모호한 네임을 허용하는 컴퓨터 파일 시스템
US20050262054A1 (en) Item type specific structured search
CN113805864A (zh) 一种项目工程的生成方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101111

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110405