JP2018041206A - Mail data management device, mail data management method, and mail data management program - Google Patents

Mail data management device, mail data management method, and mail data management program Download PDF

Info

Publication number
JP2018041206A
JP2018041206A JP2016173709A JP2016173709A JP2018041206A JP 2018041206 A JP2018041206 A JP 2018041206A JP 2016173709 A JP2016173709 A JP 2016173709A JP 2016173709 A JP2016173709 A JP 2016173709A JP 2018041206 A JP2018041206 A JP 2018041206A
Authority
JP
Japan
Prior art keywords
mail
data
thread
unit
partial
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.)
Granted
Application number
JP2016173709A
Other languages
Japanese (ja)
Other versions
JP6809060B2 (en
Inventor
健一 江上
Kenichi Egami
健一 江上
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2016173709A priority Critical patent/JP6809060B2/en
Publication of JP2018041206A publication Critical patent/JP2018041206A/en
Application granted granted Critical
Publication of JP6809060B2 publication Critical patent/JP6809060B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

PROBLEM TO BE SOLVED: To decrease a storage capacity required for storing e-mails.SOLUTION: A mail data management device includes: a mail data storage part capable of storing data about e-mails; a thread determination part determining whether or not one or more e-mails are included in the same thread; a mail data decomposition part which decomposes mail data composing an e-mail into first partial data included in thread data stored to a mail data storage part every thread including the e-mail and a second partial data individually stored to the mail data storage part every e-mail; and a data size adjusting part which creates thread data smaller in data size than a sum total of the data size of the e-mails included at least in the thread on the basis of the first partial data related to the e-mails included in the thread every thread.SELECTED DRAWING: Figure 10A

Description

本開示は、受信したメールデータを保存可能なメールデータ管理装置等に関する。   The present disclosure relates to a mail data management device that can store received mail data.

近年、電子メールシステムが広く用いられている。電子メールシステムを用いて送受信される電子メールの数及びサイズは増大する傾向にあり、係る電子メールを記憶(保存)するために膨大なサイズの記憶装置(ストレージ)が必要なっている。また、記憶された電子メールが増大するにつれ、電子メールに関するデータの取得(閲覧、検索等)に時間を要することがある。   In recent years, electronic mail systems have been widely used. The number and size of e-mails transmitted and received using an e-mail system tends to increase, and a storage device (storage) with a huge size is required to store (save) such e-mails. Also, as the number of stored emails increases, it may take time to acquire (browse, search, etc.) data related to emails.

係る電子メールの管理に関する技術が、例えば、以下の各特許文献に記載されている。   Techniques relating to such e-mail management are described in the following patent documents, for example.

特許文献1には、電子メールを構成するそれぞれの部分を、複数のデータベースを用いて個別に蓄積し、データベース毎に検索条件に該当する電子メールを検索する検索システムが記載されている。   Patent Document 1 describes a search system in which each part constituting an e-mail is individually stored using a plurality of databases, and an e-mail corresponding to a search condition is searched for each database.

特許文献2には、複数人に送信された同一内容のメールを共有メールボックスにより一元管理するメールシステムに関する技術が記載されている。特許文献2に開示されたメールシステムは、同じ内容のメール本文が重複して蓄積されないよう、共有メールボックスへの蓄積を制御することで、メールの蓄積に要する記憶容量を低減する。   Patent Document 2 describes a technology related to a mail system that centrally manages mails of the same content transmitted to a plurality of people using a shared mailbox. The mail system disclosed in Patent Literature 2 reduces the storage capacity required for storing mails by controlling the storage in the shared mailbox so that the mail text with the same content is not stored repeatedly.

特開2009−128973号公報JP 2009-128973 A 特開2009−200999号公報JP 2009-200999 A

電子メールの保存に要するストレージ容量を低減する技術として、データを圧縮(compress)する技術が知られている。しかしながら、データの圧縮には時間を要し、また圧縮したデータを読み出す際の展開(decompress)処理にも時間を要する、という問題がある。よって、電子メールのデータを単に圧縮した場合、当該電子メールの閲覧、検索等の処理性能が低下する可能性がある。即ち、電子メールの保存及び管理に関して、データサイズを低減するとともに、データの読み出し性能の低下を抑制する、という課題がある。   A technique for compressing data is known as a technique for reducing the storage capacity required for storing e-mails. However, there is a problem that it takes time to compress data, and time is also required for a decompression process when reading the compressed data. Therefore, when electronic mail data is simply compressed, processing performance such as browsing and searching for the electronic mail may be reduced. That is, with respect to storing and managing e-mails, there is a problem of reducing the data size and suppressing a decrease in data reading performance.

これに対して、上記特許文献1に記載されたシステムは、メールデータの検索を効率化するために、検索する情報に応じて個別のデータベースを使用する。特許文献1に開示された技術では、メールデータの蓄積に要する記憶容量を低減できない場合がある。また、特許文献2のシステムにおいては、一元管理の対象となるメールが限られている。係るシステムでは、一元管理の対象とならないメールの蓄積に要する記憶容量を低減することが困難な場合がある。   On the other hand, the system described in Patent Document 1 uses an individual database according to information to be searched in order to improve the search of mail data. With the technique disclosed in Patent Document 1, the storage capacity required for storing mail data may not be reduced. Further, in the system of Patent Document 2, the number of emails that are subject to centralized management is limited. In such a system, it may be difficult to reduce the storage capacity required for storing mail that is not subject to centralized management.

本開示に係る技術は、上記のような事情を鑑みて開発されたものである。即ち、本開示は、メールデータの記憶に要する記憶容量を低減しつつ、メールデータの読み出し性能の低下を抑えることができるメールデータ管理装置等を提供することを主たる目的の一つとする。   The technology according to the present disclosure has been developed in view of the above circumstances. That is, the present disclosure has as one of its main objects to provide a mail data management device and the like that can suppress a decrease in mail data reading performance while reducing the storage capacity required for storing mail data.

上記の目的を達成すべく、本開示の一態様に係るメールデータ管理装置は、電子メールに関するデータを記憶可能なメールデータ保存部と、1以上の電子メールが同一のスレッドに含まれるか否かを判定するスレッド判定部と、上記電子メールを構成するメールデータを、上記電子メールが含まれるスレッド毎に上記メールデータ保存部に記憶されるスレッドデータに含まれる第1の部分データと、上記電子メール毎に個別に上記メールデータ保存部に記憶され第2の部分データとに分解するメールデータ分解部と、スレッド毎に、当該スレッドに含まれる上記電子メールに関する上記第1の部分データに基づいて、少なくとも当該スレッドに含まれる上記電子メールのデータサイズの総和よりも小さいデータサイズの上記スレッドデータを作成するデータサイズ調整部と、を備える。   In order to achieve the above object, a mail data management device according to an aspect of the present disclosure includes a mail data storage unit capable of storing data related to email and whether or not one or more emails are included in the same thread. A thread determination unit for determining the mail, mail data constituting the electronic mail, first partial data included in thread data stored in the mail data storage unit for each thread including the electronic mail, and the electronic Based on the first partial data relating to the electronic mail included in the thread, for each thread, the mail data decomposing unit that is stored in the mail data storage unit individually for each mail and decomposed into the second partial data The thread data having a data size smaller than at least the total data size of the e-mails included in the thread Comprising a data size adjustment unit which formed, the.

また、本開示の一態様に係るメールデータ管理方法は、電子メールに関するデータを記憶可能なメールデータ保存部を備えた情報処理装置が、1以上の電子メールが同一のスレッドに含まれるか否かを判定し、上記電子メールを構成するメールデータを、上記電子メールが含まれるスレッド毎に上記メールデータ保存部に記憶されるスレッドデータに含まれる第1の部分データと、上記電子メール毎に個別に上記メールデータ保存部に記憶され第2の部分データとに分解し、スレッド毎に、当該スレッドに含まれる上記電子メールに関する上記第1の部分データに基づいて、少なくとも当該スレッドに含まれる上記電子メールのデータサイズの総和よりも小さいデータサイズの上記スレッドデータを作成する方法である。   In addition, in the mail data management method according to an aspect of the present disclosure, an information processing apparatus including a mail data storage unit capable of storing data related to an e-mail includes whether one or more e-mails are included in the same thread. And determining the mail data constituting the e-mail individually for each e-mail and the first partial data included in the thread data stored in the mail data storage unit for each thread including the e-mail. And the second partial data stored in the mail data storage unit, and for each thread, based on the first partial data related to the electronic mail included in the thread, at least the electronic included in the thread This is a method for creating the thread data having a data size smaller than the sum of the mail data sizes.

また、同目的は、上記構成を有するメールデータ管理装置、メールデータ管理方法をコンピュータによって実現するコンピュータ・プログラム、及び、そのコンピュータ・プログラムが格納されているコンピュータ読み取り可能な記録媒体等によっても達成される。   The object is also achieved by a mail data management apparatus having the above configuration, a computer program that implements the mail data management method by a computer, a computer-readable recording medium in which the computer program is stored, and the like. The

本開示に係る技術に依れば、メールデータの記憶に要する記憶容量を低減しつつ、メールデータの読み出し性能の低下を抑えることが可能である。   According to the technology according to the present disclosure, it is possible to suppress a decrease in mail data reading performance while reducing a storage capacity required for storing mail data.

図1は、本開示の第1の実施形態におけるメールデータ管理装置の機能的な構成を例示するブロック図である。FIG. 1 is a block diagram illustrating a functional configuration of a mail data management device according to the first embodiment of the present disclosure. 図2は、本開示の第1の実施形態におけるメールデータ管理装置の動作(メールの保存)の具体例を示すフローチャートである。FIG. 2 is a flowchart illustrating a specific example of the operation (storing of mail) of the mail data management apparatus according to the first embodiment of the present disclosure. 図3は、本開示の第1の実施形態におけるメールデータ管理装置の動作(リクエスト処理)の具体例を示すフローチャートである。FIG. 3 is a flowchart illustrating a specific example of the operation (request processing) of the mail data management device according to the first embodiment of the present disclosure. 図4は、受信したメールのサンプル(具体例)を示す説明図である。FIG. 4 is an explanatory view showing a sample (specific example) of the received mail. 図5は、関連データテーブルの具体例を示す説明図である。FIG. 5 is an explanatory diagram of a specific example of the related data table. 図6は、メールボックスに保存されたメールの具体例を示す説明図である。FIG. 6 is an explanatory diagram showing a specific example of mail stored in the mailbox. 図7は、本開示の第2の実施形態に係るメールデータ管理装置の機能的な構成を例示するブロック図である。FIG. 7 is a block diagram illustrating a functional configuration of a mail data management device according to the second embodiment of the present disclosure. 図8は、本開示の第2の実施形態におけるメールデータ管理装置の動作(メールの保存)の具体例を示すフローチャートである。FIG. 8 is a flowchart illustrating a specific example of the operation (mail storage) of the mail data management apparatus according to the second embodiment of the present disclosure. 図9は、本開示の第2の実施形態におけるメールデータ管理装置の動作(リクエスト処理)の具体例を示すフローチャートである。FIG. 9 is a flowchart illustrating a specific example of the operation (request processing) of the mail data management device according to the second embodiment of the present disclosure. 図10は、本開示の第3の実施形態に係るメールデータ管理装置の機能的な構成を例示するブロック図である。FIG. 10 is a block diagram illustrating a functional configuration of a mail data management device according to the third embodiment of the present disclosure. 図10は、本開示の第3の実施形態に係るメールデータ管理装置の他の機能的な構成を例示するブロック図である。FIG. 10 is a block diagram illustrating another functional configuration of the mail data management device according to the third embodiment of the present disclosure. 図11は、本開示の実施形態におけるメールデータ管理装置を実現可能なハードウェア装置の構成を例示する図面である。FIG. 11 is a diagram illustrating a configuration of a hardware device capable of realizing the mail data management device according to the embodiment of the present disclosure.

以下、本開示におけるメールデータ管理装置等を実現可能な実施形態について詳細に説明する。以下の各実施形態に記載されているメールデータ管理装置の構成は例示であり、本開示の技術範囲はそれらには限定されない。以下の各実施形態におけるメールデータ管理装置を構成する構成要素の区分け(例えば、機能的な単位による分割)は、メールデータ管理装置を実現可能な一例である。当該メールデータ管理装置の実装に際しては、以下の例示に限定されず、様々な構成が想定される。即ち、以下の各実施形態におけるメールデータ管理装置を構成する構成要素は、更に分割されてもよい。また、以下の各実施形態におけるメールデータ管理装置を構成する1以上の構成要素が、統合されてもよい。   Hereinafter, embodiments capable of realizing a mail data management device and the like according to the present disclosure will be described in detail. The configuration of the mail data management device described in each of the following embodiments is an exemplification, and the technical scope of the present disclosure is not limited thereto. The division (for example, division by a functional unit) of the component which comprises the mail data management apparatus in each following embodiment is an example which can implement | achieve a mail data management apparatus. The implementation of the mail data management apparatus is not limited to the following examples, and various configurations are assumed. That is, the components constituting the mail data management device in each of the following embodiments may be further divided. In addition, one or more components constituting the mail data management device in each of the following embodiments may be integrated.

以下において説明するメールデータ管理装置は、単体の装置(物理的あるいは仮想的な装置)を用いて構成されてもよく、複数の離間した装置(物理的あるいは仮想的な装置)を用いたシステム(メールデータ管理システム)として実現されてもよい。メールデータ管理装置が複数の装置により構成される場合、各装置の間は有線、無線、又はそれらを適切に組み合わせた通信ネットワーク(通信回線)により通信可能に接続されてもよい。係る通信ネットワークは、物理的な通信ネットワークであってもよく、仮想的な通信ネットワークであってもよい。以下において説明するメールデータ管理装置、あるいは、その構成要素を実現可能なハードウェア構成については、後述する。   The mail data management device described below may be configured using a single device (physical or virtual device), or a system using a plurality of separated devices (physical or virtual devices) ( It may be realized as a mail data management system. When the mail data management device is constituted by a plurality of devices, each device may be connected to be communicable via a wired network, a wireless network, or a communication network (communication line) appropriately combining them. Such a communication network may be a physical communication network or a virtual communication network. The hardware configuration capable of realizing the mail data management device described below or its components will be described later.

<第1の実施形態>
以下、本開示に係る技術の第1の実施形態について、図面を参照して説明する。以下の説明においては、電子メール(電子メールを構成するデータを含む)、単に「メール」と記載する場合がある(以下の各実施形態において同様)。
<First Embodiment>
Hereinafter, a first embodiment of the technology according to the present disclosure will be described with reference to the drawings. In the following description, an e-mail (including data constituting the e-mail) may be simply described as “mail” (the same applies to the following embodiments).

[構成]
図1に例示するように、メールデータ管理装置1は、メールサーバ2及びメールクライアント3と、適切な通信ネットワークを用いてそれぞれ通信可能に接続される。
[Constitution]
As illustrated in FIG. 1, the mail data management device 1 is connected to a mail server 2 and a mail client 3 so that they can communicate with each other using an appropriate communication network.

以下、メールデータ管理装置1の構成について説明する。図1に例示するように、メールデータ管理装置1は、メール受信部101、スレッド判定部102、関連メール管理部103、スレッドデータ取得部104、メールデータ分解部105、圧縮部106、格納部107、及び、メールボックス108を含む。また、メールデータ管理装置1は、展開部109、メールデータ結合部110、取得部111、及び、応答部112を含む。   Hereinafter, the configuration of the mail data management apparatus 1 will be described. As illustrated in FIG. 1, the mail data management apparatus 1 includes a mail reception unit 101, a thread determination unit 102, a related mail management unit 103, a thread data acquisition unit 104, a mail data decomposition unit 105, a compression unit 106, and a storage unit 107. And a mailbox 108. In addition, the mail data management device 1 includes a development unit 109, a mail data combination unit 110, an acquisition unit 111, and a response unit 112.

メールデータ管理装置1に含まれる上記構成要素のうち、1以上の構成要素が統合されてもよく、1以上の構成要素が更に分解されてもよい。メールデータ管理装置1に含まれる上記構成要素の間は、適切な通信方法を用いて相互に通史可能に接続されていてよい。図1に示される各構成要素を接続する接続線は、構成要素間の接続関係の具体例を表す。各構成要素は、上記接続線により示された接続関係に限定されず、他の構成要素と適宜通信(データ及び指令の授受などを含む)してよい。以下、各構成要素について説明する。   Among the above-described components included in the mail data management device 1, one or more components may be integrated, or one or more components may be further disassembled. The constituent elements included in the mail data management apparatus 1 may be connected to each other so as to be able to communicate with each other using an appropriate communication method. Connection lines connecting the components shown in FIG. 1 represent a specific example of the connection relationship between the components. Each component is not limited to the connection relationship indicated by the connection line, and may appropriately communicate (including exchange of data and commands) with other components. Hereinafter, each component will be described.

メール受信部101は、メールサーバ2からメールを受信する。メール受信部101は、例えば、SMTP(Simple Mail Transer Protocol)を利用して、メールサーバ2から電子メールを受信してもよい。   The mail receiving unit 101 receives mail from the mail server 2. The mail receiving unit 101 may receive an e-mail from the mail server 2 using, for example, SMTP (Simple Mail Transfer Protocol).

スレッド判定部102は、1以上の電子メールが同一のスレッドか否か(同じスレッドに含まれるか否か)を判定する。   The thread determination unit 102 determines whether one or more electronic mails are the same thread (whether they are included in the same thread).

関連メール管理部103は、受信したメール毎に、当該メールと関連するメールを管理する。関連メール管理部103は、例えば、関連メールテーブル(後述)を用いて、各メール間を関連付ける情報を保持する。関連メール管理部103は、関連メールテーブルに含まれる情報をスレッド判定部102に提供するよう構成されてもよい。   The related mail management unit 103 manages a mail related to the received mail for each received mail. The related mail management unit 103 holds information that associates mails using a related mail table (described later), for example. The related mail management unit 103 may be configured to provide the thread determination unit 102 with information included in the related mail table.

スレッドデータ取得部104は、あるメールと同一のスレッド(当該メールが含まれるスレッド)に関するスレッドデータを取得する。   The thread data acquisition unit 104 acquires thread data related to the same thread as a certain mail (thread including the mail).

スレッドデータは、同一のスレッドに含まれる各メールの少なくとも一部から生成されるデータである。各スレッドには、少なくとも一つのスレッドデータが関連付けされる。例えば、ある一つのスレッドに、メールA、メールB、メールCが含まれることを想定する。この場合、スレッドデータは、メールAの少なくとも一部、メールBの少なくとも一部、メールCの少なくとも一部、から生成される。スレッドデータは、メールAの少なくとも一部、メールBの少なくとも一部、メールCの少なくとも一部に対してサイズを低減する所定の処理(例えば、圧縮処理、共通部分及び差分部分の抽出等)を実行することにより生成したデータを含んでもよい。   The thread data is data generated from at least a part of each mail included in the same thread. Each thread is associated with at least one thread data. For example, it is assumed that mail A, mail B, and mail C are included in one thread. In this case, the thread data is generated from at least a part of the mail A, at least a part of the mail B, and at least a part of the mail C. The thread data is subjected to predetermined processing (for example, compression processing, extraction of common part and difference part, etc.) for reducing the size of at least part of mail A, at least part of mail B, and at least part of mail C. Data generated by execution may be included.

メールデータ分解部105は、メールを圧縮部分と、無圧縮部分とに分解する。圧縮部分は、あるメールを構成するデータの内、圧縮処理が実行される部分である。即ち、圧縮部分のデータサイズは、圧縮処理により低減される。同一のスレッドに含まれるメールの圧縮部分データは、スレッド毎にまとめて圧縮され、上記スレッドデータを構成する。以下、圧縮部分のデータを、圧縮部分データと記載することがある。無圧縮部分は、あるメールを構成するデータの内、圧縮処理が実行さない部分である。以下、部圧縮部分のデータを無圧縮部分データと記載することがある。   The mail data decomposing unit 105 decomposes the mail into a compressed part and an uncompressed part. The compression portion is a portion where compression processing is executed in data constituting a certain mail. That is, the data size of the compressed portion is reduced by the compression process. The compressed partial data of the mails included in the same thread is compressed together for each thread and constitutes the thread data. Hereinafter, the data of the compressed part may be referred to as compressed part data. The non-compressed portion is a portion that does not execute compression processing in data constituting a certain mail. Hereinafter, the data of the partially compressed portion may be referred to as uncompressed portion data.

圧縮部106は、圧縮部分データに関する圧縮処理を実行する。圧縮部106は、適切な圧縮アルゴリズムを適宜選択してよい。また、圧縮部106は、データの圧縮処理とともに、アーカイブ処理を実行してもよい。圧縮部106は、例えば、係るアーカイブ処理により、複数のデータ(例えば、複数のメールの圧縮部分データ)を、一つのデータにまとめることが可能である。圧縮処理及びアーカイブ処理は、例えば、現在では周知の技術を用いて実現可能である。   The compression unit 106 performs a compression process on the compressed partial data. The compression unit 106 may appropriately select an appropriate compression algorithm. Further, the compression unit 106 may execute archive processing together with data compression processing. The compression unit 106 can combine a plurality of data (for example, compressed partial data of a plurality of mails) into a single data by, for example, the archiving process. The compression process and the archiving process can be realized using, for example, a currently known technique.

圧縮部106は、圧縮部分データを圧縮したデータを用いて、スレッドデータを更新あるいは生成する処理を実行するよう構成されてもよい。具体例として、あるメール(メールA)が、スレッド(スレッドX)に含まれる場合を想定する。圧縮部106は、例えば、メールAの圧縮部分データを圧縮したデータを含むよう、スレッドXのスレッドデータを更新してよい。圧縮部106は、例えば、メールAの圧縮部分を圧縮したデータをスレッドXのスレッドデータに追加してもよい。圧縮部106は、例えば、スレッドXのスレッドデータを一時的に展開し、メールAの圧縮部分を追加した後、再度スレッドXのスレッドデータを圧縮してもよい。圧縮部106は、例えば、アーカイブコマンドを使用して、メールAの圧縮部分の圧縮及びスレッドXのスレッドデータへの追加を実行してもよい。   The compression unit 106 may be configured to execute a process of updating or generating thread data using data obtained by compressing the compressed partial data. As a specific example, a case where a certain mail (mail A) is included in a thread (thread X) is assumed. For example, the compression unit 106 may update the thread data of the thread X so as to include data obtained by compressing the compressed partial data of the mail A. For example, the compression unit 106 may add data obtained by compressing the compressed portion of the mail A to the thread data of the thread X. For example, the compression unit 106 may temporarily expand the thread data of the thread X, add the compressed portion of the mail A, and then compress the thread data of the thread X again. For example, the compression unit 106 may execute compression of the compressed part of the mail A and addition to the thread data of the thread X using an archive command.

圧縮部106は、あるメール(例えば、メールA)がいずれのスレッドにも含まれない場合(即ちメールAが新たなスレッドの起点である場合)、係るメールの圧縮部分を圧縮したデータを用いて、新たなスレッドに関するスレッドデータを生成してもよい。   When a certain mail (for example, mail A) is not included in any thread (that is, when mail A is the starting point of a new thread), the compression unit 106 uses data obtained by compressing the compressed portion of the mail. Thread data related to a new thread may be generated.

上記のように生成(あるいは更新)されるスレッドデータのデータサイズは、スレッドに含まれる全メールのデータサイズの総和よりも小さい。なぜならば、圧縮部106により各メールの圧縮部分データが圧縮されることで、データサイズが低減されるからである。   The data size of the thread data generated (or updated) as described above is smaller than the sum of the data sizes of all mails included in the thread. This is because the compression unit 106 compresses the compressed partial data of each mail, thereby reducing the data size.

格納部107は、メールをメールボックス108(後述)に格納する。格納部107は、例えば、あるメールがあるスレッドに含まれる場合、当該メールの無圧縮部分と、当該メールの圧縮部分を含むスレッドデータとを、メールボックス108に別々に格納してよい。   The storage unit 107 stores mail in a mail box 108 (described later). For example, when a certain mail is included in a certain thread, the storage unit 107 may store the uncompressed portion of the mail and the thread data including the compressed portion of the mail in the mail box 108 separately.

メールボックス108は、メールを記憶(保存)する。メールボックスは、例えば、ファイルシステム及びファイルを用いて実現されてもよく、データベースを用いて実現されてもよい。メールボックス108がファイルシステムを用いて実現される場合、例えば、各メールは一つのファイルとして保存されてもよい。また、スレッドデータは、スレッド毎に一つのファイルとして保存されてもよい。メールボックス108に記憶(保存)されるメールには、それぞれのメールを特定可能なユニークな識別情報(ID:Identifier)が付与されてよい。以下、係る識別情報を、”uid”と記載する場合がある。   The mail box 108 stores (saves) mail. The mailbox may be realized using, for example, a file system and a file, or may be realized using a database. When the mailbox 108 is realized using a file system, for example, each mail may be stored as one file. The thread data may be stored as one file for each thread. The mail stored (saved) in the mail box 108 may be given unique identification information (ID: Identifier) that can identify each mail. Hereinafter, the identification information may be described as “uid”.

展開部109は、圧縮部106により圧縮されたメールのデータを展開する処理を実行する。展開部109は、例えば、各メールの圧縮部分データを含むスレッドデータ全体を展開してもよい。展開部109は、例えば、スレッドデータのうち、特定のメールに関する圧縮部分データのみを展開してもよい。   The expansion unit 109 executes a process of expanding the mail data compressed by the compression unit 106. For example, the expansion unit 109 may expand the entire thread data including the compressed partial data of each mail. For example, the expansion unit 109 may expand only the compressed partial data related to a specific mail in the thread data.

メールデータ結合部110は、圧縮部分データと、無圧縮部分データとを結合し、元のメールを生成する。具体的には、メールデータ結合部110は、あるメールについて、無圧縮部分データと、スレッドデータに含まれる(圧縮された)圧縮部分データを展開したデータとを結合することで、元のメールを生成する。   The mail data combining unit 110 combines the compressed partial data and the uncompressed partial data to generate the original mail. Specifically, the mail data combining unit 110 combines the uncompressed partial data with the data obtained by decompressing the compressed partial data (compressed) included in the thread data for a certain mail, thereby combining the original mail. Generate.

取得部111は、メールボックス108から、保存されたメールに関するデータを取得する。具体的には、取得部111は、メールボックス108から、各メールの無圧縮部分データと、当該メールが含まれるスレッドに関するスレッドデータとを取得するよう構成されてもよい。   The acquisition unit 111 acquires data related to the stored mail from the mail box 108. Specifically, the acquisition unit 111 may be configured to acquire uncompressed partial data of each mail and thread data related to a thread including the mail from the mail box 108.

応答部112は、メールクライアント3から各種リクエストを受け付け、当該リクエストに応答する。応答部112は、例えば、メールクライアント3との間で、IMAP(Internet Message Access Protocol)を利用してリクエスト及びレスポンスを送受信するよう構成されてもよい。   The response unit 112 receives various requests from the mail client 3 and responds to the requests. For example, the response unit 112 may be configured to transmit and receive requests and responses to and from the mail client 3 using IMAP (Internet Message Access Protocol).

以下、メールデータ管理装置1と通信可能に接続されるメールサーバ2及びメールクライアント3について概要を説明する。   The outline of the mail server 2 and the mail client 3 that are communicably connected to the mail data management apparatus 1 will be described below.

メールサーバ2は、例えば、SMTP等を利用して、電子メールに関する転送処理を実行可能な、一般的な電子メールサーバであってよい。メールデータ管理装置1は、例えば、SMTPを利用して、メールサーバ2から電子メールを受信可能である。メールサーバ2は、例えば、専用装置(電子メールアプライアンス)により実現されてもよく、物理的又は仮想的な情報処理装置(コンピュータ等)により実現されてもよい。メールデータ管理装置1と、メールサーバ2とは、同一の装置(あるいはシステム)を用いて実現されてもよい。   The mail server 2 may be a general electronic mail server capable of executing a transfer process related to electronic mail using, for example, SMTP. The mail data management apparatus 1 can receive an e-mail from the mail server 2 using, for example, SMTP. The mail server 2 may be realized by, for example, a dedicated device (electronic mail appliance) or may be realized by a physical or virtual information processing device (computer or the like). The mail data management device 1 and the mail server 2 may be realized using the same device (or system).

メールクライアント3は、例えば、一般的な電子メールクライアントでよく、例えば、IMAP等を利用して、メールデータ管理装置1から電子メールを受信する。メールクライアント3は、通信機能を備えた情報処理装置(又は当該情報処理装置において実行されるアプリケーション・プログラム)により実現されてもよい。   The mail client 3 may be a general e-mail client, for example, and receives e-mail from the mail data management apparatus 1 using, for example, IMAP. The mail client 3 may be realized by an information processing device having a communication function (or an application program executed in the information processing device).

なお、メールデータ管理装置1、メールサーバ2、及び、メールクライアント3の間で用いられる通信プロトコルは、上記に限定されず、適宜選択されてよい。   The communication protocol used among the mail data management device 1, the mail server 2, and the mail client 3 is not limited to the above, and may be selected as appropriate.

[動作]
上記のように構成されたメールデータ管理装置1の動作について説明する。以下に例示する各フローチャートにおける各ステップについては、動作に影響しない範囲で、実行順序が入れ替えられてもよく、1以上のステップが並行して実行されてもよい。これは、以下の各実施形態において同様である。
[Operation]
The operation of the mail data management apparatus 1 configured as described above will be described. About each step in each flowchart illustrated below, in the range which does not affect operation | movement, an execution order may be replaced and one or more steps may be performed in parallel. This is the same in the following embodiments.

図2は、メールデータ管理装置1が、メールサーバ2からメールを受信し、メールボックス108に格納する動作を例示するフローチャートである。   FIG. 2 is a flowchart illustrating an operation in which the mail data management apparatus 1 receives mail from the mail server 2 and stores it in the mail box 108.

メール受信部101は、メールサーバ2からメールを受信する(ステップS201)。メール受信部101は、受信したメールデータをスレッド判定部102に提供してもよい。   The mail receiving unit 101 receives mail from the mail server 2 (step S201). The mail receiving unit 101 may provide the received mail data to the thread determination unit 102.

スレッド判定部102は、受信したメールが既に管理されているスレッドの一部か否かを判定する。即ち、スレッド判定部102は、受信したメールが、既に受信済みの他のメールと同一のスレッドに含まれるか否かを判定する。   The thread determination unit 102 determines whether the received mail is part of a thread that is already managed. That is, the thread determination unit 102 determines whether the received mail is included in the same thread as other mail that has already been received.

スレッド判定部102は、例えば、受信したメールのメールヘッダに含まれる”Message−Id”と、”In−Reply−To”とを利用して、当該受信したメールが、あるスレッドの一部か否か(あるスレッドに含まれるか否か)を判定することができる。   The thread determination unit 102 uses, for example, “Message-Id” and “In-Reply-To” included in the mail header of the received mail to determine whether the received mail is part of a thread. (Whether or not included in a certain thread).

メールヘッダにおける”Message−Id”は、あるメールを特定可能な識別情報を示すデータである。また、メールヘッダにおける”In−Reply−To”は、あるメールが、どのメールに対する返信であるかを示すデータである。一般的に、”In−Reply−To”には、元のメール(返信されるメール)に関する”Message−Id”が設定され得る。   “Message-Id” in the mail header is data indicating identification information capable of specifying a certain mail. Further, “In-Reply-To” in the mail header is data indicating to which mail a certain mail is a reply. In general, “Message-Id” regarding the original mail (reply mail) can be set in “In-Reply-To”.

スレッド判定部102は、受信したメールのメールヘッダに”In−Reply−To”が含まれない場合、受信したメールを、新しいスレッドとして処理してよい。即ち、この場合、スレッド判定部102は、受信したメールを、新たなスレッドの起点として処理してよい。   If the mail header of the received mail does not include “In-Reply-To”, the thread determination unit 102 may process the received mail as a new thread. That is, in this case, the thread determination unit 102 may process the received mail as a starting point of a new thread.

スレッド判定部102は、受信したメールのメールヘッダに”In−Reply−To”が含まれる場合、その値が、他のメール(他の”uid”が付与されたメールデータ)の”Message−Id”と同一であるか否かを確認する。スレッド判定部102は、受信したメールのメールヘッダに含まれる”In−Reply−To”と、他のメールの”Message−Id”とが同一である場合、それらのメールは同一スレッドである(同一のスレッドに含まれる)と判定する。受信したメールのメールヘッダに含まれる”In−Reply−To”と、他のメールデータの”Message−Id”とが同一ではない場合、受信したメールを、新しいスレッドとして処理してよい。なお、スレッド判定部102は、関連メール管理部103が管理する関連テーブルを利用して上記判定を実行することができる。   When “In-Reply-To” is included in the mail header of the received mail, the thread determination unit 102 sets “Message-Id” of the other mail (mail data to which another “uid” is assigned). To see if it is the same. If the “In-Reply-To” included in the mail header of the received mail and the “Message-Id” of other mail are the same, the thread determination unit 102 is the same thread (the same Included in the thread). If “In-Reply-To” included in the mail header of the received mail is not the same as “Message-Id” of other mail data, the received mail may be processed as a new thread. Note that the thread determination unit 102 can execute the above determination using a related table managed by the related mail management unit 103.

受信したメールが、あるスレッドの一部である(あるスレッドに含まれる)場合(ステップS203においてYES)、スレッドデータ取得部104は、当該スレッドに関するスレッドデータを取得する(ステップS204)。上記したように、係るスレッドデータには、当該スレッドに含まれる各メールの圧縮部分データを圧縮したデータが含まれる。   If the received mail is a part of a thread (included in a thread) (YES in step S203), the thread data acquisition unit 104 acquires thread data related to the thread (step S204). As described above, the thread data includes data obtained by compressing the compressed partial data of each mail included in the thread.

メールデータ分解部105は、メール受信部101が受信したメールを、圧縮部分データと、無圧縮部分データとに分解する(ステップS205)。   The mail data decomposition unit 105 decomposes the mail received by the mail receiving unit 101 into compressed partial data and uncompressed partial data (step S205).

上記したように、無圧縮部分データには圧縮処理が実行されない。よって、無圧縮部分データに関するアクセス(例えば、検索、分類、閲覧等)は、圧縮及び展開処理に起因する処理時間の影響を受けずに、処理を実行可能である。そこで、メールデータ分解部105は、メールに対するアクセスにおいて、比較的高い頻度で参照される部分を、無圧縮部分データに分解する。また、メールデータ分解部105は、無圧縮部分データ以外の部分(メール本文における残りの部分)を圧縮部分データに分解する。   As described above, the compression process is not performed on the uncompressed partial data. Therefore, access (for example, search, classification, browsing, etc.) related to uncompressed partial data can be executed without being affected by the processing time caused by the compression and decompression processing. Therefore, the mail data decomposing unit 105 decomposes a part that is referred to at a relatively high frequency in accessing a mail into uncompressed partial data. Further, the mail data decomposition unit 105 decomposes a part other than the uncompressed partial data (the remaining part in the mail text) into compressed partial data.

ユーザがメール本文における比較的先頭に近い部分を閲覧することで、当該メールを更に閲覧すべきか否かを判断し得る場合も多いと考えられる。そこで、本実施形態においては、メールデータ分解部105は、例えば、メールヘッダ及びメール本文の一部を、無圧縮部分データに分解する。   In many cases, it is considered that the user can determine whether or not the mail should be further browsed by browsing the part of the mail text that is relatively close to the head. Therefore, in the present embodiment, the mail data decomposition unit 105 decomposes, for example, a part of the mail header and the mail body into uncompressed partial data.

メールデータ分解部105は、例えば、メールを構成するデータの内、以下の部分を無圧縮部分データに分解してもよい。即ち、メールデータ分解部105は、例えば、メールを構成するデータのうち、メールヘッダ及びメール本体(メールボディ部分)の特定部分(例えば、先頭N行あるいはNバイト等(Nは自然数))を、無圧縮部分データに分解してもよい。メール本体の特定部分は、例えば、実験やテスト運用等により得られた知見から、適宜設定可能である。上記に限定されず、メールデータ分解部105は、例えば、受信したメールが例えばMIME(Multipurpose Internet Mail Extensions)により規定されたマルチパート形式である場合は、メールヘッダ及び特定のパートを、無圧縮部分データに分解してもよい。無圧縮部分データに含まれるパートは適宜設定可能としてよい。係るパートとして、典型的にはメールボディ部分における最初のパートが選択されてよい。メールデータ分解部105は、受信したメールに添付ファイルが含まれる場合は、メールヘッダ及び添付ファイル以外のパートを、無圧縮部分データに分解してもよい。上記のように、圧縮部分データと、無圧縮部分データとを分解することで、あるメールの保存(記憶)に要するストレージ容量を低減するとともに、当該メールに対する読み出し性能の低下を抑制することができると考えられる。   For example, the mail data decomposing unit 105 may decompose the following part of the data constituting the mail into uncompressed partial data. That is, for example, the mail data decomposing unit 105 includes, for example, a specific part (for example, the first N lines or N bytes (N is a natural number)) of the mail header and the mail body (mail body part) in the data constituting the mail, You may decompose | disassemble into uncompressed partial data. The specific part of the mail body can be appropriately set based on, for example, knowledge obtained through experiments or test operations. The mail data decomposition unit 105 is not limited to the above. For example, when the received mail is in a multi-part format defined by, for example, MIME (Multipurpose Internet Mail Extensions), the mail header and the specific part are displayed as an uncompressed part. It may be broken down into data. The parts included in the uncompressed partial data may be set as appropriate. As such a part, typically, the first part in the mail body part may be selected. If the received mail includes an attached file, the mail data decomposing unit 105 may decompose parts other than the mail header and the attached file into uncompressed partial data. As described above, by decomposing the compressed partial data and the non-compressed partial data, it is possible to reduce the storage capacity required for storing (storing) a certain mail and to suppress a decrease in reading performance for the mail. it is conceivable that.

圧縮部106は、メールデータ分解部105において分解された圧縮部分データを圧縮する(ステップS206)。なお、ステップS204において、受信したメールが含まれるスレッドに関するスレッドデータを取得している場合、圧縮部106は、取得したスレッドデータに圧縮部分データを追加して圧縮してよい。   The compression unit 106 compresses the compressed partial data decomposed by the mail data decomposition unit 105 (step S206). In step S204, when the thread data related to the thread including the received mail is acquired, the compression unit 106 may compress the acquired thread data by adding the compressed partial data.

格納部107は、受信したメールから分解された無圧縮部分データと、圧縮された圧縮部分データを含むスレッドデータとをメールボックス108に格納する(ステップS207)。   The storage unit 107 stores the uncompressed partial data decomposed from the received mail and thread data including the compressed compressed data in the mail box 108 (step S207).

以上の動作により、メールデータ管理装置1は、メールサーバ2から受信したメールを分解して、メールボックス108に格納することができる。   With the above operation, the mail data management apparatus 1 can disassemble the mail received from the mail server 2 and store it in the mail box 108.

以下、メールデータ管理装置1が、メールクライアント3からのリクエストに応じて、メールクライアント3にレスポンスを返す処理について、図3に例示するフローチャートを参照して説明する。   Hereinafter, processing in which the mail data management apparatus 1 returns a response to the mail client 3 in response to a request from the mail client 3 will be described with reference to a flowchart illustrated in FIG.

メールクライアント3からの情報取得要求(リクエスト)を応答部112が受信する(ステップS301)。係るリクエストは、例えば、あるメールの一部(例えばヘッダ等)を読み出すリクエストであってもよく、あるメールの全部を読み出すリクエストであってもよい。係るリクエストは、例えば、IMAPにより規定されたコマンドを含んでもよい。   The response unit 112 receives an information acquisition request (request) from the mail client 3 (step S301). Such a request may be, for example, a request for reading a part of a certain mail (for example, a header) or a request for reading all of a certain mail. Such a request may include, for example, a command defined by IMAP.

受信したリクエストがメールヘッダのみを取得するリクエストである場合(ステップS302において[メールヘッダのみ])、取得部111は、ステップS303の処理を実行する。即ち、取得部111は、メールボックス108から、リクエストにより指定されたメールの無圧縮部分を取得する(ステップS303)。具体的には、例えば、応答部112が取得部111にメールヘッダの情報取得を要求し、当該要求に応じて取得部111がメールの無圧縮部分を取り出してもよい。   When the received request is a request for acquiring only a mail header (in step S302 [only mail header]), the acquiring unit 111 executes the process of step S303. That is, the acquisition unit 111 acquires an uncompressed portion of the mail designated by the request from the mail box 108 (step S303). Specifically, for example, the response unit 112 may request the acquisition unit 111 to acquire information on the mail header, and the acquisition unit 111 may extract an uncompressed portion of the mail in response to the request.

上記の変形例として、受信したリクエストが、メール本文のうち無圧縮部分に含まれるヘッダ部分以外のデータを取得するリクエストである場合も、取得部111はステップS303における処理を実行してよい。例えば、IMAPの場合、”FETCH”コマンド等を用いて、メールの一部を取得することが可能である。   As a modified example of the above, even when the received request is a request for acquiring data other than the header portion included in the uncompressed portion of the mail body, the acquiring unit 111 may execute the process in step S303. For example, in the case of IMAP, it is possible to acquire a part of the mail using the “FETCH” command or the like.

応答部112は、ステップS303において取得されたデータを含むレスポンスを、メールクライアント3に返す。   The response unit 112 returns a response including the data acquired in step S <b> 303 to the mail client 3.

一方、受信したリクエストがメール全体を取得するリクエストである場合(ステップS302において[メールデータ全体])、取得部111はステップS304の処理を実行する。即ち、取得部111は、メールボックス108から、リクエストにより指定されたメールの無圧縮部分と、当該メールが含まれるスレッドに関するスレッドデータとを取得する(ステップS304)。この場合、応答部112が取得部111にメール全体の情報取得を要求してもよい。取得部111は、取得したスレッドデータを展開部109に供給してもよい。   On the other hand, when the received request is a request for acquiring the entire mail (in step S302, [entire mail data]), the acquiring unit 111 executes the process of step S304. That is, the acquisition unit 111 acquires, from the mail box 108, the uncompressed portion of the mail specified by the request and thread data related to the thread that includes the mail (step S304). In this case, the response unit 112 may request the acquisition unit 111 to acquire information on the entire mail. The acquisition unit 111 may supply the acquired thread data to the expansion unit 109.

展開部109は、スレッドデータを展開する(ステップS305)。具体的には、展開部109は、リクエストにより指定されたメールに関する圧縮部分データをスレッドデータから抽出して展開する。展開部109は、スレッドデータを展開した後に、リクエストにより指定されたメールに関する圧縮部分データを抽出してもよい。   The expansion unit 109 expands thread data (step S305). Specifically, the expansion unit 109 extracts the compressed partial data related to the mail designated by the request from the thread data and expands the compressed data. The decompressing unit 109 may extract the compressed partial data related to the mail designated by the request after decompressing the thread data.

メールデータ結合部110は、リクエストにより指定されたメールに関する無圧縮部分データと、展開されたスレッドデータから抽出された圧縮部分データとを結合し、元のメールを復元する(ステップS306)。メールデータ結合部110は、復元されたメールを応答部112に供給してもよい。   The mail data combining unit 110 combines the uncompressed partial data related to the mail specified by the request and the compressed partial data extracted from the expanded thread data, and restores the original mail (step S306). The mail data combining unit 110 may supply the restored mail to the response unit 112.

応答部112は、ステップS306において復元されたメールを含むレスポンスを、メールクライアント3に返す(ステップS309)。   The response unit 112 returns a response including the mail restored in step S306 to the mail client 3 (step S309).

上記の変形例として、受信したリクエストが、メール本文のうち圧縮部分データに含まれる一部データを取得するリクエストである場合も、メールデータ管理装置1は、ステップS304乃至S306における処理を実行してよい。そして、この場合、ステップS309において、応答部112が、受信してリクエストにおいて指定された部分(例えば、メールボディ部分の一部等)を、メールクライアント3に反してもよい。   As a modification of the above, even when the received request is a request for acquiring partial data included in the compressed partial data in the mail body, the mail data management device 1 executes the processes in steps S304 to S306. Good. In this case, in step S <b> 309, the response unit 112 may receive the part (for example, part of the mail body part) received and specified in the request against the mail client 3.

以下、具体例を用いて、関連メール管理部103が有する関連テーブル及び、メールボックス108に保存されるメールの構成について説明する。以下の具体例においては、図4に例示するようなメール1乃至メール5の5通のメールを受信することを想定する。図4には、メール1乃至メール5のヘッダの一部が例示されている。図4において伏せ字(”*”)が表示されている部分には、適切なデータが適宜設定されてよい。各メールは、当該メールが受信されたタイミングあるいはメールボックス108に格納されるタイミングにおいてuidが設定されてもよい。以下においては、説明の便宜上、図4に例示する各メールにuid1乃至uid5が設定されることを想定する。また、以下の具体例においては、メールボックス108がファイルシステムを用いて実現されることを想定する。   Hereinafter, the configuration of the association table held in the association mail management unit 103 and the email stored in the mailbox 108 will be described using a specific example. In the following specific example, it is assumed that five mails of mail 1 to mail 5 as illustrated in FIG. 4 are received. FIG. 4 illustrates a part of the headers of the mails 1 to 5. In FIG. 4, appropriate data may be appropriately set in the portion where the hidden character (“*”) is displayed. Each mail may have a uid set at the timing when the mail is received or stored in the mail box 108. In the following, for convenience of explanation, it is assumed that uid1 to uid5 are set for each mail illustrated in FIG. In the following specific example, it is assumed that the mailbox 108 is realized using a file system.

図5は、uid1〜uid5のメールがメールボックス108に格納された際の、関連メール管理部103が有する関連テーブルの具体例を示す説明図である。図5において、uid属性(列)にはメールボックスにおいてメールを識別可能なuidが設定される。Message−Id属性(列)には、uid属性により特定されるメールに設けられたMessage−Idの値が設定される。In−reply−to属性(列)には、uid属性により特定されるメールに設けられたIn−reply−toの値が設定される。prev−id属性(列)には、uid属性により特定されるメールの返信元となるメールのuidが設定される。また、Thread−Id属性(列)には、uid属性により特定されるメールが含まれるスレッドを特定可能なID(Identifier:識別情報)であるThread−Idが設定される。   FIG. 5 is an explanatory diagram illustrating a specific example of a related table included in the related mail management unit 103 when mails of uid1 to uid5 are stored in the mail box 108. In FIG. 5, the uid attribute (column) is set with a uid capable of identifying the mail in the mailbox. In the Message-Id attribute (column), the value of Message-Id provided in the mail specified by the uid attribute is set. In the In-reply-to attribute (column), the value of In-reply-to provided in the mail specified by the uid attribute is set. In the prev-id attribute (column), the uid of the mail that is the reply source of the mail specified by the uid attribute is set. Also, in the Thread-Id attribute (column), Thread-Id, which is an ID (Identifier: identification information) that can specify a thread including a mail specified by the uid attribute, is set.

図6は、uid1〜uid5のメールがメールボックス108に格納された際の、メールボックス108におけるメールの配置を例示する説明図である。   FIG. 6 is an explanatory diagram illustrating the arrangement of mails in the mail box 108 when mails of uid1 to uid5 are stored in the mail box 108.

メールデータ管理装置1(メール受信部101)は、メールサーバ2からuid1のメールを受信する。uid1のメールには”In−Reply−To”ヘッダが含まれないことから、メールデータ管理装置1(スレッド判定部102)は、uid1のメールが新たなスレッドである(即ち、uid1のメールが新たなスレッドの起点である)と判定する。メールデータ管理装置1は、係るスレッドの識別情報(”Thread−ID”)として、”thr1”を割当て、関連メール管理部103の関連データテーブルに登録する(図5の501)。   The mail data management apparatus 1 (mail receiving unit 101) receives the mail of uid1 from the mail server 2. Since the uid1 mail does not include the “In-Reply-To” header, the mail data management device 1 (thread determination unit 102) indicates that the uid1 mail is a new thread (that is, the uid1 mail is new). Is the starting point of the thread). The mail data management apparatus 1 assigns “thr1” as the identification information (“Thread-ID”) of the thread and registers it in the related data table of the related mail management unit 103 (501 in FIG. 5).

メールデータ管理装置1(メールデータ分解部105)は、uid1のメールを、圧縮部分データと、無圧縮部分データとに分解する。メールデータ管理装置1は、例えば、メールヘッダと、メール本文(メールボディ部分)の特定部分(例えば先頭N行)とを、無圧縮部分データに分解し、メール本文の残りの部分を圧縮部分データに分解してもよい。メールデータ管理装置1(圧縮部106)は、圧縮部分データを圧縮し、thr1のスレッドデータを生成する。メールデータ管理装置1(格納部107)は、uid1のメール(無圧縮部文データ及び、thr1のスレッドデータ)をメールボックス108に格納する。   The mail data management apparatus 1 (mail data decomposition unit 105) decomposes the uid1 mail into compressed partial data and uncompressed partial data. The mail data management device 1 decomposes, for example, a mail header and a specific part (for example, the first N lines) of a mail body (mail body part) into uncompressed part data, and converts the remaining part of the mail body into compressed part data. It may be broken down into The mail data management apparatus 1 (compression unit 106) compresses the compressed partial data and generates thread data of thr1. The mail data management apparatus 1 (storage unit 107) stores the uid1 mail (uncompressed part sentence data and thr1 thread data) in the mail box 108.

上記処理により、図6に例示するメールボックス108の構成(”mailbox1/#msg/thr1”(スレッドデータ)と、”mailbox1/#msg/uid1”のファイル)が作成される。図6に例示する”mailbox1”は、例えば、あるユーザのメールアカウントに対応するメールが保存されるメールボックスであり、ファイルシステムにおけるディレクトリ(フォルダ)として実現可能である。図6に例示する”thr1”は、スレッドID(Thread−Id)が”thr1”であるスレッドの、スレッドデータを含むファイルである。図6に例示する”uid1”は、uid1のメールに関する無圧縮部分データを含むファイルである。   Through the above process, the configuration of the mail box 108 illustrated in FIG. 6 (“mailbox1 / # msg / thr1” (thread data) and “mailbox1 / # msg / uid1” file) is created. “Mailbox 1” illustrated in FIG. 6 is a mailbox that stores, for example, mail corresponding to a mail account of a certain user, and can be realized as a directory (folder) in the file system. “Thr1” illustrated in FIG. 6 is a file including thread data of a thread whose thread ID (Thread-Id) is “thr1”. “Uid1” illustrated in FIG. 6 is a file including uncompressed partial data regarding the mail of uid1.

メールデータ管理装置1が、メールサーバ2から、uid2のメールを受信する。uid2のメールには、In−Reply−Toヘッダが含まれ、その値がuid1のMessage−Idと一致する(図4)。そこで、メールデータ管理装置1(スレッド判定部102)は、uid1のメールと、uid2のメールとは、同一のスレッドである(同一のスレッドに含まれる)と判定する。即ち、メールデータ管理装置1(スレッド判定部102)は、uid2のメールが、thr1のスレッド(Thread−Idがthr1)に含まれると判定する。係る判定に応じて、メールデータ管理装置1は、関連データテーブルを更新する(図5の502)。また、メールデータ管理装置1(スレッドデータ取得部104)は、thr1に関するスレッドデータを、メールボックス108から取得する。   The mail data management apparatus 1 receives the mail of uid2 from the mail server 2. The uid2 mail includes an In-Reply-To header whose value matches the Message-Id of uid1 (FIG. 4). Therefore, the mail data management device 1 (thread determination unit 102) determines that the uid1 mail and the uid2 mail are the same thread (included in the same thread). That is, the mail data management apparatus 1 (thread determination unit 102) determines that the mail of uid2 is included in the thread of thr1 (Thread-Id is thr1). In response to the determination, the mail data management apparatus 1 updates the related data table (502 in FIG. 5). Further, the mail data management apparatus 1 (thread data acquisition unit 104) acquires thread data related to thr1 from the mail box 108.

メールデータ管理装置1(メールデータ分解部105)は、上記uid1のメールと同様、uid2のメールを、無圧縮部分データと、圧縮部分データとに分解する。メールデータ管理装置1(メールデータ分解部105)は、uid2のメールに関する圧縮部分データと、thr1のスレッドデータとを合わせて圧縮する。例えば、メールデータ管理装置1(メールデータ分解部105)は、周知の圧縮コマンド(あるいは圧縮コマンドとアーカイブコマンドとの組合せ)により、スレッドデータのファイルと、uid2の圧縮部分データのファイルとを一つに合わせて圧縮することが可能である。この場合、メールデータ管理装置1(メールデータ分解部105)は、例えば、スレッドデータを展開してuid1のメールに関する圧縮部分データのファイルを抽出し、当該ファイルと、uid2の圧縮部分データのファイルとをまとめて再び圧縮してもよい。   The mail data management device 1 (mail data decomposing unit 105) decomposes the uid2 mail into uncompressed partial data and compressed partial data, like the uid1 mail. The mail data management device 1 (mail data decomposition unit 105) compresses the compressed partial data related to the mail of uid2 and the thread data of thr1 together. For example, the mail data management apparatus 1 (mail data decomposition unit 105) uses a known compression command (or a combination of a compression command and an archive command) to combine one thread data file and one compressed partial data file of uid2. It is possible to compress to match. In this case, for example, the mail data management apparatus 1 (mail data decomposition unit 105) expands the thread data and extracts the compressed partial data file related to the mail of uid1, and the file and the compressed partial data file of uid2 May be compressed again.

メールデータ管理装置1は、uid2に関するメール(無圧縮部分データ、及び、uid2のメールデータに関する圧縮部分データを含むスレッドデータ)を、メールボックス108に登録する。   The mail data management apparatus 1 registers mail related to uid2 (uncompressed partial data and thread data including compressed partial data related to uid2 mail data) in the mail box 108.

上記処理により、図6に例示するメールボックス108の構成のうち、”mailbox1/#msg/thr1”が更新され、”mailbox1/#msg/uid2”のファイルが作成される。   Through the above processing, “mailbox1 / # msg / thr1” is updated in the configuration of the mail box 108 illustrated in FIG. 6, and a file “mailbox1 / # msg / uid2” is created.

メールデータ管理装置1が、メールサーバ2から、uid3のメールを受信する。uid3のメールには、”In−Reply−To”ヘッダが含まれないことから、メールデータ管理装置1(スレッド判定部102)は、uid3のメールが新たなスレッドである(即ち、uid3のメールが新たなスレッドの起点である)と判定する。メールデータ管理装置1は、係るスレッドの識別情報(”Thread−Id”)として、”thr2”を割当て、関連メール管理部103の関連データテーブルに登録する(図5の503)。以下、メールデータ管理装置1は、uid3のメールについて、上記説明したuid1のメールと同様の処理を実行することができる。係る処理により、図6に例示するメールボックス108の構成(”mailbox1/#msg/thr2”(スレッドデータ)と、”mailbox1/#msg/uid3”のファイル)が作成される。   The mail data management device 1 receives the mail of uid3 from the mail server 2. Since the uid3 mail does not include the “In-Reply-To” header, the mail data management apparatus 1 (thread determination unit 102) uses the uid3 mail as a new thread (that is, the uid3 mail This is the starting point of a new thread. The mail data management apparatus 1 assigns “thr2” as the identification information (“Thread-Id”) of the thread and registers it in the related data table of the related mail management unit 103 (503 in FIG. 5). Hereinafter, the mail data management device 1 can execute the same process as the above-described uid1 mail for the uid3 mail. With this process, the configuration of the mail box 108 illustrated in FIG. 6 (“mailbox1 / # msg / thr2” (thread data) and “mailbox1 / # msg / uid3” file) is created.

メールデータ管理装置1が、メールサーバ2から、uid4のメールを受信する。uid4のメールには、In−Reply−Toヘッダが含まれ、その値がuid3のMessage−Idと一致する(図4)。そこで、メールデータ管理装置1(スレッド判定部102)は、uid4のメールと、uid3のメールとは、同一のスレッドである(同一のスレッドに含まれる)と判定する。即ち、メールデータ管理装置1(スレッド判定部102)は、uid4のメールが、thr2のスレッド(Thread−Idがthr2)に含まれると判定する。係る判定に応じて、メールデータ管理装置1は、関連データテーブルを更新する(図5の504)。また、メールデータ管理装置1(スレッドデータ取得部104)は、thr2に関するスレッドデータを、メールボックス108から取得する。以下、以下、メールデータ管理装置1は、uid4のメールについて、上記説明したuid2のメールと同様の処理を実行することができる。uid5のメールについても同様である。係る処理により、図6に例示するメールボックス108の構成のうち、”mailbox1/#msg/thr2”が更新され、”mailbox1/#msg/uid4”及び”mailbox1/#msg/uid5”のファイルが作成される。   The mail data management device 1 receives the mail of uid 4 from the mail server 2. The uid4 mail includes an In-Reply-To header whose value matches the Message-Id of uid3 (FIG. 4). Therefore, the mail data management apparatus 1 (thread determination unit 102) determines that the uid4 mail and the uid3 mail are the same thread (included in the same thread). That is, the mail data management apparatus 1 (thread determination unit 102) determines that the mail of uid4 is included in the thread of thr2 (Thread-Id is thr2). In response to the determination, the mail data management apparatus 1 updates the related data table (504 in FIG. 5). Further, the mail data management apparatus 1 (thread data acquisition unit 104) acquires thread data related to thr2 from the mail box 108. Hereinafter, the mail data management apparatus 1 can execute the same process as the above-described uid2 mail for the uid4 mail. The same applies to uid5 mail. As a result of the processing, “mailbox1 / # msg / thr2” is updated in the configuration of the mailbox 108 illustrated in FIG. 6, and files “mailbox1 / # msg / uid4” and “mailbox1 / # msg / uid5” are created. Is done.

上記のように構成されたメールデータ管理装置1は、スレッド毎に、当該スレッドに含まれる各メールのデータを圧縮することから、データを効率よく圧縮することが可能である。また、メールデータ管理装置1は、各メールのメールヘッダ部分及びメールボディ部分のうちの特定部分(例えば先頭N行)を圧縮処理が実行されない無圧縮部分データとしてメールボックスに格納する。即ち、メールデータ管理装置1は、データの圧縮及び展開に関する処理時間の影響を受けることなく、各メールの無圧縮データ部分を提供可能である。これにより、メールデータ管理装置1は、例えば、メールクライアント3に対するレスポンスタイムを維持することが可能である。   Since the mail data management device 1 configured as described above compresses data of each mail included in the thread for each thread, the data can be efficiently compressed. Further, the mail data management device 1 stores a specific part (for example, the first N lines) of the mail header part and the mail body part of each mail in the mailbox as uncompressed partial data that is not subjected to compression processing. That is, the mail data management device 1 can provide an uncompressed data portion of each mail without being affected by the processing time related to data compression and decompression. Thereby, the mail data management apparatus 1 can maintain the response time with respect to the mail client 3, for example.

以上より、上記のように構成されたメールデータ管理装置1は、メールデータの記憶に要する記憶容量を低減しつつ、メールデータの読み出し性能の低下を抑えることができる。その理由は、メールデータ管理装置1は、各メールを圧縮処理が実行されない無圧縮データと、圧縮処理が実行される圧縮分データとに分解し、圧縮部分データを圧縮して管理するからである。また、メールデータ管理装置1は、各メールの圧縮部分データを個別に圧縮するのではなく、各メールが含まれるスレッド毎にまとめて圧縮するからである。   As described above, the mail data management device 1 configured as described above can suppress a decrease in mail data reading performance while reducing the storage capacity required for storing the mail data. This is because the mail data management device 1 decomposes each mail into uncompressed data that is not subjected to compression processing and compressed data that is subjected to compression processing, and compresses and manages the compressed partial data. . Also, the mail data management device 1 does not compress the compressed partial data of each mail individually, but compresses them collectively for each thread containing each mail.

容量(データサイズ)が大きいメールに関して、一般的には、メール本体(メールボディ部分)のデータ部分の容量(データサイズ)が大きいと考えられる。メールデータ管理装置1はメール本体部分を圧縮可能であることから、特に容量の大きいメールが圧縮されることになる。また、メールクライアント3は、無圧縮部分データの情報を用いて一覧表示や、要約表示等を提供することが可能である。即ち、メールデータ管理装置1は、圧縮されたデータ(圧縮部分データ)に関する展開処理を行うことなく、一覧表示や、要約表示等に必要なデータをメールクライアント3に提供可能である。このため、メールデータ管理装置1は、メールデータ全体が無圧縮の場合と同等の応答性能を維持可能である。   Regarding mail with a large capacity (data size), it is generally considered that the capacity (data size) of the data part of the mail body (mail body part) is large. Since the mail data management apparatus 1 can compress the mail body portion, a mail having a particularly large capacity is compressed. Further, the mail client 3 can provide a list display, a summary display, and the like using the information of the uncompressed partial data. That is, the mail data management apparatus 1 can provide the mail client 3 with data necessary for list display, summary display, and the like without performing decompression processing on the compressed data (compressed partial data). For this reason, the mail data management apparatus 1 can maintain response performance equivalent to that when the entire mail data is uncompressed.

なお、圧縮効率の観点からは、全てのメールをまとめて一つのデータとして(例えば、1つのファイルとして)圧縮する場合、データを効率よく圧縮することが可能である(即ち、圧縮効率は高くなる)。しかしながら、この場合、展開処理に多くの時間を要する(展開処理が非効率になる)可能性がある。例えば、一つのメールに関するデータを取得するために、全てのメールを含む圧縮データが展開される可能性がある。一方、各メールを個別に圧縮する場合、全てのメールを1つのファイルとして圧縮する場合に比して、展開処理に要する時間は短いものの、圧縮効率は低くなる。   From the viewpoint of compression efficiency, when all mails are compressed together as one data (for example, as one file), it is possible to efficiently compress the data (that is, the compression efficiency becomes high). ). However, in this case, the development process may take a long time (the development process becomes inefficient). For example, in order to acquire data related to one mail, there is a possibility that compressed data including all mails is expanded. On the other hand, when each mail is compressed individually, the compression efficiency is low, although the time required for the expansion process is shorter than when all mails are compressed as one file.

これに対して、一般的に、メールを返信する際には、元のメール(返信されるメール)を引用することが多いという特徴がある。即ち、一連のスレッドに含まれるメールには、共通部分が多く存在すると考えられる。メールデータ管理装置1は、係る特徴を考慮して、スレッド毎に当該スレッドに含まれるメールをまとめて圧縮する。これにより、メールデータ管理装置1は、各メールを個別に圧縮する場合に比して、高い圧縮効率を達成可能である。また、メールデータ管理装置1は、全てのメールを一つのデータとして圧縮する場合に比して、短い時間で展開処理を実行可能である。なぜならば、一般的に、全てのメールを一つにまとめた圧縮データのサイズよりも、スレッド毎に当該スレッドに含まれるメールを圧縮したデータのサイズの方が小さく、含まれるメールの数も少ないからである。また、一般的に、スレッド毎にメールを操作する(例えば、スレッド毎にメールを参照する、等)こともよくあることから、メールデータ管理装置1は、そのようなリクエストに効率よく応答することが可能である。   On the other hand, in general, when a mail is replied, the original mail (reply mail) is often cited. That is, it is considered that there are many common parts in mail included in a series of threads. The mail data management apparatus 1 considers such characteristics and compresses mail included in the thread for each thread. Thereby, the mail data management apparatus 1 can achieve high compression efficiency as compared with the case where each mail is individually compressed. Further, the mail data management apparatus 1 can execute the expansion process in a shorter time than when all mails are compressed as one data. Because, in general, the size of the compressed data of the mail included in each thread is smaller and the number of included mails is smaller than the compressed data size of all the mails combined into one. Because. In general, since mail is frequently manipulated for each thread (for example, referring to mail for each thread, etc.), the mail data management apparatus 1 responds efficiently to such requests. Is possible.

[変形例]
以下、メールデータ管理装置1の変形例について説明する。本変形例におけるメールデータ管理装置1の構成は、上記第1の実施形態と同様としてよい。
[Modification]
Hereinafter, modifications of the mail data management device 1 will be described. The configuration of the mail data management device 1 in this modification may be the same as that in the first embodiment.

本変形例においては、展開部109、メールデータ結合部110、及び、応答部112の一部の動作が、上記第1の実施形態とは相違する。以下、係る相違点について説明する。   In this modification, some operations of the expansion unit 109, the mail data combination unit 110, and the response unit 112 are different from those of the first embodiment. Hereinafter, the difference will be described.

本変形例における応答部112は、メールクライアント3からのリクエストに応じて圧縮部分データを含むメール本文のデータを提供する場合、まず、取得部111を介して取得された無圧縮部分データをメールクライアント3に提供する。応答部112は、展開処理を実行することなく無圧縮部分データを提供可能であることから、本変形例におけるメールデータ管理装置1は、例えば、メールクライアント3に対するレスポンスタイムを維持することが可能である。   When providing the mail body data including the compressed partial data in response to the request from the mail client 3, the response unit 112 in the present modification first sends the uncompressed partial data acquired via the acquisition unit 111 to the mail client. 3 is provided. Since the response unit 112 can provide the uncompressed partial data without executing the decompression process, the mail data management device 1 in the present modification can maintain a response time for the mail client 3, for example. is there.

また、本変形例における展開部109及びメールデータ結合部110は、例えば、応答部112における無圧縮部分データの提供と並行して、圧縮部分データの展開及び結合に関する処理を実行する。即ち、本変形例におけるメールデータ管理装置1は、無圧縮部分データの提供と、圧縮部分データを含むメールデータ全体の復元とを並行して実行することができる。これにより、本変形例におけるメールデータ管理装置1は、メールクライアント3に対するメールデータ全体の提供まで含めたターンアラウンドタイムの低下を抑制可能である。   In addition, the decompressing unit 109 and the mail data combining unit 110 in the present modification execute, for example, processing related to decompressing and combining the compressed partial data in parallel with the provision of the uncompressed partial data in the response unit 112. That is, the mail data management apparatus 1 in this modification can execute the provision of the uncompressed partial data and the restoration of the entire mail data including the compressed partial data in parallel. Thereby, the mail data management apparatus 1 in this modification can suppress a decrease in turnaround time including provision of the entire mail data to the mail client 3.

<第2の実施形態>
以下、本開示に係る技術の第2の実施形態について、図面を参照して説明する。
<Second Embodiment>
Hereinafter, a second embodiment of the technology according to the present disclosure will be described with reference to the drawings.

[構成]
図7に例示するように、本実施形態におけるメールデータ管理装置7は、上記メールデータ管理装置1におけるメールデータ分解部105の代わりに、差分確認部701を有する。メールデータ管理装置7は、上記メールデータ管理装置1における圧縮部106の代わりに、差分管理部702を有する。メールデータ管理装置7は、上記メールデータ管理装置1におけるメールデータ結合部110の代わりに、差分結合部703を有する。以下、第1の実施形態におけるメールデータ管理装置1との差分について説明する。
[Constitution]
As illustrated in FIG. 7, the mail data management device 7 in this embodiment includes a difference confirmation unit 701 instead of the mail data decomposition unit 105 in the mail data management device 1. The mail data management device 7 includes a difference management unit 702 instead of the compression unit 106 in the mail data management device 1. The mail data management device 7 includes a difference combining unit 703 instead of the mail data combining unit 110 in the mail data management device 1. Hereinafter, a difference from the mail data management apparatus 1 in the first embodiment will be described.

差分確認部701は、同一のスレッドに含まれる1以上のメールについて、共通する部分(共通部分)と、異なる部分(差分部分)とを確認(特定)する。差分確認部701は、例えば、同一のスレッドに含まれる全てのメールについて、メール本体部分において共通する部分を、共通部分として特定してもよい。この場合、差分部分には、メールヘッダ部分と、メール本体部分における共通部分以外の部分とが含まれ得る。以下、同一のスレッドに含まれる1以上のメールにおける共通部分のデータを、共通部分データと記載することがある。また、共通部分データ以外のデータを、差分部分データと記載することがある。   The difference confirmation unit 701 confirms (identifies) a common part (common part) and a different part (difference part) for one or more mails included in the same thread. For example, the difference confirmation unit 701 may specify a common part in the mail body part as a common part for all mails included in the same thread. In this case, the difference part may include a mail header part and a part other than the common part in the mail body part. Hereinafter, data of a common part in one or more mails included in the same thread may be referred to as common part data. In addition, data other than the common partial data may be described as differential partial data.

差分管理部702は、差分確認部701により確認された差分部分と共通部分の関係を管理する。具体的には、差分管理部702は、例えば、スレッド毎に、スレッドに含まれる各メールの共通部分を用いてスレッドデータを生成してもよい。また、差分管理部702は、受信したメールのデータから共通部分データを取り除くことで、差分部分データを生成してもよい。差分管理部702は、また、各メールについて、共通部分が含まれる位置(各メールのデータにおいて、共通部分が配置される位置)を特定可能な情報(配置情報)を管理してもよい。係る配置情報は、例えば、メールを特定可能なuidと、当該メールが含まれるスレッドのThread−Idと、当該メールにおいて共通部分が配置される1以上の場所を特定可能な情報(例えば、メールボディ部分における先頭からのオフセット等)と、を含んでもよい。   The difference management unit 702 manages the relationship between the difference part confirmed by the difference confirmation part 701 and the common part. Specifically, for example, the difference management unit 702 may generate thread data for each thread by using a common part of each mail included in the thread. Further, the difference management unit 702 may generate the difference partial data by removing the common part data from the received mail data. The difference management unit 702 may also manage information (arrangement information) that can specify the position where the common part is included (position where the common part is arranged in the data of each mail) for each mail. Such arrangement information includes, for example, a uid that can identify a mail, a thread-Id of a thread that includes the mail, and information that can identify one or more locations where common parts are disposed in the mail (for example, a mail body). For example, an offset from the beginning of the portion).

差分管理部702は、格納部107を介して、各メールに関する差分部分データと、スレッドデータとをメールボックスに個別に格納してもよい。   The difference management unit 702 may store the difference partial data regarding each mail and the thread data individually in the mailbox via the storage unit 107.

差分結合部703は、差分管理部702を参照し、差分部分と共通部分を結合することで、元のメールデータを復元する。   The difference combining unit 703 refers to the difference management unit 702 and combines the difference part and the common part to restore the original mail data.

図7における他の構成要素は、上記第1の実施形態と同様としてよい。   Other components in FIG. 7 may be the same as those in the first embodiment.

[動作]
図8及び図9に例示するフローチャートを参照して、メールデータ管理装置7の動作について説明する。図8は、メールデータ管理装置1が、メールサーバ2からメールを受信し、メールボックス108に格納する動作を例示するフローチャートである。
[Operation]
The operation of the mail data management apparatus 7 will be described with reference to the flowcharts illustrated in FIGS. FIG. 8 is a flowchart illustrating an operation in which the mail data management apparatus 1 receives mail from the mail server 2 and stores it in the mail box 108.

図8におけるステップS201乃至ステップS204並びにステップS207は、上記第1の実施形態において説明した図2に例示するステップS201乃至ステップS204並びにステップS207とそれぞれ同様としてよい。   Steps S201 to S204 and Step S207 in FIG. 8 may be the same as Steps S201 to S204 and Step S207 illustrated in FIG. 2 described in the first embodiment.

メールデータ管理装置7(差分確認部701)は、受信したメールと、当該メールと同一のスレッドに含まれる他のメールとの共通部分及び差分部分を確認(特定)する(ステップS801)。   The mail data management device 7 (difference confirmation unit 701) confirms (identifies) a common part and a difference part between the received mail and other mails included in the same thread as the mail (step S801).

メールデータ管理装置7(差分確認部701)は、例えば、以下のような方法により上記共通部分及び差分部分を特定してもよい。係る方法の一つとして、メールデータ管理装置7は、例えば、スレッドデータに含まれる共通部分データが、受信したメールに含まれるか否かを確認してもよい。受信したメールが、スレッドデータと同じデータを含む場合、そのデータが共通部分として特定され、それ以外のデータが差分部分として特定される。他の方法として、メールデータ管理装置7は、例えば、受信したメールと、当該メールと同一のスレッドに含まれる他の全てのメールとの間の共通部分及び差分部分を確認してもよい。この場合、メールデータ管理装置7は、例えば、受信したメールと同じスレッドに含まれる他のメールを一度全て復元し、復元された各メールと、受信したメールとの間の共通部分及び差分部分を特定してもよい。上記に限定されず、メールデータ管理装置7は、他の適切な方法を用いて、受信したメールと、当該メールと同一のスレッドに含まれる他のメールとの共通部分及び差分部分を確認してよい。   The mail data management apparatus 7 (difference confirmation unit 701) may specify the common part and the difference part by the following method, for example. As one of such methods, the mail data management device 7 may check whether, for example, the common partial data included in the thread data is included in the received mail. When the received mail includes the same data as the thread data, the data is specified as the common part, and the other data is specified as the difference part. As another method, for example, the mail data management device 7 may check a common part and a difference part between the received mail and all other mails included in the same thread as the mail. In this case, for example, the mail data management device 7 restores all other mails included in the same thread as the received mail once, and extracts the common part and the difference part between the restored mails and the received mail. You may specify. Without being limited to the above, the mail data management device 7 uses other appropriate methods to check the common part and the difference part between the received mail and other mails included in the same thread as the mail. Good.

なお、受信したメールが新たなスレッドの起点である場合(ステップS203においてNO)、ステップS801において、差分確認部701は、当該メールの一部(典型的には、例えば、メール本体部分)を共通部分として適宜特定し、残りの部分を差分部分として特定してもよい。   When the received mail is the starting point of a new thread (NO in step S203), in step S801, the difference confirmation unit 701 shares a part of the mail (typically, for example, the mail body part). You may specify as a part suitably and may specify the remaining part as a difference part.

差分確認部701は、確認した差分部分及び共通部分を、差分管理部702に提供してもよい。   The difference confirmation unit 701 may provide the confirmed difference part and common part to the difference management unit 702.

メールデータ管理装置7(差分管理部702)は、ステップS801において確認された共通部分を含むスレッドデータを生成してよい(ステップS802)。また、差分管理部702は、当該スレッドに含まれるメールのデータから共通部分データ(スレッドデータ)を取り除くことで、当該メールの差分部分データを生成してもよい。ステップS802において作成されるスレッドデータのデータサイズは、スレッドに含まれる全メールのデータサイズの総和よりも小さい。なぜならば、差分管理部702により各メールに共通に含まれる重複部分が取り除かれることで、データサイズが低減されるからである。例えば、メールA、メールB、メールCに共通部分Dが含まれる場合、スレッドデータには共通部分Dが一つだけ含まれればよい。スレッドデータを用いて共通部分Dの重複を排除することで、メールデータ管理装置7は、メールボックス108に保存されるデータのサイズを低減可能である。   The mail data management device 7 (difference management unit 702) may generate thread data including the common part confirmed in step S801 (step S802). Further, the difference management unit 702 may generate the difference partial data of the mail by removing the common part data (thread data) from the mail data included in the thread. The data size of the thread data created in step S802 is smaller than the sum of the data sizes of all mails included in the thread. This is because the difference management unit 702 removes an overlapping portion that is commonly included in each mail, thereby reducing the data size. For example, when the common part D is included in mail A, mail B, and mail C, only one common part D needs to be included in the thread data. By eliminating the duplication of the common part D using the thread data, the mail data management device 7 can reduce the size of the data stored in the mail box 108.

なお、差分管理部702は、ステップS801において確認された共通部分及び差分部分に基づいて、各メールについて共通部分が含まれる位置を特定可能な配置情報を更新してもよい。   The difference management unit 702 may update the arrangement information that can identify the position where the common part is included for each mail based on the common part and the difference part confirmed in step S801.

以下、メールデータ管理装置7が、メールクライアント3からのリクエストに応じて、メールクライアント3にレスポンスを返す処理について、図9に例示するフローチャートを参照して説明する。   Hereinafter, processing in which the mail data management device 7 returns a response to the mail client 3 in response to a request from the mail client 3 will be described with reference to a flowchart illustrated in FIG.

図9におけるステップS301、ステップS302及びステップS309は、上記第1の実施形態において説明した図3に例示するステップS301、ステップS302及びステップS309とそれぞれ同様としてよい。   Step S301, step S302, and step S309 in FIG. 9 may be the same as step S301, step S302, and step S309 illustrated in FIG. 3 described in the first embodiment.

受信したリクエストが、メールのヘッダ部分を取得するリクエストである場合(ステップS302において[メールヘッダのみ])、メールデータ管理装置7(取得部111)は、メールボックス108から、当該メールに関する差分部分データを取得する(ステップS901)。   When the received request is a request for acquiring a header part of a mail (in step S302 [only mail header]), the mail data management device 7 (acquisition unit 111) obtains difference partial data regarding the mail from the mail box 108. Is acquired (step S901).

受信したリクエストが、メール全体を取得するリクエストである場合(ステップS302において[メールデータ全体])、メールデータ管理装置7(取得部111)は、リクエストされたメールの差分部分データと、指定されたメールが含まれるスレッドのスレッドデータとを取得する(ステップS901)。係るスレッドデータには、リクエストされたメールに関する共通部分データが含まれる。   When the received request is a request for acquiring the entire mail ([entire mail data] in step S302), the mail data management device 7 (acquiring unit 111) specifies the difference partial data of the requested mail and the specified mail. The thread data of the thread including the mail is acquired (step S901). The thread data includes common part data related to the requested mail.

メールデータ管理装置7(差分結合部703)は、ステップS902において取得して共通部分データと、差分部分データとから、元のメールを復元する(ステップS903)。差分結合部703は、例えば、差分管理部702が管理する配置情報を参照し、差分部分データと、共通部分データとを結合することで、元のメールを復元してもよい。具体的には、差分管理部702は、例えば、配置情報に示された共通部分データにおける特定の箇所に差分部分データを配置することで、元のメールを復元することができる。   The mail data management device 7 (difference combining unit 703) acquires the original mail from the common partial data and the differential partial data acquired in step S902 (step S903). For example, the difference combining unit 703 may restore the original mail by referring to the arrangement information managed by the difference management unit 702 and combining the difference partial data and the common partial data. Specifically, the difference management unit 702 can restore the original mail by, for example, arranging the difference partial data at a specific location in the common partial data indicated by the arrangement information.

上記のように構成されたメールデータ管理装置7は、メールをスレッド毎に管理し、各メールの共通部分と差分部分を管理することで、メールの保存に要する記憶容量を削減することができる。その理由は、メールデータ管理装置7が、同一スレッドに含まれる各メールを共通部分と差分部分とに分解し、共通部分はスレッドデータとして格納するとともに、各メールについては差分部分のみを格納するからである。これにより、メールデータ管理装置7は、同一スレッドに含まれる各メールから、重複部分を取り除くことが可能である。重複部分(共通部分)が取り除かれることにより、メールボックス108に格納される各メールの容量(データサイズ)は低減される。換言すると、メールデータ管理装置7は、同一スレッドに含まれる各メールについて、重複部分を取り除いた最低限のサイズのデータ(差分部分のデータ)を、メールボックス108に格納することができる。これにより、メールデータ管理装置7は、メールデータの記憶に要する記憶容量を低減することが可能である。   The mail data management device 7 configured as described above can manage the mail for each thread and manage the common part and the difference part of each mail, thereby reducing the storage capacity required for storing the mail. The reason is that the mail data management device 7 decomposes each mail included in the same thread into a common part and a difference part, stores the common part as thread data, and stores only the difference part for each mail. It is. Thereby, the mail data management apparatus 7 can remove an overlapping part from each mail included in the same thread. By removing the overlapping part (common part), the capacity (data size) of each mail stored in the mail box 108 is reduced. In other words, the mail data management device 7 can store, in the mail box 108, data of a minimum size (data of the difference part) from which duplicate parts are removed for each mail included in the same thread. Thereby, the mail data management device 7 can reduce the storage capacity required for storing the mail data.

また、上記第1の実施形態と同様、メールデータ管理装置7は、例えば、各メールのメールヘッダを、差分部分データとして個別に格納することができる。よって、メールデータ管理装置7は、共通部分データと差分データとの結合処理を行うことなく、一覧表示や、要約表示等に必要なデータをメールクライアント3に提供可能である。このため、メールデータ管理装置7は、メールデータ全体が分割されていない場合と同等の応答性能(レスポンスタイム)を維持可能である。以上より、メールデータ管理装置7は、メールデータの読み出し性能の低下を抑えることが可能である。   Further, similarly to the first embodiment, the mail data management device 7 can individually store, for example, the mail header of each mail as difference partial data. Therefore, the mail data management device 7 can provide the mail client 3 with data necessary for list display, summary display, and the like without performing the process of combining the common partial data and the difference data. For this reason, the mail data management device 7 can maintain response performance (response time) equivalent to the case where the entire mail data is not divided. As described above, the mail data management device 7 can suppress a decrease in mail data reading performance.

[変形例]
以下、メールデータ管理装置7の変形例について説明する。本変形例におけるメールデータ管理装置7の構成は、上記第2の実施形態と同様としてよい。
[Modification]
Hereinafter, modifications of the mail data management device 7 will be described. The configuration of the mail data management device 7 in this modification may be the same as that in the second embodiment.

本変形例においては、差分管理部702及び差分結合部703の一部の動作が、上記第2の実施形態とは相違する。以下、係る相違点について説明する。   In this modification, some operations of the difference management unit 702 and the difference combination unit 703 are different from those of the second embodiment. Hereinafter, the difference will be described.

本変形例における差分管理部702は、スレッド毎のスレッドデータを圧縮する。本変形例における差分管理部702は、格納部107を介して、圧縮したスレッドデータをメールボックス108に格納する。なお、具体的な圧縮アルゴリズムは適宜選択されてよい。   The difference management unit 702 in this modification compresses thread data for each thread. The difference management unit 702 in this modification stores the compressed thread data in the mail box 108 via the storage unit 107. A specific compression algorithm may be selected as appropriate.

本変形例における差分結合部703は、取得部111を介してメールボックス108から、圧縮されたスレッドデータを取得し、当該スレッドデータを展開する。   The difference combination unit 703 in this modification example acquires compressed thread data from the mail box 108 via the acquisition unit 111 and expands the thread data.

本変形例によれば、メールデータ管理装置7は、各スレッドのスレッドデータを圧縮することから、メールボックス108に格納されるメールに関するデータのサイズを更に低減可能である。   According to this modification, the mail data management device 7 compresses the thread data of each thread, so that the size of the data related to the mail stored in the mail box 108 can be further reduced.

<第3の実施形態>
以下、本開示の第3の実施形態について説明する。第3の実施形態は、上記各実施形態に共通する基本的な実施形態である。
<Third Embodiment>
Hereinafter, a third embodiment of the present disclosure will be described. The third embodiment is a basic embodiment common to the above embodiments.

図10Aに例示するように、本実施形態におけるメールデータ管理装置10は、メールデータ保存部1001と、スレッド判定部1002と、メールデータ分解部1003と、データサイズ調整部1004と、を含む。メールデータ管理装置10を構成するこれらの構成要素の間は、適切な通信方法を用いて通信可能に接続されていてよい。以下、それぞれの構成要素について説明する。   As illustrated in FIG. 10A, the mail data management apparatus 10 in the present embodiment includes a mail data storage unit 1001, a thread determination unit 1002, a mail data decomposition unit 1003, and a data size adjustment unit 1004. These constituent elements constituting the mail data management apparatus 10 may be communicably connected using an appropriate communication method. Hereinafter, each component will be described.

メールデータ保存部1001は、メールに関するデータを記憶可能に構成される。メールデータ保存部1001は、後述するように、例えば、各メールが含まれるスレッドに関するデータを記憶してもよい。メールデータ保存部1001は、スレッドに関するデータとは別に、メール毎に個別のデータを記憶してもよい。上記各実施形態におけるメールボックス108は、メールデータ保存部1001の一つの実現例であると考えられる。メールデータ保存部1001は、例えば、上記各実施形態におけるメールボックス108と同様の構成を有してもよく、同様の処理を実行可能であってもよい。   The mail data storage unit 1001 is configured to be able to store data related to mail. As will be described later, for example, the mail data storage unit 1001 may store data related to a thread in which each mail is included. The mail data storage unit 1001 may store individual data for each mail separately from the data related to the thread. The mailbox 108 in each of the above embodiments is considered to be an example of realization of the mail data storage unit 1001. For example, the mail data storage unit 1001 may have the same configuration as the mail box 108 in each of the above embodiments, and may be able to execute the same processing.

スレッド判定部1002は、1以上のメールが同一のスレッドに含まれるか否かを判定するよう構成される。スレッド判定部1002は、例えば、各メールのメールヘッダに設定されたデータ(例えば、”Message−Id”、”In−Reply−To”等)を参照して、各メールが同一のスレッドに含まれるか否かを判定してもよい。上記各実施形態におけるスレッド判定部1002は、例えば、スレッド判定部102の一つの実現例であると考えられる。スレッド判定部1002は、上記各実施形態におけるスレッド判定部102と同様の構成を有してもよく、同様の処理を実行可能であってもよい。   The thread determination unit 1002 is configured to determine whether one or more mails are included in the same thread. For example, the thread determination unit 1002 refers to data (for example, “Message-Id”, “In-Reply-To”, etc.) set in the mail header of each mail, and each mail is included in the same thread. It may be determined whether or not. The thread determination unit 1002 in each of the above embodiments is considered to be an example of realizing the thread determination unit 102, for example. The thread determination unit 1002 may have the same configuration as the thread determination unit 102 in each of the above embodiments, and may be able to execute the same processing.

メールデータ分解部1003は、メールを構成するメールデータを、第1の部分データと、第2の部分データとに分解する。第1の部分データは、例えば、当該メールが含まれるスレッドに関連付けされたデータである、スレッドデータに含まれるデータである。係るスレッドデータは、例えば、スレッド毎に個別にメールデータ保存部1001に記憶されてもよい。第2の部分データは、例えば、メール毎に個別のデータであり、メール毎に個別にメールデータ保存部1001に記憶されてもよい。   The mail data decomposition unit 1003 decomposes mail data constituting the mail into first partial data and second partial data. The first partial data is, for example, data included in thread data, which is data associated with a thread including the mail. Such thread data may be stored in the mail data storage unit 1001 individually for each thread, for example. The second partial data is, for example, individual data for each mail, and may be stored in the mail data storage unit 1001 for each mail.

上記第1の実施形態における圧縮部分データ及び第2の実施形態における共通部分データは、いずれも第1の部分データの一例であると考えられる。また、上記第1の実施形態における無圧縮部分データ及び第2の実施形態における差分部分データは、いずれも第2の部分データの一例であると考えられる。   Both the compressed partial data in the first embodiment and the common partial data in the second embodiment are considered to be examples of the first partial data. The uncompressed partial data in the first embodiment and the differential partial data in the second embodiment are both considered to be examples of the second partial data.

上記第1の実施形態におけるメールデータ分解部105は、メールデータ分解部1003の一例であると考えられる。メールデータ分解部1003は、例えば、上記第1の実施形態におけるメールデータ分解部105と同様の構成を有してもよく、同様の処理を実行可能であってもよい。同様に、上記第2の実施形態における差分確認部701及び差分管理部702は、メールデータ分解部1003の一例であると考えられる。メールデータ分解部1003は、例えば、上記第2の実施形態における差分確認部701及び差分管理部702と同様の構成を有してもよく、同様の処理を実行可能であってもよい。   The mail data decomposition unit 105 in the first embodiment is considered to be an example of the mail data decomposition unit 1003. For example, the mail data decomposing unit 1003 may have the same configuration as the mail data decomposing unit 105 in the first embodiment, and may be capable of executing the same processing. Similarly, the difference confirmation unit 701 and the difference management unit 702 in the second embodiment are considered to be examples of the mail data decomposition unit 1003. The mail data decomposition unit 1003 may have the same configuration as the difference confirmation unit 701 and the difference management unit 702 in the second embodiment, for example, and may be able to execute the same processing.

データサイズ調整部1004は、スレッド毎に、当該スレッドに含まれるメールに関する第1の部分データの少なくとも一部に基づいて、少なくとも当該スレッドに含まれるメールのデータサイズの総和よりも小さいデータサイズのスレッドデータを作成するよう構成される。   For each thread, the data size adjustment unit 1004 is based on at least a part of the first partial data regarding the mail included in the thread, and at least a thread having a data size smaller than the sum of the data sizes of the mail included in the thread Configured to create data.

データサイズ調整部1004は、例えば、スレッド毎に、当該スレッドに含まれる各メールに関する第1の部分データを圧縮することで、スレッドデータを作成してもよい。これにより、当該スレッドに含まれる各メールに関する第1の部分データのサイズが低減される。よって、データサイズ調整部1004は、当該スレッドに含まれる各メールのデータサイズの総和よりも小さいデータサイズのスレッドデータを作成することができる。   For example, the data size adjustment unit 1004 may create thread data for each thread by compressing the first partial data related to each mail included in the thread. As a result, the size of the first partial data regarding each mail included in the thread is reduced. Therefore, the data size adjustment unit 1004 can create thread data having a data size smaller than the sum of the data sizes of the mails included in the thread.

データサイズ調整部1004は、例えば、スレッド毎に、当該スレッドに含まれる各メールに共通する共通部分を第1の部分データとして抽出し、抽出した共通部分を含むスレッドデータを作成してもよい。これにより、データサイズ調整部1004は、当該スレッドに含まれる各メールのデータサイズの総和よりも小さいデータサイズのスレッドデータを作成することができる。また、データサイズ調整部1004は、各メールから、スレッドデータに含まれる共通部分を取り除くことで、メールデータ保存部1001に記憶されるメールのデータサイズを低減可能である。   For example, the data size adjusting unit 1004 may extract, for each thread, a common part common to each mail included in the thread as first partial data, and create thread data including the extracted common part. Thereby, the data size adjustment unit 1004 can create thread data having a data size smaller than the sum of the data sizes of the mails included in the thread. In addition, the data size adjustment unit 1004 can reduce the data size of the mail stored in the mail data storage unit 1001 by removing the common part included in the thread data from each mail.

上記第1の実施形態における圧縮部106は、データサイズ調整部1004の一例であると考えられる。データサイズ調整部1004は、例えば、上記第1の実施形態における圧縮部106と同様の構成を有してもよく、同様の処理を実行可能であってもよい。   The compression unit 106 in the first embodiment is considered to be an example of the data size adjustment unit 1004. The data size adjustment unit 1004 may have the same configuration as the compression unit 106 in the first embodiment, for example, and may be able to execute the same processing.

同様に、上記第2の実施形態における差分確認部701及び差分管理部702は、データサイズ調整部1004の一例であると考えられる。データサイズ調整部1004は、例えば、上記第2の実施形態における差分確認部701及び差分管理部702と同様の構成を有してもよく、同様の処理を実行可能であってもよい。   Similarly, the difference confirmation unit 701 and the difference management unit 702 in the second embodiment are considered to be examples of the data size adjustment unit 1004. For example, the data size adjustment unit 1004 may have the same configuration as the difference confirmation unit 701 and the difference management unit 702 in the second embodiment, and may be able to perform the same processing.

なお、メールデータ管理装置10は、図10Bに例示するように、取得部1005と、メールデータ結合部1006と、応答部1007と、を更に備えてもよい。   The mail data management apparatus 10 may further include an acquisition unit 1005, a mail data combination unit 1006, and a response unit 1007, as illustrated in FIG. 10B.

取得部1005は、あるメールについて、当該メールが含まれるスレッドに関するスレッドデータと、当該メールに関する第2の部分データとの少なくとも一方をメールデータ保存部1001から取得するよう構成される。例えば、上記各実施形態における取得部111は、取得部1005の一つの実現例であると考えられる。取得部1005は、上記各実施形態における取得部111と同様の構成を備えてもよく、同様の処理を実行可能であってもよい。   The acquisition unit 1005 is configured to acquire, from a mail data storage unit 1001, at least one of thread data related to a thread including the mail and second partial data related to the mail for a certain mail. For example, the acquisition unit 111 in each of the above embodiments is considered to be one example of the acquisition unit 1005. The acquisition unit 1005 may have the same configuration as the acquisition unit 111 in each of the above embodiments, and may be able to execute the same processing.

メールデータ結合部1006は、あるメールについて取得部1005が取得したスレッドデータと、第2の部分データとに基づいて、元のメールを生成(復元)するよう構成される。例えば、あるメールに関する第1の部分データを圧縮したデータがスレッドデータに含まれる場合、メールデータ結合部1006は、当該スレッドデータを展開して第1の部分データを抽出し、抽出した第1の部分データと、第2の部分データとを結合することで、元のメールを復元してもよい。例えば、あるスレッドに含まれる各メールに共通する共通部分がスレッドデータに含まれる場合、メールデータ結合部1006は、当該共通部分と、第2のメールデータとを適切に結合することで、元のメールを復元してもよい。   The mail data combining unit 1006 is configured to generate (restore) the original mail based on the thread data acquired by the acquiring unit 1005 for the mail and the second partial data. For example, when the thread data includes data obtained by compressing the first partial data related to a certain mail, the mail data combining unit 1006 expands the thread data to extract the first partial data, and extracts the extracted first data. The original mail may be restored by combining the partial data and the second partial data. For example, when a common part common to each mail included in a thread is included in the thread data, the mail data combining unit 1006 appropriately combines the common part and the second mail data, thereby Mail may be restored.

上記第1の実施形態における展開部109及びメールデータ結合部110は、メールデータ結合部1006の一つの実現例であると考えられる。この場合、メールデータ結合部1006は、上記第1の実施形態における展開部109及びメールデータ結合部110と同様の構成を備えてもよく、同様の処理を実行可能であってもよい。また、上記第2の実施形態における差分管理部702及び差分結合部703は、メールデータ結合部1006の一つの実現例であると考えられる。この場合、メールデータ結合部1006は、上記第2の実施形態における差分管理部702及び差分結合部703と同様の構成を備えてもよく、同様の処理を実行可能であってもよい。   The expansion unit 109 and the mail data combining unit 110 in the first embodiment are considered to be one implementation example of the mail data combining unit 1006. In this case, the mail data combining unit 1006 may have the same configuration as the expansion unit 109 and the mail data combining unit 110 in the first embodiment, and may be able to execute similar processing. In addition, the difference management unit 702 and the difference combining unit 703 in the second embodiment are considered to be one implementation example of the mail data combining unit 1006. In this case, the mail data combining unit 1006 may have the same configuration as the difference management unit 702 and the difference combining unit 703 in the second embodiment, and may be able to execute the same processing.

応答部1007は、例えばメールクライアント等からのリクエストにより指定されたメールの少なくとも一部を提供するよう構成される。具体的には、応答部1007は、リクエストに応じて、取得部1005により取得した第2の部分データの少なくとも一部を提供するか、又は、メールデータ結合部により復元された当該メールに関するメールデータの少なくとも一部(前記第1の部分データを含んでもよい)を提供する。上記各実施形態における応答部112は、応答部1007の一つの実現例であると考えられる。応答部1007は、応答部112と同様の構成を備えてもよく、同様の処理を実行可能であってもよい。   The response unit 1007 is configured to provide at least a part of a mail designated by a request from, for example, a mail client. Specifically, the response unit 1007 provides at least a part of the second partial data acquired by the acquisition unit 1005 or mail data related to the mail restored by the mail data combining unit in response to the request. At least a portion (which may include the first partial data). The response unit 112 in each of the above embodiments is considered to be an example of realization of the response unit 1007. The response unit 1007 may have the same configuration as the response unit 112 and may be able to execute the same processing.

上記のように構成されたメールデータ管理装置10は、メールデータの記憶に要する記憶容量を低減しつつ、メールデータの読み出し性能の低下を抑えることが可能である。   The mail data management apparatus 10 configured as described above can suppress a decrease in mail data reading performance while reducing the storage capacity required for storing mail data.

その理由は、以下の通りである。メールデータ管理装置10は、メールを第1の部分データ及び第2の部分データに分割する。また、メールデータ管理装置10は、当該メールが含まれるスレッド毎に、第1の部分データに基づいて、当該スレッドに含まれるメールのデータサイズの総和よりもデータサイズが小さいスレッドデータを作成する。これにより、メールデータ管理装置10は、メールデータ保存部1001に記憶されるメールのデータサイズを、スレッド毎に低減することが可能である。即ち、メールデータ管理装置10は、メールデータの記憶に要する記憶容量を低減可能である。   The reason is as follows. The mail data management device 10 divides the mail into first partial data and second partial data. Further, the mail data management device 10 creates thread data having a data size smaller than the sum of the data sizes of mails included in the thread, for each thread including the mail, based on the first partial data. Thereby, the mail data management apparatus 10 can reduce the data size of the mail stored in the mail data storage unit 1001 for each thread. That is, the mail data management apparatus 10 can reduce the storage capacity required for storing mail data.

また、各メールに関する第1の部分データは、当該メールが含まれるスレッドに関するスレッドデータとして、スレッド毎にメールデータ保存部に記憶される。一方、各メールに関する第2の部分データは、メール毎に個別にメールデータ保存部に記録される。メールデータ管理装置10は、例えば、当該メールが含まれるスレッドのスレッドデータから第1の部分データを抽出し、当該メールに関する第2の部分データと結合することで、あるメールに関するメールデータ全体を復元する。これより、例えば、メールクライアントからのリクエストに応じて比較的頻繁に読み出される部分(例えばヘッダ部分等)を第2の部分データとして分解することで、メールデータ管理装置10は、第2の部分データのみを用いてリクエストに応答可能である。即ち、メールデータ管理装置10は、メールデータ全体を復元することなくリクエストに素早く対応可能であることから、メールデータの読み出し性能の低下を抑えることが可能である。   In addition, the first partial data regarding each mail is stored in the mail data storage unit for each thread as thread data regarding a thread including the mail. On the other hand, the second partial data relating to each mail is individually recorded in the mail data storage unit for each mail. For example, the mail data management apparatus 10 extracts the first partial data from the thread data of the thread containing the mail and combines it with the second partial data related to the mail to restore the entire mail data related to the mail. To do. Thus, for example, the mail data management apparatus 10 can resolve the second partial data by disassembling a portion (for example, a header portion) that is read relatively frequently in response to a request from the mail client as the second partial data. Can be used to respond to the request. In other words, the mail data management apparatus 10 can quickly respond to a request without restoring the entire mail data, and therefore, it is possible to suppress a decrease in mail data reading performance.

<ハードウェア及びソフトウェア・プログラム(コンピュータ・プログラム)の構成>
以下、上記説明した各実施形態を実現可能なハードウェア構成について説明する。
<Configuration of hardware and software program (computer program)>
Hereinafter, a hardware configuration capable of realizing each of the above-described embodiments will be described.

以下の説明においては、上記各実施形態において説明したメールデータ管理装置(1、7、10)をまとめて、単に「メールデータ管理装置」と記載する。また、これらメールデータ管理装置の各構成要素を、単に「メールデータ管理装置の構成要素」と記載する場合がある。   In the following description, the mail data management devices (1, 7, 10) described in the above embodiments are collectively referred to as “mail data management device”. In addition, each component of the mail data management device may be simply referred to as “component of the mail data management device”.

上記各実施形態において説明したメールデータ管理装置は、1つ又は複数の専用のハードウェア装置により構成されてもよい。その場合、上記各図(図1、図7、図10A、図10B)に示した各構成要素は、その一部又は全部を統合したハードウェア(処理ロジックを実装した集積回路あるいは記憶デバイス等を用いて構成されたアプライアンス等)を用いて実現されてもよい。   The mail data management device described in the above embodiments may be configured by one or a plurality of dedicated hardware devices. In that case, each component shown in each of the above drawings (FIGS. 1, 7, 10A, and 10B) includes hardware (an integrated circuit or a storage device on which processing logic is mounted) that is partially or fully integrated. It may be realized using an appliance or the like configured using.

メールデータ管理装置が専用のハードウェアにより実現される場合、係るメールデータ管理装置の構成要素は、例えば、それぞれの機能を提供可能な回路構成(circuitry)により実現されてもよい。係る回路構成は、例えば、SoC(System on a Chip)等の集積回路や、当該集積回路を用いて実現されたチップセット等を含む。この場合、メールデータ管理装置の構成要素が保持するデータは、例えば、SoCとして統合されたRAM(Random Access Memory)領域やフラッシュメモリ領域、あるいは、当該SoCに接続された記憶デバイス(半導体記憶装置等)に記憶されてもよい。また、この場合、メールデータ管理装置の各構成要素を接続する通信回線としては、周知の通信バス等を採用してもよい。また、各構成要素を接続する通信回線は、それぞれの構成要素間をピアツーピアで接続してもよい。   When the mail data management device is realized by dedicated hardware, the components of the mail data management device may be realized by, for example, a circuit configuration capable of providing each function. Such a circuit configuration includes, for example, an integrated circuit such as SoC (System on a Chip), a chip set realized using the integrated circuit, and the like. In this case, the data held by the constituent elements of the mail data management device is, for example, a RAM (Random Access Memory) area integrated as SoC, a flash memory area, or a storage device (semiconductor storage device or the like) connected to the SoC. ) May be stored. In this case, a well-known communication bus or the like may be employed as a communication line for connecting each component of the mail data management apparatus. Further, the communication line connecting each component may be connected between each component by peer-to-peer.

