JP2008547106A - 検索用バックオフメカニズム - Google Patents

検索用バックオフメカニズム Download PDF

Info

Publication number
JP2008547106A
JP2008547106A JP2008518114A JP2008518114A JP2008547106A JP 2008547106 A JP2008547106 A JP 2008547106A JP 2008518114 A JP2008518114 A JP 2008518114A JP 2008518114 A JP2008518114 A JP 2008518114A JP 2008547106 A JP2008547106 A JP 2008547106A
Authority
JP
Japan
Prior art keywords
request
indexing
requests
low priority
computer
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
JP2008518114A
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 JP2008547106A publication Critical patent/JP2008547106A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/328Management therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip

Abstract

低優先度入出力要求を用いて文書への索引の付与が実行される。本態様は、自身の文書管理システムへの入出力要求に関して少なくとも2つの優先度レベルをサポートするオペレーティングシステムを有するシステムで実装することができる。低優先度入出力要求を使用して、索引を付与すべき文書にアクセスすることができる。低優先度入出力要求を使用して、索引に情報を書き込むこともできる。高優先度要求を入出力要求にとして使用して、ユーザからのクエリに応じて索引にアクセスすることができる。入出力要求の優先度を(異なる優先度を割り当てることが望ましい複数のスレッドを生成する)プロセス毎ではなく、スレッド毎に設定することができる。

Description

