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
Application number
JP11119493A
Other languages
English (en)
Inventor
William J Yeager
ウイリアム・ジェイ.・イーガー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JP2000003321A publication Critical patent/JP2000003321A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up
    • G06F16/902Indexing; 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

(57)【要約】 【課題】 効率的なメッセージ格納構造、及び配信シ
ステムを生成するための方法、装置、及びコンピュータ
読み取り可能媒体を提供する。 【解決手段】メッセージ格納構造は、全てページベース
のインデックスディレクトリ、インデックスファイル、
及びデータバケット領域を有する。各ページは、例えば
日のような期間に対応している。各データバケットは、
メッセージデータ及びメッセージの実コンテンツを含
む。インデックスファイルは、関連メッセージを特徴付
けるインデックス情報を格納するインデックスファイル
セルを含む。インデックスディレクトリは、関連インデ
ックスファイルセルのロケーション上に情報を格納する
インデックスディレクトリセルを含み、これによりイン
デックスディレクトリは、メッセージと関連付けられ
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般的に、コンピ
ュータソフトウェア及びクライアント−サーバの技術に
関する。より詳細には、本発明は、コンピュータネット
ワークを介してクライアントによりアクセスされる電子
メールメッセージデータの編成及び格納構造に関する。
【0002】
【従来の技術】1990年代におけるネットワークコン
ピューティングの急速な成長は、最も一般的に「電子メ
ール」と呼ばれる、ますます広まりつつある通信形式を
伴ってきた。家庭、勤務先、小規模企業、学術機関、あ
るいは、政府組織において、何らかの種類のコンピュー
タネットワークに接続されているコンピュータにより多
くの個人がアクセスするにつれ、電子メールは、瞬く間
に好ましい通信形式になりつつある(多くの場面では既
になっている)。人々は、簡単な一度きりのメッセージ
を送る場合であれ、長期にわたり討論、又は、会話を継
続する場合であれ、電子メールが、通信のための有用で
効率的な手段であることを認識している。
【0003】電子メールは、組織の内部ネットワーク内
でメッセージを送るために、企業、及び大学といった大
規模組織内では長年にわたり用いられ、また、一般的
に、独自のフォーマット及びプロトコルに基づいてい
る。大規模組織の外部へ電子メールを持ち出し、社会の
本流に持ち込んだのはインターネットである。インター
ネットは、公的にアクセス可能でグローバルなコンピュ
ータネットワークなので、その電子メール能力に鑑み徐
々に利用されるようになってきた。さらに、インターネ
ットプロトコル(IP)、及びインターネットの通信層
(TCP/IP)は、独自のフォーマット及びプロトコ
ルに代わって、IP及びTCP/IPに基づき私的組織
内におけるイントラネットとして知られているコンピュ
ータネットワークを開発するために用いられてきた。こ
の解決手段は、例えば、企業又は大学が、インターネッ
トとの互換性を有すると共に、ウェブサイト、ハイパー
リンク能力、そして、当然ながら電子メールの送受信を
含むインターネットの全ての特徴を有する、内部コンピ
ュータネットワークを所有することを許容する。
【0004】インターネットの爆発的な成長、及びイン
トラネットの魅力の増加は、電子メールメッセージの急
激な増加をもたらした。一般的に、電子メールメッセー
ジは、ネットワークサーバ、あるいは、クライアント及
びスタンドアローンマシンのハードドライブ上で受信及
び格納される。電子メールメッセージを電子的に保存
し、また、所望のときに簡単に取り出すという増大しつ
つある傾向又は実践及び多くの場合ニーズがある。この
ことは、例えば、アイデア、コメント又は分析を含むメ
ッセージが、例えば、異なる国の研究者の間で数年の期
間にわたり送られる場合には、あらゆる類型の研究状況
において重要になり得る。例えば、今はその立場にない
2人の研究者の間で2年前のある時に送られたあるメッ
セージを取り出さざる負えない状況が予測される。もち
ろん、この能力は、ビジネス環境、または、他の状況に
おいても重要且つ有用な特徴になり得る。
【0005】セーブ済メッセージの取り出しについての
増大する要求と結びつく電子メールの増大、及びセーブ
されるべきメッセージ数の増加は、現在のインデックス
修飾方式及びメッセージについての問題を露呈した。メ
ッセージをクライアントマシン上でなく、サーバ上にセ
ーブする傾向が増えつつある。メールサーバは、メッセ
ージの中央集積所として機能すると共に、定期的にバッ
クアップされ、管理者によって維持され、壊れた(クラ
ッシュした)ときには(ほとんどの場合)迅速に復旧さ
れるという利点を有している。したがって、ユーザがリ
クエストすると、リクエストはサーバによって処理され
ると共にクライアントに配信される。
【0006】今日における電子メールメッセージの文法
は、リクエストの類型によって幅広く変化し得る。簡単
な例では、電子メールメッセージは、要求ヘッダに加え
て、2,3行の本文からなる簡単なメッセージ部を含み
得る。あるいは、電子メールは、圧縮画像、オーディオ
セグメント、ビデオ、アニメーション、特別なエンコー
ディングを有するテキスト(例えば、非ラテン語ベース
言語の場合)及び他の全電子メールメッセージをも含み
得るいくつかの添付物を有し得る。
【0007】メッセージのリクエストは、要求される情
報の深さ及び幅の点から変化し得る。例えば、リクエス
トは、2人の個人の間で数年前に送られた1つのメッセ
ージの全コンテンツに関するものであり得る。あるい
は、リクエストは、直近24時間内に特定の標題に関し
て送られた任意のメッセージの受取者のリストであっ
て、メッセージを開封した受取者及び未だ開封していな
い受取者を区別するリストであっても良い。要するに、
電子メールメッセージ及び電子メールメッセージデータ
についてのリクエストの性質は、より複雑になり、これ
により、メッセージの格納及び検索を処理する際におけ
る現在のメールサーバの弱点が露呈する。
【0008】上述したメッセージ格納及び検索の類型の
ために現在用いられているほとんどのメールサーバは、
インターネットメッセージプロトコル、すなわち、IM
APに従って構成されている。IMAPは、メッセージ
操作のための命令、メッセージに関連する全ての情報の
ソート及び格納のためのインデックス、及びメッセージ
上で実行される動作の集合である。IMAP構成サーバ
では、IMAPを十分に活用するために、メッセージコ
ンテンツ及びメッセージに関するメタデータを含むネッ
トワーク及びメッセージ上のユーザに関連する情報が、
IMAPのインデックス修飾を活用する方法で格納され
なければならない。IMAPサーバが概ねIMAPイン
デックス修飾に従ってデータを格納するのに対して、こ
のような、高速で確かで非連続なデータの検索及び格納
を最適化する方法でデータを格納するサーバは他にはな
い。
【0009】現在のIMAPサーバは、競合問題、及び
低性能によってもたらされる他の非能率性を有してい
る。これらサーバは、レコードを構成するフィールド集
合としてメッセージデータを扱う(すなわち、メッセー
ジデータはレコードベース)が、新規メッセージのユー
ザズインボックス(ユーザが新規メールを受け取るメー
ルボックス)への書き込みは、インボックス上における
ユーザによる他の操作の実行を阻害する結果をもたらし
易い。これらIMAPサーバのメッセージ格納構造は、
IMAPにて利用可能なインデックス修飾を効率よく利
用するようには設計されなかった。例えば、ユーザはメ
ールボックス内の全てのメッセージから所定のフィール
ド(例えば、日付、受取人、標題等)に関する情報のみ
を要求し得る。IMAPサーバは、一般的なユーザのデ
ータに関する要求を満たすために必要な情報よりも多く
の情報を検索するように思われる。したがって、特定の
標題について特定のユーザに送られたメッセージ数を単
に取得するために、IMAPサーバは、メッセージ数を
引き出すべく全メッセージの全コンテンツを読み出し得
る。現在のIMAPサーバは、IMAP内で可能な完全
性及び整合性の強力なチェック能力にも欠けている。
【0010】他のメールサーバのインプリメンテーショ
ンは、メッセージに関する情報の類型に関係なく配信及
びコピーされるメッセージ全体がリクエストされること
を要求する。この問題は、メッセージの配信によってメ
ールフォルダに対する全ての書き込み操作が禁止され
る、UNIXオペレーティングシステムにおける古いフ
ァイルベースのメール環境であるVARMAILにおけ
るものと類似している。このデフォルト手続きは、メー
ル配信システムが著しく遅延するという問題をもたらし
た。さらに、VARMAIL環境は、クライアントマシ
ンのメモリ中に格納される同一電子メールメッセージの
複数のコピーをも要求した。
【0011】
【発明が解決しようとする課題】したがって、メッセー
ジの格納及び検索時間、及び強力なデータ整合性の維持
を向上するために、インデックス、メッセージデータ、
及びユーザデータが論理的に配列されるように分割され
ている、サーバベースのメッセージ格納構造が必要とさ
れている。メッセージ格納構造は、競合を低減すると共
に、ユーザ及びサーバがメッセージ及びメールフォルダ
上で読み出し及び書き込みを同時に実行することを許容
するべきである。検索速度を高速化すると共にメモリを
セーブすべく、リクエストされたデータ及び減少した無
関係なデータだけをサーバが検索するように、データに
対するユーザのリクエストを処理するときに、サーバに
よって識別可能な特定水準を引き上げることが望まし
い。
【0012】
【課題を解決するための手段】以上の事項を達成するた
めに、また、本発明に目的に従えば、効率的なメッセー
ジ格納構造、及び配信システムを生成するための方法、
装置、及びコンピュータ読み取り可能媒体が提供され
る。本発明の一つの局面に従えば、全てページベースで
ある、インデックスディレクトリ、インデックスファイ
ル、及びバケットデータを有するメッセージ格納構造が
記載されている。各ページは、1つの実施形態では、例
えば日のような期間に対応している。各データバケット
は、メッセージデータ及びメッセージの実コンテンツを
含む。インデックスファイルは、関連メッセージを特徴
付けるインデックス情報を格納するインデックスファイ
ルセルを含む。インデックスディレクトリは、関連イン
デックスファイルセルのロケーション上に情報を格納す
るインデックスディレクトリセルを含み、これによりイ
ンデックスディレクトリは、メッセージと関連付けられ
る。
【0013】一つの実施形態では、メッセージ格納構造
はまた、各々がユーザ格納構造内でユーザに関連付けら
れると共に、メッセージを参照するユーザセルを含むペ
ージベースユーザフォルダを有する。他の実施形態で
は、各ユーザセルは、インデックスディレクトリ内のイ
ンデックスディレクトリセルに対する参照を含む。さら
に、他の実施形態では、各ユーザフォルダは、定義済ユ
ーザベース条件に従って類別される。
【0014】本発明の他の実施形態では、インデックス
ディレクトリセルは、現在、関連メッセージを参照して
いるユーザー数、及び関連インデックスファイルセルに
対する参照指示器(参照ポインタ)を含む。さらに他の
実施形態では、インデックスファイルセルは、データバ
ケット内の関連メッセージに対する参照指示器、及び関
連メッセージのサイズを含む。
【0015】本発明の更に他の実施形態では、メッセー
ジは関連インデックスファイルセルに対する参照指示
器、及び関連インデックスディレクトリセルに対する参
照指示器を有する。本発明の更に他の実施形態では、ユ
ーザセル内のインデックスディレクトリ指示器(インデ
ックスディレクトリポインタ)、インデックスディレク
トリセル内のインデックスファイル指示器(インデック
スファイルポインタ)、インデックスファイルセル内の
メッセージ指示器(メッセージポインタ)、及びメッセ
ージ内の2つの指示器(ポインタ)は、必要に応じてメ
ッセージ格納構造が自身を復元することを許容する。
【0016】本発明の他の局面では、新規メッセージを
メッセージ格納構造に対して効率的に配信する方法が提
供される。1つの実施形態では、到着データ及び関連イ
ンデックスデータは、実質的に同時に、メッセージ格納
構造の特定の部分に付加される。到着データ及びインデ
ックスデータがメッセージ格納構造に書き込まれている
間、クライアントは、実質的に阻害されないメッセージ
格納構造内の既存データアクセスできる。更に他の実施
形態では、到着データが付加される場合には、アクセス
は、メッセージ格納構造の不使用部分に制限される。
【0017】本発明のさらなる効果は以下の詳細な説
明、及び種々の図面を参照することにより、より良く理
解されるであろう。
【0018】
【発明の実施の形態】好適な発明の実施の形態について
詳細に説明する。好適な発明の実施の形態の例を図面と
共に説明する。本発明を好適な発明の実施の形態に関し
て説明するが、以下の説明は、本発明を1つの好適な発
明の実施の形態に限定することを意図するものではな
い。むしろ、特許請求の範囲によって画定される本発明
の範囲、及び本発明の趣旨を逸脱しない範囲で、変形
物、改良物、及び等価物が含まれることを意図するもの
である。
【0019】電子メールメッセージ、関連情報、及びユ
ーザ情報といったデータを格納するための改良メッセー
ジ格納構造(格納装置)が、いくつもの図面に図示され
ている。本発明の実施の形態では、改良メッセージ格納
構造は、例えば、インターネットの電子メールメッセー
ジのようなメールメッセージを格納するために構成され
ているが、他の類型の情報を格納するためにも用いられ
得る。本発明の実施の形態に関して、サーバがクライア
ントのメッセージに関するデータに対するクライアント
(すなわち、ユーザ)のリクエストに応答する場合に
は、メールメッセージをサーバ上で記憶し、インデック
ス修飾することが望ましい。本発明の実施形態によれ
ば、メッセージ格納構造は、メールプロトコルにおいて
最も一般的に用いられている命令及びメッセージに対応
するために構成され得る。これらプロトコルのうち2つ
は、インターネットメッセージアクセスプロトコル(I
MAP)及びポストオフィスプロトコル(POP)であ
ることは周知の通りである。本発明の実施形態に従い本
発明を説明し、記述するために、メッセージ格納構造を
含むサーバは、主に、IMAP及びPOP命令及びメッ
セージ(以下、IMAPサーバという)に対応するよう
に構成されている。本発明の実施の形態では、IMAP
サーバは、現在、ある程度のインデックス修飾を有して
いるが、IMAPメッセージ格納構造の全体の構成、及
びインデックス修飾の水準は、徐々に複雑化すると共に
止まるところを知らないデータに対するユーザのリクエ
ストを効率よく処理することはできない。
【0020】したがって、本発明に係るメッセージ格納
構造の潜在的なページベース構成、及び高水準のインデ
ックス修飾は、本発明の実施の形態にサーバが、高効率
な方法で着信メッセージを処理すると共に、(既存デー
タを操作するために)ユーザリクエストを取り扱うこと
を許容する。メッセージ格納構造の潜在的なページベー
ス構成は、データが、例えば、日、または、週といった
期間のような定義済み条件に基づいて類別されることを
許容し、これにより、その大部分が不必要であるデータ
の本体全体を通したサーチ、あるいは、その処理の必要
性が排除される。以下に述べる、インデックスディレク
トリ及びファイルといったメッセージ格納構造及び種々
の記憶構成要素のインデックス修飾の高い細分性もま
た、整合性のチェック及びデータ冗長性の低減を促進す
るする(他の記憶構成要素に対する)参照及びカウンタ
を用いることによって、システムがデータ整合性を確実
にすることを許容する。さらに、レコードが本質的にメ
ッセージ格納構造内の種々の記憶構成要素内におけるフ
ィールドの組み合わせである場合には、後述するよう
に、ユーザリクエスト及び着信メッセージは、レコード
ベース上で取り扱われる。一般的に、ユーザリクエスト
に応えるために、あるいは、着信メッセージを処理する
ためには、所定のフィールドのみが必要とされるので、
サーバは、フォルダ全体、あるいは、ディレクトリ全体
のロックに代えて、セクションのロックを実行し得る。
このことは、サーバへの書き込み(例えば、着信メッセ
ージの処理)及び同一のメールボックスに対するアクセ
スを要求するユーザリクエストの処理の間における競合
を大幅に低減する。
【0021】本発明に係る発明の実施の形態の1つに従
うメッセージ格納構造は、大規模分散型計算機環境(す
なわち、何万人ものユーザ)、または、例えば、10人
未満のユーザを有するもっと小さなコンピュータネット
ワークにて用いられるサーバ中にデータを格納するため
に好適である。改良メッセージ格納構造の利点は、これ
ら両状況、及び両状況の間の状況において実現される。
例として、本発明の実施形態におけるサーバは、大規模
分散型計算機環境におけるユーザのためのインターネッ
ト電子メールを格納するIMAPサーバである。したが
って、ここで用いられるインターネット電子メールメッ
セージの構成を簡単に説明することは有益である。当業
者に周知であるように、インターネット電子メールメッ
セージは、MIME規格に従ってフォーマットされてい
る。MIMEメッセージは、MIMEヘッダ、及びその
各々がヘッダを有する1つ以上の本体部、又はセクショ
ンから構成されている。MIMEフォーマットは、電子
メールメッセージが、オーディオ、ビデオイメージ、非
英語テキスト、HTML等といった種々のメディアを含
むことを許容する。本発明の実施形態のメッセージ格納
構造は、後述する種々のインデックスを通じてMIME
セクションを調整する。他の好適な発明の実施形態で
は、他のデータフォーマットを調整するために既述のイ
ンデックス構造が用いられ得る。本発明の実施形態に従
うメッセージ格納構造は、他の非常に特定的なリクエス
トの取り扱いに加えて、メッセージ全体を検索すること
なく特定のメッセージの特定のMIMEセクションを検
索することを許容する。
【0022】図1は、本発明に係る発明の実施の形態の
一つに従うメッセージ格納構造を示すブロック図であ
る。メッセージ格納構造100は、データバケットディ
レクトリ102、インデックスディレクトリ104、イ
ンデックスファイル106、及びユーザフォルダディレ
クトリ110を含む。データバケットディレクトリ10
2は、一連のデータバケット112を含んでいる。イン
デックスディレクトリ104は、ヘッダ114及び一連
のインデックスディレクトリセル116を含んでいる。
インデックスファイル106は、ヘッダ118及び一連
のインデックスファイルセル120を含んでいる。ユー
ザフォルダディレクトリ110は、一連のユーザフォル
ダ122を含んでいる。
【0023】メッセージ格納構造100は、2つの記憶
カテゴリ、データ格納構造及びユーザ格納構造、に類別
される。図2は、本発明の実施形態の一つに従うデータ
格納領域の記憶構成要素を図示するブロック図である。
図2に図示されるデータ格納領域124は、インデック
スディレクトリ104、インデックスファイル106、
及びデータバケットディレクトリ102を有している。
これら記憶構成要素の各々は、ページベース構成に従っ
て構築されている。各ページは、例えば、特定の時間周
期のような定義済み条件に対応し得る。本発明の実施形
態では、例えば、各記憶構成要素が特定のメッセージが
受信された日に基づくトップレベルで組織されている場
合には、記憶構成要素の各ページは日ベースである。他
の好適な発明の実施の形態では、各ページは、システム
上のデータトラフィック量によって週周期又は8時間周
期に対応し得る。データバケットディレクトリ102
は、データバケット108により構成される。一般的な
データバケット108が、ヘッダ126及び代表的なメ
ッセージ領域128と共に図示されている。データバケ
ットディレクトリ102、すなわち、データバケットホ
ルダは、本質的には一連のデータバケットを予め定めら
れた時間周期、例えば1日、保持するための容器であ
る。したがって、本発明の実施の形態では、所定の日に
受信された全てのメッセージは、通常、その特定日に対
応するデータバケット内に格納される。
【0024】本発明の実施形態では、データバケットデ
ィレクトリ102は、当初、3つのデータバケットを含
むか保持する。バケットは、本質的にデータバケット1
08に対して構造的に同一である。3つのバケットデー
タのうちいずれか1つが構成可能なディスクファイルサ
イズを超える場合には、1つ以上の追加データバケット
130が、データバケットディレクトリ102に加えら
れる。他の好適な発明の実施形態では、追加のデータバ
ケットが加えられる方法は変化し得る。例えば、メッセ
ージ格納構造は、当初、1つのデータバケットだけを有
し、初期バケットのいずれか1つが満たされると追加デ
ータバケットを1つ加える。本発明の実施形態に戻る
と、特定日に対する着信メッセージは、3つのデータバ
ケット間の配分をほぼ等しくする意図で、最初の3つの
データバケット間でランダムに分配される。このメッセ
ージの分配は、追加のデータバケットがデータバケット
ディレクトリ102に加えられたときに、継続、また
は、維持される。本発明の実施形態では、3つの初期デ
ータバケットが満たされると、3つの追加データバケッ
トが加えられると共に、メッセージは新規のデータバケ
ット間でランダムに分配される。上述のように、本発明
のメッセージ格納構造は、大規模で、量の大きな計算機
環境、あるいは、小規模コンピュータネットワークにお
いて用いられ得る。例として、本発明の実施形態におい
て、大規模分散型計算機環境では、一般的なデータバケ
ットホルダは500メガバイトの最大ディスクファイル
サイズを有し得る。
【0025】データバケット108は、一般的に、ヘッ
ダセル126から始まる。ヘッダ126の次は、バケッ
ト108内の電子メールメッセージのように、連続的に
データが格納される。他の好適な発明の実施形態では、
データはビデオ、又は、オーディオセグメント、データ
ベースレコード、他のフォーマットのデータであり得
る。本発明の実施形態では、メッセージは、特定のデー
タバケットに加えられる一方で、セル又は固定記憶領域
内には含ませられない。メッセージのサイズは、幅広く
変化し得るが、一般的な、電子メールメッセージは、2
〜10キロバイトの範囲にある。上述のように、本発明
の実施形態では、着信メッセージは、ランダムに且つ、
好ましくは特定日のための3個の当初データバケット間
に格納される。データバケットが満たされると、メッセ
ージを格納するために新規のデータバケット130が生
成される。したがって、特定の受取者に割り当てられた
着信メッセージは、一旦、データバケット内に格納され
る。本発明のメッセージ格納構造の特徴は、メッセージ
の受取者(あるいは、所有者、作成者等)が全員、1つ
のメッセージのコピーに対して参照を有することを許容
する。この特徴は、詳しく後述する。本発明の実施形態
では、一般的なデータバケットは、約200,000、
2.5キロバイトのメッセージを保持し得る。したがっ
て、3つのデータバケット(すなわち、特定日に割り当
てられたデータバケットの初期数)は、約600,00
0通までの電子メールメッセージを保持し得る。当然な
がら、それらメッセージの多くは、メッセージ及び添付
物の類型によっては、2.5キロバイトをゆうに超え得
る。
【0026】メッセージが受信されると、データバケッ
ト中への格納に加え、インデックス及び関連情報がイン
デックスディレクトリ104及びインデックスファイル
106内に格納され得るように、メッセージはインデッ
クス修飾スレッドによって分析される。この情報は、デ
ィレクトリ104及びファイル106の特定のページ内
に格納される。本発明の実施の形態では、インデックス
ディレクトリ及びインデックスファイルは日ベースであ
り、それぞれの日が新規のディレクトリ及びファイルに
割り当てられる。追加インデックスディレクトリページ
107は、インデックスディレクトリページ104の
「後ろに」図示されている。インデックスディレクトリ
104は、ヘッダ114から始まりインデックスディレ
クトリセルがそれに続く。サンプルセルが領域116に
図示されている。着信メッセージが受信されると、その
メッセージは分析され、インデックス情報が引き出され
ると共にインデックスディレクトリセル116内に格納
される。例として、本発明の実施形態では、インデック
スセル116は、24バイトの固定レコードサイズを有
する。他の好適な実施の形態では、インデックスディレ
クトリセル116は、格納されるデータの類型及び要求
インデックス修飾レベルに応じて、より短い場合あるい
は長い場合がある。
【0027】着信メッセージが分析されると、そのメッ
セージに関するインデックス修飾情報がインデックスフ
ァイル106内に格納される。インデックスディレクト
リ及びデータバケットディレクトリを備えているので、
本発明の実施形態では、インデックスファイルの1ペー
ジは特定の日に対応する。同様に、2日目及び3日目に
ついてのインデックスファイルページ115がインデッ
クスファイル106の「後ろに」図示されている。これ
らのページ115は、他の定義済み時間間隔、あるい
は、他の条件に対応し得る。インデックスファイル10
6は、インデックスファイルヘッダ118から始まり、
インデックスファイルセル、例えば、セル120がそれ
に続く。以下に詳述するように、インデックスファイル
自身は、各着信メッセージに関する詳細インデックス修
飾情報を含むと共に、いくつかの異なるフィールドを含
む。本発明の実施形態では、インデックスファイルヘッ
ダ118は固定レコードサイズである。
【0028】図3は、本発明に係る発明の実施の形態に
従うメッセージ格納構造のユーザ格納領域を示すブロッ
ク図である。上述のように、メッセージ格納構造は、概
念的にデータ格納領域及びユーザ格納領域に分割され得
る。この区別は、図1に図示されているメッセージ格納
構造の機能性のために要求されるものではない。本発明
の実施形態では、区別は、メッセージ格納構造のメッセ
ージデータの局面及びユーザデータの局面を説明するた
めに用いられる。
【0029】メッセージ格納構造によってサービスされ
るネットワークのサイズ及び特にユーザ数によって、一
般ユーザ格納領域132は、ディレクトリ134と同様
に数千のユーザフォルダディレクトリを含み得る。ある
いは、わずか2、3のユーザがメッセージ格納構造にア
クセスしている場合には、ユーザ格納領域132は、
2、3のユーザフォルダディレクトリ、あるいは1つの
ディレクトリだけを含み得る。ユーザフォルダディレク
トリ134は、本質的に、ユーザのグループに対するユ
ーザフォルダ136の集合体である。一般的に、ユーザ
は常に、インボックスと呼ばれる新規メールを受信する
ためのユーザメールフォルダを1つ以上有している。電
子メールの場合には、ユーザは、特定の標題、あるい
は、ユーザ選択条件でメッセージを保持するためのカス
タマイズフォルダを生成し得る。ユーザフォルダ136
は、ヘッダ138から始まり、それにユーザフォルダセ
ル140が続く。本発明の実施形態では、一般ユーザフ
ォルダセル140は、メッセージに関するインデックス
修飾及び他の情報を含むが、メッセージの実データ、あ
るいは、実コンテンツは含まない。特定メッセージの実
コンテンツは、図2のデータバケットディレクトリ10
2内に格納される。このことは、特定のユーザフォルダ
に対する参照を有することにより、一度だけメッセージ
格納構造に対して格納、または、書き込みが行われるネ
ットワーク上における幾人かのユーザに割り当てられた
メッセージをメッセージ格納構造が有することを許容す
る。他の好適な発明の実施形態では、データは、ネット
ワーク上の幾人かのユーザによって参照される必要のあ
る、他の類型のデータであり得る。ユーザフォルダディ
レクトリ134内に含まれている他のフォルダは、管理
フォルダ及び、例えば、IMAP情報を保持するための
フォルダである。本発明の実施の形態では、各ユーザフ
ォルダディレクトリ134には、一般的に、整数の識別
子(識別器)が与えられる。例えば、ユーザの名字がそ
の特定の整数に対してハッシュされ得る。このことは、
各ユーザフォルダディレクトリ134におけるユーザネ
ームの実質的に均一な分布を許容する。
【0030】データバケットディレクトリ102、イン
デックスディレクトリ104、インデックスファイル1
06、及びユーザフォルダ(データスペース)ディレク
トリ134は、メッセージ格納構造が確実に無矛盾であ
ると共に、エラーの場合には、容易に修復され得るよう
に論理的に結合されている。一連の参照は、特定のフィ
ールド及び、インデックスディレクトリセル116、イ
ンデックスファイルセル120、ユーザフォルダセル1
38、及びデータバケット108内の特定フィールドの
値を参照して詳細に後述するように、記憶構成要素間に
パスを形成する。メッセージが受信されると、インデッ
クス修飾スレッドは、メッセージの構造及びコンテンツ
を検査する。受信済みメッセージのヘッダのダイジェス
トは、分析され、インデックスファイルセル120内に
収容される。同様に、メッセージの本体構造は分析さ
れ、そして、本体情報は、そのメッセージに対応するイ
ンデックスファイルセル内に格納される。本発明の実施
形態では、特定のメッセージが予め定められた長さより
長い場合には、メッセージは、配信中に、全体性能を遅
延させるボトルネックをサーバ上に生成しないように、
接続時に分析される。メッセージの構造を予め分析する
ことにより、本発明に係る1つの発明の実施の形態に従
うメッセージ格納構造を使用するクライアントは、例え
ば、メッセージが格納されているデータバケットから特
定のメッセージに関する全てのヘッダデータを一回の読
み取りによって取得し得る。詳細に後述するように、イ
ンデックスファイルセル116は、ユーザが、メッセー
ジ全体にアクセスする必要なく、一読操作によって特定
のメッセージから要求されたプロパティを取得し得るよ
うに、封筒情報、及び本体構造情報といった十分なメタ
データを有する。
【0031】図4は、本発明に係る発明の実施の形態の
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に増加させ、メッセージは、特定のユ
ーザによってビューされ得る。
【0032】図5は、本発明に係る発明の実施形態の1
つに従う、図2に図示されているインデックスディレク
トリヘッダ114内のフィールドを示すデータ構造図で
ある。データバケットカウントフィールド212は、特
定日に用いられるデータバケット108のデータバケッ
トカウントを含むと共に、主に整合性チェックのために
用いられる。複雑フラグフィールド214は、システム
がメッセージデータをインデックス修飾しているか否か
を表示するためのフラグを含んでいる。インデックスデ
ィレクトリセルカウントフィールド216は、現在、イ
ンデックスディレクトリ104中に在るインデックスデ
ィレクトリセル116の数を含んでいる。次期利用可能
セルフィールド218は、次に利用可能なインデックス
ディレクトリセルのロケーションを含む。本発明の実施
形態では、上記フィールドは、所定の順序でリストされ
ているが、他の好適な発明の実施形態では、フィールド
は、メッセージ格納構造の具体的なインプリメンテーシ
ョンに応じて、異なる順序で順序づけられ得る。さら
に、他の好適な発明の実施形態では、いくつかのフィー
ルドは、必要とされないことがあり得、あるいは、値を
含んでいないことがあり得る。繰り返して述べると、ど
のフィールドが用いられるかは、メッセージ格納構造の
具体的なインプリメンテーションに部分的に依存する。
【0033】図6は、発明の実施形態の1つに従う、イ
ンデックスファイルセル120内のフィールドを詳細に
示すデータ構造図である。インデックスファイルセルサ
イズ302は、インデックスファイルセルのサイズを提
供すると共に内部整合性チェックに用いられる、インデ
ックスファイルレコードサイズ303を含む。この値を
用いることにより、システムは、一つのレコードから他
のレコードへジャンプすることができると共に、新規の
インデックスファイルセルが、ディスクファイル上の予
測ロケーションにて開始し、終了するかを確認するため
にチェックすることにより整合性を確実にし得る。フィ
ールド304は、フィールド306のバイト数、また
は、長さを含む点で、識別長フィールド304及びデー
タバケット識別フィールド306は、関連付けられてい
る。データバケット識別フィールド306は、データバ
ケット識別子305を含むと共に、本発明の実施形態に
おいては、年のための4桁のアラビア数字、月のための
2桁のアラビア数字、日のための2桁のアラビア数字、
及び3桁の整数から構成される。これらの数字は、特定
のインデックスファイルセルに対応するメッセージを含
む、データバケット108に関する唯一識別子を構成す
る。識別長フィールド304は、単に、適当な長さであ
ることを保証することにより、データバケット識別子の
整合性を確実にするために用いられる。データバケット
オフセットフィールド308は、特定のインデックスフ
ァイルセルに関連付けられているメッセージを含むデー
タバケット内にオフセット309を含む。それは、本質
的にメッセージが配置されているデータバケット内のロ
ケーションを提供する。データレコードサイズフィール
ド310は、データバケット中にデータ311のサイズ
を含むと共に、メッセージのサイズ及び任意のプリアン
ブルデータのサイズを構成する。したがって、フィール
ド308及び310を備えることにより、システムは、
特定のデータバケット内のロケーションに直接進み、そ
して、一回の読み出しでインデックスファイルセルに関
連するデータレコード(すなわち、メッセージ)全体を
引き出すことができる。
【0034】ハッシュキーフィールド312は、特定の
メッセージが既にメッセージ格納構造内に在るか否かを
システムに通知するために用いられるハッシュテーブル
に関連付けられているハッシュキーを含む。したがっ
て、特定のメッセージがハッシュされ、そして、ハッシ
ュ値はハッシュテーブル内に存在すると決定された場合
には、システムは、メッセージが既にメッセージ格納構
造内に在ることを知り、これにより冗長さが低減され
る。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は可変長
である。
【0035】フィールド320〜328は、インデック
スファイルセルのインデックスファイル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は、格納されているデー
タの類型によってより多くの、あるいは、より少ないフ
ィールドを有し得る。
【0036】図7は、図6のセクションオフセットリス
トフィールド328を詳細に示すデータ構造図である。
他の好適な発明の実施形態では、セクションオフセット
リスト328は、格納済データの類型によって、データ
の他の類型に関するより具体的な情報を含むこともあ
り、あるいは、全く利用されないこともある。本体部分
フィールド400は、データバケット内に格納されてい
るメッセージの開始位置からのMIME本体部分のオフ
セットを含んでいる。このことは、システムがインデッ
クスファイルセル120にアクセスするだけで、メッセ
ージ内のMIMEセクションを取得することを許容す
る。ヘッダサイズフィールド402は、MIMEヘッダ
サイズを含んでいる。各MIME本体部分は、コンテン
ツ、類型、本体エンコーディングといった情報、及び公
開鍵情報といった他の情報を含む、MIMEヘッダを有
する。セクション類型フィールド404は、テキスト、
イメージ、あるいは、オーディオといったMIMEセク
ション類型を含む。セクション番号フィールド406
は、システムが本体部分番号をインデックスファイルセ
ルから直接取得することを許容する、MIMEセクショ
ン番号を含む。本発明の実施形態では、MIMEメッセ
ージが、その内の1つが他のMIME本体部分であり得
るいくつかの本体部分を有し得る場合には、このことは
重要である。特定のMIMEセクション番号が発見され
得ない場合には、システムは、データバケット内のメッ
セージにアクセスする必要なく、そのセクション番号は
存在しない旨をユーザに対して通知する。上記したセク
ションオフセットリストフィールド328内の全ての値
329は、これまで達成可能であった時間と比較して極
めて少ない時間でより多くの情報量を提供するために用
いられ得る。セクションオフセットリストフィールド3
28は、同様の利益を得るために他の好適な発明の実施
形態でも用いられ得る。
【0037】図8は、本発明に係る発明の実施形態の1
つに従う、データバケット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を含む。システムは、
本質的にインデックスディレクトリ、インデックスファ
イル、及びユーザファイル内の情報をバックトラックす
ることにより、メッセージ格納構造を復元することがで
きる。
【0038】インデックスディレクトリポインタフィー
ルド508は、インデックスディレクトリ104、より
具体的にはインデックスディレクトリセル116に対す
るポインタ509を含む。本発明の実施の形態では、整
数形式のポインタは、インデックスディレクトリ内の特
定のセルのロケーションを特定するために用いられる。
インデックスディレクトリセルのサイズは固定値509
なので、メッセージ又はデータに対応する特定ディレク
トリセルの開始ロケーションを決定するためにセルのサ
イズが掛け合わされる。この値は、メッセージ格納構造
内における記憶構成要素内のポインタにより形成された
閉ループが壊れていないことを確実にするためにも用い
られる。書き込み時間フィールド510は、メッセージ
がメッセージ格納構造に書き込まれた時間を含むと共
に、例えば、メッセージが他のシステムにエクスポート
される場合に、一定時間を維持するために用いられる。
本発明の実施形態では、時間は1970年1月1日から
計時され始めている。長さフィールド512及び送信者
名フィールド514は、フィールド512が送信者名の
長さを含むと共に、フィールド514が送信者の氏名を
含むメッセージの送信者を参照する。受信者カウントフ
ィールド516は、メッセージ受信者517の数を格納
し、あるいは、他の好適な発明の実施形態では、特定の
データ片の所有者又は創作者数を含む。受信者リストフ
ィールド518は、受信者(すなわち、所有者、創作者
等)の名前のリストを含む。メッセージサイズフィール
ド520は、(フィールド502内のデータレコードサ
イズ503とは異なる)実メッセージのサイズ521を
含む。メッセージサイズ521は、添付物を含み得る実
データのサイズであると共に、メッセージ中におけるヘ
ッダからデータの最終バイトまでのサイズである。
【0039】本発明の実施形態では、フィールド500
〜520は、特定メッセージに対するプリアンブルを構
成すると共に、メッセージ格納構造が整合しており、あ
らゆる局面において破壊されていないことを確実にする
ために用いられ得る。メッセージデータフィールド52
2は、送信者名フィールド514内に含まれる送信者デ
ータ構造から送信された実メッセージを含む。
【0040】図9は、本発明に係る発明の実施形態の一
つに従う、図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の適当なロケーションを決定するために、固定イン
デックスディレクトリセルサイズと共に用いられる。
【0041】ユニバーサル識別子フィールド608は、
特定メッセージのためのユニバーサル識別ラベル番号を
含むと共に、必要に応じて、データのバックアップ及び
復元に用いられる。到着時間フィールド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を使用する。この選択インデ
ックス修飾機能は、例外的な大きなメッセージをインデ
ックス修飾することに起因するサーバ上の遅れを排除す
る。
【0042】図10は、本発明に係る発明の実施の形態
の一つに従う、ユーザフォルダ136の詳細を示すデー
タ構造図である。ユーザフォルダの一般的な例は、新規
メッセージを保持するためのインボックスである。ユー
ザは種々の標題、あるいは、トピックスにに関するメー
ルを保持するために他のカスタマイズフォルダを生成し
得る。ユーザヘッダフィールド700は、特定のフォル
ダについてのユーザヘッダを含む。有効フィールド70
2は、IMAPによって利用されるユニバーサル識別ラ
ベル(UID)有効標識を含む。UIDが変更される
と、無効となる。これは、例えば、UIDが番号を付け
替えるときに発生すると共に、IMAPを知るために有
用な状態である。このフィールド及び他のフィールドに
関して、他の好適な発明の実施形態では、このフィール
ドは、他のインプリメンテーションの際に有用な他のフ
ラグ又は標識を格納するために用いられ得る。次標識フ
ィールド704は、次の着信メッセージ、あるいは、新
規に生成されたフォルダに対して割り当てられるべき次
期UIDを含む。メッセージカウンタフィールド706
は、特定のフォルダに関するメッセージ707の数、あ
るいは、データ項目数を含む。最新メッセージフィール
ド708は、ユーザが一見した最後のメッセージを格納
する。この値は、新規メールが到着してユーザがそのコ
ンテンツを見るときに変化する。書き込みデータフィー
ルド710は、本発明の実施形態においてマジック番号
と呼ばれる最後の書き込み日付を含む。それは、ユーザ
が特定のフォルダ上で書き込み操作を実行した最後の日
時である。マジック番号の一つの使用方法は、キャッシ
ュの再同期化である。マジック番号が、最後にチェック
されてから変更されていない場合には、そのメールボッ
クス内に何の動きもないので、システムは、その特定の
フォルダのためにキャッシュ再同期化を実行する必要は
ない。サイズフィールド712は、この特定フォルダか
らメッセージ格納構造内へ格納された実バイトの総数を
含む。それは、ユーザ上にインポーズされたメモリに関
する割り当てに有用なデータの総実バイト数を含む。続
くフィールド712は、図9に図示されるようにユーザ
セルを含むユーザセル領域714である。
【0043】図11は、本発明の実施形態に従う、電子
メールメッセージを受信するための構成要素、及びメッ
セージ格納構造へメッセージを配布するための構成要素
を示すブロック図である。メッセージ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に図示さ
れているシステム以外の配信システムを有し得る他の類
型のデータを格納するためにも用いられ得る。他の好適
な発明の実施形態では、データは、ユーザ又は、ブラウ
ザ、ワードプロセッサといった他のアプリケーションに
よってメッセージ格納ディレクトリ内に配置され得る。
【0044】図12は、本発明に係る発明の実施形態に
従う、メッセージ格納構造にメッセージを配信するため
のメッセージ格納マスタの処理過程を示すフローチャー
トである。図11を参照して説明したように、メッセー
ジ格納マスタは、新規電子メールメッセージを、ユーザ
用のメッセージ格納構造に配信する。図12を説明する
ために、メッセージ格納マスタは、稼働である、すなわ
ち、メッセージ格納チャネル内の第1メッセージを既に
読み込み済みであるとする。ステップ900では、メッ
セージ配信エージェントは、n個までの新規メッセージ
のファイル名を読み取る。本発明の実施形態では、エー
ジェントは10個までの新規メッセージを読み取ること
ができる。他の好適な発明の実施形態では、エージェン
トは、より多くの、あるいは、より少ないメッセージを
読み取り得る。ステップ902では、各ファイル、すな
わち、メッセージが1つの検索スレッドに割り当てられ
る。検索スレッドは、APIをコールすることによって
ファイルに割り当てられる。ステップ904では、各検
索スレッドは、図11のメッセージ格納チャネル808
内における自身に割り当てられたファイルにアクセスす
る。ステップ906では、処理過程は、並行してアクセ
スされるn個のメッセージ全てを待つ。一旦、ステップ
900にて読み取られた全てのファイル名が割り当てら
れると共にアクセスされると、検索スレッドは、追加の
メッセージをチェックするステップ908に移行する。
検索スレッドは、一旦、n個の空きバッファを取得し得
ると決定すると、これを実行することができる。メッセ
ージが存在しない場合には、スレッドはステップ908
にて新規メッセージのチェックを継続する。新規の着信
メッセージが存在する場合には、検索スレッドは、メッ
セージ配信エージェントが新規メッセージのファイル名
を読み取るステップ900にリターンする。
【0045】検索スレッドは新規メッセージをチェック
し、一方、インデックススレッド及び書き込みスレッド
は、検索スレッドによって先に割り当てられると共にア
クセスされたn個のメッセージを管理する。メッセージ
格納構造に対してn個のメッセージを書き込む際の最初
のステップがステップ910に図示されている。ステッ
プ910では、書き込みスレッドは、ランダムバケット
番号を発生させることによりデータバケットを選択す
る。本発明の実施形態では、一般的に、メッセージが駐
在可能な3個の空データバケットが存在する。ステップ
912では、処理過程は、選択済データバケット108
がいくらかでも残存メモリを有しているか否かを決定す
る。有していない場合には、他のランダムデータバケッ
ト番号を発生させるために、処理過程はステップ910
にリターンし、メッセージがメッセージ格納構造に書き
込まれ得るまで、必要に応じて追加のデータバケットを
生成しながらこの処理過程を継続する。データバケット
が一杯でない場合には、ステップ914において、書き
込みスレッドはn個のメッセージを選択済データバケッ
トの末端に付加する。ステップ916では、書き込みス
レッドは、データバケット番号のインデックススレッ
ド、バケットオフセット309、及びステップ914に
て付加された各メッセージのメッセージサイズ521を
通知する。ステップ918では、書き込みスレッドは、
検索スレッドによって割り当て済みであると共にアクセ
ス済みであり、メッセージ格納構造に書き込まれる必要
のあるメッセージがまだ存在するか否かをチェックす
る。存在する場合には、書き込みスレッドはステップ9
10にリターンする。新規メッセージが存在しない場合
には、書き込みスレッドはステップ918にてチェック
を継続する。
【0046】インデックススレッドは、書き込みインデ
ックスがメッセージ格納構造に対する書き込みを一旦終
えたインデックスディレクトリ及びファイル内へインデ
ックス情報の格納を開始する。ステップ920では、ス
テップ916にて説明したように、格納構造に対するn
個のメッセージの書き込みを終了し、インデックス修飾
情報をリターンするために、インデックススレッドは書
き込みスレッドを待つ。自身の先回のインデックス修飾
タスクを終了すると共にメッセージ格納構造に対する書
き込みを終えるために、インデックススレッドは書き込
みスレッドを待たなくてはならない場合がある。ステッ
プ922では、インデックススレッドは、インデックス
情報をインデックスディレクトリ及びインデックスファ
イルに書き込む。ステップ924では、インデックスデ
ィレクトリ及びインデックスファイル内でデータを検索
するために必要な参照情報は、ユーザフォルダセルに書
き込まれる。ステップ924では、対応インデックスス
ペースを参照するために十分な情報は、受信者数によっ
て、1つのインボックスフォルダセル、または、複数の
インブックスフォルダセルに書き込まれる。ステップ9
26では、新規メッセージの追加を表示するために、ユ
ーザフォルダヘッダ内の情報が更新される。ステップ9
26が終了した後、インデックススレッドは、ステップ
928にて、インデックス修飾されることを待っている
インデックス情報が存在するか否かをチェックする。存
在する場合には、メッセージ格納構造に既に書き込み済
みのメッセージに関する情報のインデックス修飾を開始
するために、インデックススレッドは、ステップ920
にリターンする。
【0047】本発明は、コンピュータシステム中に格納
されているデータに影響を与える種々のコンピュータ実
行動作を利用する。これらの動作は、これに限られるも
のではないが、物理量の物理的操作を必要とする動作を
含む。一般的に、必ずしも必要ではないが、これらの量
は、格納、転送、結合、比較、及びその他の操作が可能
な電気的又は磁気的信号の形を採る。ここに記載される
本発明の一部を形成する動作は、有用な機械動作であ
る。実行される動作はしばしば、例えば、製造、識別、
実行、決定、比較、演算、ダウンロード、あるいは、検
出といった用語で表現される。一般的に用いられている
ことを主な理由として、これら電気的又は磁気的信号
を、ビット、値、要素、変数、文字、データ等と呼ぶこ
とが時に便利である。しかしながら、これら用語及び類
似の用語の全ては適当な物理量と関連付けられ、また、
これら量に対して適用された都合の良いラベルにすぎな
いことに留意すべきである。
【0048】本発明はまた、前記動作を実行するための
デバイス、システム、又は装置に関連する。システム
は、特定の用途のために特別に構成され得る他、コンピ
ュータ中に格納されているコンピュータプログラムによ
って選択に起動され、または構成される汎用コンピュー
タたり得る。上記プロセスは、いかなる特定のコンピュ
ータ、または演算装置に対しても本質的に関連付けられ
るものではない。特に、種々の汎用コンピュータが、本
明細書中の開示に従い記述されたプログラムと共に用い
られ得る、あるいは、要求動作を実行するために更に特
定化されたコンピュータシステムを構成することがより
都合の良い場合もある。
【0049】図13は、本発明の1つの発明の実施の形
態に従う処理を実行するために好適な汎用コンピュータ
システム1000のブロック図である。図13は汎用コ
ンピュータシステムの一例を図示する。他のコンピュー
タシステムアーキテクチャ及び構成も本発明の処理を実
行するために用いられ得る。後述する種々のサブシステ
ムから成るコンピュータシステム1000は、1つ以上
の(中央処理装置、すなわちCPUとも呼ばれる)マイ
クロプロセッササブシステム1002を備えている。す
なわち、CPU1002はシングルチッププロセッサ若
しくはマルチプルプロセッサによって実現され得る。C
PU1002はコンピュータシステム1000の動作を
制御する汎用ディジタルプロセッサである。メモリから
受けた命令を用いて、CPU1002は、入力データの
受け取り並びに操作、及び出力並びに出力デバイス上に
おけるデータの表示を制御する。
【0050】CPU1002は、メモリバス1008を
介して、一般的にランダムアクセスメモリ(RAM)で
ある第1主記憶装置1004と双方向接続され、一般的
にリードオンリメモリ(ROM)である第2主記憶装置
1006と単方向接続されている。当業者に知られてい
るように、主記憶装置1004は汎用記憶領域及びスク
ラッチパッドメモリとして用いられ得ると共に、入力デ
ータ及び処理データを格納するためにも用いられ得る。
主記憶装置はまた、CPU1002上の動作を処理する
ための他のデータ及び命令の他に、メッセージ格納構造
形式のプログラム命令及びデータを記憶し得ると共に、
一般的に、メモリバス1008上で双方向にデータ及び
命令を高速に伝送するために用いられる。当業者に周知
であるように、主記憶装置1006は、一般的に、自身
の機能を実行するためにCPU1002によって用いら
れる基本動作命令、プログラムコード、データ、及びオ
ブジェクトを有する。主記憶装置1004、1006
は、例えば、データアクセスが双方向あるいは単方向接
続のどちらを必要とするかに基づいて、後述する任意の
好適なコンピュータ読み取り可能記憶媒体を含み得る。
CPU1002はまた、直接且つ高速に繁用データをキ
ャッシュメモリ(図示しない)内に格納し得ると共にキ
ャッシュメモリ1010内から検索し得る。
【0051】リムーバブル大容量記憶装置1012は、
コンピュータシステム1000に対して追加データ記憶
容量を提供し、CPU102に対して双方向あるいは単
方向接続されている。例えば、具体的なリムーバブル大
容量記憶装置としては、一般的に、CD−ROMは一般
的にCPU1002に対して単方向にデータを伝送する
のに対して、フロッピーディスクはCPU1002に対
して双方向にデータを伝送可能であるとして知られてい
る。大容量記憶装置1012はまた、磁気テープ、フラ
ッシュメモリ、搬送波に具現化された信号、PCカー
ド、携帯大容量記憶装置、ホログラフィック記憶装置、
及び他の記憶装置といったコンピュータ読み取り可能媒
体を含み得る。固定式大容量記憶装置1016もまた追
加のデータ記憶容量を提供し得るものであり、ペリフェ
ラルバス1014を介してCPU1002に対して双方
向伝送可能に結合されている。大容量記憶装置1016
の最も一般的な例は、ハードディスクドライブである。
一般的に、これら媒体に対するアクセスは主記憶装置1
004、1006に対するアクセスよりも遅い。大容量
記憶装置1012、1016は、一般的に、CPU10
02によって使用されていない追加プログラム命令、デ
ータ等を記憶する。大容量記憶装置1012、1016
内に格納される情報は、必要に応じて、一般的な方法で
仮想メモリとして主記憶装置1004(例えば、RA
M)の一部として組み込まれ得ることは理解されるべき
である。
【0052】記憶サブシステムに対するアクセスをCP
U1002に提供する他に、ペリフェラルバス1014
は、他のサブシステム及びデバイスに対するアクセスを
提供するためにも用いられ得る。本発明の実施の形態で
は、他のサブシステム並びにデバイスには、表示モニタ
1018、ディスプレイアダプタ1020、プリンタ装
置1022、ネットワークインターフェース1024、
補助入力/出力デバイスインターフェース1026、サ
ウンドカード1028及びスピーカ130、及び必要に
応じて他のサブシステム
【0053】ネットワークインターフェース1024に
より、CPU1002は、図示するネットワーク接続を
用いて、他のコンピュータ、コンピュータネット、ある
いは、電気通信ネットワークと接続することができる。
ネットワークインターフェース1024を通じて、CP
U1002は、上述の方法ステップの実行に従って、例
えば、データオブジェクト又はプログラム命令といった
情報を他のネットワークから受け取り、あるいは、他の
ネットワークに対して情報を出力し得ることが予期され
る。しばしばCPU上で実行される命令のシーケンスと
して表される情報は、例えば、搬送波に具現化されたコ
ンピュータデータ信号の形式で他のネットワークから受
け取られ得ると共に他のネットワークに対して出力され
得る。インターフェースカード又は類似のデバイス、及
びCPU1002によって実行される適当なソフトウェ
アは、標準プロトコルに従ってコンピュータシステム1
000を外部ネットワークに対して接続するために用い
られ得ると共に、データを伝送するために用いられ得
る。すなわち、本発明に係る方法の発明の実施の形態
は、CPU1002単独で実行され得ると共に、例え
ば、インターネット、イントラネット、若しくはローカ
ルエリアネットワークといったネットワークを横断し
て、処理の一部を共有する遠隔CPUと共に実行され得
る。追加大容量記憶装置(図示しない)もまた、ネット
ワークインターフェース1024を介してCPU100
2と接続され得る。
【0054】補助I/Oデバイスインターフェース10
26は、コンピュータシステム1000が、マイクロフ
ォン、接触感応ディスプレイ、トランスジューサカード
リーダ、テープリーダ、音声又は手書き認識装置、生物
測定リーダ、カメラ、携帯式大容量記憶装置、及び他の
コンピュータといった他のデバイスとの間でデータを送
受信することを許容する、汎用及び専用インターフェー
スを表し得る。
【0055】CPU1002には、キーボード103
6、あるいは、ポインタデバイス1038からの入力を
受信すると共にキーボード1036、あるいは、ポイン
タデバイス1038からCPU1002へデコード済シ
ンボルを送信するためのキーボードコントローラ103
2がローカルバス1034を介して結合されている。ポ
インタデバイスは、マウス、スタイラス、トラックボー
ル、または、タブレットを含み得ると共に、グラフィカ
ルユーザフェースとの対話に有用である。
【0056】さらに、本発明の実施の形態は、種々のコ
ンピュータ実行動作を実行するためのプログラムコード
を含むコンピュータ読み取り可能媒体を備えるコンピュ
ータ記憶製品に関する。コンピュータ読み取り可能媒体
は、後にコンピュータによって読み取られ得るデータを
格納する任意のデータ記憶装置である。媒体及びプログ
ラムコードは、本発明の目的のために特別に設計され且
つ構成されたもの、あるいは、コンピュータソフト業界
における当業者にとって周知の種類のものであり得る。
コンピュータ読み取り可能媒体には、これらに限られる
ものではないが、例えば、上述の全ての媒体、すなわ
ち、ハードディスク、フロッピーディスク、及び磁気テ
ープといった磁気媒体、CD−ROMディスクのような
光媒体、フロプティカルディスクのような磁気−光媒
体、特定用途向け集積回路(ASIC)プログラマブル
論理回路(PLD)及びROM及びRAMデバイスが含
まれる。コンピュータ読み取り可能媒体はまた、コンピ
ュータ読み取り可能コードが分散方式にて格納及び実行
されるように、搬送波に具現化されたデータ信号として
コンピュータシステムに接続されているネットワークを
通じて分散され得る。プログラムコードの例には、例え
ばコンパイラにより生成されたマシンコード、あるい
は、インタプリタを使用して実行され得る高レベルコー
ドを含むファイルの双方が含まれる。
【0057】当業者によって理解されるように、上記ハ
ードウェア及びソフトウェア要素は、標準的な設計及び
構成である。本発明に用いることが適当な他のコンピュ
ータシステムは、付加的な、あるいは、より少ないサブ
システムを含み得る。さらに、メモリバス1008、ペ
リフェラルバス1014、及びローカルバス1034
は、サブシステムにリンクするために機能する任意の相
互結合方式の例示である。例えば、ローカルバスは、C
PUを固定大容量記憶装置1016及びディスプレイア
ダプタ1020に接続するために用いられ得る。図13
に図示されるコンピュータシステムは、本発明に用いる
ことが好ましいコンピュータシステムの例示にすぎな
い。異なるサブシステム構成を有する他のコンピュータ
アーキテクチャもまた用いられ得る。
【0058】以上、本発明に対する理解を明瞭にするた
めに詳細に本発明を説明したが、特許請求の範囲から逸
脱することなく、一定の変更及び改良が実行され得るこ
とは明白である。さらに、本発明の方法及び装置の双方
を実現する代わりの方法が存在することに留意すべきで
ある。例えば、メッセージ格納構造は、IMAPインデ
ックスを用いて説明されているが、メッセージ格納構造
は、マルチメディアデータ、又は他の類型のデータを格
納するために他のメールプロトコルに対して同様に構成
され得る。また例えば、種々のセルのフィールドが特定
の順序で記載されているが、フィールドの順序はメッセ
ージ格納構造の特徴として要求されない。フィールド
は、異なる順序で順序付けられ得ると共に、本発明の性
能及び利点に影響を与えることなく省略あるいは付加さ
れ得る。したがって、記載されている例示は説明と考え
られるべきであり、制限と考えられるべきでない。ま
た、本発明は、本明細書の詳細な記載に限定されるもの
でなく、特許請求の範囲に記載、並びに、その均等の範
囲によって定義されるべきである。
【図面の簡単な説明】
【図1】本発明に係る発明の実施の形態の一つに従う、
メッセージ格納構造のブロック図。
【図2】本発明に係る発明の実施の形態の一つに従う、
メッセージ格納構造のデータ格納領域を示すブロック
図。
【図3】本発明に係る発明の実施の形態の一つに従う、
メッセージ格納構造のユーザ格納領域を示すブロック
図。
【図4】図2に図示されるインデックスディレクトリセ
ル内のフィールドを示すデータ構造図。
【図5】図2に図示されるインデックスディレクトリヘ
ッダ内のフィールドを示すデータ構造図。
【図6】インデックスファイルセル内のフィールドを詳
細に示すデータ構造図。
【図7】本発明のセクションオフセットリストを詳細に
示すデータ構造図。
【図8】図2に図示されるデータバケットディレクトリ
内のヘッダ及びメッセージを詳細に示すデータ構造図。
【図9】図3のユーザフォルダ内のメッセージセルを詳
細に示すデータ構造図。
【図10】図3のユーザフォルダを詳細に示すデータ構
造図。
【図11】本発明に係るメッセージ格納構造に対してメ
ッセージを配信、及び電子メールメッセージの受取に必
要な構成要素を示すデータ構造図。
【図12】本発明に係るメッセージ格納構造に対してメ
ッセージを配信する処理過程を示すフローチャート。
【図13】本発明に係る既述の発明の実施形態を実現す
るために好適な一般的なコンピュータシステムのブロッ
ク図。
フロントページの続き (71)出願人 591064003 901 SAN ANTONIO ROAD PALO ALTO,CA 94303,U. S.A. (72)発明者 ウイリアム・ジェイ.・イーガー アメリカ合衆国 カリフォルニア州94025 メンロ・パーク,バークレー・アベニュ ー,620