また、上述したメールデータ管理装置は、図11に例示するような汎用のハードウェア装置1100(例えばコンピュータ等)と、係るハードウェア装置1100によって実行される各種ソフトウェア・プログラム(コンピュータ・プログラム)とによって構成されてもよい。この場合、メールデータ管理装置は、1台以上の適切な数の汎用のハードウェア装置1100と、ソフトウェア・プログラムとの組合せにより構成されてもよい。   Further, the above-described mail data management apparatus includes a general-purpose hardware device 1100 (for example, a computer) illustrated in FIG. 11 and various software programs (computer programs) executed by the hardware device 1100. It may be configured. In this case, the mail data management device may be configured by a combination of one or more appropriate number of general-purpose hardware devices 1100 and software programs.

図11における演算装置1101は、CPU(中央処理装置:Central Processing Unit)やマイクロプロセッサ等の演算処理装置である。演算装置1101は、例えば後述する不揮発性記憶装置1103に記憶された各種ソフトウェア・プログラムをメモリ1102に読み出し、係るソフトウェア・プログラムに従って処理を実行してもよい。例えば、上記各実施形態におけるメールデータ管理装置の各構成要素の機能は、演算装置1101により実行されるソフトウェア・プログラムを用いて実現されてもよい。   An arithmetic device 1101 in FIG. 11 is an arithmetic processing device such as a CPU (Central Processing Unit) or a microprocessor. For example, the arithmetic device 1101 may read various software programs stored in a nonvolatile storage device 1103 to be described later into the memory 1102 and execute processing according to the software programs. For example, the function of each component of the mail data management device in each of the above embodiments may be realized using a software program executed by the arithmetic device 1101.