(ラップトップ/ノートブックコンピュータおよびハンドヘルドコンピューティングデバイス、およびデスクトップコンピュータを含む)パーソナルコンピュータ用に設計された一部のオペレーティングシステムは、パーソナルコンピュータに記憶したテキスト文書において一つの選択語あるいは複数の選択語をユーザが検索可能な全文検索システムを有する。一部の全文検索システムには索引付け(インデクシング)サブシステムを含まれるものもある。索引付けサブシステムは基本的に、ユーザがキーワードを用いて索引付きの検索を実行できるように、パーソナルコンピュータに記憶した文書を検査して、文書のそれぞれの単語を索引(インデックス)に格納する。この索引付けプロセスは中央演算装置(CPU)および入出力(I/O)に負荷が集中する。従って、索引付けプロセスの実行中にユーザが別の作業を実行したい場合、ユーザは一般にこの作業の処理が遅延することを経験するであろう。これは“ユーザ経験”に不利に影響する傾向がある。
米国特許出願公開第2004/0068627号明細書
索引付けプロセス中にユーザアクティビティに応答する際の遅延を最小化する1つのアプローチは、ユーザアクティビティの検出時に索引付けを一時停止することである。全文検索システムは索引付けプロセスを再開するためにユーザアクティビティを検出し、ユーザの作業の完了時点(または休止期間)を“予測”するロジックを含むことができる。ユーザアクティビティを検出すると、索引付けプロセスを一時停止することができるが、一般に(例えば、索引付けプロセスの一部として現在実行中のまたはタスクを完了するため)索引付けプロセスが一時停止状態に移行する際の遅延がなお存在する。さらに、休止期間の予測結果が不正確な場合、索引付けプロセスはユーザエクスペリエンスを悪化させうる前記の遅延を引き起こすであろう。さらに、ユーザアクティビティと休止期間との検出に用いるロジックは、全文検索システムをいっそう複雑にし、CPUリソースを消費する。従来システムの幾つかの欠点を考察したが、この背景情報は請求項に言及されなければならない問題を特定するようには意図されていない。
以下の要約の目的は、後の「発明を実施するための最良の形態」でさらに説明する概念から選んだものを簡潔な形で紹介することである。本要約は請求項の主要な特徴または本質的な特徴を特定するようには意図しておらず、請求範囲の決定を助長するものとして用いるようにも意図していない。
説明する様々な実施形態の態様によると、文書への索引の付与は低優先度の入出力要求を用いて実行される。本態様は、文書管理システムへの入出力要求に関して少なくとも2つの優先度レベルをサポートするオペレーティングシステムを有するシステムで実行することができる。一部の実装では、索引を付与すべき文書へのアクセスと索引への情報書き込みとに低優先度の入出力要求を使用し、一方でユーザからの問い合わせに応じて索引にアクセスするための入出力要求に高優先度の要求を使用する。また、一部の実装では、入出力要求の優先度を(異なる優先度を割り当てることが望ましい複数のスレッドを生成することができる)プロセス毎ではなく、スレッド毎に設定することができるものもある。
実施形態をコンピュータプロセス、(携帯ハンドヘルドコンピューティングデバイスを含む)コンピュータシステムとして、あるいはコンピュータプログラム製品のような製造品として実装してもよい。コンピュータプログラム製品は、コンピュータシステムが読取可能なコンピュータ記憶媒体で、コンピュータプロセスの実行命令のコンピュータプログラムを符号化してもよい。コンピュータプログラム製品はまた、コンピューティングシステムが読取可能な搬送波上の伝播信号で、コンピュータプロセスの実行命令のコンピュータプログラムを符号化してもよい。
様々な実施形態を以下で添付図面を参照してより完全に説明する。添付図面は本明細書の一部を形成し、本発明を実施する具体的な実施形態の例を示す。しかしながら、実施形態は多数の異なる形態で実装してもよく、本明細書で説明する実施形態に限定されると解釈するべきではない。むしろこれらの実施形態は、本開示が徹底的且つ完全で、本発明の範囲を当業者に完全に伝えることを目的として提供されている。実施形態は方法、システムまたは装置として実施してもよい。従って、実施形態はハードウェアによる実装の形態、完全にソフトウェアによる実装の形態、またはソフトウェアとハードウェアの態様を組み合わせた実装の形態を取ることができる。以下の詳細説明は従って、限定的な意味で捉えるべきではない。
様々な実施形態の論理命令は、(a)コンピューティングシステム上で実装される一連のコンピュータ実装ステップとして、および/または(b)コンピューティングシステム内部において相互接続された機械的なモジュール群として実装される。この実装は、実施形態を実装するコンピューティングシステムの性能要求に依存する選択をどう行うかが問題となる。従って、本明細書で説明する実施形態を構築する論理命令を代替的に命令、ステップまたはモジュールと称する。
図1は検索を目的とする文書索引付けに対する低優先度の入出力要求をサポートするシステム100を示す。本実施形態の例では、システム100はユーザプロセス102−1から102−N、(例えば、高優先度入出力要求キュー106および低優先度入出力要求キュー108を用いて)高優先度および低優先度の入出力要求をサポートするファイルシステム104、および検索を目的とした索引を付与すべき文書の格納に使用しうるデータベース110(例えば、ディスクドライブ)を含む。高優先度および低優先度の入出力要求をサポートする適切なファイルシステムはいかなるものも、ファイルシステム104を実装するために用いることができる。一実施形態においてファイルシステム104は、2004年8月8日公表の“プロアクティブメモリ管理に関する方法およびメカニズム”という発明名称の特許文献1で説明されるように、高優先度および低優先度の入出力要求キュー106および108を実装する。
“低優先度”および“高優先度”という用語を上で使用したが、これらは、低優先度の入出力要求が高優先度の入出力要求より低い優先度を有するという意味で相対的な用語として使用する。一部の実施形態では、例えば“通常”および“低い”優先度のような別の用語を使用してもよい。他の実施形態では、入出力要求に対して利用可能な2つより多くの優先度レベルがあってもよい。このような実施形態では、索引付けに対する入出力要求を最低優先度で送信することができ、それにより他のプロセスおよび/またはスレッドからの入出力要求をより高い優先度レベルで送信することが可能となる。
本実施形態の例では、ユーザプロセス102−Nは検索の目的となる(例えば、文書の全文検索)文書に索引を付与する索引付けプロセスである。例えば、索引付けプロセス102−Nは文書の全単語を索引に書き込むことができ(これをシステム100に格納した文書全てに繰り返す)、この索引を使用してシステム100内に格納した文書の全文検索を実行することができる。
他のユーザプロセス(例えば、ユーザプロセス102−1および102−2)は、データベース110に格納したファイルにアクセスする目的でファイルシステム104と相互作用しうる任意の他のプロセスであることができる。ユーザの作業に応じて、多数のユーザプロセスが実行されていること、少数のユーザプロセスが実行されていること、または一部のシナリオでは索引付けプロセス102−Nのみが実行されていること(このプロセスはデータストア110内の文書全てに索引を付与をし終えれば停止してもよい)、としてもよい。
動作中は、ユーザプロセス102−1から102−Nは一般に入出力要求をその時々にファイルシステム104に送信し、これを矢印112−1から112−Nで示す。多数のユーザプロセスに対し、これらの入出力要求が高優先度で送信される。例えば、ユーザ入力に応答するアプリケーション(例えば、ワードプロセッサ)、メディアを再生するメディアプレイヤー、ページをダウンロードするブラウザ、等のようなフォアグラウンドプロセスは一般に入出力要求を高優先度で送信するであろう。
しかしながら、本実施形態によると、索引付けプロセス102−Nにより送信される全ての入出力要求は低優先度で送信され、矢印114で示すように低優先度入出力要求キュー108に追加される。このように、索引付けプロセス102−Nからの入出力要求は、高優先度入出力要求キュー106内の全ての高優先度入出力要求が情報を伝達した後に実行されるであろう。この特徴により、一部の実施形態では索引付けプロセスにより引き起こされるユーザエクスペリエンスの悪化を有利に削減できる。さらに一部の実施形態では、前述の休止検出ロジックは省略されており、それにより索引付けサブシステムの複雑さが削減される。またさらに、索引付けプロセスに対して低優先度入出力要求を用いることで、休止検出機構で一般に存在する休止期間検出におけるエラーと、索引付けプロセスの一時停止における遅延との問題を回避できる。
図2は一実施形態による検索/索引付けシステム200の例を示す。本実施形態では、システム200は全文検索/索引付けプロセス(即ちメインプロセス)202、全文索引付けサンドボックスプロセス(即ちサンドボックスプロセス)204、文書データストア206、および全文カタログデータ(即ち索引)データストア208を含む。本実施形態では、メインプロセス202は高優先度入出力クエリサブシステム(即ちクエリサブシステム)210および低優先度入出力索引付けサブシステム212を含む。サンドボックスプロセス204は、異なる形式の文書をプレーンテキストに変換するコンポーネントを分離するために使用し、低優先度入出力索引付け/フィルタリングサブシステム(即ちフィルタリングサブシステム)214を含む。
本実施形態では、クエリサブシステム210はインタフェース216を通してユーザから受信した検索クエリを処理する。ユーザは、システム200内に格納した文書内で検索すべき1つまたは複数のキーワードを入力することができる。一部の実施形態では、インタフェース216を通して受信したクエリに応答して、クエリサブシステム210はクエリを処理し、高優先度の入出力要求を通して索引データストア208にアクセスする。例えば、クエリサブシステム210はキーワード(複数)の索引を検索して、キーワード(複数)を含む一つまたは複数の文書のリストをこの索引から取得することができる。プロセスおよび/またはスレッドに対してCPU優先度を選択可能な実施形態では、クエリサブシステム210を高優先度のCPU処理に対して設定することができる。このような構成(即ち、入出力およびCPUの優先度を高優先度に設定すること)は有利でありうる。なぜならば、ユーザは一般に検索結果を可能な限り迅速に要求し、且つシステムリソースを検索専用とする意図があるからである。
本実施形態では、低優先度入出力索引付けサブシステム212は文書の全文検索に用いた索引を構築する。例えば、低優先度入出力索引付けサブシステム212はデータ(例えば、単語、および単語を含む文書の文書識別子)をサンドボックスプロセス204から取得し、適切にこのデータを索引データストア208に格納することができる。データの索引データストア208への書き込みは相対的に入出力に負担が集中しがちである。索引の構築(例えば、索引データストア208に格納すべきデータの決定、および索引データストア208へのデータの格納方法の決定)は相対的にCPUに負担が集中しがちである。本実施形態によると、低優先度入出力索引付けサブシステム212は低優先度の入出力要求を用いてデータを索引データストア208に格納する。プロセスおよび/またはスレッドに対してCPU優先度を選択可能な実施形態では、低優先度入出力索引付けサブシステム212を低優先度のCPU処理に対して設定することができる。このような構成(即ち、入出力およびCPUの優先度を低優先度に設定すること)は有利でありうる。なぜならば、ユーザは一般にユーザアクティビティ(例えば、アプリケーションの実行、メディアの再生、ファイルのダウンロード、等に対するユーザ入力)に対して高速な応答を要求し、且つ索引付けプロセスを遅らせる意図があるからである。
本実施形態では、フィルタリングサブシステム214は文書データストア206から文書を抽出し、その文書を処理して低優先度入出力索引付けサブシステム212が索引を構築するために必要なデータを抽出する。フィルタリングサブシステム214は、文書データストア206から得た各文書の内容とメタデータとを読み込み、その文書から、ユーザがクエリサブシステム210を用いて文書内で検索可能な単語を抽出する。一実施形態では、フィルタリングサブシステム214はフィルタコンポーネントを含む。フィルタコンポーネントは、文書をプレーンテキストに変換すること、単語分解プロセスを実行すること、および低優先度入出力索引付けサブシステム212が索引を構築するために利用できるよう、その単語をパイプ処理に置くことが可能である。他の実施形態では、単語分解は低優先度入出力索引付けサブシステム212が行う。
システム200を特定のモジュールまたはコンポーネントで説明したが、他の実施形態では、コンポーネントまたはモジュールに対して説明した1つまたは複数の機能を別のコンポーネントまたはモジュールに分割すること、より少数のモジュールまたはコンポーネントに結合すること、または省略することとしてもよい。
“入出力要求”動作フローの例
図3は、一実施形態に従ってファイルシステムへ入出力要求を送信する際の索引付けプロセスの動作フローを示す。動作フロー300は任意の適切なコンピューティング環境で実行してよい。例えば、動作フロー300をシステム200のメインプロセス202(図2)のような索引付けプロセスにより実行して、システムのデータストア上に格納した一つまたは複数の文書を処理し、格納した一つまたは複数の文書の全文検索の実行に用いる索引を生成してもよい。従って、動作フロー300の説明は図2の少なくとも1つの構成要素に言及する場合がある。しかしながら、図2の構成要素に対するそのような参照はいかなるものも説明の目的のみによるものであって、図2の実装は動作フロー300に対しては非制限的な環境となることは理解されるべきである。
ブロック302で、索引付けプロセスは入出力要求を求めて待機する。一実施形態では、低優先度の入出力要求を索引付けサブシステムが生成し、高優先度の入出力要求を検索クエリサブシステムが生成することが可能なメインプロセス202(図2)として索引付けプロセスを実装する。例えば、フィルタリングサブシステム214のようなフィルタリングサブシステムとともに、低優先度入出力サブシステム212のような索引付けサブシステムで索引付けサブシステムを実装してもよい。検索クエリサブシステムを、例えばクエリサブシステム210のような任意の適切なクエリ処理コンポーネントを用いて実装することが可能である。動作フロー300はブロック304に進むことができる。
ブロック304で、入出力要求が索引付けサブシステムからであるか否かを決定する。一実施形態では、索引付けプロセスは入出力要求が索引付けサブシステムからであるか否かを、要求発信元を調べることで決定する。ブロック302に関して上述した例を続けると、例えば入出力要求が索引付けサブシステムからの索引への情報書き込み要求である場合、または入出力要求がフィルタリングサブシステムからの文書データストア内に格納した文書に対するアクセス要求である場合、索引付けシステムは入出力要求が索引付けサブシステムからであると決定し、動作フロー300はさらに以下で説明するブロック308に進むことができる。しかしながら、例えば入出力要求がクエリサブシステムからの特定の一つまたは複数の単語に対する索引の検索要求である場合、索引付けシステムは入出力要求が索引付けサブシステムからではないと決定し、動作フロー300はブロック306に進むことができる。一実施形態では、文書管理システムの入出力要求の優先度をプロセス毎ではなくスレッド毎に設定可能とするようにオペレーティングシステムを実装する。このような特徴は、クエリサブシステムおよび索引付けサブシステムが同一プロセス(例えば、図2のメインプロセス202)の一部であり、ユーザが開始したクエリ入出力要求を高優先度で送信し、索引付けサブシステムが開始した入出力要求を低優先度で送信できるような実施形態において有利に使用することができる。
ブロック306で、入出力要求を高優先度でファイルシステムに送信する。一実施形態では、索引付けシステムは入出力要求を高優先度入出力要求キュー106(図1)のような高優先度キューに送信する。動作フロー300はその後ブロック302に戻って別の入出力要求を求めて待機することができる。
ブロック308で、入出力要求を低優先度でファイルシステムに送信する。一実施形態では、索引付けシステムは入出力要求を低優先度入出力キュー108(図1)のような低優先度キューに送信する。動作フロー300はその後ブロック302に戻って別の入出力要求を求めて待機することができる。
動作フロー300を特定の順序で逐次的に図示および説明したが、他の実施形態では、ブロックで示した動作を別の順序、複数回、および/または並列に実行してもよい。さらに、一部の実施形態では、ブロックで示した1つまたは複数の動作を別のブロックに分割すること、省略することまたは組み合わせることが可能である。
“文書索引付け”動作フローの例
図4は一実施形態に従って文書に索引を付与する動作フロー400を示す。動作フロー400は任意の適切なコンピューティング環境で実行してもよい。例えば、動作フロー300をシステム200のメインプロセス202(図2)のような索引付けプロセスで実行して、システムのデータストア上に格納した一つまたは複数の文書を処理し、格納した一つまたは複数の文書の全文検索の実行に用いる索引を生成することができる。従って、動作フロー400の説明は図2の少なくとも1つの構成要素を言及する可能性がある。しかしながら、図2の構成要素に対するそのような参照はいかなるものも説明の目的のみによるものであって、図2の実装は動作フロー400に対する非制限的な環境となることは理解されるべきである。
ブロック402で、文書をファイルシステムから取得する。一実施形態では、システム200(図2)のような索引付けシステムはデータストア206(図2)のような文書ストアから文書を読み込む。本実施形態によると、文書は低優先度の入出力要求を用いてデータストアから読み込む。例えば、索引付けシステムは、文書を文書データストアから読み込むための入出力要求を生成可能なフィルタリングサブシステム214のようなフィルタリングサブシステムを含んでもよい。このような索引付けシステムを構成して、(クエリサブシステムではなく)フィルタリングサブシステムから入出力要求を検出検出してそれらの要求を低優先度入出力要求として文書管理システムに送信することができる。動作フロー400はブロック404に進むことができる。
ブロック404で、ブロック402で得た文書をプレーンテキスト文書に変換する。一実施形態では、文書をメモリに読み込んだ後、前述のフィルタリングサブシステムが文書をプレーンテキスト文書に変換する。例えば、テキストデータに加え、文書はフォーマッティングメタデータ、(文書がマークアップ言語の文書である場合)マークアップ、等を含んでもよい。動作フロー400はブロック406に進むことができる。
ブロック406で、ブロック404で得たプレーンテキスト文書を処理して、プレーンテキスト文書を個々の単語に分離する(即ち、単語分解プロセスを実行する)。一実施形態では、低優先度入出力サブシステム212(図2)のような索引付けサブシステムが単語分解プロセスを実行することができる。さらに本実施形態によると、分離した単語を次いで低優先度入出力要求を用いて索引に記憶する。ブロック402に関して説明した例を続けると、(索引付けサブシステムを含む)前述の索引付けシステムを構成して索引付けサブシステムからの入出力要求を検出する。このような実施形態では、索引付けシステムは、索引付けサブシステムからのものとして検出した入出力要求を低優先度入出力要求として文書管理システムに送信する。動作フロー400はブロック408に進むことができる。
ブロック408で、索引を付与すべき文書がまだあるか否かを決定する。一実施形態において索引付けシステムは、まだ索引が付与されていない文書に対して前述の文書データストアを調べ、索引を付与すべき文書がまだあるか否かを決定する。例えば、前述のフィルタリングサブシステムは低優先度入出力要求を用いて文書データストアを調べることができる。索引を付与すべき他の文書が1つまたは複数あると決定する場合、動作フロー400はブロック410に進むことができる。
ブロック410で、索引を付与すべき次の文書を選択する。一実施形態において前述のフィルタリングサブシステムは、索引を付与すべき次の文書を文書データストアから選択する。動作フロー400はブロック402に戻って文書に索引を付与することができる。
しかしながら、ブロック408で索引を付与すべき文書がもう存在しないと決定された場合、動作フロー400はブロック412に進むことができ、そこで索引付けプロセスが完了する。
動作フロー400を特定順序で逐次的に図示および説明したが、他の実施形態では、ブロックで示した動作を別の順序、複数回、および/または並列に実行してもよい。さらに、一部の実施形態では、ブロックで示した1つまたは複数の動作を別のブロックに分割すること、省略することまたは結合することが可能である。
例示的動作環境
図5は一般的なコンピュータ環境500を示す。一般的なコンピュータ環境500を使用して本明細書で説明する技術を実装することができる。コンピュータ環境500はコンピューティング環境の一例に過ぎず、コンピュータおよびネットワークアーキテクチャの使用範囲または機能範囲に関する限定を示唆するようには意図していない。さらに、コンピュータ環境500は、例示的コンピュータ環境500に示した構成要素の任意の1つまたは複数の組合せに対して依存性または要求事項を有するとして解釈すべきでない。
コンピュータ環境500は汎用目的のコンピュータ用デバイスをコンピュータ502の形で含む。コンピュータ502の構成要素は1つまたは複数のプロセッサまたは演算装置504、システムメモリ506、およびプロセッサ504を含む様々なシステムコンポーネントをシステムメモリ506に接続するシステムバス508を含むことができるが、これらに限らない。
システムバス508は任意の何種類かのバス構造のうち1つまたは複数を表し、それらにはメモリバスまたはメモリコントローラ、周辺バス、高速グラフィックポート、および様々なバスアーキテクチャのうちいずれかを用いるプロセッサまたはローカルバスが含まれる。例として、このようなアーキテクチャは業界標準アーキテクチャ(ISA)バス、マイクロチャネルアーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオエレクトロニクス標準協会(VESA)ローカルバス、メザニンバスとしても知られる周辺機器相互接続(PCI)バス、PCIエクスプレスバス、ユニバーサルシリアルバス(USB)、セキュアデジタル(SD)バス、またはIEEE 1394、即ちファイヤーワイヤーバスを含むことができる。
コンピュータ502は様々なコンピュータ読取可能媒体を含むことができる。このような媒体は、コンピュータ502がアクセス可能な媒体であってよく、揮発性および不揮発性媒体、取り外し可能および取り外し不可媒体の両方を含む。
システムメモリ506には、ランダムアクセスメモリ(RAM)510のような揮発性メモリ、および/あるいは読取専用メモリ(ROM)512またはフラッシュRAMのような不揮発性メモリの形式でコンピュータ読取可能媒体が含まれる。基本入出力システム(BIOS)514は、起動時にコンピュータ502内の要素間での情報転送を支援する基本ルーチンを含み、ROM512またはフラッシュRAMに格納される。RAM510は一般に、データ、ならびに/あるいは演算装置504が直接アクセス可能な、および/または演算装置504上で現在動作しているプログラムモジュールを含む。
コンピュータ502は他の取り外し可能/取り外し不可、揮発性/不揮発性のコンピュータ記憶媒体を含んでもよい。例として、図5は取り外し不可、不揮発性の磁気媒体(図示せず)を読み書きするハードディスクドライブ516、取り外し可能、不揮発性の磁気ディスク520(例えば、“フロッピー(登録商標)ディスク”)を読み書きする磁気ディスクドライブ518、およびCD−ROM、DVD−ROM、または他の光媒体のような取り外し可能、不揮発性の光ディスク524を読み書きする光ディスクドライブ522を示す。ハードディスクドライブ516、磁気ディスクドライブ518、および光ディスクドライブ522は各々1つまたは複数のデータ媒体インタフェース525によりシステムバス508に接続する。あるいは、ハードディスクドライブ516、磁気ディスクドライブ518、および光ディスクドライブ522を1つまたは複数のインタフェース(図示せず)によりシステムバス508に接続することができる。
ディスクドライブおよびそれらに関連するコンピュータ読取可能媒体は、コンピュータ502に対するコンピュータが読み込み可能な命令、データ構造、プログラムモジュール、および他のデータの不揮発性の保存手段を提供する。例ではハードディスク516、取り外し可能磁気ディスク520、および取り外し可能光ディスク524を示すが、磁気カセットまたは他の磁気記憶デバイス、フラッシュメモリカード、CD−ROM、デジタル多用途ディスク(DVD)または他の光学記憶、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、電気的に消去可能で再書き込み可能な読み出し専用素子(EEPROM)、等のような、コンピュータが利用可能なデータを保存できる他種のコンピュータが読取可能な媒体を利用して、このコンピューティングシステムおよび環境の例を構築することもできる。
任意の数のプログラムモジュールをハードディスク516、磁気ディスク520、光ディスク524、ROM512、および/またはRAM510上に格納することができる。そのプログラムモジュールには例として、オペレーティングシステム526(一部の実施形態では上述の低優先度および高優先度の入出力ファイルシステムおよび索引付けシステムを含む)、1つまたは複数のアプリケーションプログラム528、他のプログラムモジュール530、およびプログラムデータ532が含まれる。このようなオペレーティングシステム526、1つまたは複数のアプリケーションプログラム528、他のプログラムモジュール530、およびプログラムデータ532の各々(またはそれらの何らかの組合せ)は、分散ファイルシステムをサポートする常住コンポーネントの全部または一部を実装してもよい。
ユーザはキーボード534、およびポインティングデバイス536(例えば、“マウス”)のような入力装置を通してコンピュータ502に命令または情報を入力することができる。他の入力装置538(詳細には示さず)は、マイクロフォン、ジョイスティック、ゲームパッド、パラボラアンテナ、シリアルポート、スキャナ、および/または同等なものを含んでもよい。これらおよび他の入力装置を、システムバス508に接続した入出力インタフェース540を通して演算装置504に接続するが、パラレルポート、ゲームポートまたはユニバーサルシリアルバス(USB)のような他のインタフェースおよびバス構造で接続してもよい。
モニタ542または他種の表示装置もビデオアダプタ544のようなインタフェースを通してシステムバス508に接続する。モニタ542に加えて、他の出力周辺装置はスピーカ(図示せず)およびプリンタ546のような、入出力インタフェース540を通してコンピュータ502に接続可能なコンポーネントを含むことができる。
コンピュータ502は、リモートコンピューティングデバイス548のような1つまたは複数のリモートコンピュータに対する論理接続を用いてネットワーク環境で動作することができる。例として、リモートコンピューティングデバイス548はPC、ポータブルコンピュータ、サーバ、ルータ、ネットワークコンピュータ、ピアデバイスまたは他の共通ネットワークノード、等とすることができる。リモートコンピューティングデバイス548を、コンピュータ502に比べ本明細書で説明した要素および特徴の複数または全てを含むことが可能なポータブルコンピュータとして示す。あるいは、コンピュータ502は非ネットワーク化環境で同様に動作することができる。
コンピュータ502とリモートコンピュータ548との間の論理接続をローカルエリアネットワーク(LAN)550および一般的な広域ネットワーク(WAN)522として示す。このようなネットワーク環境は職場、企業規模コンピュータネットワーク、イントラネットおよびインターネットにおいては一般的である。
LANネットワーク環境で実装される際、コンピュータ502はネットワークインタフェースまたはアダプタ554を通してローカルエリアネットワーク550に接続される。WANネットワーク環境で実装される際、コンピュータ502は一般にモデム556または、広域ネットワーク552上で通信を確立する他の手段を含む。モデム556はコンピュータ502に対して内部または外部にあることができ、入出力インタフェース540または他の適切なメカニズムを通してシステム508に接続することができる。図示したネットワーク接続は例でしかなく、コンピュータ502と548との間の少なくとも1つの通信リンクを確立する他の手段を使用できることは理解されるであろう。
コンピューティング環境500で示したようなネットワーク環境では、コンピュータ502に対して示したプログラムモジュール、またはその一部をリモートメモリ記憶装置に格納してもよい。例として、リモートアプリケーションプログラム558はリモートコンピュータ548のメモリ装置上にある。説明の目的で、オペレーティングシステムのようなアプリケーションまたはプログラムおよび他の実行可能プログラムコンポーネントを離散ブロックとして本明細書では示すが、このようなプログラムおよびコンポーネントは様々な時点でコンピューティングデバイス502の様々な記憶コンポーネント内にあり、コンピュータの少なくとも1つのデータプロセッサにより実行されることは理解される。
様々なモジュールおよび技術を、1つまたは複数のコンピュータまたは他の装置により実行されるプログラムモジュールのようなコンピュータ実行可能命令という、本明細書のような一般的な文脈で説明してもよい。一般に、プログラムモジュールは、特定タスクを実行または特定の抽象データ型を実装するためのルーチン、プログラム、オブジェクト、コンポーネント、データ構造、等を含む。一般に、プログラムモジュールの機能を様々な実施形態で望ましいように組み合わせるか、または分散させてもよい。
これらモジュールおよび技術の実装を、コンピュータ読取可能媒体の何らかの形態上に格納するか、または何らかの形態を通して送信してもよい。コンピュータ読取可能媒体は、コンピュータがアクセス可能となる媒体であればどのような形態でも可能である。例として、これには限らないが、コンピュータ読取可能媒体は“コンピュータ記憶媒体”と“通信媒体”とを備えてもよい。
“コンピュータ記憶媒体”は、コンピュータ読取可能命令、データ構造、プログラムモジュールまたは他のデータのような情報を記憶する任意の方法または技術で実装した、揮発性および不揮発性、取り外し可能および取り外し不可媒体のすべてを含む。コンピュータ記憶媒体はRAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)または他の光学ストレージ、カセットテープ、磁気テープ、磁気ディスクストレージまたは他の磁気記憶装置、あるいは所望の情報の記憶に使用でき且つコンピュータがアクセス可能な任意の他の媒体を含むがこれらに限らない。
“通信媒体”は一般にコンピュータ読取可能命令、データ構造、プログラムモジュールまたは他のデータを搬送波または他の伝送メカニズムのような変調されたデータ信号で具現化する。通信媒体は任意の情報配信媒体も含む。 “変調されたデータ信号”という用語は、1つまたは複数の特性集合を有するかまたは信号内の情報を符号化するように変調した信号を意味する。非限定的な例としてのみだが、通信媒体は有線ネットワークまたは直接配線接続のような有線媒体、ならびに音響、無線周波数、赤外線、および他の無線媒体のような無線媒体を含む。上記の任意の組合せもコンピュータ読取可能媒体の範囲に含まれる。
本明細書にわたって“一実施形態”、“実施形態”、または“実施形態の例”と言及してきたが、特に説明した特徴、構造、または特性が本発明の少なくとも1つの実施形態に含まれることを一貫として意味してきた。従って、このような言い回しを使用することで、1つより多くの実施形態を言及することができるかもしれない。さらに、説明した特徴、構造、または特性を1つまたは複数の実施形態において任意の適切な方法で組み合わせることができる。
しかしながら関連する当業者は、本発明を1つまたは複数の特定の詳細なしに、または他の方法、リソース、材料、等とともに実行できることを認識することができる。他の事例では、公知の構造、リソース、または動作は、単に本発明の態様を不明瞭にすることを回避するために詳細には図示または説明しなかった。
本発明の実施形態の例および適用例を図示および説明したが、本発明は上述の具体的な構成およびリソースに限定されないことは理解されるべきである。当業者に明らかな様々な修正、変更、および変形を、本発明の請求範囲から逸脱することなく、本明細書で開示した本発明の方法およびシステムの配置、動作、および詳細に加えてもよい。
非制限的且つ非網羅的な実施形態を以下の図面を参照して説明する。図面において、同じ参照番号は特に指定しない限り様々な図面にわたり同じ部分を指す。
一実施形態に従って、高優先度および低優先度の入出力要求をサポートする検索/索引付けプロセスおよびファイルシステムを有するシステムの例を示す図である。 一実施形態に従う検索/索引付けシステムの例を示す図である。 一実施形態に従ってファイルシステムへ入出力要求を送信する際の索引付けプロセスの動作フローを示すフロー図である。 一実施形態に従って文書を索引付けする際の動作フローを示すフロー図である。 一実施形態に従う図1から4のシステムおよび動作フローの実装に適したコンピューティング環境の例を示すブロック図である。