Claims (44)

    【特許請求の範囲】
  1. 【請求項1】 各々が複数のメッセージを含むために好
    適である複数のページベースデータバケットと、 各々が複数のインデックスファイルセルを含むために好
    適である1つ以上のインデックスファイルページを含む
    ページベースインデックスファイルと、各インデックス
    ファイルセルは前記メッセージの内の関連する1つのメ
    ッセージを特徴付けるインデックス情報を格納するため
    に構成されていることと、 各々が複数のインデックスディレクトリセルを含むため
    に好適である1つ以上のインデックスディレクトリペー
    ジを含むページベースインデックスディレクトリと、各
    インデックスディレクトリセルは、関連インデックスフ
    ァイルセルのロケーションを検知するために好適なディ
    レクトリ情報を格納するために構成されていると共に、
    これにより前記インデックスファイルに関連付けられて
    いる前記特定のメッセージに関連付けられることを備え
    る、メッセージ格納構造。
  2. 【請求項2】 請求項1に記載のメッセージ格納構造は
    さらに、各々がユーザに関連付けられていると共に複数
    のユーザセルを含むために好適である複数のページベー
    スユーザフォルダを備え、前記各ユーザセルは前記ユー
    ザに関連するメッセージを参照する、メッセージ格納構
    造。
  3. 【請求項3】 請求項2に記載のメッセージ格納構造に
    おいて、各ユーザセルは、このユーザセルをインデック
    スディレクトリセル自身の参照済メッセージに関連付け
    るインデックスディレクトリセルに対する第1インデッ
    クスディレクトリ参照指示器を含む、メッセージ格納構
    造。
  4. 【請求項4】 請求項2又は請求項3に記載のメッセー
    ジ格納構造において、各ユーザセルはさらに、どのユー
    ザフォルダが前記ユーザセルを含んでいるかを示すユー
    ザフォルダ識別器を有する、メッセージ格納構造。
  5. 【請求項5】 請求項2又は請求項3に記載のメッセー
    ジ格納構造において、各ユーザセルはさらに、参照済メ
    ッセージが前記格納構造内に到着した時間を表示する到
    着時間を有する、メッセージ格納構造。
  6. 【請求項6】 請求項2に記載のメッセージ格納構造に
    おいて、各ユーザフォルダは、前記メッセージのサイズ
    を示す総サイズ値を含む、メッセージ格納構造。
  7. 【請求項7】 請求項2又は請求項6に記載のメッセー
    ジ格納構造において、各ユーザフォルダはさらに、新規
    ユーザセルを識別するための次期ユニーク識別器を有す
    る、メッセージ格納構造。
  8. 【請求項8】 請求項2、請求項6又は請求項7のいず
    れかの請求項に記載のメッセージ格納構造において、各
    ユーザフォルダはさらに、前記ユーザフォルダによって
    参照された前記最近のメッセージが前記メッセージ格納
    構造に書き込まれた日を示す最終書き込み日を有する、
    メッセージ格納構造。
  9. 【請求項9】 請求項2又は請求項6に記載のメッセー
    ジ格納構造において、各ユーザフォルダはさらに、前記
    ユーザフォルダ内において参照されたメッセージ数を示
    すメッセージカウントを有する、メッセージ格納構造。
  10. 【請求項10】 請求項1に記載のメッセージ格納構造
    において、各データバケットページ、各インデックスフ
    ァイルページ及び各インデックスディレクトリページ
    は、予め定められた長さの時間と関連付けられる、メッ
    セージ格納構造。
  11. 【請求項11】 請求項1に記載のメッセージ格納構造
    において、各インデックスディレクトリセルは、現在、
    前記関連メッセージを参照しているユーザ数を示す参照
    カウンタを有する、メッセージ格納構造。
  12. 【請求項12】 請求項1に記載のメッセージ格納構造
    において、各インデックスディレクトリセルは、関連イ
    ンデックスファイルセルに対する第1インデックスファ
    イル参照指示器を有する、メッセージ格納構造。
  13. 【請求項13】 請求項12に記載のメッセージ格納構
    造において、前記第1インデックスファイル参照指示器
    は、インデックスファイル内における前記インデックス
    ファイルセルのロケーションを示すインデックスファイ
    ルオフセット、及び前記インデックスファイルセルの前
    記サイズを示す関連インデックスファイルセルサイズを
    有する、メッセージ格納構造。
  14. 【請求項14】 請求項1に記載のメッセージ格納構造
    はさらに、特定のインデックスディレクトリページ内に
    おけるインデックスディレクトリセル数を示すセル数カ
    ウンタを含むインデックスディレクトリヘッダを備え
    る、メッセージ格納構造。
  15. 【請求項15】 請求項14に記載のメッセージ格納構
    造において、前記インデックスディレクトリヘッダはさ
    らに、前記インデックスディレクトリにおける新規イン
    デックスディレクトリセルのロケーションを示す次期ロ
    ケーションを含む、メッセージ格納構造。
  16. 【請求項16】 請求項15に記載のメッセージ格納構
    造において、前記インデックスディレクトリヘッダはさ
    らに、インデックスディレクトリページによって用いら
    れるデータバケット数を示すデータバケットカウンタを
    含む、メッセージ格納構造。
  17. 【請求項17】 請求項1に記載のメッセージ格納構造
    において、各インデックスファイルセルは、前記インデ
    ックスファイルセルのサイズを示すインデックスファイ
    ルセルサイズを含み、これにより、内部整合性試験が促
    進される、メッセージ格納構造。
  18. 【請求項18】 請求項1または請求項17のいずれか
    の請求項に記載のメッセージ格納構造において、各イン
    デックスファイルセルは、前記関連データバケット内に
    おける前記関連メッセージに対するメッセージ指示器を
    含む、メッセージ格納構造。
  19. 【請求項19】 請求項18に記載のメッセージ格納構
    造において、前記メッセージ指示器は、前記関連メッセ
    ージを含むデータバケットを識別するデータバケット識
    別器、及び前記識別済データバケット内における前記関
    連メッセージのロケーションを示すデータバケットオフ
    セットを有する、メッセージ格納構造。
  20. 【請求項20】 請求項1に記載のメッセージ格納構造
    において、各インデックスファイルセルは、関連メッセ
    ージサイズを含む、メッセージ格納構造。
  21. 【請求項21】 請求項1、請求項17、請求項18ま
    たは請求項20の内いずれか一つの請求項に記載のメッ
    セージ格納構造において、各インデックスファイルセル
    は、関連データバケット内におけるメッセージセクショ
    ンのロケーションを示す関連メッセージセクションオフ
    セットリストを含む、メッセージ格納構造。
  22. 【請求項22】 請求項1に記載のメッセージ格納構造
    において、メッセージはプリアンブルデータ及びユーザ
    によって伝達された実データを含むメッセージデータを
    含む、メッセージ格納構造。
  23. 【請求項23】 請求項22に記載のメッセージ格納構
    造において、 前記プリアンブルデータは前記メッセージのサイズを示
    すメッセージサイズを含み、 前記プリアンブルデータは関連インデックスファイルセ
    ルに対する第2インデックスファイル参照指示器を有す
    る、メッセージ格納構造。
  24. 【請求項24】 請求項22または請求項23に記載の
    メッセージ格納構造において、前記プリアンブルデータ
    は、関連インデックスディレクトリセルに対する第2イ
    ンデックスディレクトリ参照指示器を含む、メッセージ
    格納構造。
  25. 【請求項25】 請求項24に記載のメッセージ格納構
    造はさらに、 ユーザセル内に第1インデックスディレクトリ参照指示
    器を、 インデックスディレクトリセル内に第1インデックスフ
    ァイル参照指示器を、 前記メッセージ内に第2インデックスファイル参照指示
    器を、 前記インデックスファイルセル内にメッセージ指示器を
    備え、 これら指示器は、要求された場合に、前記プリアンブル
    データ内における前記第2インデックスディレクトリ参
    照指示器と協働して、前記メッセージ格納構造が、前記
    メッセージ格納構造のページの内部整合性試験、及び復
    元を実行することを可能にする、メッセージ格納構造。
  26. 【請求項26】 請求項24に記載のメッセージ格納構
    造はさらに、 インデックスディレクトリセル内に第1インデックスフ
    ァイル参照指示器を、 前記インデックスファイルセル内にメッセージ指示器
    を、 前記メッセージ内に第2インデックスファイル参照指示
    器を備え、 これら指示器は、前記プリアンブルデータ内の前記第2
    インデックスディレクトリ参照指示器と協働して、前記
    データバケット、インデックスファイル、及びインデッ
    クスディレクトリ内に自立参照機構を形成する、メッセ
    ージ格納構造。
  27. 【請求項27】 請求項22乃至請求項24の内いずれ
    か一つの請求項に記載のメッセージ格納構造において、
    前記プリアンブルデータは、メッセージ送信者名、及び
    前記メッセージを参照するユーザ数を示す受信者カウン
    トを含む、メッセージ格納構造。
  28. 【請求項28】 着信メッセージをメッセージ格納構造
    内に格納するための方法であって、 前記着信メッセージを前記メッセージ格納構造のデータ
    バケット部に付加し、 インデックスデータを生成すべく、前記着信メッセージ
    をインデックス修飾し、少なくともいくつかのインデッ
    クス修飾は、前記着信メッセージが前記データバケット
    に付加される間に完了され、 前記インデックスデータを前記メッセージ格納構造のイ
    ンデックス部に付加する、方法。
  29. 【請求項29】 請求項28に記載の方法において、前
    記着信メッセージは、前記メッセージ格納構造内に既存
    するインデックスメッセージに対するアクセスを実質的
    に妨げることなく、前記メッセージ格納構造の前記デー
    タバケット部に付加される、方法。
  30. 【請求項30】 請求項28または請求項29に記載の
    方法において、前記着信メッセージのインデックス修飾
    は、前記インデックスデータ中に含まれるべき前記メッ
    セージ格納構造の前記データバケット部上のデータを取
    得することを含む、方法。
  31. 【請求項31】 請求項28乃至請求項30の内いずれ
    か一つの請求項に記載の方法はさらに、前記着信メッセ
    ージが前記メッセージ格納構造の前記データバケット部
    に付加される間は、アクセスを前記メッセージ格納構造
    の前記データバケット部の不使用セクションに対するア
    クセスに制限する、方法。
  32. 【請求項32】 着信メッセージをメッセージ格納構造
    内に格納するための方法であって、 前記メッセージ格納構造内に既存するメッセージに対す
    るアクセスを実質的に妨げることなく、前記着信メッセ
    ージを前記メッセージ格納構造のデータバケット部に付
    加し、 インデックスデータを生成すべく、前記着信メッセージ
    をインデックス修飾し、 前記インデックスデータを前記メッセージ格納構造のイ
    ンデックス部に付加する、方法。
  33. 【請求項33】 請求項32に記載の方法において、少
    なくともいくつかのインデックス修飾は、前記着信メッ
    セージが前記メッセージ格納構造の前記データバケット
    に付加される間に完了される、方法。
  34. 【請求項34】 請求項32または請求項33に記載の
    方法はさらに、前記着信メッセージが前記メッセージ格
    納構造の前記データバケット部に付加される間は、アク
    セスを前記メッセージ格納構造の前記データバケット部
    の不使用セクションに対するアクセスに制限する、方
    法。
  35. 【請求項35】 請求項32乃至請求項34の内いずれ
    か一つの請求項に記載の方法において、前記着信メッセ
    ージのインデックス修飾はさらに、前記インデックスデ
    ータ中に含まれるべき前記メッセージ格納構造の前記デ
    ータバケット部上のデータを取得することを含む、方
    法。
  36. 【請求項36】 メッセージ格納構造が埋め込まれてい
    るコンピュータ読み取り可能媒体であって、前記メッセ
    ージ格納構造は、 各々が複数のメッセージを含むために好適である複数の
    ページベースデータバケットと、 その各ページが複数のインデックスファイルセルを含む
    ために好適であるページベースインデックスファイル
    と、各インデックスファイルセルは前記メッセージの内
    の関連する1つのメッセージを特徴付けるインデックス
    情報を格納するために構成されていることと、 その各ページが複数のインデックスディレクトリセルを
    含むために好適であるページベースインデックスディレ
    クトリと、各インデックスディレクトリセルは、関連イ
    ンデックスファイルセルのロケーションを検知するため
    に好適なディレクトリ情報を格納するために構成されて
    いると共に、これにより前記インデックスファイルに関
    連付けられている前記特定のメッセージに関連付けられ
    ることとを備える、コンピュータ読み取り可能媒体。
  37. 【請求項37】 請求項36に記載のコンピュータ読み
    取り可能媒体はさらに、各々がユーザに関連付けられて
    いると共に複数のユーザセルを含むために好適である複
    数のページベースユーザフォルダを備え、各ユーザセル
    は前記ユーザに関連するメッセージ格納構造内における
    メッセージを参照する、コンピュータ読み取り可能媒
    体。
  38. 【請求項38】 請求項37に記載のコンピュータ読み
    取り可能媒体において、各ユーザセルは、インデックス
    ディレクトリセルに対する第1インデックスディレクト
    リ参照ポインタを有し、これによりこれらユーザセルを
    インデックスディレクトリセル自身の参照済メッセージ
    に関連付ける、コンピュータ読み取り可能媒体。
  39. 【請求項39】 請求項37又は請求項38に記載のコ
    ンピュータ読み取り可能媒体において、各ユーザセルは
    さらに、どのユーザフォルダが前記ユーザセルを含んで
    いるかを示すユーザフォルダ識別子を有する、コンピュ
    ータ読み取り可能媒体。
  40. 【請求項40】 着信メッセージをメッセージ格納構造
    内に格納するためのプログラムコードを格納するコンピ
    ュータ読み取り可能媒体であって、 前記着信メッセージを前記メッセージ格納構造のデータ
    バケット部に付加するステップと、 インデックスデータを生成すべく、前記着信メッセージ
    をインデックス修飾するステップであって、少なくとも
    いくつかのインデックス修飾は、前記着信メッセージが
    前記データバケットに付加される間に完了される、イン
    デックス修飾ステップと、 前記インデックスデータを前記メッセージ格納構造のイ
    ンデックス部に付加するステップとを、コンピュータに
    実行させるために構成されているコンピュータプログラ
    ムデバイスを備える、コンピュータ読み取り可能媒体。
  41. 【請求項41】 請求項40に記載のコンピュータ読み
    取り可能媒体はさらに、前記着信メッセージが前記メッ
    セージ格納構造の前記データバケット部に付加される間
    は、アクセスを前記メッセージ格納構造の前記データバ
    ケット部の不使用セクションに対するアクセスに制限す
    るステップを、コンピュータに実行させるために構成さ
    れているコンピュータプログラムデバイスを備える、コ
    ンピュータ読み取り可能媒体。
  42. 【請求項42】 着信メッセージをメッセージ格納構造
    内に格納するためのプログラムコードを格納するコンピ
    ュータ読み取り可能媒体であって、 前記メッセージ格納構造内に既存するメッセージに対す
    るアクセスを実質的に妨げることなく、前記着信メッセ
    ージを前記メッセージ格納構造のデータバケット部に付
    加するステップと、 インデックスデータを生成すべく、前記着信メッセージ
    をインデックス修飾するステップと、 前記インデックスデータを前記メッセージ格納構造のイ
    ンデックス部に付加するステップとを、コンピュータに
    実行させるために構成されているコンピュータプログラ
    ムデバイスを備える、コンピュータ読み取り可能媒体。
  43. 【請求項43】 搬送波に具現化されていると共に命令
    シーケンスを表すコンピュータデータ信号であって、処
    理装置によって実行されるとき、 着信メッセージを前記メッセージ格納構造のデータバケ
    ット部に付加するステップと、 インデックスデータを生成すべく、前記着信メッセージ
    をインデックス修飾するステップであって、少なくとも
    いくつかのインデックス修飾は、前記着信メッセージが
    前記データバケットに付加される間に完了される、イン
    デックス修飾ステップと、 前記インデックスデータを前記メッセージ格納構造のイ
    ンデックス部に付加するステップとを、実行することに
    よって前記処理装置に着信メッセージをメッセージ格納
    構造内に格納させる、コンピュータデータ信号。
  44. 【請求項44】 搬送波に具現化されていると共に命令
    シーケンスを表すコンピュータデータ信号であって、処
    理装置によって実行されるとき、 前記メッセージ格納構造内に既存するメッセージに対す
    るアクセスを実質的に妨げることなく、着信メッセージ
    を前記メッセージ格納構造のデータバケット部に付加す
    るステップと、 インデックスデータを生成すべく、前記着信メッセージ
    をインデックス修飾するステップと、 前記インデックスデータを前記メッセージ格納構造のイ
    ンデックス部に付加するステップとを、実行することに
    よって前記処理装置に着信メッセージをメッセージ格納
    構造内に格納させる、コンピュータデータ信号。
JP11119493A 1998-04-27 1999-04-27 高性能なメッセ―ジ格納構造 Pending JP2000003321A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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