メモリ1102は、演算装置1101から参照可能な、RAM等のメモリデバイスであり、ソフトウェア・プログラムや各種データ等を記憶する。なお、メモリ1102は、揮発性のメモリであってもよい。   The memory 1102 is a memory device such as a RAM that can be referred to from the arithmetic device 1101, and stores software programs and various data. Note that the memory 1102 may be a volatile memory.

不揮発性記憶装置1103は、例えば磁気ディスクドライブや、フラッシュメモリによる半導体記憶装置等の、不揮発性の記憶装置(ストレージデバイス)である。不揮発性記憶装置1103は、各種ソフトウェア・プログラムやデータ等を記憶可能である。例えば、メールデータ管理装置の各構成要素を実現可能なプログラムは、不揮発性記憶装置1103に記憶されてもよい。例えば、上記各実施形態におけるメールボックス108及びメールデータ保存部1001は、不揮発性記憶装置1103にメールのデータを記憶(ストア)してもよい。   The non-volatile storage device 1103 is a non-volatile storage device (storage device) such as a magnetic disk drive or a semiconductor storage device using a flash memory. The nonvolatile storage device 1103 can store various software programs, data, and the like. For example, a program capable of realizing each component of the mail data management device may be stored in the nonvolatile storage device 1103. For example, the mail box 108 and the mail data storage unit 1001 in each of the above embodiments may store (store) mail data in the nonvolatile storage device 1103.