Claims (20)

  1. 入出力(I/O)要求をファイルシステムに送信するコンピュータ実行型の方法であって、前記方法は
    入出力要求を求めて待機するステップと、
    入出力要求が索引付けサブシステムにより生成されたか否かを決定するステップであって、前記索引付けサブシステムは文書集合の単語検索を実行するために用いる索引を生成するステップと、
    索引付けサブシステムが前記入出力要求を生成したとの決定に応じて、前記入出力要求を低優先度で送信するステップと
    を備えることを特徴とする方法。
  2. 前記索引付けサブシステム以外の構成要素が前記入出力要求を生成したとの決定に応じて、前記入出力要求を高優先度で選択的に送信するステップをさらに備えることを特徴とする請求項1に記載の方法。
  3. 検索要求に応じて生成した入出力要求はクエリサブシステムにより生成され、高優先度で送信されることを特徴とする請求項1に記載の方法。
  4. 索引を付与すべき文書を読み込むことに応じて生成される入出力要求は、前記索引付けサブシステムにより生成されることを特徴とする請求項1に記載の方法。
  5. 前記索引にデータを書込むことに応じて生成される入出力要求は、前記索引付けサブシステムにより生成されることを特徴とする請求項1に記載の方法。
  6. スレッド毎に優先度を入出力要求に割り当てることが可能であることを特徴とする請求項1に記載の方法。
  7. 前記索引付けサブシステムにより生成された中央演算装置(CPU)タスクを低優先度CPUタスクとして割り当てるステップをさらに備えることを特徴とする請求項1に記載の方法。
  8. コンピュータによる実行時に請求項1に記載の方法を実行する媒体上の命令を有することを特徴とする1つまたは複数のコンピュータ読取可能媒体。
  9. 文書に索引を付与するためのコンピュータ実行型の方法であって、前記方法は1つまたは複数の低優先度入出力(I/O)要求を用いてファイルシステムから文書の内容を読み込むステップと
    前記内容から単語を抽出するステップと、
    前記の抽出した単語を、1つまたは複数の低優先度入出力要求を用いて索引に格納するステップと
    を備えることを特徴とする方法。
  10. 前記内容をプレーンテキストに変換するステップをさらに備えることを特徴とする請求項9に記載の方法。
  11. 前記抽出は単語分解プロセスを用いて実行されることを特徴とする請求項9に記載の方法。
  12. 前記低優先度入出力要求は1つまたは複数の低優先度の中央演算装置(CPU)タスクに関連することを特徴とする請求項9に記載の方法。
  13. 前記索引は、ユーザが生成したクエリに応じて1つまたは複数の高優先度入出力要求を用いて選択的にアクセスされることを特徴とする請求項9に記載の方法。
  14. 前記1つまたは複数の入出力要求と、前記クエリに関連する1つまたは複数の入出力要求とは、同一プロセスの異なるスレッドにより生成されることを特徴とする請求項13に記載の方法。
  15. コンピュータによる実行時に請求項9に記載の方法を実行する命令を媒体上に有することを特徴とする1つまたは複数のコンピュータ読取可能媒体。
  16. 1つまたは複数の文書を検索して1つまたは複数の選択語を求めることに用いる索引を生成するシステムであって、前記システムは、
    少なくとも低優先度および高優先度入出力(I/O)要求をサポートするファイルシステムと、
    索引を付与すべき1つまたは複数の文書と前記索引とを格納するデータストアであって、前記データストアは前記ファイルシステムを通してアクセス可能であることを特徴とするデータストアと、
    1つまたは複数の文書を前記データストアから読み込み、前記索引にデータを格納する索引付けプロセスであって、前記索引付けプロセスは1つまたは複数の低優先度入出力要求を生成して前記1つまたは複数の文書を前記データストアから読み込み、前記索引にデータを格納するための1つまたは複数の低優先度入出力要求を生成することを特徴とする索引付けプロセスと
    を備えることを特徴とするシステム。
  17. 前記索引付けプロセスはさらに、前記索引にアクセスする検索クエリに応じて1つまたは複数の高優先度入出力要求を前記ファイルシステムに送信することを特徴とする請求項16に記載のシステム。
  18. 前記低優先度入出力要求は、1つまたは複数の低優先度の中央演算装置(CPU)タスクに関連することを特徴とする請求項16に記載のシステム。
  19. 前記1つまたは複数の低優先度入出力要求と、前記クエリに関連する前記1つまたは複数の入出力要求とは、同一プロセスの異なるスレッドにより生成されることを特徴とする請求項16に記載の方法。
  20. コンピュータによる実行時に請求項16に記載の方法を実行する命令を有することを特徴とする1つまたは複数のコンピュータ読取可能媒体。
