JP2000003321A - 高性能なメッセ―ジ格納構造 - Google Patents
高性能なメッセ―ジ格納構造Info
- Publication number
- JP2000003321A JP2000003321A JP11119493A JP11949399A JP2000003321A JP 2000003321 A JP2000003321 A JP 2000003321A JP 11119493 A JP11119493 A JP 11119493A JP 11949399 A JP11949399 A JP 11949399A JP 2000003321 A JP2000003321 A JP 2000003321A
- Authority
- JP
- Japan
- Prior art keywords
- message
- index
- storage structure
- data
- message storage
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9017—Indexing; Data structures therefor; Storage structures using directory or table look-up
- G06F16/902—Indexing; Data structures therefor; Storage structures using directory or table look-up using more than one table in sequence, i.e. systems with three or more layers
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
ステムを生成するための方法、装置、及びコンピュータ
読み取り可能媒体を提供する。 【解決手段】メッセージ格納構造は、全てページベース
のインデックスディレクトリ、インデックスファイル、
及びデータバケット領域を有する。各ページは、例えば
日のような期間に対応している。各データバケットは、
メッセージデータ及びメッセージの実コンテンツを含
む。インデックスファイルは、関連メッセージを特徴付
けるインデックス情報を格納するインデックスファイル
セルを含む。インデックスディレクトリは、関連インデ
ックスファイルセルのロケーション上に情報を格納する
インデックスディレクトリセルを含み、これによりイン
デックスディレクトリは、メッセージと関連付けられ
る。
Description
ュータソフトウェア及びクライアント−サーバの技術に
関する。より詳細には、本発明は、コンピュータネット
ワークを介してクライアントによりアクセスされる電子
メールメッセージデータの編成及び格納構造に関する。
ピューティングの急速な成長は、最も一般的に「電子メ
ール」と呼ばれる、ますます広まりつつある通信形式を
伴ってきた。家庭、勤務先、小規模企業、学術機関、あ
るいは、政府組織において、何らかの種類のコンピュー
タネットワークに接続されているコンピュータにより多
くの個人がアクセスするにつれ、電子メールは、瞬く間
に好ましい通信形式になりつつある(多くの場面では既
になっている)。人々は、簡単な一度きりのメッセージ
を送る場合であれ、長期にわたり討論、又は、会話を継
続する場合であれ、電子メールが、通信のための有用で
効率的な手段であることを認識している。
でメッセージを送るために、企業、及び大学といった大
規模組織内では長年にわたり用いられ、また、一般的
に、独自のフォーマット及びプロトコルに基づいてい
る。大規模組織の外部へ電子メールを持ち出し、社会の
本流に持ち込んだのはインターネットである。インター
ネットは、公的にアクセス可能でグローバルなコンピュ
ータネットワークなので、その電子メール能力に鑑み徐
々に利用されるようになってきた。さらに、インターネ
ットプロトコル(IP)、及びインターネットの通信層
(TCP/IP)は、独自のフォーマット及びプロトコ
ルに代わって、IP及びTCP/IPに基づき私的組織
内におけるイントラネットとして知られているコンピュ
ータネットワークを開発するために用いられてきた。こ
の解決手段は、例えば、企業又は大学が、インターネッ
トとの互換性を有すると共に、ウェブサイト、ハイパー
リンク能力、そして、当然ながら電子メールの送受信を
含むインターネットの全ての特徴を有する、内部コンピ
ュータネットワークを所有することを許容する。
トラネットの魅力の増加は、電子メールメッセージの急
激な増加をもたらした。一般的に、電子メールメッセー
ジは、ネットワークサーバ、あるいは、クライアント及
びスタンドアローンマシンのハードドライブ上で受信及
び格納される。電子メールメッセージを電子的に保存
し、また、所望のときに簡単に取り出すという増大しつ
つある傾向又は実践及び多くの場合ニーズがある。この
ことは、例えば、アイデア、コメント又は分析を含むメ
ッセージが、例えば、異なる国の研究者の間で数年の期
間にわたり送られる場合には、あらゆる類型の研究状況
において重要になり得る。例えば、今はその立場にない
2人の研究者の間で2年前のある時に送られたあるメッ
セージを取り出さざる負えない状況が予測される。もち
ろん、この能力は、ビジネス環境、または、他の状況に
おいても重要且つ有用な特徴になり得る。
増大する要求と結びつく電子メールの増大、及びセーブ
されるべきメッセージ数の増加は、現在のインデックス
修飾方式及びメッセージについての問題を露呈した。メ
ッセージをクライアントマシン上でなく、サーバ上にセ
ーブする傾向が増えつつある。メールサーバは、メッセ
ージの中央集積所として機能すると共に、定期的にバッ
クアップされ、管理者によって維持され、壊れた(クラ
ッシュした)ときには(ほとんどの場合)迅速に復旧さ
れるという利点を有している。したがって、ユーザがリ
クエストすると、リクエストはサーバによって処理され
ると共にクライアントに配信される。
は、リクエストの類型によって幅広く変化し得る。簡単
な例では、電子メールメッセージは、要求ヘッダに加え
て、2,3行の本文からなる簡単なメッセージ部を含み
得る。あるいは、電子メールは、圧縮画像、オーディオ
セグメント、ビデオ、アニメーション、特別なエンコー
ディングを有するテキスト(例えば、非ラテン語ベース
言語の場合)及び他の全電子メールメッセージをも含み
得るいくつかの添付物を有し得る。
報の深さ及び幅の点から変化し得る。例えば、リクエス
トは、2人の個人の間で数年前に送られた1つのメッセ
ージの全コンテンツに関するものであり得る。あるい
は、リクエストは、直近24時間内に特定の標題に関し
て送られた任意のメッセージの受取者のリストであっ
て、メッセージを開封した受取者及び未だ開封していな
い受取者を区別するリストであっても良い。要するに、
電子メールメッセージ及び電子メールメッセージデータ
についてのリクエストの性質は、より複雑になり、これ
により、メッセージの格納及び検索を処理する際におけ
る現在のメールサーバの弱点が露呈する。
ために現在用いられているほとんどのメールサーバは、
インターネットメッセージプロトコル、すなわち、IM
APに従って構成されている。IMAPは、メッセージ
操作のための命令、メッセージに関連する全ての情報の
ソート及び格納のためのインデックス、及びメッセージ
上で実行される動作の集合である。IMAP構成サーバ
では、IMAPを十分に活用するために、メッセージコ
ンテンツ及びメッセージに関するメタデータを含むネッ
トワーク及びメッセージ上のユーザに関連する情報が、
IMAPのインデックス修飾を活用する方法で格納され
なければならない。IMAPサーバが概ねIMAPイン
デックス修飾に従ってデータを格納するのに対して、こ
のような、高速で確かで非連続なデータの検索及び格納
を最適化する方法でデータを格納するサーバは他にはな
い。
低性能によってもたらされる他の非能率性を有してい
る。これらサーバは、レコードを構成するフィールド集
合としてメッセージデータを扱う(すなわち、メッセー
ジデータはレコードベース)が、新規メッセージのユー
ザズインボックス(ユーザが新規メールを受け取るメー
ルボックス)への書き込みは、インボックス上における
ユーザによる他の操作の実行を阻害する結果をもたらし
易い。これらIMAPサーバのメッセージ格納構造は、
IMAPにて利用可能なインデックス修飾を効率よく利
用するようには設計されなかった。例えば、ユーザはメ
ールボックス内の全てのメッセージから所定のフィール
ド(例えば、日付、受取人、標題等)に関する情報のみ
を要求し得る。IMAPサーバは、一般的なユーザのデ
ータに関する要求を満たすために必要な情報よりも多く
の情報を検索するように思われる。したがって、特定の
標題について特定のユーザに送られたメッセージ数を単
に取得するために、IMAPサーバは、メッセージ数を
引き出すべく全メッセージの全コンテンツを読み出し得
る。現在のIMAPサーバは、IMAP内で可能な完全
性及び整合性の強力なチェック能力にも欠けている。
ンは、メッセージに関する情報の類型に関係なく配信及
びコピーされるメッセージ全体がリクエストされること
を要求する。この問題は、メッセージの配信によってメ
ールフォルダに対する全ての書き込み操作が禁止され
る、UNIXオペレーティングシステムにおける古いフ
ァイルベースのメール環境であるVARMAILにおけ
るものと類似している。このデフォルト手続きは、メー
ル配信システムが著しく遅延するという問題をもたらし
た。さらに、VARMAIL環境は、クライアントマシ
ンのメモリ中に格納される同一電子メールメッセージの
複数のコピーをも要求した。
ジの格納及び検索時間、及び強力なデータ整合性の維持
を向上するために、インデックス、メッセージデータ、
及びユーザデータが論理的に配列されるように分割され
ている、サーバベースのメッセージ格納構造が必要とさ
れている。メッセージ格納構造は、競合を低減すると共
に、ユーザ及びサーバがメッセージ及びメールフォルダ
上で読み出し及び書き込みを同時に実行することを許容
するべきである。検索速度を高速化すると共にメモリを
セーブすべく、リクエストされたデータ及び減少した無
関係なデータだけをサーバが検索するように、データに
対するユーザのリクエストを処理するときに、サーバに
よって識別可能な特定水準を引き上げることが望まし
い。
めに、また、本発明に目的に従えば、効率的なメッセー
ジ格納構造、及び配信システムを生成するための方法、
装置、及びコンピュータ読み取り可能媒体が提供され
る。本発明の一つの局面に従えば、全てページベースで
ある、インデックスディレクトリ、インデックスファイ
ル、及びバケットデータを有するメッセージ格納構造が
記載されている。各ページは、1つの実施形態では、例
えば日のような期間に対応している。各データバケット
は、メッセージデータ及びメッセージの実コンテンツを
含む。インデックスファイルは、関連メッセージを特徴
付けるインデックス情報を格納するインデックスファイ
ルセルを含む。インデックスディレクトリは、関連イン
デックスファイルセルのロケーション上に情報を格納す
るインデックスディレクトリセルを含み、これによりイ
ンデックスディレクトリは、メッセージと関連付けられ
る。
はまた、各々がユーザ格納構造内でユーザに関連付けら
れると共に、メッセージを参照するユーザセルを含むペ
ージベースユーザフォルダを有する。他の実施形態で
は、各ユーザセルは、インデックスディレクトリ内のイ
ンデックスディレクトリセルに対する参照を含む。さら
に、他の実施形態では、各ユーザフォルダは、定義済ユ
ーザベース条件に従って類別される。
ディレクトリセルは、現在、関連メッセージを参照して
いるユーザー数、及び関連インデックスファイルセルに
対する参照指示器(参照ポインタ)を含む。さらに他の
実施形態では、インデックスファイルセルは、データバ
ケット内の関連メッセージに対する参照指示器、及び関
連メッセージのサイズを含む。
ジは関連インデックスファイルセルに対する参照指示
器、及び関連インデックスディレクトリセルに対する参
照指示器を有する。本発明の更に他の実施形態では、ユ
ーザセル内のインデックスディレクトリ指示器(インデ
ックスディレクトリポインタ)、インデックスディレク
トリセル内のインデックスファイル指示器(インデック
スファイルポインタ)、インデックスファイルセル内の
メッセージ指示器(メッセージポインタ)、及びメッセ
ージ内の2つの指示器(ポインタ)は、必要に応じてメ
ッセージ格納構造が自身を復元することを許容する。
メッセージ格納構造に対して効率的に配信する方法が提
供される。1つの実施形態では、到着データ及び関連イ
ンデックスデータは、実質的に同時に、メッセージ格納
構造の特定の部分に付加される。到着データ及びインデ
ックスデータがメッセージ格納構造に書き込まれている
間、クライアントは、実質的に阻害されないメッセージ
格納構造内の既存データアクセスできる。更に他の実施
形態では、到着データが付加される場合には、アクセス
は、メッセージ格納構造の不使用部分に制限される。
明、及び種々の図面を参照することにより、より良く理
解されるであろう。
詳細に説明する。好適な発明の実施の形態の例を図面と
共に説明する。本発明を好適な発明の実施の形態に関し
て説明するが、以下の説明は、本発明を1つの好適な発
明の実施の形態に限定することを意図するものではな
い。むしろ、特許請求の範囲によって画定される本発明
の範囲、及び本発明の趣旨を逸脱しない範囲で、変形
物、改良物、及び等価物が含まれることを意図するもの
である。
ーザ情報といったデータを格納するための改良メッセー
ジ格納構造(格納装置)が、いくつもの図面に図示され
ている。本発明の実施の形態では、改良メッセージ格納
構造は、例えば、インターネットの電子メールメッセー
ジのようなメールメッセージを格納するために構成され
ているが、他の類型の情報を格納するためにも用いられ
得る。本発明の実施の形態に関して、サーバがクライア
ントのメッセージに関するデータに対するクライアント
(すなわち、ユーザ)のリクエストに応答する場合に
は、メールメッセージをサーバ上で記憶し、インデック
ス修飾することが望ましい。本発明の実施形態によれ
ば、メッセージ格納構造は、メールプロトコルにおいて
最も一般的に用いられている命令及びメッセージに対応
するために構成され得る。これらプロトコルのうち2つ
は、インターネットメッセージアクセスプロトコル(I
MAP)及びポストオフィスプロトコル(POP)であ
ることは周知の通りである。本発明の実施形態に従い本
発明を説明し、記述するために、メッセージ格納構造を
含むサーバは、主に、IMAP及びPOP命令及びメッ
セージ(以下、IMAPサーバという)に対応するよう
に構成されている。本発明の実施の形態では、IMAP
サーバは、現在、ある程度のインデックス修飾を有して
いるが、IMAPメッセージ格納構造の全体の構成、及
びインデックス修飾の水準は、徐々に複雑化すると共に
止まるところを知らないデータに対するユーザのリクエ
ストを効率よく処理することはできない。
構造の潜在的なページベース構成、及び高水準のインデ
ックス修飾は、本発明の実施の形態にサーバが、高効率
な方法で着信メッセージを処理すると共に、(既存デー
タを操作するために)ユーザリクエストを取り扱うこと
を許容する。メッセージ格納構造の潜在的なページベー
ス構成は、データが、例えば、日、または、週といった
期間のような定義済み条件に基づいて類別されることを
許容し、これにより、その大部分が不必要であるデータ
の本体全体を通したサーチ、あるいは、その処理の必要
性が排除される。以下に述べる、インデックスディレク
トリ及びファイルといったメッセージ格納構造及び種々
の記憶構成要素のインデックス修飾の高い細分性もま
た、整合性のチェック及びデータ冗長性の低減を促進す
るする(他の記憶構成要素に対する)参照及びカウンタ
を用いることによって、システムがデータ整合性を確実
にすることを許容する。さらに、レコードが本質的にメ
ッセージ格納構造内の種々の記憶構成要素内におけるフ
ィールドの組み合わせである場合には、後述するよう
に、ユーザリクエスト及び着信メッセージは、レコード
ベース上で取り扱われる。一般的に、ユーザリクエスト
に応えるために、あるいは、着信メッセージを処理する
ためには、所定のフィールドのみが必要とされるので、
サーバは、フォルダ全体、あるいは、ディレクトリ全体
のロックに代えて、セクションのロックを実行し得る。
このことは、サーバへの書き込み(例えば、着信メッセ
ージの処理)及び同一のメールボックスに対するアクセ
スを要求するユーザリクエストの処理の間における競合
を大幅に低減する。
うメッセージ格納構造は、大規模分散型計算機環境(す
なわち、何万人ものユーザ)、または、例えば、10人
未満のユーザを有するもっと小さなコンピュータネット
ワークにて用いられるサーバ中にデータを格納するため
に好適である。改良メッセージ格納構造の利点は、これ
ら両状況、及び両状況の間の状況において実現される。
例として、本発明の実施形態におけるサーバは、大規模
分散型計算機環境におけるユーザのためのインターネッ
ト電子メールを格納するIMAPサーバである。したが
って、ここで用いられるインターネット電子メールメッ
セージの構成を簡単に説明することは有益である。当業
者に周知であるように、インターネット電子メールメッ
セージは、MIME規格に従ってフォーマットされてい
る。MIMEメッセージは、MIMEヘッダ、及びその
各々がヘッダを有する1つ以上の本体部、又はセクショ
ンから構成されている。MIMEフォーマットは、電子
メールメッセージが、オーディオ、ビデオイメージ、非
英語テキスト、HTML等といった種々のメディアを含
むことを許容する。本発明の実施形態のメッセージ格納
構造は、後述する種々のインデックスを通じてMIME
セクションを調整する。他の好適な発明の実施形態で
は、他のデータフォーマットを調整するために既述のイ
ンデックス構造が用いられ得る。本発明の実施形態に従
うメッセージ格納構造は、他の非常に特定的なリクエス
トの取り扱いに加えて、メッセージ全体を検索すること
なく特定のメッセージの特定のMIMEセクションを検
索することを許容する。
一つに従うメッセージ格納構造を示すブロック図であ
る。メッセージ格納構造100は、データバケットディ
レクトリ102、インデックスディレクトリ104、イ
ンデックスファイル106、及びユーザフォルダディレ
クトリ110を含む。データバケットディレクトリ10
2は、一連のデータバケット112を含んでいる。イン
デックスディレクトリ104は、ヘッダ114及び一連
のインデックスディレクトリセル116を含んでいる。
インデックスファイル106は、ヘッダ118及び一連
のインデックスファイルセル120を含んでいる。ユー
ザフォルダディレクトリ110は、一連のユーザフォル
ダ122を含んでいる。
カテゴリ、データ格納構造及びユーザ格納構造、に類別
される。図2は、本発明の実施形態の一つに従うデータ
格納領域の記憶構成要素を図示するブロック図である。
図2に図示されるデータ格納領域124は、インデック
スディレクトリ104、インデックスファイル106、
及びデータバケットディレクトリ102を有している。
これら記憶構成要素の各々は、ページベース構成に従っ
て構築されている。各ページは、例えば、特定の時間周
期のような定義済み条件に対応し得る。本発明の実施形
態では、例えば、各記憶構成要素が特定のメッセージが
受信された日に基づくトップレベルで組織されている場
合には、記憶構成要素の各ページは日ベースである。他
の好適な発明の実施の形態では、各ページは、システム
上のデータトラフィック量によって週周期又は8時間周
期に対応し得る。データバケットディレクトリ102
は、データバケット108により構成される。一般的な
データバケット108が、ヘッダ126及び代表的なメ
ッセージ領域128と共に図示されている。データバケ
ットディレクトリ102、すなわち、データバケットホ
ルダは、本質的には一連のデータバケットを予め定めら
れた時間周期、例えば1日、保持するための容器であ
る。したがって、本発明の実施の形態では、所定の日に
受信された全てのメッセージは、通常、その特定日に対
応するデータバケット内に格納される。
ィレクトリ102は、当初、3つのデータバケットを含
むか保持する。バケットは、本質的にデータバケット1
08に対して構造的に同一である。3つのバケットデー
タのうちいずれか1つが構成可能なディスクファイルサ
イズを超える場合には、1つ以上の追加データバケット
130が、データバケットディレクトリ102に加えら
れる。他の好適な発明の実施形態では、追加のデータバ
ケットが加えられる方法は変化し得る。例えば、メッセ
ージ格納構造は、当初、1つのデータバケットだけを有
し、初期バケットのいずれか1つが満たされると追加デ
ータバケットを1つ加える。本発明の実施形態に戻る
と、特定日に対する着信メッセージは、3つのデータバ
ケット間の配分をほぼ等しくする意図で、最初の3つの
データバケット間でランダムに分配される。このメッセ
ージの分配は、追加のデータバケットがデータバケット
ディレクトリ102に加えられたときに、継続、また
は、維持される。本発明の実施形態では、3つの初期デ
ータバケットが満たされると、3つの追加データバケッ
トが加えられると共に、メッセージは新規のデータバケ
ット間でランダムに分配される。上述のように、本発明
のメッセージ格納構造は、大規模で、量の大きな計算機
環境、あるいは、小規模コンピュータネットワークにお
いて用いられ得る。例として、本発明の実施形態におい
て、大規模分散型計算機環境では、一般的なデータバケ
ットホルダは500メガバイトの最大ディスクファイル
サイズを有し得る。
ダセル126から始まる。ヘッダ126の次は、バケッ
ト108内の電子メールメッセージのように、連続的に
データが格納される。他の好適な発明の実施形態では、
データはビデオ、又は、オーディオセグメント、データ
ベースレコード、他のフォーマットのデータであり得
る。本発明の実施形態では、メッセージは、特定のデー
タバケットに加えられる一方で、セル又は固定記憶領域
内には含ませられない。メッセージのサイズは、幅広く
変化し得るが、一般的な、電子メールメッセージは、2
〜10キロバイトの範囲にある。上述のように、本発明
の実施形態では、着信メッセージは、ランダムに且つ、
好ましくは特定日のための3個の当初データバケット間
に格納される。データバケットが満たされると、メッセ
ージを格納するために新規のデータバケット130が生
成される。したがって、特定の受取者に割り当てられた
着信メッセージは、一旦、データバケット内に格納され
る。本発明のメッセージ格納構造の特徴は、メッセージ
の受取者(あるいは、所有者、作成者等)が全員、1つ
のメッセージのコピーに対して参照を有することを許容
する。この特徴は、詳しく後述する。本発明の実施形態
では、一般的なデータバケットは、約200,000、
2.5キロバイトのメッセージを保持し得る。したがっ
て、3つのデータバケット(すなわち、特定日に割り当
てられたデータバケットの初期数)は、約600,00
0通までの電子メールメッセージを保持し得る。当然な
がら、それらメッセージの多くは、メッセージ及び添付
物の類型によっては、2.5キロバイトをゆうに超え得
る。
ト中への格納に加え、インデックス及び関連情報がイン
デックスディレクトリ104及びインデックスファイル
106内に格納され得るように、メッセージはインデッ
クス修飾スレッドによって分析される。この情報は、デ
ィレクトリ104及びファイル106の特定のページ内
に格納される。本発明の実施の形態では、インデックス
ディレクトリ及びインデックスファイルは日ベースであ
り、それぞれの日が新規のディレクトリ及びファイルに
割り当てられる。追加インデックスディレクトリページ
107は、インデックスディレクトリページ104の
「後ろに」図示されている。インデックスディレクトリ
104は、ヘッダ114から始まりインデックスディレ
クトリセルがそれに続く。サンプルセルが領域116に
図示されている。着信メッセージが受信されると、その
メッセージは分析され、インデックス情報が引き出され
ると共にインデックスディレクトリセル116内に格納
される。例として、本発明の実施形態では、インデック
スセル116は、24バイトの固定レコードサイズを有
する。他の好適な実施の形態では、インデックスディレ
クトリセル116は、格納されるデータの類型及び要求
インデックス修飾レベルに応じて、より短い場合あるい
は長い場合がある。
セージに関するインデックス修飾情報がインデックスフ
ァイル106内に格納される。インデックスディレクト
リ及びデータバケットディレクトリを備えているので、
本発明の実施形態では、インデックスファイルの1ペー
ジは特定の日に対応する。同様に、2日目及び3日目に
ついてのインデックスファイルページ115がインデッ
クスファイル106の「後ろに」図示されている。これ
らのページ115は、他の定義済み時間間隔、あるい
は、他の条件に対応し得る。インデックスファイル10
6は、インデックスファイルヘッダ118から始まり、
インデックスファイルセル、例えば、セル120がそれ
に続く。以下に詳述するように、インデックスファイル
自身は、各着信メッセージに関する詳細インデックス修
飾情報を含むと共に、いくつかの異なるフィールドを含
む。本発明の実施形態では、インデックスファイルヘッ
ダ118は固定レコードサイズである。
従うメッセージ格納構造のユーザ格納領域を示すブロッ
ク図である。上述のように、メッセージ格納構造は、概
念的にデータ格納領域及びユーザ格納領域に分割され得
る。この区別は、図1に図示されているメッセージ格納
構造の機能性のために要求されるものではない。本発明
の実施形態では、区別は、メッセージ格納構造のメッセ
ージデータの局面及びユーザデータの局面を説明するた
めに用いられる。
るネットワークのサイズ及び特にユーザ数によって、一
般ユーザ格納領域132は、ディレクトリ134と同様
に数千のユーザフォルダディレクトリを含み得る。ある
いは、わずか2、3のユーザがメッセージ格納構造にア
クセスしている場合には、ユーザ格納領域132は、
2、3のユーザフォルダディレクトリ、あるいは1つの
ディレクトリだけを含み得る。ユーザフォルダディレク
トリ134は、本質的に、ユーザのグループに対するユ
ーザフォルダ136の集合体である。一般的に、ユーザ
は常に、インボックスと呼ばれる新規メールを受信する
ためのユーザメールフォルダを1つ以上有している。電
子メールの場合には、ユーザは、特定の標題、あるい
は、ユーザ選択条件でメッセージを保持するためのカス
タマイズフォルダを生成し得る。ユーザフォルダ136
は、ヘッダ138から始まり、それにユーザフォルダセ
ル140が続く。本発明の実施形態では、一般ユーザフ
ォルダセル140は、メッセージに関するインデックス
修飾及び他の情報を含むが、メッセージの実データ、あ
るいは、実コンテンツは含まない。特定メッセージの実
コンテンツは、図2のデータバケットディレクトリ10
2内に格納される。このことは、特定のユーザフォルダ
に対する参照を有することにより、一度だけメッセージ
格納構造に対して格納、または、書き込みが行われるネ
ットワーク上における幾人かのユーザに割り当てられた
メッセージをメッセージ格納構造が有することを許容す
る。他の好適な発明の実施形態では、データは、ネット
ワーク上の幾人かのユーザによって参照される必要のあ
る、他の類型のデータであり得る。ユーザフォルダディ
レクトリ134内に含まれている他のフォルダは、管理
フォルダ及び、例えば、IMAP情報を保持するための
フォルダである。本発明の実施の形態では、各ユーザフ
ォルダディレクトリ134には、一般的に、整数の識別
子(識別器)が与えられる。例えば、ユーザの名字がそ
の特定の整数に対してハッシュされ得る。このことは、
各ユーザフォルダディレクトリ134におけるユーザネ
ームの実質的に均一な分布を許容する。
デックスディレクトリ104、インデックスファイル1
06、及びユーザフォルダ(データスペース)ディレク
トリ134は、メッセージ格納構造が確実に無矛盾であ
ると共に、エラーの場合には、容易に修復され得るよう
に論理的に結合されている。一連の参照は、特定のフィ
ールド及び、インデックスディレクトリセル116、イ
ンデックスファイルセル120、ユーザフォルダセル1
38、及びデータバケット108内の特定フィールドの
値を参照して詳細に後述するように、記憶構成要素間に
パスを形成する。メッセージが受信されると、インデッ
クス修飾スレッドは、メッセージの構造及びコンテンツ
を検査する。受信済みメッセージのヘッダのダイジェス
トは、分析され、インデックスファイルセル120内に
収容される。同様に、メッセージの本体構造は分析さ
れ、そして、本体情報は、そのメッセージに対応するイ
ンデックスファイルセル内に格納される。本発明の実施
形態では、特定のメッセージが予め定められた長さより
長い場合には、メッセージは、配信中に、全体性能を遅
延させるボトルネックをサーバ上に生成しないように、
接続時に分析される。メッセージの構造を予め分析する
ことにより、本発明に係る1つの発明の実施の形態に従
うメッセージ格納構造を使用するクライアントは、例え
ば、メッセージが格納されているデータバケットから特
定のメッセージに関する全てのヘッダデータを一回の読
み取りによって取得し得る。詳細に後述するように、イ
ンデックスファイルセル116は、ユーザが、メッセー
ジ全体にアクセスする必要なく、一読操作によって特定
のメッセージから要求されたプロパティを取得し得るよ
うに、封筒情報、及び本体構造情報といった十分なメタ
データを有する。
1つに従う、インデックスディレクトリセル116内に
おけるフィールドを示すデータ構造図である。インデッ
クスディレクトリセル116内の情報は、本質的に、イ
ンデックスファイルセル120内に格納されている情報
上のメタデータである。したがって、インデックスファ
イルセル120内に収容されているデータにアクセスす
るためのシステムでは、システムは、先ず、インデック
スファイル106内の適当なロケーションに対する参照
用のインデックスディレクトリセル116にアクセスす
る。インデックスディレクトリセル116は、インデッ
クスファイルオフセット203、インデックスファイル
セルサイズ205、参照カウント207、ユニバーサル
格納識別子209、及び使用中フラグ211についての
値を含む。インデックスディレクトリセル120内のイ
ンデックスファイルオフセットフィールド202は、そ
のポイントで適当なインデックスファイルセル120が
始まるインデックスファイル106内のロケーションで
ある、インデックスファイルオフセット値203を提供
する。インデックスファイルセルサイズフィールド20
4は、インデックスファイルオフセットフィールド20
2内に示されている、オフセット203で始まるインデ
ックスファイルセルのセルサイズ205を提供する。こ
の情報を備えることにより、システムは、インデックス
ファイル106内の適当なインデックスファイルセル1
20にアクセスし得る。参照カウントフィールド206
は、メッセージ、または、(特定のインデックスディレ
クトリセルに関連する)他のデータを参照するユーザフ
ォルダ136の数の参照カウント207を含む。参照カ
ウント207は、特定のメッセージにアクセスしたユー
ザ数である。ユニバーサル格納識別子フィールド208
は、各メッセージ、または、データ項目の唯一的な識別
を確実なものとする、ユニバーサル格納識別209を格
納する。したがって、本発明の実施形態では、特定のメ
ッセージに対して1つのユニバーサル格納識別子209
だけが存在し、その識別子は、システム内の他の任意の
メッセージを識別するためには用いられ得ない。使用中
フラグフィールド210は、データが依然としてメッセ
ージ格納構造内に存在するか否かを示す、使用中フラグ
211を含む。メッセージ格納構造は、たとえ、特定の
メッセージに対する参照が存在しない、すなわち、その
メッセージについての参照カウント207がゼロの場合
であっても、特定のメッセージを含み得る。メッセージ
は、削除され、または、ガベージコレクションが実行さ
れるまで格納構造内に留まる。これは、他のユーザがそ
の特定メッセージにアクセスしたい場合に、メッセージ
を検索する際に有用である。システムは、単純に参照カ
ウント207を1に増加させ、メッセージは、特定のユ
ーザによってビューされ得る。
つに従う、図2に図示されているインデックスディレク
トリヘッダ114内のフィールドを示すデータ構造図で
ある。データバケットカウントフィールド212は、特
定日に用いられるデータバケット108のデータバケッ
トカウントを含むと共に、主に整合性チェックのために
用いられる。複雑フラグフィールド214は、システム
がメッセージデータをインデックス修飾しているか否か
を表示するためのフラグを含んでいる。インデックスデ
ィレクトリセルカウントフィールド216は、現在、イ
ンデックスディレクトリ104中に在るインデックスデ
ィレクトリセル116の数を含んでいる。次期利用可能
セルフィールド218は、次に利用可能なインデックス
ディレクトリセルのロケーションを含む。本発明の実施
形態では、上記フィールドは、所定の順序でリストされ
ているが、他の好適な発明の実施形態では、フィールド
は、メッセージ格納構造の具体的なインプリメンテーシ
ョンに応じて、異なる順序で順序づけられ得る。さら
に、他の好適な発明の実施形態では、いくつかのフィー
ルドは、必要とされないことがあり得、あるいは、値を
含んでいないことがあり得る。繰り返して述べると、ど
のフィールドが用いられるかは、メッセージ格納構造の
具体的なインプリメンテーションに部分的に依存する。
ンデックスファイルセル120内のフィールドを詳細に
示すデータ構造図である。インデックスファイルセルサ
イズ302は、インデックスファイルセルのサイズを提
供すると共に内部整合性チェックに用いられる、インデ
ックスファイルレコードサイズ303を含む。この値を
用いることにより、システムは、一つのレコードから他
のレコードへジャンプすることができると共に、新規の
インデックスファイルセルが、ディスクファイル上の予
測ロケーションにて開始し、終了するかを確認するため
にチェックすることにより整合性を確実にし得る。フィ
ールド304は、フィールド306のバイト数、また
は、長さを含む点で、識別長フィールド304及びデー
タバケット識別フィールド306は、関連付けられてい
る。データバケット識別フィールド306は、データバ
ケット識別子305を含むと共に、本発明の実施形態に
おいては、年のための4桁のアラビア数字、月のための
2桁のアラビア数字、日のための2桁のアラビア数字、
及び3桁の整数から構成される。これらの数字は、特定
のインデックスファイルセルに対応するメッセージを含
む、データバケット108に関する唯一識別子を構成す
る。識別長フィールド304は、単に、適当な長さであ
ることを保証することにより、データバケット識別子の
整合性を確実にするために用いられる。データバケット
オフセットフィールド308は、特定のインデックスフ
ァイルセルに関連付けられているメッセージを含むデー
タバケット内にオフセット309を含む。それは、本質
的にメッセージが配置されているデータバケット内のロ
ケーションを提供する。データレコードサイズフィール
ド310は、データバケット中にデータ311のサイズ
を含むと共に、メッセージのサイズ及び任意のプリアン
ブルデータのサイズを構成する。したがって、フィール
ド308及び310を備えることにより、システムは、
特定のデータバケット内のロケーションに直接進み、そ
して、一回の読み出しでインデックスファイルセルに関
連するデータレコード(すなわち、メッセージ)全体を
引き出すことができる。
メッセージが既にメッセージ格納構造内に在るか否かを
システムに通知するために用いられるハッシュテーブル
に関連付けられているハッシュキーを含む。したがっ
て、特定のメッセージがハッシュされ、そして、ハッシ
ュ値はハッシュテーブル内に存在すると決定された場合
には、システムは、メッセージが既にメッセージ格納構
造内に在ることを知り、これにより冗長さが低減され
る。I18nフラグフィールド314は、I18nフラグを含
む。これらのフラグは、メッセージが16ビットの言語
エンコーディング、あるいは、他の特別なエンコーディ
ングを有するか否かを示す。有する場合には、サーチの
ために特別な要件が必要とされる。RFC822ヘッダ長フィ
ールド316及びRFC822本体長フィールド318は、共
にRFC822ヘッダと呼ばれるインターネットメールヘッダ
に関連する値を含むという点で関連付けられている。RF
C822は、全てのインターネットメールに要求されるイン
ターネットメールのヘッダフォーマットである。RFC822
は、受信者、送信者、標題及び日付といったフィールド
を含んでいる。ヘッダ長フィールド316は、RFC822ヘ
ッダ長を含み、フィールド本体長318は、RFC822本体
長を含む。RFC822ヘッダ長317及びRFC822本体長の合
計は、添付物、ヘッダ及び全MIME本体部を含むメッ
セージ全体の長さとなる。本発明の実施形態では、フィ
ールド302〜318は、各メッセージ中に存在し、し
たがって、インデックスファイルセルのデフォルトプリ
アンブルをひとまとめにして定義する。他の好適な発明
の実施形態では、格納されているデータの類型によっ
て、これら全てが必要とされないこともある。例えば、
RFC822ヘッダ長フィールド及びRFC822本体長フィールド
は、インターネットメールメッセージが格納されなかっ
た場合には、必要とされない。本発明に実施形態では、
IMAPが他のフィールド及びインデックスの付加を許
容するので、インデックスファイルセル120は可変長
である。
スファイルセルのインデックスファイル106のデータ
部の一部分である。本発明の実施形態では、格納分析水
準は、IMAPについては2であり、POPについては
0である。封筒フラグフィールド320は、封筒フラグ
値319を含むと共に、システムがメッセージデータを
分析したか否かを表示する。本発明の実施形態では、メ
ッセージがIMAP形式の場合には封筒フラグは1であ
り、メッセージがPOP形式の場合には封筒フラグは0
である。したがって、封筒フラグ319を使用すること
により、システムは、POPメッセージの分析を試行す
る時間を浪費することはない。封筒データフィールド3
22は、サイズ及びメッセージが(IMAPメッセージ
であると)分析された場合には他のデータ、といった全
ての封筒情報323を含む。本体フラグフィールド32
4は、本体フラグを含むと共に、値319と同一の実効
を有する。同様にして、本体データフィールド326
は、本体サイズ及び分析水準がIMAPの場合には他の
本体構造情報を含む。オフセットリストフィールド32
8は、データバケット内の特定のメッセージにおいてM
IME本体部分(すなわち、セクション)を発見するた
めの迅速な方法をシステムに提供する、セクションオフ
セットリストを含む。セクションオフセットリスト32
9は、特定の本体部分が一回のディスクデータアクセス
で位置決定されるように、MIMEメッセージ中の各M
IME本体部分のオフセット及び長さを提供する。他の
好適な発明の実施形態では、これらのフィールドには、
メッセージ格納構造が用いられる特定のアプリケーショ
ンのより記述的な他の名前が与えられ得る。さらに、イ
ンデックスファイルセル120は、格納されているデー
タの類型によってより多くの、あるいは、より少ないフ
ィールドを有し得る。
トフィールド328を詳細に示すデータ構造図である。
他の好適な発明の実施形態では、セクションオフセット
リスト328は、格納済データの類型によって、データ
の他の類型に関するより具体的な情報を含むこともあ
り、あるいは、全く利用されないこともある。本体部分
フィールド400は、データバケット内に格納されてい
るメッセージの開始位置からのMIME本体部分のオフ
セットを含んでいる。このことは、システムがインデッ
クスファイルセル120にアクセスするだけで、メッセ
ージ内のMIMEセクションを取得することを許容す
る。ヘッダサイズフィールド402は、MIMEヘッダ
サイズを含んでいる。各MIME本体部分は、コンテン
ツ、類型、本体エンコーディングといった情報、及び公
開鍵情報といった他の情報を含む、MIMEヘッダを有
する。セクション類型フィールド404は、テキスト、
イメージ、あるいは、オーディオといったMIMEセク
ション類型を含む。セクション番号フィールド406
は、システムが本体部分番号をインデックスファイルセ
ルから直接取得することを許容する、MIMEセクショ
ン番号を含む。本発明の実施形態では、MIMEメッセ
ージが、その内の1つが他のMIME本体部分であり得
るいくつかの本体部分を有し得る場合には、このことは
重要である。特定のMIMEセクション番号が発見され
得ない場合には、システムは、データバケット内のメッ
セージにアクセスする必要なく、そのセクション番号は
存在しない旨をユーザに対して通知する。上記したセク
ションオフセットリストフィールド328内の全ての値
329は、これまで達成可能であった時間と比較して極
めて少ない時間でより多くの情報量を提供するために用
いられ得る。セクションオフセットリストフィールド3
28は、同様の利益を得るために他の好適な発明の実施
形態でも用いられ得る。
つに従う、データバケット108内のヘッダセル126
及びメッセージ128を詳細に示すデータ構造図であ
る。ヘッダフィールド500は、メッセージ128より
上位である特定のデータバケット108についてのメッ
セージヘッダを含む。ヘッダフィールドは、データバケ
ット108内のレコード数を表示するファイル終了ポイ
ンタを含む。本発明の実施形態ではマジック番号と呼ば
れるポインタは、データバケット108の整合性を確実
にする。データレコードサイズフィールド502は、プ
リアンブル情報と実メッセージのサイズである、データ
レコードサイズ503を含む。したがって、実メッセー
ジデータサイズは、一般的に、データレコードサイズ5
02内に収容されている総データレコードサイズよりも
小さい。この値は、システムが、あるデータレコードか
ら次のデータレコードへ素早くスキップすること、及び
データレコードの整合性をチェックすることを許容す
る。メッセージオフセットフィールド504は、データ
バケット内における、特定のメッセージ内のメッセージ
データ及び実データが始まるロケーションに対するオフ
セット長505を含む。本発明の実施形態では、後述す
るように、それは、メッセージデータフィールド522
内に含まれるメッセージデータの開始位置に対するポイ
ンタである。インデックスファイルポインタフィールド
506は、図6のデータバケット識別子フィールド30
6内の値305と同一のフォーマットを有する、インデ
ックスファイルポインタ507を含む。このフォーマッ
トは、値305のフォーマットと似ており、4桁の年、
次にそれぞれ2桁の月及び日、続いて3桁の整数を含
む。インデックスファイルポインタフィールド506
は、システムがデータのみから格納構造を復元しなけれ
ば場合に、及び整合性チェックのために用いられるイン
デックスファイルポインタ507を含む。システムは、
本質的にインデックスディレクトリ、インデックスファ
イル、及びユーザファイル内の情報をバックトラックす
ることにより、メッセージ格納構造を復元することがで
きる。
ルド508は、インデックスディレクトリ104、より
具体的にはインデックスディレクトリセル116に対す
るポインタ509を含む。本発明の実施の形態では、整
数形式のポインタは、インデックスディレクトリ内の特
定のセルのロケーションを特定するために用いられる。
インデックスディレクトリセルのサイズは固定値509
なので、メッセージ又はデータに対応する特定ディレク
トリセルの開始ロケーションを決定するためにセルのサ
イズが掛け合わされる。この値は、メッセージ格納構造
内における記憶構成要素内のポインタにより形成された
閉ループが壊れていないことを確実にするためにも用い
られる。書き込み時間フィールド510は、メッセージ
がメッセージ格納構造に書き込まれた時間を含むと共
に、例えば、メッセージが他のシステムにエクスポート
される場合に、一定時間を維持するために用いられる。
本発明の実施形態では、時間は1970年1月1日から
計時され始めている。長さフィールド512及び送信者
名フィールド514は、フィールド512が送信者名の
長さを含むと共に、フィールド514が送信者の氏名を
含むメッセージの送信者を参照する。受信者カウントフ
ィールド516は、メッセージ受信者517の数を格納
し、あるいは、他の好適な発明の実施形態では、特定の
データ片の所有者又は創作者数を含む。受信者リストフ
ィールド518は、受信者(すなわち、所有者、創作者
等)の名前のリストを含む。メッセージサイズフィール
ド520は、(フィールド502内のデータレコードサ
イズ503とは異なる)実メッセージのサイズ521を
含む。メッセージサイズ521は、添付物を含み得る実
データのサイズであると共に、メッセージ中におけるヘ
ッダからデータの最終バイトまでのサイズである。
〜520は、特定メッセージに対するプリアンブルを構
成すると共に、メッセージ格納構造が整合しており、あ
らゆる局面において破壊されていないことを確実にする
ために用いられ得る。メッセージデータフィールド52
2は、送信者名フィールド514内に含まれる送信者デ
ータ構造から送信された実メッセージを含む。
つに従う、図3のユーザフォルダ内のユーザフォルダセ
ル138を詳細に図示するデータ構造図である。各ユー
ザが1個以上のフォルダを有し得る一連のユーザフォル
ダは、ユーザフォルダディレクトリ134内に含まれて
いる。本発明の実施形態では、フラグフィールド600
は、メッセージの個々の状態を示すIMAPフラグを含
む。本発明の実施形態では、これらは、消去、読み取
り、返答、フラグ及び下書きを含む。他の好適な発明の
実施形態では、このフィールドは、メッセージ格納構造
内に格納されている他の類型のデータの状態を示すフラ
グを含み得る。インデックスディレクトリポインタフィ
ールド602は、インデックスディレクトリ104に対
するポインタ603を含む。本発明の実施形態では、そ
れは、年のための4桁のアラビア数字、続いて、月及び
日のためのそれぞれ2桁のアラビア数字を含む。値60
3は、インデックスディレクトリ104内の適当なセル
116に対するポインタとして用いられる。フォルダ識
別子フィールド604は、フォルダの生存期間中に1度
しか用いられないユニバーサルフォルダ識別ラベルを含
む。このフォルダ識別ラベルは、メッセージの同期化の
維持を補助する。フォルダが0に縮小すると、次期メッ
セージのための識別ラベルが1又は0といった開始値に
割り当てられ、そして、メッセージが到着する毎にイン
クリメントされる。インデックスフィールド606は、
インデックスディレクトリ104内の適当なロケーショ
ンに対するインデックス607を含むと共に、図8の値
509に類似する。本発明の実施形態では、それはイン
デックス104内の参照ポインタを示す整数である。こ
の整数は、インデックスディレクトリ104内のセル1
16の適当なロケーションを決定するために、固定イン
デックスディレクトリセルサイズと共に用いられる。
特定メッセージのためのユニバーサル識別ラベル番号を
含むと共に、必要に応じて、データのバックアップ及び
復元に用いられる。到着時間フィールド610は、メッ
セージが受信された時間を含むと共に、メッセージ格納
構造内におけるデータの時間順序付けのために用いられ
得る。本発明の実施形態において、RFC822サイズフィー
ルド612は、RFC822メッセージのサイズであると共
に、主に、IMAP及びPOPによって利用される。そ
れはネットワーク上に出現するバイト形式での実サイズ
なので、POPはそれを使用する。それは、図300の
フィールド318内の値と同一である。メッセージ格納
構造がインターネットメールメッセージを含まない他の
好適な発明の実施形態では、このフィールド及び既述の
他のフィールドは、異なる名前を有し得ると共に、メッ
セージ格納構造の他のインプリメンテーションに対する
具体的な値を含むことができ、あるいは、全く必要とさ
れないこともある。封筒フラグフィールド614は、メ
ッセージのための封筒がメッセージ格納構造内に存在す
るか否かを示す封筒フラグを含む。封筒がインデックス
ディレクトリ104内でインデックス修飾済みの場合に
は、システムは、その特定のメッセージ封筒のためのロ
ーカルインデックスを生成する必要はない。封筒がイン
デックス修飾済みでなく、インデックスディレクトリ中
にない場合には、システムはローカルインデックス分析
を実行する。同様に、本体フラグフィールド616は、
本体が存在するか否か、本体が既にインデックス修飾さ
れてインデックスディレクトリ内に存在するか否かを示
す。この場合、システムはローカルインデックス分析を
実行する必要がない。キーワードレコードフィールド6
18は、ユーザが特定のメッセージに割り当てたキーワ
ードを列挙するキーワードレコードを含む。本発明の実
施形態では、キーワードは、メッセージに関連するユー
ザ割当フラグである。オフセットフィールド620及び
サイズフィールド622は、オフセット621及びサイ
ズ623をそれぞれ含む。本発明の実施形態では、初回
アクセス時にメッセージがインデックス修飾された(す
なわち、封筒フラグ及び本体フラグが、封筒及び本体が
存在しない旨を示す0である)場合、あるいは、ヘッダ
が64キロバイトよりも大きな場合に、オフセットフィ
ールド620及びサイズフィールド622は用いられ
る。メッセージがそのサイズに起因して局所的にインデ
ックス修飾される場合には、レコードがユーザインボッ
クス内のVARフォルダに生成される。VARフォルダ
は、特定のインデックスレコードを含むと共に、メッセ
ージが局所的にインデックス修飾されるときに生成され
る。VARフォルダ内においてこのインデックスレコー
ドのロケーションを決定するために、システムは、イン
デックスレコードのためのオフセット621(すなわ
ち、フォルダの開始点からレコードの開始点までの距
離)、及びフィールド622内に提供されたインデック
スレコードのサイズ623を使用する。この選択インデ
ックス修飾機能は、例外的な大きなメッセージをインデ
ックス修飾することに起因するサーバ上の遅れを排除す
る。
の一つに従う、ユーザフォルダ136の詳細を示すデー
タ構造図である。ユーザフォルダの一般的な例は、新規
メッセージを保持するためのインボックスである。ユー
ザは種々の標題、あるいは、トピックスにに関するメー
ルを保持するために他のカスタマイズフォルダを生成し
得る。ユーザヘッダフィールド700は、特定のフォル
ダについてのユーザヘッダを含む。有効フィールド70
2は、IMAPによって利用されるユニバーサル識別ラ
ベル(UID)有効標識を含む。UIDが変更される
と、無効となる。これは、例えば、UIDが番号を付け
替えるときに発生すると共に、IMAPを知るために有
用な状態である。このフィールド及び他のフィールドに
関して、他の好適な発明の実施形態では、このフィール
ドは、他のインプリメンテーションの際に有用な他のフ
ラグ又は標識を格納するために用いられ得る。次標識フ
ィールド704は、次の着信メッセージ、あるいは、新
規に生成されたフォルダに対して割り当てられるべき次
期UIDを含む。メッセージカウンタフィールド706
は、特定のフォルダに関するメッセージ707の数、あ
るいは、データ項目数を含む。最新メッセージフィール
ド708は、ユーザが一見した最後のメッセージを格納
する。この値は、新規メールが到着してユーザがそのコ
ンテンツを見るときに変化する。書き込みデータフィー
ルド710は、本発明の実施形態においてマジック番号
と呼ばれる最後の書き込み日付を含む。それは、ユーザ
が特定のフォルダ上で書き込み操作を実行した最後の日
時である。マジック番号の一つの使用方法は、キャッシ
ュの再同期化である。マジック番号が、最後にチェック
されてから変更されていない場合には、そのメールボッ
クス内に何の動きもないので、システムは、その特定の
フォルダのためにキャッシュ再同期化を実行する必要は
ない。サイズフィールド712は、この特定フォルダか
らメッセージ格納構造内へ格納された実バイトの総数を
含む。それは、ユーザ上にインポーズされたメモリに関
する割り当てに有用なデータの総実バイト数を含む。続
くフィールド712は、図9に図示されるようにユーザ
セルを含むユーザセル領域714である。
メールメッセージを受信するための構成要素、及びメッ
セージ格納構造へメッセージを配布するための構成要素
を示すブロック図である。メッセージ802は、SMT
P(シンプルメール転送プロトコル)ポートを介してマ
ルチスレッド化され得るメール転送エージェント(MT
A)804によって受け取られる。本発明の実施形態で
は、メッセージ802は、クライアントが受け付けたメ
ールによって、ローカルチャネル806、又は、メッセ
ージ格納チャネル808のいずれか一方に送信される。
メッセージ格納チャネルは、各ファイルが1つのメッセ
ージに対応するファイルのリストである。メッセージが
メッセージ格納チャネルに入るとき、メッセージは連続
的にファイルされる。ローカルチャネルは、同様に構成
されると共に当業者にとって周知である。メッセージ格
納マスタ810は、メッセージ格納チャネル808から
のメッセージ802を読み込む。メッセージ格納マスタ
810は、稼働中でない場合には、稼働を開始してから
チャネル808内の第1メッセージを読み取る。大規模
マルチスレッドシステムにおいては、メッセージ格納マ
スタ810は、一度に10個までのメッセージを読み取
ることができる。メッセージ格納マスタ810は、自身
によるメッセージ格納チャネル808からのメッセージ
802の読み取りを可能にする、API(アプリケーシ
ョンプログラミングインターフェース)812を介して
メッセージ802を読み取る。メッセージ格納マスタ8
10は、メッセージ802をメッセージ格納構造100
に配信する。上述のように、本発明の実施形態は、電子
メールメッセージを格納するための、本発明に係るメッ
セージ格納構造の使用方法を説明している。メッセージ
格納構造は、以下に説明する図11及び図12に図示さ
れているシステム以外の配信システムを有し得る他の類
型のデータを格納するためにも用いられ得る。他の好適
な発明の実施形態では、データは、ユーザ又は、ブラウ
ザ、ワードプロセッサといった他のアプリケーションに
よってメッセージ格納ディレクトリ内に配置され得る。
従う、メッセージ格納構造にメッセージを配信するため
のメッセージ格納マスタの処理過程を示すフローチャー
トである。図11を参照して説明したように、メッセー
ジ格納マスタは、新規電子メールメッセージを、ユーザ
用のメッセージ格納構造に配信する。図12を説明する
ために、メッセージ格納マスタは、稼働である、すなわ
ち、メッセージ格納チャネル内の第1メッセージを既に
読み込み済みであるとする。ステップ900では、メッ
セージ配信エージェントは、n個までの新規メッセージ
のファイル名を読み取る。本発明の実施形態では、エー
ジェントは10個までの新規メッセージを読み取ること
ができる。他の好適な発明の実施形態では、エージェン
トは、より多くの、あるいは、より少ないメッセージを
読み取り得る。ステップ902では、各ファイル、すな
わち、メッセージが1つの検索スレッドに割り当てられ
る。検索スレッドは、APIをコールすることによって
ファイルに割り当てられる。ステップ904では、各検
索スレッドは、図11のメッセージ格納チャネル808
内における自身に割り当てられたファイルにアクセスす
る。ステップ906では、処理過程は、並行してアクセ
スされるn個のメッセージ全てを待つ。一旦、ステップ
900にて読み取られた全てのファイル名が割り当てら
れると共にアクセスされると、検索スレッドは、追加の
メッセージをチェックするステップ908に移行する。
検索スレッドは、一旦、n個の空きバッファを取得し得
ると決定すると、これを実行することができる。メッセ
ージが存在しない場合には、スレッドはステップ908
にて新規メッセージのチェックを継続する。新規の着信
メッセージが存在する場合には、検索スレッドは、メッ
セージ配信エージェントが新規メッセージのファイル名
を読み取るステップ900にリターンする。
し、一方、インデックススレッド及び書き込みスレッド
は、検索スレッドによって先に割り当てられると共にア
クセスされたn個のメッセージを管理する。メッセージ
格納構造に対してn個のメッセージを書き込む際の最初
のステップがステップ910に図示されている。ステッ
プ910では、書き込みスレッドは、ランダムバケット
番号を発生させることによりデータバケットを選択す
る。本発明の実施形態では、一般的に、メッセージが駐
在可能な3個の空データバケットが存在する。ステップ
912では、処理過程は、選択済データバケット108
がいくらかでも残存メモリを有しているか否かを決定す
る。有していない場合には、他のランダムデータバケッ
ト番号を発生させるために、処理過程はステップ910
にリターンし、メッセージがメッセージ格納構造に書き
込まれ得るまで、必要に応じて追加のデータバケットを
生成しながらこの処理過程を継続する。データバケット
が一杯でない場合には、ステップ914において、書き
込みスレッドはn個のメッセージを選択済データバケッ
トの末端に付加する。ステップ916では、書き込みス
レッドは、データバケット番号のインデックススレッ
ド、バケットオフセット309、及びステップ914に
て付加された各メッセージのメッセージサイズ521を
通知する。ステップ918では、書き込みスレッドは、
検索スレッドによって割り当て済みであると共にアクセ
ス済みであり、メッセージ格納構造に書き込まれる必要
のあるメッセージがまだ存在するか否かをチェックす
る。存在する場合には、書き込みスレッドはステップ9
10にリターンする。新規メッセージが存在しない場合
には、書き込みスレッドはステップ918にてチェック
を継続する。
ックスがメッセージ格納構造に対する書き込みを一旦終
えたインデックスディレクトリ及びファイル内へインデ
ックス情報の格納を開始する。ステップ920では、ス
テップ916にて説明したように、格納構造に対するn
個のメッセージの書き込みを終了し、インデックス修飾
情報をリターンするために、インデックススレッドは書
き込みスレッドを待つ。自身の先回のインデックス修飾
タスクを終了すると共にメッセージ格納構造に対する書
き込みを終えるために、インデックススレッドは書き込
みスレッドを待たなくてはならない場合がある。ステッ
プ922では、インデックススレッドは、インデックス
情報をインデックスディレクトリ及びインデックスファ
イルに書き込む。ステップ924では、インデックスデ
ィレクトリ及びインデックスファイル内でデータを検索
するために必要な参照情報は、ユーザフォルダセルに書
き込まれる。ステップ924では、対応インデックスス
ペースを参照するために十分な情報は、受信者数によっ
て、1つのインボックスフォルダセル、または、複数の
インブックスフォルダセルに書き込まれる。ステップ9
26では、新規メッセージの追加を表示するために、ユ
ーザフォルダヘッダ内の情報が更新される。ステップ9
26が終了した後、インデックススレッドは、ステップ
928にて、インデックス修飾されることを待っている
インデックス情報が存在するか否かをチェックする。存
在する場合には、メッセージ格納構造に既に書き込み済
みのメッセージに関する情報のインデックス修飾を開始
するために、インデックススレッドは、ステップ920
にリターンする。
されているデータに影響を与える種々のコンピュータ実
行動作を利用する。これらの動作は、これに限られるも
のではないが、物理量の物理的操作を必要とする動作を
含む。一般的に、必ずしも必要ではないが、これらの量
は、格納、転送、結合、比較、及びその他の操作が可能
な電気的又は磁気的信号の形を採る。ここに記載される
本発明の一部を形成する動作は、有用な機械動作であ
る。実行される動作はしばしば、例えば、製造、識別、
実行、決定、比較、演算、ダウンロード、あるいは、検
出といった用語で表現される。一般的に用いられている
ことを主な理由として、これら電気的又は磁気的信号
を、ビット、値、要素、変数、文字、データ等と呼ぶこ
とが時に便利である。しかしながら、これら用語及び類
似の用語の全ては適当な物理量と関連付けられ、また、
これら量に対して適用された都合の良いラベルにすぎな
いことに留意すべきである。
デバイス、システム、又は装置に関連する。システム
は、特定の用途のために特別に構成され得る他、コンピ
ュータ中に格納されているコンピュータプログラムによ
って選択に起動され、または構成される汎用コンピュー
タたり得る。上記プロセスは、いかなる特定のコンピュ
ータ、または演算装置に対しても本質的に関連付けられ
るものではない。特に、種々の汎用コンピュータが、本
明細書中の開示に従い記述されたプログラムと共に用い
られ得る、あるいは、要求動作を実行するために更に特
定化されたコンピュータシステムを構成することがより
都合の良い場合もある。
態に従う処理を実行するために好適な汎用コンピュータ
システム1000のブロック図である。図13は汎用コ
ンピュータシステムの一例を図示する。他のコンピュー
タシステムアーキテクチャ及び構成も本発明の処理を実
行するために用いられ得る。後述する種々のサブシステ
ムから成るコンピュータシステム1000は、1つ以上
の(中央処理装置、すなわちCPUとも呼ばれる)マイ
クロプロセッササブシステム1002を備えている。す
なわち、CPU1002はシングルチッププロセッサ若
しくはマルチプルプロセッサによって実現され得る。C
PU1002はコンピュータシステム1000の動作を
制御する汎用ディジタルプロセッサである。メモリから
受けた命令を用いて、CPU1002は、入力データの
受け取り並びに操作、及び出力並びに出力デバイス上に
おけるデータの表示を制御する。
介して、一般的にランダムアクセスメモリ(RAM)で
ある第1主記憶装置1004と双方向接続され、一般的
にリードオンリメモリ(ROM)である第2主記憶装置
1006と単方向接続されている。当業者に知られてい
るように、主記憶装置1004は汎用記憶領域及びスク
ラッチパッドメモリとして用いられ得ると共に、入力デ
ータ及び処理データを格納するためにも用いられ得る。
主記憶装置はまた、CPU1002上の動作を処理する
ための他のデータ及び命令の他に、メッセージ格納構造
形式のプログラム命令及びデータを記憶し得ると共に、
一般的に、メモリバス1008上で双方向にデータ及び
命令を高速に伝送するために用いられる。当業者に周知
であるように、主記憶装置1006は、一般的に、自身
の機能を実行するためにCPU1002によって用いら
れる基本動作命令、プログラムコード、データ、及びオ
ブジェクトを有する。主記憶装置1004、1006
は、例えば、データアクセスが双方向あるいは単方向接
続のどちらを必要とするかに基づいて、後述する任意の
好適なコンピュータ読み取り可能記憶媒体を含み得る。
CPU1002はまた、直接且つ高速に繁用データをキ
ャッシュメモリ(図示しない)内に格納し得ると共にキ
ャッシュメモリ1010内から検索し得る。
コンピュータシステム1000に対して追加データ記憶
容量を提供し、CPU102に対して双方向あるいは単
方向接続されている。例えば、具体的なリムーバブル大
容量記憶装置としては、一般的に、CD−ROMは一般
的にCPU1002に対して単方向にデータを伝送する
のに対して、フロッピーディスクはCPU1002に対
して双方向にデータを伝送可能であるとして知られてい
る。大容量記憶装置1012はまた、磁気テープ、フラ
ッシュメモリ、搬送波に具現化された信号、PCカー
ド、携帯大容量記憶装置、ホログラフィック記憶装置、
及び他の記憶装置といったコンピュータ読み取り可能媒
体を含み得る。固定式大容量記憶装置1016もまた追
加のデータ記憶容量を提供し得るものであり、ペリフェ
ラルバス1014を介してCPU1002に対して双方
向伝送可能に結合されている。大容量記憶装置1016
の最も一般的な例は、ハードディスクドライブである。
一般的に、これら媒体に対するアクセスは主記憶装置1
004、1006に対するアクセスよりも遅い。大容量
記憶装置1012、1016は、一般的に、CPU10
02によって使用されていない追加プログラム命令、デ
ータ等を記憶する。大容量記憶装置1012、1016
内に格納される情報は、必要に応じて、一般的な方法で
仮想メモリとして主記憶装置1004(例えば、RA
M)の一部として組み込まれ得ることは理解されるべき
である。
U1002に提供する他に、ペリフェラルバス1014
は、他のサブシステム及びデバイスに対するアクセスを
提供するためにも用いられ得る。本発明の実施の形態で
は、他のサブシステム並びにデバイスには、表示モニタ
1018、ディスプレイアダプタ1020、プリンタ装
置1022、ネットワークインターフェース1024、
補助入力/出力デバイスインターフェース1026、サ
ウンドカード1028及びスピーカ130、及び必要に
応じて他のサブシステム
より、CPU1002は、図示するネットワーク接続を
用いて、他のコンピュータ、コンピュータネット、ある
いは、電気通信ネットワークと接続することができる。
ネットワークインターフェース1024を通じて、CP
U1002は、上述の方法ステップの実行に従って、例
えば、データオブジェクト又はプログラム命令といった
情報を他のネットワークから受け取り、あるいは、他の
ネットワークに対して情報を出力し得ることが予期され
る。しばしばCPU上で実行される命令のシーケンスと
して表される情報は、例えば、搬送波に具現化されたコ
ンピュータデータ信号の形式で他のネットワークから受
け取られ得ると共に他のネットワークに対して出力され
得る。インターフェースカード又は類似のデバイス、及
びCPU1002によって実行される適当なソフトウェ
アは、標準プロトコルに従ってコンピュータシステム1
000を外部ネットワークに対して接続するために用い
られ得ると共に、データを伝送するために用いられ得
る。すなわち、本発明に係る方法の発明の実施の形態
は、CPU1002単独で実行され得ると共に、例え
ば、インターネット、イントラネット、若しくはローカ
ルエリアネットワークといったネットワークを横断し
て、処理の一部を共有する遠隔CPUと共に実行され得
る。追加大容量記憶装置(図示しない)もまた、ネット
ワークインターフェース1024を介してCPU100
2と接続され得る。
26は、コンピュータシステム1000が、マイクロフ
ォン、接触感応ディスプレイ、トランスジューサカード
リーダ、テープリーダ、音声又は手書き認識装置、生物
測定リーダ、カメラ、携帯式大容量記憶装置、及び他の
コンピュータといった他のデバイスとの間でデータを送
受信することを許容する、汎用及び専用インターフェー
スを表し得る。
6、あるいは、ポインタデバイス1038からの入力を
受信すると共にキーボード1036、あるいは、ポイン
タデバイス1038からCPU1002へデコード済シ
ンボルを送信するためのキーボードコントローラ103
2がローカルバス1034を介して結合されている。ポ
インタデバイスは、マウス、スタイラス、トラックボー
ル、または、タブレットを含み得ると共に、グラフィカ
ルユーザフェースとの対話に有用である。
ンピュータ実行動作を実行するためのプログラムコード
を含むコンピュータ読み取り可能媒体を備えるコンピュ
ータ記憶製品に関する。コンピュータ読み取り可能媒体
は、後にコンピュータによって読み取られ得るデータを
格納する任意のデータ記憶装置である。媒体及びプログ
ラムコードは、本発明の目的のために特別に設計され且
つ構成されたもの、あるいは、コンピュータソフト業界
における当業者にとって周知の種類のものであり得る。
コンピュータ読み取り可能媒体には、これらに限られる
ものではないが、例えば、上述の全ての媒体、すなわ
ち、ハードディスク、フロッピーディスク、及び磁気テ
ープといった磁気媒体、CD−ROMディスクのような
光媒体、フロプティカルディスクのような磁気−光媒
体、特定用途向け集積回路(ASIC)プログラマブル
論理回路(PLD)及びROM及びRAMデバイスが含
まれる。コンピュータ読み取り可能媒体はまた、コンピ
ュータ読み取り可能コードが分散方式にて格納及び実行
されるように、搬送波に具現化されたデータ信号として
コンピュータシステムに接続されているネットワークを
通じて分散され得る。プログラムコードの例には、例え
ばコンパイラにより生成されたマシンコード、あるい
は、インタプリタを使用して実行され得る高レベルコー
ドを含むファイルの双方が含まれる。
ードウェア及びソフトウェア要素は、標準的な設計及び
構成である。本発明に用いることが適当な他のコンピュ
ータシステムは、付加的な、あるいは、より少ないサブ
システムを含み得る。さらに、メモリバス1008、ペ
リフェラルバス1014、及びローカルバス1034
は、サブシステムにリンクするために機能する任意の相
互結合方式の例示である。例えば、ローカルバスは、C
PUを固定大容量記憶装置1016及びディスプレイア
ダプタ1020に接続するために用いられ得る。図13
に図示されるコンピュータシステムは、本発明に用いる
ことが好ましいコンピュータシステムの例示にすぎな
い。異なるサブシステム構成を有する他のコンピュータ
アーキテクチャもまた用いられ得る。
めに詳細に本発明を説明したが、特許請求の範囲から逸
脱することなく、一定の変更及び改良が実行され得るこ
とは明白である。さらに、本発明の方法及び装置の双方
を実現する代わりの方法が存在することに留意すべきで
ある。例えば、メッセージ格納構造は、IMAPインデ
ックスを用いて説明されているが、メッセージ格納構造
は、マルチメディアデータ、又は他の類型のデータを格
納するために他のメールプロトコルに対して同様に構成
され得る。また例えば、種々のセルのフィールドが特定
の順序で記載されているが、フィールドの順序はメッセ
ージ格納構造の特徴として要求されない。フィールド
は、異なる順序で順序付けられ得ると共に、本発明の性
能及び利点に影響を与えることなく省略あるいは付加さ
れ得る。したがって、記載されている例示は説明と考え
られるべきであり、制限と考えられるべきでない。ま
た、本発明は、本明細書の詳細な記載に限定されるもの
でなく、特許請求の範囲に記載、並びに、その均等の範
囲によって定義されるべきである。
メッセージ格納構造のブロック図。
メッセージ格納構造のデータ格納領域を示すブロック
図。
メッセージ格納構造のユーザ格納領域を示すブロック
図。
ル内のフィールドを示すデータ構造図。
ッダ内のフィールドを示すデータ構造図。
細に示すデータ構造図。
示すデータ構造図。
内のヘッダ及びメッセージを詳細に示すデータ構造図。
細に示すデータ構造図。
造図。
ッセージを配信、及び電子メールメッセージの受取に必
要な構成要素を示すデータ構造図。
ッセージを配信する処理過程を示すフローチャート。
るために好適な一般的なコンピュータシステムのブロッ
ク図。
Claims (44)
- 【請求項1】 各々が複数のメッセージを含むために好
適である複数のページベースデータバケットと、 各々が複数のインデックスファイルセルを含むために好
適である1つ以上のインデックスファイルページを含む
ページベースインデックスファイルと、各インデックス
ファイルセルは前記メッセージの内の関連する1つのメ
ッセージを特徴付けるインデックス情報を格納するため
に構成されていることと、 各々が複数のインデックスディレクトリセルを含むため
に好適である1つ以上のインデックスディレクトリペー
ジを含むページベースインデックスディレクトリと、各
インデックスディレクトリセルは、関連インデックスフ
ァイルセルのロケーションを検知するために好適なディ
レクトリ情報を格納するために構成されていると共に、
これにより前記インデックスファイルに関連付けられて
いる前記特定のメッセージに関連付けられることを備え
る、メッセージ格納構造。 - 【請求項2】 請求項1に記載のメッセージ格納構造は
さらに、各々がユーザに関連付けられていると共に複数
のユーザセルを含むために好適である複数のページベー
スユーザフォルダを備え、前記各ユーザセルは前記ユー
ザに関連するメッセージを参照する、メッセージ格納構
造。 - 【請求項3】 請求項2に記載のメッセージ格納構造に
おいて、各ユーザセルは、このユーザセルをインデック
スディレクトリセル自身の参照済メッセージに関連付け
るインデックスディレクトリセルに対する第1インデッ
クスディレクトリ参照指示器を含む、メッセージ格納構
造。 - 【請求項4】 請求項2又は請求項3に記載のメッセー
ジ格納構造において、各ユーザセルはさらに、どのユー
ザフォルダが前記ユーザセルを含んでいるかを示すユー
ザフォルダ識別器を有する、メッセージ格納構造。 - 【請求項5】 請求項2又は請求項3に記載のメッセー
ジ格納構造において、各ユーザセルはさらに、参照済メ
ッセージが前記格納構造内に到着した時間を表示する到
着時間を有する、メッセージ格納構造。 - 【請求項6】 請求項2に記載のメッセージ格納構造に
おいて、各ユーザフォルダは、前記メッセージのサイズ
を示す総サイズ値を含む、メッセージ格納構造。 - 【請求項7】 請求項2又は請求項6に記載のメッセー
ジ格納構造において、各ユーザフォルダはさらに、新規
ユーザセルを識別するための次期ユニーク識別器を有す
る、メッセージ格納構造。 - 【請求項8】 請求項2、請求項6又は請求項7のいず
れかの請求項に記載のメッセージ格納構造において、各
ユーザフォルダはさらに、前記ユーザフォルダによって
参照された前記最近のメッセージが前記メッセージ格納
構造に書き込まれた日を示す最終書き込み日を有する、
メッセージ格納構造。 - 【請求項9】 請求項2又は請求項6に記載のメッセー
ジ格納構造において、各ユーザフォルダはさらに、前記
ユーザフォルダ内において参照されたメッセージ数を示
すメッセージカウントを有する、メッセージ格納構造。 - 【請求項10】 請求項1に記載のメッセージ格納構造
において、各データバケットページ、各インデックスフ
ァイルページ及び各インデックスディレクトリページ
は、予め定められた長さの時間と関連付けられる、メッ
セージ格納構造。 - 【請求項11】 請求項1に記載のメッセージ格納構造
において、各インデックスディレクトリセルは、現在、
前記関連メッセージを参照しているユーザ数を示す参照
カウンタを有する、メッセージ格納構造。 - 【請求項12】 請求項1に記載のメッセージ格納構造
において、各インデックスディレクトリセルは、関連イ
ンデックスファイルセルに対する第1インデックスファ
イル参照指示器を有する、メッセージ格納構造。 - 【請求項13】 請求項12に記載のメッセージ格納構
造において、前記第1インデックスファイル参照指示器
は、インデックスファイル内における前記インデックス
ファイルセルのロケーションを示すインデックスファイ
ルオフセット、及び前記インデックスファイルセルの前
記サイズを示す関連インデックスファイルセルサイズを
有する、メッセージ格納構造。 - 【請求項14】 請求項1に記載のメッセージ格納構造
はさらに、特定のインデックスディレクトリページ内に
おけるインデックスディレクトリセル数を示すセル数カ
ウンタを含むインデックスディレクトリヘッダを備え
る、メッセージ格納構造。 - 【請求項15】 請求項14に記載のメッセージ格納構
造において、前記インデックスディレクトリヘッダはさ
らに、前記インデックスディレクトリにおける新規イン
デックスディレクトリセルのロケーションを示す次期ロ
ケーションを含む、メッセージ格納構造。 - 【請求項16】 請求項15に記載のメッセージ格納構
造において、前記インデックスディレクトリヘッダはさ
らに、インデックスディレクトリページによって用いら
れるデータバケット数を示すデータバケットカウンタを
含む、メッセージ格納構造。 - 【請求項17】 請求項1に記載のメッセージ格納構造
において、各インデックスファイルセルは、前記インデ
ックスファイルセルのサイズを示すインデックスファイ
ルセルサイズを含み、これにより、内部整合性試験が促
進される、メッセージ格納構造。 - 【請求項18】 請求項1または請求項17のいずれか
の請求項に記載のメッセージ格納構造において、各イン
デックスファイルセルは、前記関連データバケット内に
おける前記関連メッセージに対するメッセージ指示器を
含む、メッセージ格納構造。 - 【請求項19】 請求項18に記載のメッセージ格納構
造において、前記メッセージ指示器は、前記関連メッセ
ージを含むデータバケットを識別するデータバケット識
別器、及び前記識別済データバケット内における前記関
連メッセージのロケーションを示すデータバケットオフ
セットを有する、メッセージ格納構造。 - 【請求項20】 請求項1に記載のメッセージ格納構造
において、各インデックスファイルセルは、関連メッセ
ージサイズを含む、メッセージ格納構造。 - 【請求項21】 請求項1、請求項17、請求項18ま
たは請求項20の内いずれか一つの請求項に記載のメッ
セージ格納構造において、各インデックスファイルセル
は、関連データバケット内におけるメッセージセクショ
ンのロケーションを示す関連メッセージセクションオフ
セットリストを含む、メッセージ格納構造。 - 【請求項22】 請求項1に記載のメッセージ格納構造
において、メッセージはプリアンブルデータ及びユーザ
によって伝達された実データを含むメッセージデータを
含む、メッセージ格納構造。 - 【請求項23】 請求項22に記載のメッセージ格納構
造において、 前記プリアンブルデータは前記メッセージのサイズを示
すメッセージサイズを含み、 前記プリアンブルデータは関連インデックスファイルセ
ルに対する第2インデックスファイル参照指示器を有す
る、メッセージ格納構造。 - 【請求項24】 請求項22または請求項23に記載の
メッセージ格納構造において、前記プリアンブルデータ
は、関連インデックスディレクトリセルに対する第2イ
ンデックスディレクトリ参照指示器を含む、メッセージ
格納構造。 - 【請求項25】 請求項24に記載のメッセージ格納構
造はさらに、 ユーザセル内に第1インデックスディレクトリ参照指示
器を、 インデックスディレクトリセル内に第1インデックスフ
ァイル参照指示器を、 前記メッセージ内に第2インデックスファイル参照指示
器を、 前記インデックスファイルセル内にメッセージ指示器を
備え、 これら指示器は、要求された場合に、前記プリアンブル
データ内における前記第2インデックスディレクトリ参
照指示器と協働して、前記メッセージ格納構造が、前記
メッセージ格納構造のページの内部整合性試験、及び復
元を実行することを可能にする、メッセージ格納構造。 - 【請求項26】 請求項24に記載のメッセージ格納構
造はさらに、 インデックスディレクトリセル内に第1インデックスフ
ァイル参照指示器を、 前記インデックスファイルセル内にメッセージ指示器
を、 前記メッセージ内に第2インデックスファイル参照指示
器を備え、 これら指示器は、前記プリアンブルデータ内の前記第2
インデックスディレクトリ参照指示器と協働して、前記
データバケット、インデックスファイル、及びインデッ
クスディレクトリ内に自立参照機構を形成する、メッセ
ージ格納構造。 - 【請求項27】 請求項22乃至請求項24の内いずれ
か一つの請求項に記載のメッセージ格納構造において、
前記プリアンブルデータは、メッセージ送信者名、及び
前記メッセージを参照するユーザ数を示す受信者カウン
トを含む、メッセージ格納構造。 - 【請求項28】 着信メッセージをメッセージ格納構造
内に格納するための方法であって、 前記着信メッセージを前記メッセージ格納構造のデータ
バケット部に付加し、 インデックスデータを生成すべく、前記着信メッセージ
をインデックス修飾し、少なくともいくつかのインデッ
クス修飾は、前記着信メッセージが前記データバケット
に付加される間に完了され、 前記インデックスデータを前記メッセージ格納構造のイ
ンデックス部に付加する、方法。 - 【請求項29】 請求項28に記載の方法において、前
記着信メッセージは、前記メッセージ格納構造内に既存
するインデックスメッセージに対するアクセスを実質的
に妨げることなく、前記メッセージ格納構造の前記デー
タバケット部に付加される、方法。 - 【請求項30】 請求項28または請求項29に記載の
方法において、前記着信メッセージのインデックス修飾
は、前記インデックスデータ中に含まれるべき前記メッ
セージ格納構造の前記データバケット部上のデータを取
得することを含む、方法。 - 【請求項31】 請求項28乃至請求項30の内いずれ
か一つの請求項に記載の方法はさらに、前記着信メッセ
ージが前記メッセージ格納構造の前記データバケット部
に付加される間は、アクセスを前記メッセージ格納構造
の前記データバケット部の不使用セクションに対するア
クセスに制限する、方法。 - 【請求項32】 着信メッセージをメッセージ格納構造
内に格納するための方法であって、 前記メッセージ格納構造内に既存するメッセージに対す
るアクセスを実質的に妨げることなく、前記着信メッセ
ージを前記メッセージ格納構造のデータバケット部に付
加し、 インデックスデータを生成すべく、前記着信メッセージ
をインデックス修飾し、 前記インデックスデータを前記メッセージ格納構造のイ
ンデックス部に付加する、方法。 - 【請求項33】 請求項32に記載の方法において、少
なくともいくつかのインデックス修飾は、前記着信メッ
セージが前記メッセージ格納構造の前記データバケット
に付加される間に完了される、方法。 - 【請求項34】 請求項32または請求項33に記載の
方法はさらに、前記着信メッセージが前記メッセージ格
納構造の前記データバケット部に付加される間は、アク
セスを前記メッセージ格納構造の前記データバケット部
の不使用セクションに対するアクセスに制限する、方
法。 - 【請求項35】 請求項32乃至請求項34の内いずれ
か一つの請求項に記載の方法において、前記着信メッセ
ージのインデックス修飾はさらに、前記インデックスデ
ータ中に含まれるべき前記メッセージ格納構造の前記デ
ータバケット部上のデータを取得することを含む、方
法。 - 【請求項36】 メッセージ格納構造が埋め込まれてい
るコンピュータ読み取り可能媒体であって、前記メッセ
ージ格納構造は、 各々が複数のメッセージを含むために好適である複数の
ページベースデータバケットと、 その各ページが複数のインデックスファイルセルを含む
ために好適であるページベースインデックスファイル
と、各インデックスファイルセルは前記メッセージの内
の関連する1つのメッセージを特徴付けるインデックス
情報を格納するために構成されていることと、 その各ページが複数のインデックスディレクトリセルを
含むために好適であるページベースインデックスディレ
クトリと、各インデックスディレクトリセルは、関連イ
ンデックスファイルセルのロケーションを検知するため
に好適なディレクトリ情報を格納するために構成されて
いると共に、これにより前記インデックスファイルに関
連付けられている前記特定のメッセージに関連付けられ
ることとを備える、コンピュータ読み取り可能媒体。 - 【請求項37】 請求項36に記載のコンピュータ読み
取り可能媒体はさらに、各々がユーザに関連付けられて
いると共に複数のユーザセルを含むために好適である複
数のページベースユーザフォルダを備え、各ユーザセル
は前記ユーザに関連するメッセージ格納構造内における
メッセージを参照する、コンピュータ読み取り可能媒
体。 - 【請求項38】 請求項37に記載のコンピュータ読み
取り可能媒体において、各ユーザセルは、インデックス
ディレクトリセルに対する第1インデックスディレクト
リ参照ポインタを有し、これによりこれらユーザセルを
インデックスディレクトリセル自身の参照済メッセージ
に関連付ける、コンピュータ読み取り可能媒体。 - 【請求項39】 請求項37又は請求項38に記載のコ
ンピュータ読み取り可能媒体において、各ユーザセルは
さらに、どのユーザフォルダが前記ユーザセルを含んで
いるかを示すユーザフォルダ識別子を有する、コンピュ
ータ読み取り可能媒体。 - 【請求項40】 着信メッセージをメッセージ格納構造
内に格納するためのプログラムコードを格納するコンピ
ュータ読み取り可能媒体であって、 前記着信メッセージを前記メッセージ格納構造のデータ
バケット部に付加するステップと、 インデックスデータを生成すべく、前記着信メッセージ
をインデックス修飾するステップであって、少なくとも
いくつかのインデックス修飾は、前記着信メッセージが
前記データバケットに付加される間に完了される、イン
デックス修飾ステップと、 前記インデックスデータを前記メッセージ格納構造のイ
ンデックス部に付加するステップとを、コンピュータに
実行させるために構成されているコンピュータプログラ
ムデバイスを備える、コンピュータ読み取り可能媒体。 - 【請求項41】 請求項40に記載のコンピュータ読み
取り可能媒体はさらに、前記着信メッセージが前記メッ
セージ格納構造の前記データバケット部に付加される間
は、アクセスを前記メッセージ格納構造の前記データバ
ケット部の不使用セクションに対するアクセスに制限す
るステップを、コンピュータに実行させるために構成さ
れているコンピュータプログラムデバイスを備える、コ
ンピュータ読み取り可能媒体。 - 【請求項42】 着信メッセージをメッセージ格納構造
内に格納するためのプログラムコードを格納するコンピ
ュータ読み取り可能媒体であって、 前記メッセージ格納構造内に既存するメッセージに対す
るアクセスを実質的に妨げることなく、前記着信メッセ
ージを前記メッセージ格納構造のデータバケット部に付
加するステップと、 インデックスデータを生成すべく、前記着信メッセージ
をインデックス修飾するステップと、 前記インデックスデータを前記メッセージ格納構造のイ
ンデックス部に付加するステップとを、コンピュータに
実行させるために構成されているコンピュータプログラ
ムデバイスを備える、コンピュータ読み取り可能媒体。 - 【請求項43】 搬送波に具現化されていると共に命令
シーケンスを表すコンピュータデータ信号であって、処
理装置によって実行されるとき、 着信メッセージを前記メッセージ格納構造のデータバケ
ット部に付加するステップと、 インデックスデータを生成すべく、前記着信メッセージ
をインデックス修飾するステップであって、少なくとも
いくつかのインデックス修飾は、前記着信メッセージが
前記データバケットに付加される間に完了される、イン
デックス修飾ステップと、 前記インデックスデータを前記メッセージ格納構造のイ
ンデックス部に付加するステップとを、実行することに
よって前記処理装置に着信メッセージをメッセージ格納
構造内に格納させる、コンピュータデータ信号。 - 【請求項44】 搬送波に具現化されていると共に命令
シーケンスを表すコンピュータデータ信号であって、処
理装置によって実行されるとき、 前記メッセージ格納構造内に既存するメッセージに対す
るアクセスを実質的に妨げることなく、着信メッセージ
を前記メッセージ格納構造のデータバケット部に付加す
るステップと、 インデックスデータを生成すべく、前記着信メッセージ
をインデックス修飾するステップと、 前記インデックスデータを前記メッセージ格納構造のイ
ンデックス部に付加するステップとを、実行することに
よって前記処理装置に着信メッセージをメッセージ格納
構造内に格納させる、コンピュータデータ信号。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/067537 | 1998-04-27 | ||
US09/067,537 US6167402A (en) | 1998-04-27 | 1998-04-27 | High performance message store |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000003321A true JP2000003321A (ja) | 2000-01-07 |
Family
ID=22076668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11119493A Pending JP2000003321A (ja) | 1998-04-27 | 1999-04-27 | 高性能なメッセ―ジ格納構造 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6167402A (ja) |
JP (1) | JP2000003321A (ja) |
DE (1) | DE19919146A1 (ja) |
GB (1) | GB2340269B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6990331B2 (en) | 2000-07-11 | 2006-01-24 | Sanyo Electric Co., Ltd. | Mobile terminal |
Families Citing this family (360)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7581077B2 (en) | 1997-10-30 | 2009-08-25 | Commvault Systems, Inc. | Method and system for transferring data in a storage operation |
US6418478B1 (en) | 1997-10-30 | 2002-07-09 | Commvault Systems, Inc. | Pipelined high speed data transfer mechanism |
US7209972B1 (en) | 1997-10-30 | 2007-04-24 | Commvault Systems, Inc. | High speed data transfer mechanism |
US7739381B2 (en) * | 1998-03-11 | 2010-06-15 | Commvault Systems, Inc. | System and method for providing encryption in storage operations in a storage network, such as for use by application service providers that provide data storage services |
US7277941B2 (en) | 1998-03-11 | 2007-10-02 | Commvault Systems, Inc. | System and method for providing encryption in a storage network by storing a secured encryption key with encrypted archive data in an archive storage device |
US6735770B1 (en) * | 1998-04-27 | 2004-05-11 | Sun Microsystems, Inc. | Method and apparatus for high performance access to data in a message store |
US6330589B1 (en) * | 1998-05-26 | 2001-12-11 | Microsoft Corporation | System and method for using a client database to manage conversation threads generated from email or news messages |
US9361243B2 (en) | 1998-07-31 | 2016-06-07 | Kom Networks Inc. | Method and system for providing restricted access to a storage medium |
US8234477B2 (en) | 1998-07-31 | 2012-07-31 | Kom Networks, Inc. | Method and system for providing restricted access to a storage medium |
US6321276B1 (en) | 1998-08-04 | 2001-11-20 | Microsoft Corporation | Recoverable methods and systems for processing input/output requests including virtual memory addresses |
US6594701B1 (en) | 1998-08-04 | 2003-07-15 | Microsoft Corporation | Credit-based methods and systems for controlling data flow between a sender and a receiver with reduced copying of data |
US6360220B1 (en) * | 1998-08-04 | 2002-03-19 | Microsoft Corporation | Lock-free methods and systems for accessing and storing information in an indexed computer data structure having modifiable entries |
US6442600B1 (en) * | 1999-01-15 | 2002-08-27 | Micron Technology, Inc. | Method and system for centralized storage and management of electronic messages |
US7035880B1 (en) * | 1999-07-14 | 2006-04-25 | Commvault Systems, Inc. | Modular backup and retrieval system used in conjunction with a storage area network |
US7395282B1 (en) | 1999-07-15 | 2008-07-01 | Commvault Systems, Inc. | Hierarchical backup and retrieval system |
US7389311B1 (en) | 1999-07-15 | 2008-06-17 | Commvault Systems, Inc. | Modular backup and retrieval system |
US6606649B1 (en) | 1999-09-28 | 2003-08-12 | Microsoft Corporation | Application programming interface functions for supporting an improved message store for hand-held computers |
US6526413B2 (en) * | 1999-09-28 | 2003-02-25 | Microsoft Corporation | Architecture for a hierarchical folder structure in hand-held computers |
DE19959528B4 (de) * | 1999-12-09 | 2011-08-18 | IPCom GmbH & Co. KG, 82049 | Verfahren zur Übertragung von elektronischen Postnachrichten |
US8661111B1 (en) * | 2000-01-12 | 2014-02-25 | The Nielsen Company (Us), Llc | System and method for estimating prevalence of digital content on the world-wide-web |
US7003641B2 (en) | 2000-01-31 | 2006-02-21 | Commvault Systems, Inc. | Logical view with granular access to exchange data managed by a modular data and storage management system |
US7434219B2 (en) | 2000-01-31 | 2008-10-07 | Commvault Systems, Inc. | Storage of application specific profiles correlating to document versions |
US7155481B2 (en) | 2000-01-31 | 2006-12-26 | Commvault Systems, Inc. | Email attachment management in a computer system |
US6658436B2 (en) | 2000-01-31 | 2003-12-02 | Commvault Systems, Inc. | Logical view and access to data managed by a modular data and storage management system |
GB2359155A (en) * | 2000-02-11 | 2001-08-15 | Nokia Mobile Phones Ltd | Memory management of acoustic samples eg voice memos |
US6857008B1 (en) * | 2000-04-19 | 2005-02-15 | Cisco Technology, Inc. | Arrangement for accessing an IP-based messaging server by telephone for management of stored messages |
US7577834B1 (en) * | 2000-05-09 | 2009-08-18 | Sun Microsystems, Inc. | Message authentication using message gates in a distributed computing environment |
US7603415B1 (en) | 2000-08-15 | 2009-10-13 | ART Technology Group | Classification of electronic messages using a hierarchy of rule sets |
US20030208567A1 (en) * | 2000-08-29 | 2003-11-06 | Gross Mark T. | Configuration of network appliances via e-mail |
US7024462B1 (en) * | 2000-10-20 | 2006-04-04 | Amacis Limited | Electronic message routing |
US7627830B1 (en) | 2000-10-31 | 2009-12-01 | Aol Llc, A Delaware Limited Liability Company | Click-to-add, jot-it-down, and add banner |
US6725228B1 (en) * | 2000-10-31 | 2004-04-20 | David Morley Clark | System for managing and organizing stored electronic messages |
US6898592B2 (en) | 2000-12-27 | 2005-05-24 | Microsoft Corporation | Scoping queries in a search engine |
EP1368739A4 (en) * | 2001-02-12 | 2007-07-04 | Emc Corp | SYSTEM AND METHOD FOR INDEXING UNIQUE ELECTRONIC MESSAGES AND USES THEREOF |
US6965904B2 (en) | 2001-03-02 | 2005-11-15 | Zantaz, Inc. | Query Service for electronic documents archived in a multi-dimensional storage space |
US7302634B2 (en) | 2001-03-14 | 2007-11-27 | Microsoft Corporation | Schema-based services for identity-based data access |
US6985958B2 (en) * | 2001-03-14 | 2006-01-10 | Microsoft Corporation | Messaging infrastructure for identity-centric data access |
US7284271B2 (en) | 2001-03-14 | 2007-10-16 | Microsoft Corporation | Authorizing a requesting entity to operate upon data structures |
US7539747B2 (en) | 2001-03-14 | 2009-05-26 | Microsoft Corporation | Schema-based context service |
US7024662B2 (en) | 2001-03-14 | 2006-04-04 | Microsoft Corporation | Executing dynamically assigned functions while providing services |
US6826576B2 (en) * | 2001-05-07 | 2004-11-30 | Microsoft Corporation | Very-large-scale automatic categorizer for web content |
US20030028587A1 (en) * | 2001-05-11 | 2003-02-06 | Driscoll Michael C. | System and method for accessing and storing data in a common network architecture |
EP1280298A1 (en) * | 2001-07-26 | 2003-01-29 | BRITISH TELECOMMUNICATIONS public limited company | Method and apparatus of detecting network activity |
US7346623B2 (en) | 2001-09-28 | 2008-03-18 | Commvault Systems, Inc. | System and method for generating and managing quick recovery volumes |
JP2005505039A (ja) * | 2001-09-28 | 2005-02-17 | コムヴォールト・システムズ・インコーポレーテッド | 情報記憶装置にオブジェクトをアーカイブする装置及び方法 |
US20030069892A1 (en) * | 2001-10-10 | 2003-04-10 | International Business Machines Corporation | Relational view of electronic objects |
US7343407B2 (en) * | 2001-10-15 | 2008-03-11 | Ricoh Company, Ltd. | Method and system of remote monitoring and support of devices, including handling Email messages having message types specified within the Email message |
US7603518B2 (en) * | 2005-12-19 | 2009-10-13 | Commvault Systems, Inc. | System and method for improved media identification in a storage device |
US7287047B2 (en) * | 2001-11-23 | 2007-10-23 | Commvault Systems, Inc. | Selective data replication system and method |
US8346733B2 (en) | 2006-12-22 | 2013-01-01 | Commvault Systems, Inc. | Systems and methods of media management, such as management of media to and from a media storage library |
US20030101155A1 (en) * | 2001-11-23 | 2003-05-29 | Parag Gokhale | Method and system for scheduling media exports |
US7584227B2 (en) * | 2005-12-19 | 2009-09-01 | Commvault Systems, Inc. | System and method for containerized data storage and tracking |
US9886309B2 (en) | 2002-06-28 | 2018-02-06 | Microsoft Technology Licensing, Llc | Identity-based distributed computing for device resources |
US8150922B2 (en) * | 2002-07-17 | 2012-04-03 | Research In Motion Limited | Voice and text group chat display management techniques for wireless mobile terminals |
US7640293B2 (en) * | 2002-07-17 | 2009-12-29 | Research In Motion Limited | Method, system and apparatus for messaging between wireless mobile terminals and networked computers |
US7305430B2 (en) * | 2002-08-01 | 2007-12-04 | International Business Machines Corporation | Reducing data storage requirements on mail servers |
JP4170702B2 (ja) * | 2002-08-05 | 2008-10-22 | 株式会社Pfu | ファイル管理システム並びにプログラム |
US20060010209A1 (en) * | 2002-08-07 | 2006-01-12 | Hodgson Paul W | Server for sending electronics messages |
CA2498174C (en) | 2002-09-09 | 2010-04-13 | Commvault Systems, Inc. | Dynamic storage device pooling in a computer system |
GB2409553B (en) | 2002-09-16 | 2007-04-04 | Commvault Systems Inc | System and method for optimizing storage operations |
AU2003272457A1 (en) * | 2002-09-16 | 2004-04-30 | Commvault Systems, Inc. | System and method for blind media support |
AU2003279847A1 (en) | 2002-10-07 | 2004-05-04 | Commvault Systems, Inc. | System and method for managing stored data |
JP2004145569A (ja) * | 2002-10-23 | 2004-05-20 | Internatl Business Mach Corp <Ibm> | 文書表示システム、文書表示方法、およびプログラム |
US7613773B2 (en) * | 2002-12-31 | 2009-11-03 | Rensselaer Polytechnic Institute | Asynchronous network audio/visual collaboration system |
US7366760B2 (en) * | 2003-01-03 | 2008-04-29 | Microsoft Corporation | System and method for improved client server communications of email messages |
US7620688B2 (en) * | 2003-01-03 | 2009-11-17 | Microsoft Corporation | Progress mode for electronic mail component |
US7386590B2 (en) * | 2003-01-03 | 2008-06-10 | Microsoft Corporation | System and method for improved synchronization between a server and a client |
WO2004090788A2 (en) | 2003-04-03 | 2004-10-21 | Commvault Systems, Inc. | System and method for dynamically performing storage operations in a computer network |
US7631351B2 (en) * | 2003-04-03 | 2009-12-08 | Commvault Systems, Inc. | System and method for performing storage operations through a firewall |
WO2004090872A2 (en) * | 2003-04-03 | 2004-10-21 | Commvault Systems, Inc. | Method and system for controlling a robotic arm in a storage device |
US20050039069A1 (en) * | 2003-04-03 | 2005-02-17 | Anand Prahlad | Remote disaster data recovery system and method |
WO2004090789A2 (en) | 2003-04-03 | 2004-10-21 | Commvault Systems, Inc. | System and method for extended media retention |
US7673000B2 (en) * | 2003-04-28 | 2010-03-02 | Microsoft Corporation | Email service |
US20040215724A1 (en) * | 2003-04-28 | 2004-10-28 | Microsoft Corporation | Email service error recovery |
US6973654B1 (en) | 2003-05-27 | 2005-12-06 | Microsoft Corporation | Systems and methods for the repartitioning of data |
US7454569B2 (en) | 2003-06-25 | 2008-11-18 | Commvault Systems, Inc. | Hierarchical system and method for performing storage operations in a computer network |
US20050039048A1 (en) * | 2003-08-07 | 2005-02-17 | Sierra Wireless, Inc. A Canadian Corp. | Efficient new e-mail discovery |
US7584264B2 (en) * | 2003-08-19 | 2009-09-01 | Google Inc. | Data storage and retrieval systems and related methods of storing and retrieving data |
US7546324B2 (en) | 2003-11-13 | 2009-06-09 | Commvault Systems, Inc. | Systems and methods for performing storage operations using network attached storage |
US7613748B2 (en) | 2003-11-13 | 2009-11-03 | Commvault Systems, Inc. | Stored data reverification management system and method |
WO2005065084A2 (en) | 2003-11-13 | 2005-07-21 | Commvault Systems, Inc. | System and method for providing encryption in pipelined storage operations in a storage network |
CA2544062A1 (en) * | 2003-11-13 | 2005-06-02 | Commvault Systems, Inc. | System and method for data storage and tracking |
CA2548542C (en) | 2003-11-13 | 2011-08-09 | Commvault Systems, Inc. | System and method for performing a snapshot and for restoring data |
CA2544064C (en) | 2003-11-13 | 2012-02-07 | Commvault Systems, Inc. | System and method for performing integrated storage operations |
US7440982B2 (en) | 2003-11-13 | 2008-10-21 | Commvault Systems, Inc. | System and method for stored data archive verification |
US20050198166A1 (en) * | 2003-11-14 | 2005-09-08 | Matsushita Electric Industrial Co., Ltd. | Mail program, e-mail device, and method for managing e-mail messages |
WO2005057365A2 (en) | 2003-12-08 | 2005-06-23 | Ebay Inc. | System to automatically regenerate software code |
US8086671B2 (en) * | 2004-02-11 | 2011-12-27 | Microsoft Corporation | Systems and methods that facilitate in-order serial processing of related messages |
WO2005109212A2 (en) | 2004-04-30 | 2005-11-17 | Commvault Systems, Inc. | Hierarchical systems providing unified of storage information |
US8266406B2 (en) | 2004-04-30 | 2012-09-11 | Commvault Systems, Inc. | System and method for allocation of organizational resources |
US7606793B2 (en) | 2004-09-27 | 2009-10-20 | Microsoft Corporation | System and method for scoping searches using index keys |
US8103723B1 (en) * | 2004-10-07 | 2012-01-24 | Google Inc. | Message server that retains messages deleted by one client application for access by another client application |
US7975061B1 (en) | 2004-11-05 | 2011-07-05 | Commvault Systems, Inc. | System and method for performing multistream storage operations |
US7490207B2 (en) | 2004-11-08 | 2009-02-10 | Commvault Systems, Inc. | System and method for performing auxillary storage operations |
US8775823B2 (en) | 2006-12-29 | 2014-07-08 | Commvault Systems, Inc. | System and method for encrypting secondary copies of data |
US8959299B2 (en) | 2004-11-15 | 2015-02-17 | Commvault Systems, Inc. | Using a snapshot as a data source |
US8055715B2 (en) * | 2005-02-01 | 2011-11-08 | i365 MetaLINCS | Thread identification and classification |
US8112605B2 (en) | 2005-05-02 | 2012-02-07 | Commvault Systems, Inc. | System and method for allocation of organizational resources |
US7882181B2 (en) * | 2005-06-03 | 2011-02-01 | Microsoft Corporation | Minimizing data transfer from POP3 servers |
US8380682B2 (en) | 2005-08-10 | 2013-02-19 | International Business Machines Corporation | Indexing and searching of electronic message transmission thread sets |
US7565347B2 (en) * | 2005-08-10 | 2009-07-21 | International Business Machines Corporation | Indexing and searching of electronic message transmission thread sets |
US7602906B2 (en) * | 2005-08-25 | 2009-10-13 | Microsoft Corporation | Cipher for disk encryption |
US7562087B2 (en) * | 2005-09-30 | 2009-07-14 | Computer Associates Think, Inc. | Method and system for processing directory operations |
US20070185926A1 (en) | 2005-11-28 | 2007-08-09 | Anand Prahlad | Systems and methods for classifying and transferring information in a storage network |
US7831795B2 (en) | 2005-11-28 | 2010-11-09 | Commvault Systems, Inc. | Systems and methods for classifying and transferring information in a storage network |
US20090132490A1 (en) * | 2005-11-29 | 2009-05-21 | Coolrock Software Pty.Ltd. | Method and apparatus for storing and distributing electronic mail |
US7617253B2 (en) * | 2005-12-19 | 2009-11-10 | Commvault Systems, Inc. | Destination systems and methods for performing data replication |
US7457790B2 (en) * | 2005-12-19 | 2008-11-25 | Commvault Systems, Inc. | Extensible configuration engine system and method |
US7543125B2 (en) | 2005-12-19 | 2009-06-02 | Commvault Systems, Inc. | System and method for performing time-flexible calendric storage operations |
US8930496B2 (en) | 2005-12-19 | 2015-01-06 | Commvault Systems, Inc. | Systems and methods of unified reconstruction in storage systems |
US20200257596A1 (en) | 2005-12-19 | 2020-08-13 | Commvault Systems, Inc. | Systems and methods of unified reconstruction in storage systems |
US7651593B2 (en) * | 2005-12-19 | 2010-01-26 | Commvault Systems, Inc. | Systems and methods for performing data replication |
US7617262B2 (en) | 2005-12-19 | 2009-11-10 | Commvault Systems, Inc. | Systems and methods for monitoring application data in a data replication system |
US20070198422A1 (en) | 2005-12-19 | 2007-08-23 | Anand Prahlad | System and method for providing a flexible licensing system for digital content |
US7606844B2 (en) | 2005-12-19 | 2009-10-20 | Commvault Systems, Inc. | System and method for performing replication copy storage operations |
US20110010518A1 (en) | 2005-12-19 | 2011-01-13 | Srinivas Kavuri | Systems and Methods for Migrating Components in a Hierarchical Storage Network |
US7620710B2 (en) | 2005-12-19 | 2009-11-17 | Commvault Systems, Inc. | System and method for performing multi-path storage operations |
US20070166674A1 (en) * | 2005-12-19 | 2007-07-19 | Kochunni Jaidev O | Systems and methods for generating configuration metrics in a storage network |
US7962709B2 (en) | 2005-12-19 | 2011-06-14 | Commvault Systems, Inc. | Network redirector systems and methods for performing data replication |
US8572330B2 (en) | 2005-12-19 | 2013-10-29 | Commvault Systems, Inc. | Systems and methods for granular resource management in a storage network |
US7636743B2 (en) | 2005-12-19 | 2009-12-22 | Commvault Systems, Inc. | Pathname translation in a data replication system |
ES2582364T3 (es) | 2005-12-19 | 2016-09-12 | Commvault Systems, Inc. | Sistemas y métodos para realizar replicación de datos |
US8655850B2 (en) | 2005-12-19 | 2014-02-18 | Commvault Systems, Inc. | Systems and methods for resynchronizing information |
US8098295B2 (en) * | 2006-03-06 | 2012-01-17 | Given Imaging Ltd. | In-vivo imaging system device and method with image stream construction using a raw images |
US8028025B2 (en) * | 2006-05-18 | 2011-09-27 | International Business Machines Corporation | Apparatus, system, and method for setting/retrieving header information dynamically into/from service data objects for protocol based technology adapters |
KR100711523B1 (ko) * | 2006-06-13 | 2007-04-27 | 삼성전자주식회사 | 휴대용 단말기에서 메시지 관리 장치 및 방법 |
US8726242B2 (en) | 2006-07-27 | 2014-05-13 | Commvault Systems, Inc. | Systems and methods for continuous data replication |
WO2008036757A2 (en) * | 2006-09-19 | 2008-03-27 | Howard Lutnick | Products and processes for providing information services |
US7539783B2 (en) | 2006-09-22 | 2009-05-26 | Commvault Systems, Inc. | Systems and methods of media management, such as management of media to and from a media storage library, including removable media |
US7882077B2 (en) | 2006-10-17 | 2011-02-01 | Commvault Systems, Inc. | Method and system for offline indexing of content and classifying stored data |
CN101529419B (zh) | 2006-10-17 | 2013-05-01 | 慷孚系统公司 | 用于对内容进行离线索引和对存储的数据进行分类的方法和系统 |
US8655914B2 (en) | 2006-10-17 | 2014-02-18 | Commvault Systems, Inc. | System and method for storage operation access security |
US8370442B2 (en) | 2008-08-29 | 2013-02-05 | Commvault Systems, Inc. | Method and system for leveraging identified changes to a mail server |
CA2705379C (en) | 2006-12-04 | 2016-08-30 | Commvault Systems, Inc. | Systems and methods for creating copies of data, such as archive copies |
US8677091B2 (en) | 2006-12-18 | 2014-03-18 | Commvault Systems, Inc. | Writing data and storage system specific metadata to network attached storage device |
US7831566B2 (en) * | 2006-12-22 | 2010-11-09 | Commvault Systems, Inc. | Systems and methods of hierarchical storage management, such as global management of storage operations |
US20080228771A1 (en) | 2006-12-22 | 2008-09-18 | Commvault Systems, Inc. | Method and system for searching stored data |
US7840537B2 (en) | 2006-12-22 | 2010-11-23 | Commvault Systems, Inc. | System and method for storing redundant information |
US8719809B2 (en) | 2006-12-22 | 2014-05-06 | Commvault Systems, Inc. | Point in time rollback and un-installation of software |
US7734669B2 (en) | 2006-12-22 | 2010-06-08 | Commvault Systems, Inc. | Managing copies of data |
US8312323B2 (en) | 2006-12-22 | 2012-11-13 | Commvault Systems, Inc. | Systems and methods for remote monitoring in a computer network and reporting a failed migration operation without accessing the data being moved |
US7831766B2 (en) | 2006-12-22 | 2010-11-09 | Comm Vault Systems, Inc. | Systems and methods of data storage management, such as pre-allocation of storage space |
US20080155205A1 (en) * | 2006-12-22 | 2008-06-26 | Parag Gokhale | Systems and methods of data storage management, such as dynamic data stream allocation |
US7756536B2 (en) * | 2007-01-31 | 2010-07-13 | Sony Ericsson Mobile Communications Ab | Device and method for providing and displaying animated SMS messages |
US8290808B2 (en) | 2007-03-09 | 2012-10-16 | Commvault Systems, Inc. | System and method for automating customer-validated statement of work for a data storage environment |
CN101821696B (zh) | 2007-08-28 | 2013-02-20 | Commvault系统公司 | 如数据存储操作的自适应能耗管理的数据处理资源的能耗管理 |
US8706976B2 (en) | 2007-08-30 | 2014-04-22 | Commvault Systems, Inc. | Parallel access virtual tape library and drives |
US8396838B2 (en) | 2007-10-17 | 2013-03-12 | Commvault Systems, Inc. | Legal compliance, electronic discovery and electronic document handling of online and offline copies of data |
US9348912B2 (en) | 2007-10-18 | 2016-05-24 | Microsoft Technology Licensing, Llc | Document length as a static relevance feature for ranking search results |
US20090182827A1 (en) * | 2007-10-18 | 2009-07-16 | Nokia Corporation | Method and apparatus for the aggregation and indexing of message parts in multipart mime objects |
KR100983651B1 (ko) | 2008-01-08 | 2010-09-24 | 주식회사 케이티 | 메시지 저장을 위한 장치 및 방법 |
US8296301B2 (en) | 2008-01-30 | 2012-10-23 | Commvault Systems, Inc. | Systems and methods for probabilistic data classification |
US7836174B2 (en) | 2008-01-30 | 2010-11-16 | Commvault Systems, Inc. | Systems and methods for grid-based data scanning |
US8812493B2 (en) | 2008-04-11 | 2014-08-19 | Microsoft Corporation | Search results ranking using editing distance and document information |
US8769048B2 (en) | 2008-06-18 | 2014-07-01 | Commvault Systems, Inc. | Data protection scheduling, such as providing a flexible backup window in a data protection system |
US9128883B2 (en) | 2008-06-19 | 2015-09-08 | Commvault Systems, Inc | Data storage resource allocation by performing abbreviated resource checks based on relative chances of failure of the data storage resources to determine whether data storage requests would fail |
US8352954B2 (en) | 2008-06-19 | 2013-01-08 | Commvault Systems, Inc. | Data storage resource allocation by employing dynamic methods and blacklisting resource request pools |
US8661082B2 (en) * | 2008-06-20 | 2014-02-25 | Microsoft Corporation | Extracting previous messages from a later message |
US9098495B2 (en) | 2008-06-24 | 2015-08-04 | Commvault Systems, Inc. | Application-aware and remote single instance data management |
US8484162B2 (en) | 2008-06-24 | 2013-07-09 | Commvault Systems, Inc. | De-duplication systems and methods for application-specific data |
US8219524B2 (en) * | 2008-06-24 | 2012-07-10 | Commvault Systems, Inc. | Application-aware and remote single instance data management |
US8335776B2 (en) | 2008-07-02 | 2012-12-18 | Commvault Systems, Inc. | Distributed indexing system for data storage |
US8166263B2 (en) | 2008-07-03 | 2012-04-24 | Commvault Systems, Inc. | Continuous data protection over intermittent connections, such as continuous data backup for laptops or wireless devices |
US8307177B2 (en) * | 2008-09-05 | 2012-11-06 | Commvault Systems, Inc. | Systems and methods for management of virtualization data |
US8725688B2 (en) | 2008-09-05 | 2014-05-13 | Commvault Systems, Inc. | Image level copy or restore, such as image level restore without knowledge of data object metadata |
US20100070474A1 (en) | 2008-09-12 | 2010-03-18 | Lad Kamleshkumar K | Transferring or migrating portions of data objects, such as block-level data migration or chunk-based data migration |
US20100070466A1 (en) | 2008-09-15 | 2010-03-18 | Anand Prahlad | Data transfer techniques within data storage devices, such as network attached storage performing data migration |
AU2009296695B2 (en) | 2008-09-26 | 2013-08-01 | Commvault Systems, Inc. | Systems and methods for managing single instancing data |
US9015181B2 (en) | 2008-09-26 | 2015-04-21 | Commvault Systems, Inc. | Systems and methods for managing single instancing data |
US9178842B2 (en) * | 2008-11-05 | 2015-11-03 | Commvault Systems, Inc. | Systems and methods for monitoring messaging applications for compliance with a policy |
US8412677B2 (en) | 2008-11-26 | 2013-04-02 | Commvault Systems, Inc. | Systems and methods for byte-level or quasi byte-level single instancing |
US8204859B2 (en) | 2008-12-10 | 2012-06-19 | Commvault Systems, Inc. | Systems and methods for managing replicated database data |
US9495382B2 (en) | 2008-12-10 | 2016-11-15 | Commvault Systems, Inc. | Systems and methods for performing discrete data replication |
US8412784B2 (en) | 2009-03-03 | 2013-04-02 | Microsoft Corporation | Storage model for maintaining structured document fidelity |
US8434131B2 (en) | 2009-03-20 | 2013-04-30 | Commvault Systems, Inc. | Managing connections in a data storage system |
US8401996B2 (en) | 2009-03-30 | 2013-03-19 | Commvault Systems, Inc. | Storing a variable number of instances of data objects |
US8578120B2 (en) | 2009-05-22 | 2013-11-05 | Commvault Systems, Inc. | Block-level single instancing |
US8285681B2 (en) | 2009-06-30 | 2012-10-09 | Commvault Systems, Inc. | Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites |
US8930306B1 (en) | 2009-07-08 | 2015-01-06 | Commvault Systems, Inc. | Synchronized data deduplication |
US9092500B2 (en) | 2009-09-03 | 2015-07-28 | Commvault Systems, Inc. | Utilizing snapshots for access to databases and other applications |
US8706867B2 (en) | 2011-03-31 | 2014-04-22 | Commvault Systems, Inc. | Realtime streaming of multimedia content from secondary storage devices |
US8719767B2 (en) | 2011-03-31 | 2014-05-06 | Commvault Systems, Inc. | Utilizing snapshots to provide builds to developer computing devices |
US8595191B2 (en) | 2009-12-31 | 2013-11-26 | Commvault Systems, Inc. | Systems and methods for performing data management operations using snapshots |
WO2011082132A1 (en) | 2009-12-31 | 2011-07-07 | Commvault Systems, Inc. | Systems and methods for analyzing snapshots |
US8442983B2 (en) | 2009-12-31 | 2013-05-14 | Commvault Systems, Inc. | Asynchronous methods of data classification using change journals and other data structures |
US8504517B2 (en) | 2010-03-29 | 2013-08-06 | Commvault Systems, Inc. | Systems and methods for selective data replication |
US8725698B2 (en) | 2010-03-30 | 2014-05-13 | Commvault Systems, Inc. | Stub file prioritization in a data replication system |
US8504515B2 (en) | 2010-03-30 | 2013-08-06 | Commvault Systems, Inc. | Stubbing systems and methods in a data replication environment |
US8352422B2 (en) | 2010-03-30 | 2013-01-08 | Commvault Systems, Inc. | Data restore systems and methods in a replication environment |
US8489656B2 (en) | 2010-05-28 | 2013-07-16 | Commvault Systems, Inc. | Systems and methods for performing data replication |
US8738635B2 (en) | 2010-06-01 | 2014-05-27 | Microsoft Corporation | Detection of junk in search result ranking |
US11449394B2 (en) | 2010-06-04 | 2022-09-20 | Commvault Systems, Inc. | Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources |
CN101883181A (zh) * | 2010-06-18 | 2010-11-10 | 中兴通讯股份有限公司 | 处理短消息的方法及终端 |
US8762384B2 (en) * | 2010-08-19 | 2014-06-24 | Sap Aktiengesellschaft | Method and system for search structured data from a natural language search request |
CN102387178A (zh) * | 2010-08-31 | 2012-03-21 | 腾讯科技(深圳)有限公司 | 消息更新的方法和装置 |
US8935492B2 (en) | 2010-09-30 | 2015-01-13 | Commvault Systems, Inc. | Archiving data objects using secondary copies |
US8364652B2 (en) | 2010-09-30 | 2013-01-29 | Commvault Systems, Inc. | Content aligned block-based deduplication |
US9244779B2 (en) | 2010-09-30 | 2016-01-26 | Commvault Systems, Inc. | Data recovery operations, such as recovery from modified network data management protocol data |
DK2622469T3 (da) | 2010-09-30 | 2020-02-17 | Commvault Systems Inc | Effektive datastyringsforbedringer, så som docking af datastyringsmoduler med begrænset funktion til et komplet datastyringssystem |
US8572340B2 (en) | 2010-09-30 | 2013-10-29 | Commvault Systems, Inc. | Systems and methods for retaining and using data block signatures in data protection operations |
US9116850B2 (en) | 2010-12-14 | 2015-08-25 | Commvault Systems, Inc. | Client-side repository in a networked deduplicated storage system |
US9020900B2 (en) | 2010-12-14 | 2015-04-28 | Commvault Systems, Inc. | Distributed deduplicated storage system |
US9021198B1 (en) | 2011-01-20 | 2015-04-28 | Commvault Systems, Inc. | System and method for sharing SAN storage |
US8719264B2 (en) | 2011-03-31 | 2014-05-06 | Commvault Systems, Inc. | Creating secondary copies of data based on searches for content |
US8849762B2 (en) | 2011-03-31 | 2014-09-30 | Commvault Systems, Inc. | Restoring computing environments, such as autorecovery of file systems at certain points in time |
JP5431408B2 (ja) * | 2011-04-28 | 2014-03-05 | 株式会社日立製作所 | メールシステム |
US9372827B2 (en) | 2011-09-30 | 2016-06-21 | Commvault Systems, Inc. | Migration of an existing computing system to new hardware |
US9116633B2 (en) | 2011-09-30 | 2015-08-25 | Commvault Systems, Inc. | Information management of virtual machines having mapped storage devices |
US9461881B2 (en) | 2011-09-30 | 2016-10-04 | Commvault Systems, Inc. | Migration of existing computing systems to cloud computing sites or virtual machines |
US9495462B2 (en) | 2012-01-27 | 2016-11-15 | Microsoft Technology Licensing, Llc | Re-ranking search results |
US9471578B2 (en) | 2012-03-07 | 2016-10-18 | Commvault Systems, Inc. | Data storage system utilizing proxy device for storage operations |
US9298715B2 (en) | 2012-03-07 | 2016-03-29 | Commvault Systems, Inc. | Data storage system utilizing proxy device for storage operations |
US9063938B2 (en) | 2012-03-30 | 2015-06-23 | Commvault Systems, Inc. | Search filtered file system using secondary storage, including multi-dimensional indexing and searching of archived files |
US8950009B2 (en) | 2012-03-30 | 2015-02-03 | Commvault Systems, Inc. | Information management of data associated with multiple cloud services |
US10157184B2 (en) | 2012-03-30 | 2018-12-18 | Commvault Systems, Inc. | Data previewing before recalling large data files |
EP2712450A4 (en) | 2012-03-30 | 2015-09-16 | Commvault Systems Inc | INFORMATONS MANAGEMENT OF DATA OF MOBILE DEVICES |
US9020890B2 (en) | 2012-03-30 | 2015-04-28 | Commvault Systems, Inc. | Smart archiving and data previewing for mobile devices |
US9262496B2 (en) | 2012-03-30 | 2016-02-16 | Commvault Systems, Inc. | Unified access to personal data |
US9639297B2 (en) | 2012-03-30 | 2017-05-02 | Commvault Systems, Inc | Shared network-available storage that permits concurrent data access |
US9342537B2 (en) | 2012-04-23 | 2016-05-17 | Commvault Systems, Inc. | Integrated snapshot interface for a data storage system |
US8892523B2 (en) | 2012-06-08 | 2014-11-18 | Commvault Systems, Inc. | Auto summarization of content |
US20130339298A1 (en) | 2012-06-13 | 2013-12-19 | Commvault Systems, Inc. | Collaborative backup in a networked storage system |
US9870374B2 (en) * | 2012-08-31 | 2018-01-16 | Microsoft Technology Licensing, Llc | Replicating data across data centers |
US10379988B2 (en) | 2012-12-21 | 2019-08-13 | Commvault Systems, Inc. | Systems and methods for performance monitoring |
US9223597B2 (en) | 2012-12-21 | 2015-12-29 | Commvault Systems, Inc. | Archiving virtual machines in a data storage system |
US20140181046A1 (en) | 2012-12-21 | 2014-06-26 | Commvault Systems, Inc. | Systems and methods to backup unprotected virtual machines |
US20140181085A1 (en) | 2012-12-21 | 2014-06-26 | Commvault Systems, Inc. | Data storage system for analysis of data across heterogeneous information management systems |
US9021452B2 (en) | 2012-12-27 | 2015-04-28 | Commvault Systems, Inc. | Automatic identification of storage requirements, such as for use in selling data storage management solutions |
US9069799B2 (en) | 2012-12-27 | 2015-06-30 | Commvault Systems, Inc. | Restoration of centralized data storage manager, such as data storage manager in a hierarchical data storage system |
US9633216B2 (en) | 2012-12-27 | 2017-04-25 | Commvault Systems, Inc. | Application of information management policies based on operation with a geographic entity |
US9633022B2 (en) | 2012-12-28 | 2017-04-25 | Commvault Systems, Inc. | Backup and restoration for a deduplicated file system |
US9378035B2 (en) | 2012-12-28 | 2016-06-28 | Commvault Systems, Inc. | Systems and methods for repurposing virtual machines |
US10346259B2 (en) | 2012-12-28 | 2019-07-09 | Commvault Systems, Inc. | Data recovery using a cloud-based remote data recovery center |
US9703584B2 (en) | 2013-01-08 | 2017-07-11 | Commvault Systems, Inc. | Virtual server agent load balancing |
US9633033B2 (en) | 2013-01-11 | 2017-04-25 | Commvault Systems, Inc. | High availability distributed deduplicated storage system |
US9336226B2 (en) | 2013-01-11 | 2016-05-10 | Commvault Systems, Inc. | Criteria-based data synchronization management |
US9495404B2 (en) | 2013-01-11 | 2016-11-15 | Commvault Systems, Inc. | Systems and methods to process block-level backup for selective file restoration for virtual machines |
US9886346B2 (en) | 2013-01-11 | 2018-02-06 | Commvault Systems, Inc. | Single snapshot for multiple agents |
US9286110B2 (en) | 2013-01-14 | 2016-03-15 | Commvault Systems, Inc. | Seamless virtual machine recall in a data storage system |
US9459968B2 (en) | 2013-03-11 | 2016-10-04 | Commvault Systems, Inc. | Single index to query multiple backup formats |
US20140281519A1 (en) | 2013-03-12 | 2014-09-18 | Commvault Systems, Inc. | Encrypted file backup |
US9514217B2 (en) * | 2013-05-31 | 2016-12-06 | Linkedin Corporation | Message index subdivided based on time intervals |
US20150074536A1 (en) | 2013-09-12 | 2015-03-12 | Commvault Systems, Inc. | File manager integration with virtualization in an information management system, including user control and storage management of virtual machines |
US10949382B2 (en) | 2014-01-15 | 2021-03-16 | Commvault Systems, Inc. | User-centric interfaces for information management systems |
CN103699699B (zh) * | 2014-01-16 | 2016-09-28 | 常州工学院 | 一种浏览解码话单文件方法 |
US9753812B2 (en) | 2014-01-24 | 2017-09-05 | Commvault Systems, Inc. | Generating mapping information for single snapshot for multiple applications |
US9495251B2 (en) | 2014-01-24 | 2016-11-15 | Commvault Systems, Inc. | Snapshot readiness checking and reporting |
US9639426B2 (en) | 2014-01-24 | 2017-05-02 | Commvault Systems, Inc. | Single snapshot for multiple applications |
US9632874B2 (en) | 2014-01-24 | 2017-04-25 | Commvault Systems, Inc. | Database application backup in single snapshot for multiple applications |
US10324897B2 (en) | 2014-01-27 | 2019-06-18 | Commvault Systems, Inc. | Techniques for serving archived electronic mail |
US9798596B2 (en) | 2014-02-27 | 2017-10-24 | Commvault Systems, Inc. | Automatic alert escalation for an information management system |
US9648100B2 (en) | 2014-03-05 | 2017-05-09 | Commvault Systems, Inc. | Cross-system storage management for transferring data across autonomous information management systems |
US9633056B2 (en) | 2014-03-17 | 2017-04-25 | Commvault Systems, Inc. | Maintaining a deduplication database |
US10380072B2 (en) | 2014-03-17 | 2019-08-13 | Commvault Systems, Inc. | Managing deletions from a deduplication database |
US9811427B2 (en) | 2014-04-02 | 2017-11-07 | Commvault Systems, Inc. | Information management by a media agent in the absence of communications with a storage manager |
US9823978B2 (en) | 2014-04-16 | 2017-11-21 | Commvault Systems, Inc. | User-level quota management of data objects stored in information management systems |
US9740574B2 (en) | 2014-05-09 | 2017-08-22 | Commvault Systems, Inc. | Load balancing across multiple data paths |
US9848045B2 (en) | 2014-05-27 | 2017-12-19 | Commvault Systems, Inc. | Offline messaging between a repository storage operation cell and remote storage operation cells via an intermediary media agent |
US9760446B2 (en) | 2014-06-11 | 2017-09-12 | Micron Technology, Inc. | Conveying value of implementing an integrated data management and protection system |
US20160019317A1 (en) | 2014-07-16 | 2016-01-21 | Commvault Systems, Inc. | Volume or virtual machine level backup and generating placeholders for virtual machine files |
US9852026B2 (en) | 2014-08-06 | 2017-12-26 | Commvault Systems, Inc. | Efficient application recovery in an information management system based on a pseudo-storage-device driver |
US11249858B2 (en) | 2014-08-06 | 2022-02-15 | Commvault Systems, Inc. | Point-in-time backups of a production application made accessible over fibre channel and/or ISCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host |
US10042716B2 (en) | 2014-09-03 | 2018-08-07 | Commvault Systems, Inc. | Consolidated processing of storage-array commands using a forwarder media agent in conjunction with a snapshot-control media agent |
US9774672B2 (en) | 2014-09-03 | 2017-09-26 | Commvault Systems, Inc. | Consolidated processing of storage-array commands by a snapshot-control media agent |
US9405928B2 (en) | 2014-09-17 | 2016-08-02 | Commvault Systems, Inc. | Deriving encryption rules based on file content |
US9417968B2 (en) | 2014-09-22 | 2016-08-16 | Commvault Systems, Inc. | Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations |
US9710465B2 (en) | 2014-09-22 | 2017-07-18 | Commvault Systems, Inc. | Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations |
US9436555B2 (en) | 2014-09-22 | 2016-09-06 | Commvault Systems, Inc. | Efficient live-mount of a backed up virtual machine in a storage management system |
US9444811B2 (en) | 2014-10-21 | 2016-09-13 | Commvault Systems, Inc. | Using an enhanced data agent to restore backed up data across autonomous storage management systems |
US9575673B2 (en) | 2014-10-29 | 2017-02-21 | Commvault Systems, Inc. | Accessing a file system using tiered deduplication |
US10776209B2 (en) | 2014-11-10 | 2020-09-15 | Commvault Systems, Inc. | Cross-platform virtual machine backup and replication |
US9448731B2 (en) | 2014-11-14 | 2016-09-20 | Commvault Systems, Inc. | Unified snapshot storage management |
US9648105B2 (en) | 2014-11-14 | 2017-05-09 | Commvault Systems, Inc. | Unified snapshot storage management, using an enhanced storage manager and enhanced media agents |
US20160142485A1 (en) | 2014-11-19 | 2016-05-19 | Commvault Systems, Inc. | Migration to cloud storage from backup |
US9983936B2 (en) | 2014-11-20 | 2018-05-29 | Commvault Systems, Inc. | Virtual machine change block tracking |
US9898213B2 (en) | 2015-01-23 | 2018-02-20 | Commvault Systems, Inc. | Scalable auxiliary copy processing using media agent resources |
US9904481B2 (en) | 2015-01-23 | 2018-02-27 | Commvault Systems, Inc. | Scalable auxiliary copy processing in a storage management system using media agent resources |
US10313243B2 (en) | 2015-02-24 | 2019-06-04 | Commvault Systems, Inc. | Intelligent local management of data stream throttling in secondary-copy operations |
US10956299B2 (en) | 2015-02-27 | 2021-03-23 | Commvault Systems, Inc. | Diagnosing errors in data storage and archiving in a cloud or networking environment |
US9928144B2 (en) | 2015-03-30 | 2018-03-27 | Commvault Systems, Inc. | Storage management of data using an open-archive architecture, including streamlined access to primary data originally stored on network-attached storage and archived to secondary storage |
US10339106B2 (en) | 2015-04-09 | 2019-07-02 | Commvault Systems, Inc. | Highly reusable deduplication database after disaster recovery |
US10311150B2 (en) | 2015-04-10 | 2019-06-04 | Commvault Systems, Inc. | Using a Unix-based file system to manage and serve clones to windows-based computing clients |
US10324914B2 (en) | 2015-05-20 | 2019-06-18 | Commvalut Systems, Inc. | Handling user queries against production and archive storage systems, such as for enterprise customers having large and/or numerous files |
US20160350391A1 (en) | 2015-05-26 | 2016-12-01 | Commvault Systems, Inc. | Replication using deduplicated secondary copy data |
US10084873B2 (en) | 2015-06-19 | 2018-09-25 | Commvault Systems, Inc. | Assignment of data agent proxies for executing virtual-machine secondary copy operations including streaming backup jobs |
US9563514B2 (en) | 2015-06-19 | 2017-02-07 | Commvault Systems, Inc. | Assignment of proxies for virtual-machine secondary copy operations including streaming backup jobs |
US10275320B2 (en) | 2015-06-26 | 2019-04-30 | Commvault Systems, Inc. | Incrementally accumulating in-process performance data and hierarchical reporting thereof for a data stream in a secondary copy operation |
US9766825B2 (en) | 2015-07-22 | 2017-09-19 | Commvault Systems, Inc. | Browse and restore for block-level backups |
US10101913B2 (en) | 2015-09-02 | 2018-10-16 | Commvault Systems, Inc. | Migrating data to disk without interrupting running backup operations |
US10176036B2 (en) | 2015-10-29 | 2019-01-08 | Commvault Systems, Inc. | Monitoring, diagnosing, and repairing a management database in a data storage management system |
US10061663B2 (en) | 2015-12-30 | 2018-08-28 | Commvault Systems, Inc. | Rebuilding deduplication data in a distributed deduplication data storage system |
US10592350B2 (en) | 2016-03-09 | 2020-03-17 | Commvault Systems, Inc. | Virtual server cloud file system for virtual machine restore to cloud operations |
US10296368B2 (en) | 2016-03-09 | 2019-05-21 | Commvault Systems, Inc. | Hypervisor-independent block-level live browse for access to backed up virtual machine (VM) data and hypervisor-free file-level recovery (block-level pseudo-mount) |
US10503753B2 (en) | 2016-03-10 | 2019-12-10 | Commvault Systems, Inc. | Snapshot replication operations based on incremental block change tracking |
US10417102B2 (en) | 2016-09-30 | 2019-09-17 | Commvault Systems, Inc. | Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including virtual machine distribution logic |
US10540516B2 (en) | 2016-10-13 | 2020-01-21 | Commvault Systems, Inc. | Data protection within an unsecured storage environment |
US10162528B2 (en) | 2016-10-25 | 2018-12-25 | Commvault Systems, Inc. | Targeted snapshot based on virtual machine location |
US10152251B2 (en) | 2016-10-25 | 2018-12-11 | Commvault Systems, Inc. | Targeted backup of virtual machine |
US10922189B2 (en) | 2016-11-02 | 2021-02-16 | Commvault Systems, Inc. | Historical network data-based scanning thread generation |
US10389810B2 (en) | 2016-11-02 | 2019-08-20 | Commvault Systems, Inc. | Multi-threaded scanning of distributed file systems |
US10678758B2 (en) | 2016-11-21 | 2020-06-09 | Commvault Systems, Inc. | Cross-platform virtual machine data and memory backup and replication |
US10838821B2 (en) | 2017-02-08 | 2020-11-17 | Commvault Systems, Inc. | Migrating content and metadata from a backup system |
US10740193B2 (en) | 2017-02-27 | 2020-08-11 | Commvault Systems, Inc. | Hypervisor-independent reference copies of virtual machine payload data based on block-level pseudo-mount |
US10459666B2 (en) | 2017-03-03 | 2019-10-29 | Commvault Systems, Inc. | Using storage managers in respective data storage management systems for license distribution, compliance, and updates |
US11032350B2 (en) | 2017-03-15 | 2021-06-08 | Commvault Systems, Inc. | Remote commands framework to control clients |
US10949308B2 (en) | 2017-03-15 | 2021-03-16 | Commvault Systems, Inc. | Application aware backup of virtual machines |
US10896100B2 (en) | 2017-03-24 | 2021-01-19 | Commvault Systems, Inc. | Buffered virtual machine replication |
US10891069B2 (en) | 2017-03-27 | 2021-01-12 | Commvault Systems, Inc. | Creating local copies of data stored in online data repositories |
US11108858B2 (en) | 2017-03-28 | 2021-08-31 | Commvault Systems, Inc. | Archiving mail servers via a simple mail transfer protocol (SMTP) server |
US10776329B2 (en) | 2017-03-28 | 2020-09-15 | Commvault Systems, Inc. | Migration of a database management system to cloud storage |
US11074138B2 (en) | 2017-03-29 | 2021-07-27 | Commvault Systems, Inc. | Multi-streaming backup operations for mailboxes |
US11074140B2 (en) | 2017-03-29 | 2021-07-27 | Commvault Systems, Inc. | Live browsing of granular mailbox data |
US10387073B2 (en) | 2017-03-29 | 2019-08-20 | Commvault Systems, Inc. | External dynamic virtual machine synchronization |
US11294786B2 (en) | 2017-03-31 | 2022-04-05 | Commvault Systems, Inc. | Management of internet of things devices |
US11221939B2 (en) | 2017-03-31 | 2022-01-11 | Commvault Systems, Inc. | Managing data from internet of things devices in a vehicle |
US11010261B2 (en) | 2017-03-31 | 2021-05-18 | Commvault Systems, Inc. | Dynamically allocating streams during restoration of data |
US10853195B2 (en) | 2017-03-31 | 2020-12-01 | Commvault Systems, Inc. | Granular restoration of virtual machine application data |
US10552294B2 (en) | 2017-03-31 | 2020-02-04 | Commvault Systems, Inc. | Management of internet of things devices |
US10984041B2 (en) | 2017-05-11 | 2021-04-20 | Commvault Systems, Inc. | Natural language processing integrated with database and data storage management |
US10664352B2 (en) | 2017-06-14 | 2020-05-26 | Commvault Systems, Inc. | Live browsing of backed up data residing on cloned disks |
US10742735B2 (en) | 2017-12-12 | 2020-08-11 | Commvault Systems, Inc. | Enhanced network attached storage (NAS) services interfacing to cloud storage |
US10831591B2 (en) | 2018-01-11 | 2020-11-10 | Commvault Systems, Inc. | Remedial action based on maintaining process awareness in data storage management |
US10795927B2 (en) | 2018-02-05 | 2020-10-06 | Commvault Systems, Inc. | On-demand metadata extraction of clinical image data |
US10740022B2 (en) | 2018-02-14 | 2020-08-11 | Commvault Systems, Inc. | Block-level live browsing and private writable backup copies using an ISCSI server |
US10642886B2 (en) | 2018-02-14 | 2020-05-05 | Commvault Systems, Inc. | Targeted search of backup data using facial recognition |
US10877928B2 (en) | 2018-03-07 | 2020-12-29 | Commvault Systems, Inc. | Using utilities injected into cloud-based virtual machines for speeding up virtual machine backup operations |
US10754729B2 (en) | 2018-03-12 | 2020-08-25 | Commvault Systems, Inc. | Recovery point objective (RPO) driven backup scheduling in a data storage management system |
US10789387B2 (en) | 2018-03-13 | 2020-09-29 | Commvault Systems, Inc. | Graphical representation of an information management system |
US10891198B2 (en) | 2018-07-30 | 2021-01-12 | Commvault Systems, Inc. | Storing data to cloud libraries in cloud native formats |
US11159469B2 (en) | 2018-09-12 | 2021-10-26 | Commvault Systems, Inc. | Using machine learning to modify presentation of mailbox objects |
US11010258B2 (en) | 2018-11-27 | 2021-05-18 | Commvault Systems, Inc. | Generating backup copies through interoperability between components of a data storage management system and appliances for data storage and deduplication |
US11200124B2 (en) | 2018-12-06 | 2021-12-14 | Commvault Systems, Inc. | Assigning backup resources based on failover of partnered data storage servers in a data storage management system |
US10860443B2 (en) | 2018-12-10 | 2020-12-08 | Commvault Systems, Inc. | Evaluation and reporting of recovery readiness in a data storage management system |
US11698727B2 (en) | 2018-12-14 | 2023-07-11 | Commvault Systems, Inc. | Performing secondary copy operations based on deduplication performance |
US20200192572A1 (en) | 2018-12-14 | 2020-06-18 | Commvault Systems, Inc. | Disk usage growth prediction system |
US10768971B2 (en) | 2019-01-30 | 2020-09-08 | Commvault Systems, Inc. | Cross-hypervisor live mount of backed up virtual machine data |
US10996974B2 (en) | 2019-01-30 | 2021-05-04 | Commvault Systems, Inc. | Cross-hypervisor live mount of backed up virtual machine data, including management of cache storage for virtual machine data |
CN110083597A (zh) * | 2019-03-16 | 2019-08-02 | 平安普惠企业管理有限公司 | 命令查询方法、装置、计算机设备和存储介质 |
US20200327017A1 (en) | 2019-04-10 | 2020-10-15 | Commvault Systems, Inc. | Restore using deduplicated secondary copy data |
US11366723B2 (en) | 2019-04-30 | 2022-06-21 | Commvault Systems, Inc. | Data storage management system for holistic protection and migration of serverless applications across multi-cloud computing environments |
US11463264B2 (en) | 2019-05-08 | 2022-10-04 | Commvault Systems, Inc. | Use of data block signatures for monitoring in an information management system |
US11461184B2 (en) | 2019-06-17 | 2022-10-04 | Commvault Systems, Inc. | Data storage management system for protecting cloud-based data including on-demand protection, recovery, and migration of databases-as-a-service and/or serverless database management systems |
US11308034B2 (en) | 2019-06-27 | 2022-04-19 | Commvault Systems, Inc. | Continuously run log backup with minimal configuration and resource usage from the source machine |
US11561866B2 (en) | 2019-07-10 | 2023-01-24 | Commvault Systems, Inc. | Preparing containerized applications for backup using a backup services container and a backup services container-orchestration pod |
US11042318B2 (en) | 2019-07-29 | 2021-06-22 | Commvault Systems, Inc. | Block-level data replication |
US20210173811A1 (en) | 2019-12-04 | 2021-06-10 | Commvault Systems, Inc. | Optimizing the restoration of deduplicated data stored in multi-node replicated file systems |
US11467753B2 (en) | 2020-02-14 | 2022-10-11 | Commvault Systems, Inc. | On-demand restore of virtual machine data |
US11422900B2 (en) | 2020-03-02 | 2022-08-23 | Commvault Systems, Inc. | Platform-agnostic containerized application data protection |
US11321188B2 (en) | 2020-03-02 | 2022-05-03 | Commvault Systems, Inc. | Platform-agnostic containerized application data protection |
US11442768B2 (en) | 2020-03-12 | 2022-09-13 | Commvault Systems, Inc. | Cross-hypervisor live recovery of virtual machines |
US11099956B1 (en) | 2020-03-26 | 2021-08-24 | Commvault Systems, Inc. | Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations |
US11500669B2 (en) | 2020-05-15 | 2022-11-15 | Commvault Systems, Inc. | Live recovery of virtual machines in a public cloud computing environment |
US11687424B2 (en) | 2020-05-28 | 2023-06-27 | Commvault Systems, Inc. | Automated media agent state management |
US11494417B2 (en) | 2020-08-07 | 2022-11-08 | Commvault Systems, Inc. | Automated email classification in an information management system |
US11314687B2 (en) | 2020-09-24 | 2022-04-26 | Commvault Systems, Inc. | Container data mover for migrating data between distributed data storage systems integrated with application orchestrators |
US11656951B2 (en) | 2020-10-28 | 2023-05-23 | Commvault Systems, Inc. | Data loss vulnerability detection |
US11604706B2 (en) | 2021-02-02 | 2023-03-14 | Commvault Systems, Inc. | Back up and restore related data on different cloud storage tiers |
US11593223B1 (en) | 2021-09-02 | 2023-02-28 | Commvault Systems, Inc. | Using resource pool administrative entities in a data storage management system to provide shared infrastructure to tenants |
US11809285B2 (en) | 2022-02-09 | 2023-11-07 | Commvault Systems, Inc. | Protecting a management database of a data storage management system to meet a recovery point objective (RPO) |
CN117349107A (zh) * | 2022-06-28 | 2024-01-05 | 中兴通讯股份有限公司 | 信息存储、读取方法、设备及存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2187580A (en) * | 1986-03-07 | 1987-09-09 | Multi Net Pty Ltd | A database system |
JPS6410353A (en) * | 1987-07-03 | 1989-01-13 | Hitachi Ltd | Computer file system |
WO1991003791A1 (en) * | 1989-09-01 | 1991-03-21 | Amdahl Corporation | Operating system and data base |
JP3168756B2 (ja) * | 1993-02-24 | 2001-05-21 | ミノルタ株式会社 | 電子メールシステムのメール管理方法 |
JPH0779298A (ja) * | 1993-09-08 | 1995-03-20 | Hitachi Ltd | ファクシミリサーバシステム |
US5870549A (en) * | 1995-04-28 | 1999-02-09 | Bobo, Ii; Charles R. | Systems and methods for storing, delivering, and managing messages |
WO1998003928A1 (en) * | 1996-07-23 | 1998-01-29 | Lextron Systems, Inc. | Integrated services on intranet and internet |
US6029164A (en) * | 1997-06-16 | 2000-02-22 | Digital Equipment Corporation | Method and apparatus for organizing and accessing electronic mail messages using labels and full text and label indexing |
US6073137A (en) * | 1997-10-31 | 2000-06-06 | Microsoft | Method for updating and displaying the hierarchy of a data store |
US5999932A (en) * | 1998-01-13 | 1999-12-07 | Bright Light Technologies, Inc. | System and method for filtering unsolicited electronic mail messages using data matching and heuristic processing |
-
1998
- 1998-04-27 US US09/067,537 patent/US6167402A/en not_active Expired - Lifetime
-
1999
- 1999-04-22 GB GB9909139A patent/GB2340269B/en not_active Expired - Fee Related
- 1999-04-27 JP JP11119493A patent/JP2000003321A/ja active Pending
- 1999-04-27 DE DE19919146A patent/DE19919146A1/de not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6990331B2 (en) | 2000-07-11 | 2006-01-24 | Sanyo Electric Co., Ltd. | Mobile terminal |
Also Published As
Publication number | Publication date |
---|---|
GB2340269A (en) | 2000-02-16 |
DE19919146A1 (de) | 1999-10-28 |
GB2340269B (en) | 2001-07-25 |
US6167402A (en) | 2000-12-26 |
GB9909139D0 (en) | 1999-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2000003321A (ja) | 高性能なメッセ―ジ格納構造 | |
US11516289B2 (en) | Method and system for displaying similar email messages based on message contents | |
US20240111812A1 (en) | System and methods for metadata management in content addressable storage | |
US8683228B2 (en) | System and method for WORM data storage | |
EP0733238B1 (en) | Extended attributes file system | |
US8843454B2 (en) | Elimination of duplicate objects in storage clusters | |
US7289973B2 (en) | Graphical user interface for system and method for managing content | |
US7263521B2 (en) | Navigation of the content space of a document set | |
US8600948B2 (en) | Avoiding duplicative storage of managed content | |
US7958094B2 (en) | Management of deletion requests for related documents in a content management system | |
US20070061359A1 (en) | Organizing managed content for efficient storage and management | |
JP2007534057A (ja) | 情報を取り込み抽出する方法及びシステム | |
JP2005503616A (ja) | データの内容と属性に基づいてデータをリストアする技法 | |
GB2439578A (en) | Virtual file system with links between data streams | |
US8095678B2 (en) | Data processing | |
US20100274795A1 (en) | Method and system for implementing a composite database | |
JP2000224251A (ja) | メッセ―ジ格納構造内のデ―タへ高速アクセスする方法及び装置 | |
US20080005524A1 (en) | Data processing | |
US20060271538A1 (en) | Method and system for managing files in a file system | |
CN114444456A (zh) | 一种电子报表的管理方法、装置、服务器和存储介质 | |
CN111562936A (zh) | 基于Openstack-Swift的对象历史版本管理方法和装置 | |
JPH08255105A (ja) | ステージングファイルの作成方法 | |
Kos et al. | Hash Based Archiving: a Study System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090419 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090419 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 8 Free format text: PAYMENT UNTIL: 20100419 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110419 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120419 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 10 Free format text: PAYMENT UNTIL: 20120419 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Year of fee payment: 11 Free format text: PAYMENT UNTIL: 20130419 |
|
EXPY | Cancellation because of completion of term |