ドライブ装置1104は、例えば、後述する記録媒体1105に対するデータの読み込みや書き込みを処理する装置である。   The drive device 1104 is, for example, a device that processes reading and writing of data with respect to a recording medium 1105 described later.

記録媒体1105は、例えば光ディスク、光磁気ディスク、半導体フラッシュメモリ等、データを記録可能な任意の記録媒体である。例えば、メールデータ管理装置の各構成要素を実現可能なプログラムは、記録媒体1105に記録されていてもよい。   The recording medium 1105 is an arbitrary recording medium capable of recording data, such as an optical disk, a magneto-optical disk, and a semiconductor flash memory. For example, a program capable of realizing each component of the mail data management apparatus may be recorded in the recording medium 1105.

ネットワークインタフェース1106は、通信ネットワークとの間の通信データの送受信を制御する装置である。ネットワークインタフェース1106は、例えば、1以上の通信ポートを備え、係る通信ポートを介して、通信ネットワークとの間で通信データを送受信してもよい。例えば、上記説明したメールデータ管理装置は、メールサーバ2及びメールクライアント3と、ネットワークインタフェース1106を介して接続された通信ネットワークにより接続されてもよい。   The network interface 1106 is a device that controls transmission and reception of communication data with the communication network. The network interface 1106 may include, for example, one or more communication ports, and may transmit / receive communication data to / from the communication network via the communication ports. For example, the mail data management apparatus described above may be connected to the mail server 2 and the mail client 3 via a communication network connected via the network interface 1106.