JP2008518114A 2005-06-27 2005-08-01 検索用バックオフメカニズム Pending JP2008547106A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/167,826 US20060294049A1 (en) 2005-06-27 2005-06-27 Back-off mechanism for search
PCT/US2005/027202 WO2007001331A2 (en) 2005-06-27 2005-08-01 Back-off mechanism for search

Publications (1)

Publication Number Publication Date
JP2008547106A true JP2008547106A (ja) 2008-12-25

Family

ID=37568787

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008518114A Pending JP2008547106A (ja) 2005-06-27 2005-08-01 検索用バックオフメカニズム

Country Status (12)

Country Link
US (1) US20060294049A1 (ja)
EP (1) EP1896992A4 (ja)
JP (1) JP2008547106A (ja)
KR (1) KR20080024156A (ja)
CN (1) CN101443762A (ja)
AU (1) AU2005333693A1 (ja)
BR (1) BRPI0520200A2 (ja)
CA (1) CA2608276A1 (ja)
MX (1) MX2007014899A (ja)
NO (1) NO20075745L (ja)
RU (1) RU2412477C2 (ja)
WO (1) WO2007001331A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010529527A (ja) * 2007-05-21 2010-08-26 アマゾン テクノロジーズ インコーポレイテッド 検索インデックスの生成状況の管理
JP2014142940A (ja) * 2008-09-19 2014-08-07 Oracle Internatl Corp 記憶側記憶要求管理

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8195659B2 (en) 2005-08-23 2012-06-05 Ricoh Co. Ltd. Integration and use of mixed media documents
US9384619B2 (en) 2006-07-31 2016-07-05 Ricoh Co., Ltd. Searching media content for objects specified using identifiers
US8156427B2 (en) 2005-08-23 2012-04-10 Ricoh Co. Ltd. User interface for mixed media reality
US8184155B2 (en) 2007-07-11 2012-05-22 Ricoh Co. Ltd. Recognition and tracking using invisible junctions
US8856108B2 (en) 2006-07-31 2014-10-07 Ricoh Co., Ltd. Combining results of image retrieval processes
US8005831B2 (en) 2005-08-23 2011-08-23 Ricoh Co., Ltd. System and methods for creation and use of a mixed media environment with geographic location information
US8156116B2 (en) 2006-07-31 2012-04-10 Ricoh Co., Ltd Dynamic presentation of targeted information in a mixed media reality recognition system
US8838591B2 (en) 2005-08-23 2014-09-16 Ricoh Co., Ltd. Embedding hot spots in electronic documents
US8385589B2 (en) 2008-05-15 2013-02-26 Berna Erol Web-based content detection in images, extraction and recognition
US9373029B2 (en) 2007-07-11 2016-06-21 Ricoh Co., Ltd. Invisible junction feature recognition for document security or annotation
US9405751B2 (en) 2005-08-23 2016-08-02 Ricoh Co., Ltd. Database for mixed media document system
US8521737B2 (en) 2004-10-01 2013-08-27 Ricoh Co., Ltd. Method and system for multi-tier image matching in a mixed media environment
US8600989B2 (en) 2004-10-01 2013-12-03 Ricoh Co., Ltd. Method and system for image matching in a mixed media environment
US9530050B1 (en) 2007-07-11 2016-12-27 Ricoh Co., Ltd. Document annotation sharing
US8144921B2 (en) 2007-07-11 2012-03-27 Ricoh Co., Ltd. Information retrieval using invisible junctions and geometric constraints
US8086038B2 (en) 2007-07-11 2011-12-27 Ricoh Co., Ltd. Invisible junction features for patch recognition
US8949287B2 (en) 2005-08-23 2015-02-03 Ricoh Co., Ltd. Embedding hot spots in imaged documents
US7920759B2 (en) 2005-08-23 2011-04-05 Ricoh Co. Ltd. Triggering applications for distributed action execution and use of mixed media recognition as a control input
US7970171B2 (en) 2007-01-18 2011-06-28 Ricoh Co., Ltd. Synthetic image and video generation from ground truth data
US8332401B2 (en) 2004-10-01 2012-12-11 Ricoh Co., Ltd Method and system for position-based image matching in a mixed media environment
US8369655B2 (en) * 2006-07-31 2013-02-05 Ricoh Co., Ltd. Mixed media reality recognition using multiple specialized indexes
US8276088B2 (en) 2007-07-11 2012-09-25 Ricoh Co., Ltd. User interface for three-dimensional navigation
US8335789B2 (en) 2004-10-01 2012-12-18 Ricoh Co., Ltd. Method and system for document fingerprint matching in a mixed media environment
US8868555B2 (en) 2006-07-31 2014-10-21 Ricoh Co., Ltd. Computation of a recongnizability score (quality predictor) for image retrieval
US9171202B2 (en) 2005-08-23 2015-10-27 Ricoh Co., Ltd. Data organization and access for mixed media document system
US8825682B2 (en) 2006-07-31 2014-09-02 Ricoh Co., Ltd. Architecture for mixed media reality retrieval of locations and registration of images
US7812986B2 (en) * 2005-08-23 2010-10-12 Ricoh Co. Ltd. System and methods for use of voice mail and email in a mixed media environment
US7702673B2 (en) 2004-10-01 2010-04-20 Ricoh Co., Ltd. System and methods for creation and use of a mixed media environment
US8176054B2 (en) 2007-07-12 2012-05-08 Ricoh Co. Ltd Retrieving electronic documents by converting them to synthetic text
US8156115B1 (en) 2007-07-11 2012-04-10 Ricoh Co. Ltd. Document-based networking with mixed media reality
US8510283B2 (en) 2006-07-31 2013-08-13 Ricoh Co., Ltd. Automatic adaption of an image recognition system to image capture devices
US7991778B2 (en) 2005-08-23 2011-08-02 Ricoh Co., Ltd. Triggering actions with captured input in a mixed media environment
US8489987B2 (en) 2006-07-31 2013-07-16 Ricoh Co., Ltd. Monitoring and analyzing creation and usage of visual content using image and hotspot interaction
US8676810B2 (en) * 2006-07-31 2014-03-18 Ricoh Co., Ltd. Multiple index mixed media reality recognition using unequal priority indexes
US9020966B2 (en) 2006-07-31 2015-04-28 Ricoh Co., Ltd. Client device for interacting with a mixed media reality recognition system
US8073263B2 (en) 2006-07-31 2011-12-06 Ricoh Co., Ltd. Multi-classifier selection and monitoring for MMR-based image recognition
US9063952B2 (en) 2006-07-31 2015-06-23 Ricoh Co., Ltd. Mixed media reality recognition with image tracking
US8201076B2 (en) 2006-07-31 2012-06-12 Ricoh Co., Ltd. Capturing symbolic information from documents upon printing
US9176984B2 (en) 2006-07-31 2015-11-03 Ricoh Co., Ltd Mixed media reality retrieval of differentially-weighted links
US8385660B2 (en) 2009-06-24 2013-02-26 Ricoh Co., Ltd. Mixed media reality indexing and retrieval for repeated content
US8326869B2 (en) * 2010-09-23 2012-12-04 Accenture Global Services Limited Analysis of object structures such as benefits and provider contracts
US9058331B2 (en) 2011-07-27 2015-06-16 Ricoh Co., Ltd. Generating a conversation in a social network based on visual search results
RU2459242C1 (ru) * 2011-08-09 2012-08-20 Олег Александрович Серебренников Способ создания и использования рекурсивного индекса поисковых машин
US9189050B1 (en) * 2011-08-19 2015-11-17 Cadence Design Systems, Inc. Method and apparatus for memory power reduction
US9558248B2 (en) * 2013-01-16 2017-01-31 Google Inc. Unified searchable storage for resource-constrained and other devices

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000047881A (ja) * 1998-07-28 2000-02-18 Hitachi Ltd リアルタイムシステム
JP2003005987A (ja) * 2001-06-19 2003-01-10 Hitachi Ltd エミュレーション装置
JP2003515807A (ja) * 1999-11-29 2003-05-07 グラクソ グループ リミテッド ネットワーク化された1以上のコンピュータの余剰の処理能力を用いて複雑な科学的問題を解決するためのスレッドベースの方法及びシステム
JP2004133934A (ja) * 2002-10-04 2004-04-30 Microsoft Corp プロアクティブなメモリ管理の方法および機構
JP2005071353A (ja) * 2003-08-20 2005-03-17 Microsoft Corp 連続媒体優先順位を意識した記憶装置スケジューラ

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US68627A (en) * 1867-09-10 Richasd hoffmann
US3905023A (en) * 1973-08-15 1975-09-09 Burroughs Corp Large scale multi-level information processing system employing improved failsaft techniques
JPH02273843A (ja) * 1989-04-14 1990-11-08 Nec Corp スワッピング装置
US5396635A (en) * 1990-06-01 1995-03-07 Vadem Corporation Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system
US5544352A (en) * 1993-06-14 1996-08-06 Libertech, Inc. Method and apparatus for indexing, searching and displaying data
US6185629B1 (en) * 1994-03-08 2001-02-06 Texas Instruments Incorporated Data transfer controller employing differing memory interface protocols dependent upon external input at predetermined time
US5897660A (en) * 1995-04-07 1999-04-27 Intel Corporation Method for managing free physical pages that reduces trashing to improve system performance
US6415319B1 (en) * 1997-02-07 2002-07-02 Sun Microsystems, Inc. Intelligent network browser using incremental conceptual indexer
US6658447B2 (en) * 1997-07-08 2003-12-02 Intel Corporation Priority based simultaneous multi-threading
US6879266B1 (en) * 1997-08-08 2005-04-12 Quickshift, Inc. Memory module including scalable embedded parallel data compression and decompression engines
FR2770952B1 (fr) * 1997-11-12 2000-01-21 Adl Systeme Sa Dispositif de tele-ecriture
US6324654B1 (en) * 1998-03-30 2001-11-27 Legato Systems, Inc. Computer network remote data mirroring system
US6425057B1 (en) * 1998-08-27 2002-07-23 Hewlett-Packard Company Caching protocol method and system based on request frequency and relative storage duration
US6378043B1 (en) * 1998-12-31 2002-04-23 Oracle Corporation Reward based cache management
US6237065B1 (en) * 1999-05-14 2001-05-22 Hewlett-Packard Company Preemptive replacement strategy for a caching dynamic translator
US6317806B1 (en) * 1999-05-20 2001-11-13 International Business Machines Corporation Static queue and index queue for storing values identifying static queue locations
US6366996B1 (en) * 2000-01-24 2002-04-02 Pmc-Sierra, Inc. Page memory management in non time critical data buffering applications
US20020052913A1 (en) * 2000-09-06 2002-05-02 Teruhiro Yamada User support apparatus and system using agents
US6418510B1 (en) * 2000-09-14 2002-07-09 International Business Machines Corporation Cooperative cache and rotational positioning optimization (RPO) scheme for a direct access storage device (DASD)
US6651141B2 (en) * 2000-12-29 2003-11-18 Intel Corporation System and method for populating cache servers with popular media contents
US6546472B2 (en) * 2000-12-29 2003-04-08 Hewlett-Packard Development Company, L.P. Fast suspend to disk
US6877081B2 (en) * 2001-02-13 2005-04-05 International Business Machines Corporation System and method for managing memory compression transparent to an operating system
GB2374951B (en) * 2001-04-24 2005-06-15 Discreet Logic Inc Asynchronous database updates
JP2002342037A (ja) * 2001-05-22 2002-11-29 Fujitsu Ltd ディスク装置
KR100389867B1 (ko) * 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
US6922765B2 (en) * 2001-06-21 2005-07-26 International Business Machines Corporation Method of allocating physical memory space having pinned and non-pinned regions
US6742097B2 (en) * 2001-07-30 2004-05-25 Rambus Inc. Consolidation of allocated memory to reduce power consumption
US6535238B1 (en) * 2001-10-23 2003-03-18 International Business Machines Corporation Method and apparatus for automatically scaling processor resource usage during video conferencing
US20030110357A1 (en) * 2001-11-14 2003-06-12 Nguyen Phillip V. Weight based disk cache replacement method
NO316480B1 (no) * 2001-11-15 2004-01-26 Forinnova As Fremgangsmåte og system for tekstuell granskning og oppdagelse
US20040205046A1 (en) * 2001-11-29 2004-10-14 International Business Machines Corporation Indexing and retrieval of textual collections on PDAS
US20030171926A1 (en) * 2002-03-07 2003-09-11 Narasimha Suresh System for information storage, retrieval and voice based content search and methods thereof
US7448036B2 (en) * 2002-05-02 2008-11-04 International Business Machines Corporation System and method for thread scheduling with weak preemption policy
GB0215118D0 (en) * 2002-06-28 2002-08-07 Hewlett Packard Co Dynamic resource allocation in a multimodal system
US7272732B2 (en) * 2003-06-30 2007-09-18 Hewlett-Packard Development Company, L.P. Controlling power consumption of at least one computer system
US20050028160A1 (en) * 2003-08-01 2005-02-03 Honeywell International Inc. Adaptive scheduler for anytime tasks
US7373351B2 (en) * 2003-08-18 2008-05-13 Sap Ag Generic search engine framework
US20050081210A1 (en) * 2003-09-25 2005-04-14 International Business Machines Corporation Dynamic adjustment of system resource allocation during query execution in a database management system
WO2005060575A2 (en) * 2003-12-10 2005-07-07 X1 Technologies, Inc. Performing operations in response to detecting a computer idle condition
US8538997B2 (en) * 2004-06-25 2013-09-17 Apple Inc. Methods and systems for managing data
US7672928B2 (en) * 2004-09-30 2010-03-02 Microsoft Corporation Query forced indexing
US8881233B2 (en) * 2005-05-23 2014-11-04 Microsoft Corporation Resource management via periodic distributed time
US20070067455A1 (en) * 2005-08-08 2007-03-22 Microsoft Corporation Dynamically adjusting resources

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000047881A (ja) * 1998-07-28 2000-02-18 Hitachi Ltd リアルタイムシステム
JP2003515807A (ja) * 1999-11-29 2003-05-07 グラクソ グループ リミテッド ネットワーク化された1以上のコンピュータの余剰の処理能力を用いて複雑な科学的問題を解決するためのスレッドベースの方法及びシステム
JP2003005987A (ja) * 2001-06-19 2003-01-10 Hitachi Ltd エミュレーション装置
JP2004133934A (ja) * 2002-10-04 2004-04-30 Microsoft Corp プロアクティブなメモリ管理の方法および機構
JP2005071353A (ja) * 2003-08-20 2005-03-17 Microsoft Corp 連続媒体優先順位を意識した記憶装置スケジューラ

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010529527A (ja) * 2007-05-21 2010-08-26 アマゾン テクノロジーズ インコーポレイテッド 検索インデックスの生成状況の管理
JP2014142940A (ja) * 2008-09-19 2014-08-07 Oracle Internatl Corp 記憶側記憶要求管理