図11に例示するハードウェア装置1100の各構成要素は、例えば、適切な通信方法(通信バス等)を用いて、相互に通信可能に接続されていてもよい。   Each component of the hardware device 1100 illustrated in FIG. 11 may be connected to be communicable with each other using, for example, an appropriate communication method (communication bus or the like).

上述した各実施形態を例に説明した本開示におけるメールデータ管理装置、あるいはその構成要素は、例えば、図11に例示するハードウェア装置1100に対して、上記各実施形態において説明した機能を実現可能なソフトウェア・プログラムを供給することにより、実現されてもよい。   The mail data management apparatus according to the present disclosure described with the above-described embodiments as an example, or a component thereof, for example, can implement the functions described in the above-described embodiments with respect to the hardware apparatus 1100 illustrated in FIG. It may be realized by supplying a simple software program.

より具体的には、例えば、係るハードウェア装置1100に対して供給したソフトウェア・プログラムを、演算装置1101が実行することによって、本開示に関する技術が実現されてもよい。この場合、係るハードウェア装置1100で稼働しているオペレーティングシステムや、データベース管理ソフト、ネットワークソフト、仮想環境基盤等のミドルウェアなどが各処理の一部を実行してもよい。   More specifically, for example, the technology related to the present disclosure may be realized by causing the arithmetic device 1101 to execute a software program supplied to the hardware device 1100. In this case, an operating system running on the hardware device 1100, middleware such as database management software, network software, and virtual environment infrastructure may execute a part of each process.

上述した各実施形態において、上記各図に示した各部は、上述したハードウェアにより実行されるソフトウェア・プログラムの機能(処理)単位である、ソフトウェアモジュールとして実現することができる。ただし、これらの図面に示した各ソフトウェアモジュールの区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。図1、図7、図10A及び図10Bの各図に例示したメールデータ管理装置の各構成要素をソフトウェアモジュールとして実現する場合、例えば、これらのソフトウェアモジュールが不揮発性記憶装置1103に記憶されてもよい。そして、演算装置1101がそれぞれの処理を実行する際に、これらのソフトウェアモジュールをメモリ1102に読み出してもよい。また、これらのソフトウェアモジュールは、共有メモリやプロセス間通信等の適宜の方法により、相互に各種データを伝達できるように構成されてもよい。このような構成により、これらのソフトウェアモジュールは、相互に通信可能に接続される。   In each embodiment described above, each unit illustrated in each of the above drawings can be realized as a software module, which is a function (processing) unit of a software program executed by the hardware described above. However, the division of each software module shown in these drawings is a configuration for convenience of explanation, and various configurations can be assumed for implementation. When each component of the mail data management apparatus illustrated in each of FIGS. 1, 7, 10A, and 10B is realized as a software module, for example, even if these software modules are stored in the nonvolatile storage device 1103, FIG. Good. These software modules may be read into the memory 1102 when the arithmetic device 1101 executes each process. In addition, these software modules may be configured to transmit various data to each other by an appropriate method such as shared memory or inter-process communication. With such a configuration, these software modules are connected so as to communicate with each other.