Also Published As

Publication number Publication date
EP1896992A2 (en) 2008-03-12
WO2007001331A2 (en) 2007-01-04
MX2007014899A (es) 2008-01-28
AU2005333693A1 (en) 2007-01-04
CA2608276A1 (en) 2007-01-04
WO2007001331A3 (en) 2009-04-16
EP1896992A4 (en) 2012-11-14
NO20075745L (no) 2008-01-25
US20060294049A1 (en) 2006-12-28
RU2007147645A (ru) 2009-06-27
CN101443762A (zh) 2009-05-27
RU2412477C2 (ru) 2011-02-20
BRPI0520200A2 (pt) 2009-04-22
KR20080024156A (ko) 2008-03-17

Similar Documents

Publication Publication Date Title
JP2008547106A (ja) 検索用バックオフメカニズム
US10826980B2 (en) Command process load balancing system
US9787706B1 (en) Modular architecture for analysis database
JP5537571B2 (ja) コンピュータにおけるコンテンツレンダリング
US8521757B1 (en) Method and apparatus for template-based processing of electronic documents
JP7039631B2 (ja) アクセスリクエストを管理するための方法、装置、デバイス、および記憶媒体
US10558702B2 (en) Unified storage system for online image searching and offline image analytics
JP2020074193A (ja) サーチ方法、装置、設備および不揮発性計算機メモリ
JP6932360B2 (ja) オブジェクト検索方法、装置およびサーバ
WO2015176689A1 (zh) 一种数据处理的方法及装置
JP2010097461A (ja) 文書検索装置、文書検索方法および文書検索プログラム
US20200319797A1 (en) System and method for file processing from a block device
Chen et al. Fpga-accelerated samplesort for large data sets
KR20200135717A (ko) 액세스 요청 처리 방법, 장치, 기기 및 저장 매체
US10909170B2 (en) Method for processing and rendering feed-like based images for mobile devices
CN110781159B (zh) Ceph目录文件信息读取方法、装置、服务器及存储介质
US8484221B2 (en) Adaptive routing of documents to searchable indexes
JP2009098811A (ja) 文書分類装置およびプログラム
WO2022134683A1 (zh) 在创作过程中生成已创作内容的脉络信息的方法与设备
US10664170B2 (en) Partial storage of large files in distinct storage systems
CN108920687B (zh) 一种基于Lucene索引段的合并优化方法
WO2017175247A1 (en) Method and system for generating content from search results rendered by a search engine
US20180239907A1 (en) Checking method, checking system and checking device for processor security
US9971968B2 (en) Determination method, system and recording medium
US11360813B1 (en) Timer object management for a multiprocessor virtual environment

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110316

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110408