更に、上記ソフトウェア・プログラムは記録媒体1105に記録されてもよい。この場合、上記ソフトウェア・プログラムは、メールデータ管理装置の出荷段階、あるいは運用段階等において、適宜ドライブ装置1104を通じて不揮発性記憶装置1103に格納されるよう構成されてもよい。   Further, the software program may be recorded on the recording medium 1105. In this case, the software program may be configured to be stored in the non-volatile storage device 1103 through the drive device 1104 as appropriate at the time of shipment or operation of the mail data management device.

なお、上記した各種ソフトウェア・プログラムは、出荷前の製造段階、あるいは出荷後のメンテナンス段階等において、適当な治具(ツール)を利用して上記ハードウェア装置1100にインストールされてもよい。また、各種ソフトウェア・プログラムは、インターネット等の通信回線を介して外部からダウンロードする方法等のように、現在では一般的な手順により、上記ハードウェア装置1100にインストールされてもよい。そして、このような場合において、本開示に関する技術は、係るソフトウェア・プログラムを構成するコード、あるいは係るコードが記録されたところの、コンピュータ読み取り可能な記録媒体によって構成されると捉えることができる。この場合、係る記録媒体は、ハードウェア装置1100と独立した媒体に限らず、LANやインターネットなどにより伝送されたソフトウェア・プログラムをダウンロードして記憶又は一時記憶した記録媒体を含む。   Note that the various software programs described above may be installed in the hardware device 1100 using an appropriate jig (tool) in a manufacturing stage before shipment or a maintenance stage after shipment. Various software programs may be installed in the hardware device 1100 by a general procedure at present, such as a method of downloading from the outside via a communication line such as the Internet. In such a case, the technology relating to the present disclosure can be regarded as being configured by a code constituting the software program or a computer-readable recording medium on which the code is recorded. In this case, the recording medium is not limited to a medium independent of the hardware device 1100, and includes a recording medium in which a software program transmitted via a LAN or the Internet is downloaded and stored or temporarily stored.

また、上述したメールデータ管理装置の構成要素は、図11に例示するハードウェア装置1100を仮想化した仮想化環境と、当該仮想化環境において実行される各種ソフトウェア・プログラム(コンピュータ・プログラム)とによって構成されてもよい。この場合、図11に例示するハードウェア装置1100の構成要素は、当該仮想化環境における仮想デバイスとして提供される。なお、この場合も、図11に例示するハードウェア装置1100を物理的な装置として構成した場合と同様の構成により、本開示に関する技術を実現可能である。   In addition, the constituent elements of the mail data management apparatus described above include a virtual environment in which the hardware apparatus 1100 illustrated in FIG. 11 is virtualized and various software programs (computer programs) executed in the virtual environment. It may be configured. In this case, the components of the hardware device 1100 illustrated in FIG. 11 are provided as virtual devices in the virtual environment. In this case as well, the technology related to the present disclosure can be realized by the same configuration as that in the case where the hardware device 1100 illustrated in FIG. 11 is configured as a physical device.

以上、本開示を、上述した模範的な実施形態に適用した例として説明した。上記各実施形態においては、本開示に関する技術をメールデータ管理装置(1、7、10)に適用した例を説明した。例えば、上記各実施形態におけるメールデータ管理装置(1、7、10)を動作させることによって、本開示に関するメールデータ管理方法を実現することができる。なお、本開示は、複数の装置を含むシステムとして実現されてもよい。   The present disclosure has been described above as an example applied to the exemplary embodiment described above. In each of the above embodiments, the example in which the technology related to the present disclosure is applied to the mail data management device (1, 7, 10) has been described. For example, the mail data management method according to the present disclosure can be realized by operating the mail data management apparatus (1, 7, 10) in each of the above embodiments. Note that the present disclosure may be realized as a system including a plurality of devices.

また、本開示の技術的範囲は、上述した実施形態に記載した範囲には限定されない。当業者には、係る実施形態に対して多様な変更又は改良を加えることが可能であることは明らかである。そのような場合、係る変更又は改良を加えた新たな実施形態も、本開示の技術的範囲に含まれ得る。上述した実施形態及び具体例を組み合わせた実施形態も本開示の技術的範囲に含まれる。更に、上述した実施形態と、上述した実施形態に変更又は改良を加えた新たな実施形態とを組み合わせた実施形態も、本開示の技術的範囲に含まれ得る。そしてこのことは、特許請求の範囲に記載した事項から明らかである。   The technical scope of the present disclosure is not limited to the scope described in the above-described embodiment. It will be apparent to those skilled in the art that various modifications and improvements can be made to such embodiments. In such a case, new embodiments to which such changes or improvements are added may also be included in the technical scope of the present disclosure. Embodiments combining the above-described embodiments and specific examples are also included in the technical scope of the present disclosure. Furthermore, an embodiment obtained by combining the above-described embodiment with a new embodiment obtained by changing or improving the above-described embodiment may also be included in the technical scope of the present disclosure. This is clear from the matters described in the claims.

1 メールデータ管理装置
2 メールサーバ
3 メールクライアント
101 メール受信部
102 スレッド判定部
103 関連メール管理部
104 同一スレッドデータ取得部
105 メールデータ分解部
106 圧縮部
107 格納部
108 メールボックス
109 展開部
110 メールデータ結合部
111 取得部
112 応答部
701 差分確認部
702 差分管理部
703 差分結合部
1001 メールデータ保存部
1002 スレッド判定部
1003 メールデータ分解部
1004 データサイズ調整部
1005 取得部
1006 メールデータ結合部
DESCRIPTION OF SYMBOLS 1 Mail data management apparatus 2 Mail server 3 Mail client 101 Mail receiving part 102 Thread determination part 103 Related mail management part 104 Same thread data acquisition part 105 Mail data decomposition part 106 Compression part 107 Storage part 108 Mailbox 109 Expansion part 110 Mail data Combining unit 111 Acquisition unit 112 Response unit 701 Difference confirmation unit 702 Difference management unit 703 Difference combination unit 1001 Mail data storage unit 1002 Thread determination unit 1003 Mail data decomposition unit 1004 Data size adjustment unit 1005 Acquisition unit 1006 Mail data combination unit

Claims (10)

電子メールに関するデータを記憶可能なメールデータ保存部と、
1以上の前記電子メールが同一のスレッドに含まれるか否かを判定するスレッド判定部と、
前記電子メールを構成するメールデータを、前記電子メールが含まれるスレッド毎に前記メールデータ保存部に記憶されるスレッドデータに含まれる第1の部分データと、前記電子メール毎に個別に前記メールデータ保存部に記憶され第2の部分データとに分解するメールデータ分解部と、
スレッド毎に、当該スレッドに含まれる前記電子メールに関する前記第1の部分データに基づいて、少なくとも当該スレッドに含まれる前記電子メールのデータサイズの総和よりも小さいデータサイズの前記スレッドデータを作成するデータサイズ調整部と、を備える
メールデータ管理装置。
A mail data storage unit capable of storing data related to e-mail;
A thread determination unit that determines whether one or more of the emails are included in the same thread;
The mail data constituting the electronic mail includes first partial data included in thread data stored in the mail data storage unit for each thread including the electronic mail, and the mail data individually for each electronic mail. A mail data decomposition unit that is stored in the storage unit and decomposes into second partial data;
Data for creating the thread data having a data size smaller than the total sum of the data sizes of the e-mails included in the thread based on the first partial data regarding the e-mails included in the thread for each thread A mail data management device comprising a size adjustment unit;
電子メールに関するデータを記憶可能なメールデータ保存部を備えた情報処理装置が
1以上の電子メールが同一のスレッドに含まれるか否かを判定し、
前記電子メールを構成するメールデータを、前記電子メールが含まれるスレッド毎に前記メールデータ保存部に記憶されるスレッドデータに含まれる第1の部分データと、前記電子メール毎に個別に前記メールデータ保存部に記憶され第2の部分データとに分解し、
スレッド毎に、当該スレッドに含まれる前記電子メールに関する前記第1の部分データに基づいて、少なくとも当該スレッドに含まれる前記電子メールのデータサイズの総和よりも小さいデータサイズの前記スレッドデータを作成する
メールデータ管理方法。
An information processing apparatus having a mail data storage unit capable of storing data related to e-mails determines whether one or more e-mails are included in the same thread,
The mail data constituting the electronic mail includes first partial data included in thread data stored in the mail data storage unit for each thread including the electronic mail, and the mail data individually for each electronic mail. Stored in the storage unit and decomposed into second partial data,
For each thread, mail that creates the thread data with a data size smaller than at least the total data size of the email included in the thread, based on the first partial data regarding the email included in the thread Data management method.
電子メールに関するデータを記憶可能なメールデータ保存部を備えたコンピュータに、
1以上の電子メールが同一のスレッドに含まれるか否かを判定する処理と、
前記電子メールを構成するメールデータを、前記電子メールが含まれるスレッド毎に前記メールデータ保存部に記憶されるスレッドデータに含まれる第1の部分データと、前記電子メール毎に個別に前記メールデータ保存部に記憶され第2の部分データとに分解する処理と、
スレッド毎に、当該スレッドに含まれる前記電子メールに関する前記第1の部分データに基づいて、少なくとも当該スレッドに含まれる前記電子メールのデータサイズの総和よりも小さいデータサイズの前記スレッドデータを作成する処理と、を実行させる
メールデータ管理プログラム。
In a computer with a mail data storage unit that can store data related to email,
A process of determining whether one or more e-mails are included in the same thread;
The mail data constituting the electronic mail includes first partial data included in thread data stored in the mail data storage unit for each thread including the electronic mail, and the mail data individually for each electronic mail. Processing stored in the storage unit and decomposed into second partial data;
A process of creating the thread data having a data size smaller than the total sum of the data sizes of the e-mails included in the thread based on the first partial data regarding the e-mails included in the thread for each thread And a mail data management program to execute.
前記メールデータ分解部は、前記電子メールを構成するメールデータを、圧縮される部分である前記第1の部分データと、圧縮されない部分である前記第2の部分データとに分解し、
前記データサイズ調整部は、
前記電子メールが、あるスレッドに含まれると判定された場合、当該電子メールに関する前記第1の部分データを当該スレッドに関する前記スレッドデータに追加して圧縮し、
前記電子メールがいずれのスレッドにも含まれないと判定された場合、当該電子メールに関する前記第1の部分データを圧縮したデータを含む新たなスレッドデータを生成する
請求項1に記載のメールデータ管理装置。
The mail data decomposition unit decomposes the mail data constituting the electronic mail into the first partial data which is a compressed part and the second partial data which is a non-compressed part,
The data size adjustment unit
If it is determined that the email is included in a thread, the first partial data related to the email is added to the thread data related to the thread and compressed,
The mail data management according to claim 1, wherein when it is determined that the electronic mail is not included in any thread, new thread data including data obtained by compressing the first partial data related to the electronic mail is generated. apparatus.
前記メールデータ保存部に記憶された前記電子メールの少なくとも一部を読み出すリクエストを受け付ける応答部と、
前記メールデータ保存部から、前記リクエストにより指定された前記電子メールに関する前記第2の部分データと、前記リクエストにより指定された前記電子メールが含まれるスレッドに関する前記スレッドデータとの少なくとも一方を取得可能な取得部と、
取得した前記スレッドデータを展開することで、前記リクエストにより指定された前記電子メールに関する前記第1の部分データを取得し、取得した前記第1の部分データと、前記第2の部分データとを結合することで、前記リクエストにより指定された前記電子メールを構成するメールデータを復元可能なメールデータ結合部と、を更に備え、
前記応答部は、前記リクエストに応じて、前記取得部により取得された前記第2の部分データの少なくとも一部を提供するか、又は、前記メールデータ結合部により復元された前記電子メールを構成するメールデータの少なくとも一部を提供する、
請求項4に記載のメールデータ管理装置。
A response unit that accepts a request to read at least a part of the email stored in the email data storage unit;
It is possible to acquire at least one of the second partial data related to the electronic mail specified by the request and the thread data related to a thread including the electronic mail specified by the request from the mail data storage unit. An acquisition unit;
Expanding the acquired thread data to acquire the first partial data related to the electronic mail specified by the request, and combining the acquired first partial data and the second partial data A mail data combining unit capable of restoring the mail data constituting the electronic mail specified by the request,
The response unit provides at least a part of the second partial data acquired by the acquisition unit or configures the electronic mail restored by the mail data combining unit in response to the request Provide at least part of the email data,
The mail data management device according to claim 4.
前記メールデータ分解部は、前記電子メールを構成するメールデータのうち、メールヘッダ部分と、メールボディ部分における先頭から特定の位置までの部分とを、前記第1の部分データとして分解し、当該メールボディ部分における残りの部分を、前記第2の部分データとして分解する
請求項4に又は請求項5に記載のメールデータ管理装置。
The mail data decomposition unit decomposes a mail header part and a part from the head to a specific position in the mail body part of the mail data constituting the electronic mail as the first partial data, and 6. The mail data management device according to claim 4, wherein the remaining part of the body part is decomposed as the second partial data.
前記応答部は、前記リクエストに応じて前記メールデータ結合部により復元された前記電子メールを構成するメールデータの少なくとも一部を提供する場合、前記メールデータ結合部により実行される前記電子メールを構成するメールデータを復元する処理と並行して、当該電子メールに関する前記第2の部分データを提供する処理を実行する、
請求項5に記載のメールデータ管理装置。
The response unit configures the email executed by the mail data combining unit when providing at least a part of the mail data constituting the email restored by the mail data combining unit in response to the request In parallel with the process of restoring the mail data to be executed, the process of providing the second partial data related to the electronic mail is executed.
The mail data management device according to claim 5.
前記メールデータ分解部は、前記電子メールが、あるスレッドに含まれると判定された場合、当該電子メールを構成するメールデータを、当該電子メールと当該スレッドに含まれる1以上の他の前記電子メールとの間で共通する部分である前記第1の部分データと、共通しない部分である前記第2の部分データとに分解し、
前記データサイズ調整部は、
前記電子メールがあるスレッドに含まれると判定された場合、当該電子メールに関する前記第1の部分データを含む、当該スレッドに関する前記スレッドデータを作成し
前記電子メールがいずれのスレッドにも含まれないと判定された場合、当該電子メールを構成するメールデータの少なくとも一部を含む前記スレッドデータを作成する
請求項1に記載のメールデータ管理装置。
When it is determined that the email is included in a certain thread, the mail data decomposition unit converts the email data constituting the email into the email and one or more other emails included in the thread. The first partial data that is a common part between the first partial data and the second partial data that is a non-common part,
The data size adjustment unit
If it is determined that the e-mail is included in a thread, the thread data related to the thread including the first partial data related to the e-mail is created, and the e-mail is not included in any thread. The mail data management apparatus according to claim 1, wherein if it is determined, the thread data including at least a part of mail data constituting the electronic mail is created.
前記電子メール保存部に記憶された前記電子メールの少なくとも一部を読み出すリクエストを受け付ける応答部と、
前記メールデータ保存部から、前記リクエストにより指定された前記電子メールに関する前記第2の部分データと、前記リクエストにより指定された前記電子メールが含まれるスレッドに関する前記スレッドデータとの少なくとも一方を取得可能な取得部と、
取得された前記スレッドデータに含まれる、前記リクエストにより指定された前記電子メールに関する前記第1の部分データと、前記第2の部分データとを結合することで、前記リクエストにより指定された前記電子メールを構成するメールデータを復元可能なメールデータ結合部と、を更に備え、
前記応答部は、前記リクエストに応じて、前記取得部により取得された前記第2の部分データの少なくとも一部を提供するか、又は、前記メールデータ結合部により復元された前記電子メールを構成するメールデータの少なくとも一部を提供する、
請求項8に記載のメールデータ管理装置。
A response unit that accepts a request to read at least a part of the email stored in the email storage unit;
It is possible to acquire at least one of the second partial data related to the electronic mail specified by the request and the thread data related to a thread including the electronic mail specified by the request from the mail data storage unit. An acquisition unit;
The e-mail specified by the request by combining the first partial data related to the e-mail specified by the request and the second partial data included in the acquired thread data A mail data combining unit capable of restoring the mail data constituting
The response unit provides at least a part of the second partial data acquired by the acquisition unit or configures the electronic mail restored by the mail data combining unit in response to the request Provide at least part of the email data,
The mail data management device according to claim 8.
前記メールデータ分解部は、前記電子メールを構成するメールデータにおけるメールボディ部分のうち、前記電子メールと同一のスレッドに含まれる他の全ての電子メールと共通する部分を、前記第1の部分データとして分解し、当該メールボディ部分における残りの部分を、前記第2の部分データとして分解する
請求項8に又は請求項9に記載のメールデータ管理装置。
The mail data disassembling unit converts a part common to all other emails included in the same thread as the email from the email body part of the email data constituting the email to the first partial data. The mail data management device according to claim 8 or 9, wherein the remaining part of the mail body part is decomposed as the second partial data.
JP2016173709A 2016-09-06 2016-09-06 Mail data management device, mail data management method, and mail data management program Active JP6809060B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016173709A JP6809060B2 (en) 2016-09-06 2016-09-06 Mail data management device, mail data management method, and mail data management program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016173709A JP6809060B2 (en) 2016-09-06 2016-09-06 Mail data management device, mail data management method, and mail data management program

Publications (2)

Publication Number Publication Date
JP2018041206A true JP2018041206A (en) 2018-03-15
JP6809060B2 JP6809060B2 (en) 2021-01-06

Family

ID=61626255

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016173709A Active JP6809060B2 (en) 2016-09-06 2016-09-06 Mail data management device, mail data management method, and mail data management program

Country Status (1)

Country Link
JP (1) JP6809060B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021095670A1 (en) * 2019-11-11 2021-05-20 日本電気株式会社 Management device, management method, and recording medium

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021095670A1 (en) * 2019-11-11 2021-05-20 日本電気株式会社 Management device, management method, and recording medium
JPWO2021095670A1 (en) * 2019-11-11 2021-05-20
JP7347533B2 (en) 2019-11-11 2023-09-20 日本電気株式会社 Management device, management method, and program

Also Published As

Publication number Publication date
JP6809060B2 (en) 2021-01-06

Similar Documents

Publication Publication Date Title
CN107832406B (en) Method, device, equipment and storage medium for removing duplicate entries of mass log data
US9031997B2 (en) Log file compression
JP4741371B2 (en) System, server apparatus, and snapshot format conversion method
CN106933703B (en) Database data backup method and device and electronic equipment
JP5781685B2 (en) Log management computer and log management method
CN107850983B (en) Computer system, storage device and data management method
US20160006454A1 (en) Compression device, compression method, decompression device, decompression method, information processing system, and recording medium
US20170060922A1 (en) Method and device for data search
US20160292043A1 (en) Efficient backup, search and restore
US20190325043A1 (en) Method, device and computer program product for replicating data block
CN110334086A (en) Data duplicate removal method, device, computer equipment and storage medium
CN101478370A (en) File compression method and apparatus based on file system
CN112559463A (en) Method and device for processing compressed file
US9646016B2 (en) Methods circuits apparatuses systems and associated computer executable code for data deduplication
US11210212B2 (en) Conflict resolution and garbage collection in distributed databases
CN106980618B (en) File storage method and system based on MongoDB distributed cluster architecture
CN108304144B (en) Data writing-in and reading method and system, and data reading-writing system
JP4716136B2 (en) E-mail storage method, e-mail reproduction method, e-mail system, and e-mail storage / reproduction program
JP6809060B2 (en) Mail data management device, mail data management method, and mail data management program
CN116980475A (en) Data pushing system based on binlog and double annular buffer areas
CN114722003A (en) Centralized data acquisition method, device, equipment and storage medium
WO2012053152A1 (en) Storage system, data management device, method and program
CN113656474A (en) Service data access method and device, electronic equipment and storage medium
JP5170595B2 (en) Relay processing device, control method therefor, and program
US8788483B2 (en) Method and apparatus for searching in a memory-efficient manner for at least one query data element

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190820

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200707

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200904

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201123

R150 Certificate of patent or registration of utility model

Ref document number: 6809060

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150