[go: up one dir, main page]

JP5280148B2 - Mail system - Google Patents

Mail system Download PDF

Info

Publication number
JP5280148B2
JP5280148B2 JP2008274678A JP2008274678A JP5280148B2 JP 5280148 B2 JP5280148 B2 JP 5280148B2 JP 2008274678 A JP2008274678 A JP 2008274678A JP 2008274678 A JP2008274678 A JP 2008274678A JP 5280148 B2 JP5280148 B2 JP 5280148B2
Authority
JP
Japan
Prior art keywords
mail
delivery
status
module
update
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.)
Active
Application number
JP2008274678A
Other languages
Japanese (ja)
Other versions
JP2010103850A (en
Inventor
裕 福冨
Original Assignee
株式会社Hde
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 株式会社Hde filed Critical 株式会社Hde
Priority to JP2008274678A priority Critical patent/JP5280148B2/en
Publication of JP2010103850A publication Critical patent/JP2010103850A/en
Application granted granted Critical
Publication of JP5280148B2 publication Critical patent/JP5280148B2/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

<P>PROBLEM TO BE SOLVED: To provide a mail system, which has high availability, comprising a plurality of mail servers. <P>SOLUTION: The mail system includes a plurality of mail servers and a database shared by the plurality of mail servers. Each of the mail servers performs processing for receiving electronic mail, storing the received electronic mail in the database, accessing the database to retrieve non-delivered electronic mail, and delivering the retrieved electronic mail. <P>COPYRIGHT: (C)2010,JPO&amp;INPIT

Description

本発明は、メールシステムに関する。   The present invention relates to a mail system.

従来から、冗長化させた複数のメールサーバによって構成されるメールシステムが存在する。このようなメールシステムは、障害発生時の復旧時間を短縮させるために、待機中の第2のメールサーバが、稼動中の第1のメールサーバを監視し、第1のメールサーバに障害が発生したことを第2のメールサーバが検知すると、第2のメールサーバが稼働し、第1のメールサーバを引き継ぐ処理を行う(特許文献1)。
特開2004−104732号公報
Conventionally, there is a mail system including a plurality of redundant mail servers. In such a mail system, in order to shorten the recovery time when a failure occurs, the standby second mail server monitors the operating first mail server, and a failure occurs in the first mail server. When the second mail server detects this, the second mail server is activated and performs processing to take over the first mail server (Patent Document 1).
JP 2004-104732 A

しかし、従来のメールシステムでは、復旧時間を節約しようとしても、第1のメールサーバから第2のメールサーバにデータを引き継ぐ処理に数時間を要するものであった。例えば、代替する第2のメールサーバは、ネットワークの再構築を行ったり、ファイルシステムの整合性のチェックを行うために時間を要していた。したがって、既に第1のメールサーバが受け付けた電子メールは、この引継作業が終了するまで、第2のサーバによっては配送されない事態が生じていた。   However, in the conventional mail system, even if it is attempted to save the recovery time, it takes several hours to take over the data from the first mail server to the second mail server. For example, the second mail server to be replaced takes time to reconstruct the network and check the consistency of the file system. Therefore, there has been a situation in which the e-mail that has already been received by the first mail server is not delivered by the second server until the handover operation is completed.

このように、一旦受け付けた電子メールが引継作業中の数時間において配送されない事態が生じる従来のメールシステムは、利用者に不便をきたすものであり、即時伝達という電子メールの魅力を失わせてしまう。   As described above, the conventional mail system in which the received e-mail is not delivered within a few hours during the takeover operation is inconvenient for the user, and loses the attractiveness of the e-mail as immediate transmission. .

本発明は、上述した課題に鑑みたものであり、複数のメールサーバにより構成されるメールシステムにおいて、可用性の高いメールシステムを提供することにある。   The present invention has been made in view of the above-described problems, and provides a highly available mail system in a mail system including a plurality of mail servers.

(1)本発明は、複数のメールサーバと、当該複数のメールサーバが共有するデータベースとによって構成されるメールシステムであって、前記各メールサーバが、電子メールを受け付ける受け付け部と、受け付けた電子メールと、当該電子メールの配送状況とを、前記データベースに格納する処理を行う格納部と、前記データベースに格納されている電子メールのうち、配送状況が未配送である電子メールを特定し、特定された電子メールの配送状況を、配送中を示す情報に更新する処理を行う更新部と、配送状況が配送中を示す情報に更新された前記電子メールを、配送する処理を行う配送部とを含むメールシステムに関する。また、本発明は、上記各部としてコンピュータを機能させるプログラム、及び、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶した情報記憶媒体に関する。   (1) The present invention is a mail system including a plurality of mail servers and a database shared by the plurality of mail servers, wherein each of the mail servers includes an accepting unit that accepts an email and an accepted electronic A storage unit that performs processing for storing the mail and the delivery status of the email in the database, and an email that has not been delivered among the emails stored in the database An update unit that performs a process of updating the delivery status of the received e-mail to information indicating that delivery is in progress, and a delivery unit that performs a process of delivering the e-mail that has been updated to information indicating that the delivery status is being delivered Including mail system. The present invention also relates to a program that causes a computer to function as each of the above-described units and a computer-readable information storage medium that stores a program that causes the computer to function as each of the above-described units.

本発明によれば、一方のメールサーバのサービスが停止した場合であっても、一方のメールサーバから他方のメールサーバに、引継作業を要することなく、運用を続行することができ、可用性の高いメールシステムを提供することができる。すなわち、本発明によれば、一旦受け付けた電子メールはデータベースに格納され、複数のメールサーバのうち、いずれかのメールサーバが配送処理を行うことになるので、仮に、一方のメールサーバのサービスが停止したとしても、他方のメールサーバが遅滞なく、データベースに格納されている電子メールを配送することができる。さらに、本発明によれば、配送状況に基づいて電子メールを配送する処理を行うので、同一の電子メールに対する重複配送を回避することができる。   According to the present invention, even if the service of one mail server is stopped, the operation can be continued from one mail server to the other mail server without taking over work, and the availability is high. A mail system can be provided. That is, according to the present invention, once received e-mail is stored in a database, and one of the plurality of mail servers performs delivery processing. Even if it stops, the other mail server can deliver the electronic mail stored in the database without delay. Furthermore, according to the present invention, the process of delivering an electronic mail based on the delivery status is performed, so that it is possible to avoid duplicate delivery to the same electronic mail.

(2)また、本発明のメールシステムは、前記各メールサーバが、前記データベースに格納されている電子メールのうち、配送状況が配送中を示す情報に更新された時点から所定期間内に配送完了に更新されていない電子メールを、検索する検索部を更に含み、前記更新部が、配送処理が完了した電子メールの配送状況を、配送完了に更新する処理と、検索された前記電子メールの配送状況を、未配送に更新する処理とを行うようにしてもよい。
本発明によれば、仮に、電子メール配送中のメールサーバが停止した場合でも、他のメールサーバが、この電子メールを配送することができる。
(2) Further, in the mail system of the present invention, each mail server completes delivery within a predetermined period from the time when the delivery status of the email stored in the database is updated to information indicating that delivery is in progress. A search unit that searches for an e-mail that has not been updated, and the update unit updates the delivery status of the e-mail for which delivery processing has been completed to delivery completion, and delivery of the searched e-mail You may make it perform the process which updates a condition to undelivered.
According to the present invention, even if a mail server that is delivering electronic mail stops, other mail servers can deliver the electronic mail.

以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。   Hereinafter, this embodiment will be described. In addition, this embodiment demonstrated below does not unduly limit the content of this invention described in the claim. In addition, all the configurations described in the present embodiment are not necessarily essential configuration requirements of the present invention.

1.構成
(1)メールサーバ
本実施形態のメールシステムは、冗長化させた複数のメールサーバ(メールサーバS1、S2)を備える。図1は、各メールサーバの機能ブロック図の一例である。本実施形態の各メールサーバは、図1の各部を全て含む必要はなく、その一部を省略した構成としてもよい。
1. Configuration (1) Mail Server The mail system according to this embodiment includes a plurality of redundant mail servers (mail servers S1, S2). FIG. 1 is an example of a functional block diagram of each mail server. Each mail server according to the present embodiment does not need to include all the units illustrated in FIG. 1, and may have a configuration in which some are omitted.

記憶部170は、処理部100などのワーク領域となるもので、記憶部170には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)を記憶することができる。   The storage unit 170 serves as a work area for the processing unit 100 and the like. The storage unit 170 stores a program for causing the computer to function as each unit of the present embodiment (a program for causing the computer to execute processing of each unit). Can be remembered.

また、記憶部170は、RAM(VRAM)、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)等によるコンピュータにより読み取り可能な情報記憶媒体を含み、この情報記憶媒体にはプログラムやデータなどが格納されている。即ち、情報記憶媒体には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。   The storage unit 170 is a computer-readable information storage medium such as a RAM (VRAM), an optical disk (CD, DVD), a magneto-optical disk (MO), a magnetic disk, a hard disk, a magnetic tape, or a memory (ROM). In addition, the information storage medium stores programs, data, and the like. That is, the information storage medium stores a program for causing the computer to function as each unit of the present embodiment (a program for causing the computer to execute the processing of each unit).

また記憶部170は、複数のモジュール(モジュール1、モジュール2、モジュール3)等のモジュールプログラムが格納されている。なお、モジュール実行部117の実行命令に基づき、これらのモジュールが実行されることになる。   The storage unit 170 stores module programs such as a plurality of modules (module 1, module 2, module 3). Note that these modules are executed based on the execution instruction of the module execution unit 117.

処理部100は、記憶部170に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行い、記憶部170内の主記憶部をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)などのハードウエアや、プログラムにより実現できる。   The processing unit 100 performs various processes of the present embodiment based on a program (data) stored in the storage unit 170, and performs various processes using the main storage unit in the storage unit 170 as a work area. The functions of the processing unit 100 can be realized by hardware such as various processors (CPU, DSP, etc.) and programs.

処理部100は、受け付け部111、格納部112、取得部113、判断部114、更新部115、検索部116、モジュール実行部117、配送部118、削除部119、データベース制御部120を含む。   The processing unit 100 includes a reception unit 111, a storage unit 112, an acquisition unit 113, a determination unit 114, an update unit 115, a search unit 116, a module execution unit 117, a delivery unit 118, a deletion unit 119, and a database control unit 120.

受け付け部111は、電子メールを受け付ける処理を行う。具体的には、受け付け部111は、SMTP(Simple Mail Transfer Protocol)を通じてネットワーク上で電子メールを受け付ける処理を行う。例えば、図3に示す端末20のMUA(Mail User Agent)によって送信された電子メールを受け付ける処理を行う。   The accepting unit 111 performs processing for accepting an e-mail. Specifically, the accepting unit 111 performs processing for accepting an e-mail on the network through SMTP (Simple Mail Transfer Protocol). For example, a process of accepting an e-mail transmitted by a MUA (Mail User Agent) of the terminal 20 shown in FIG.

格納部112は、受け付けた電子メールと、当該電子メールの更新識別情報MIDと、当該電子メールの配送状況とを、データベースに格納する処理を行う。例えば、格納部112は、電子メールを受け付けると、当該電子メールに固有の識別情報を付与し、当該識別情報に対応づけて、電子メールと、更新識別情報MIDと、配送ステータスとを、データベースに格納する処理を行う。ここで、配送ステータスとは、未配送、配送中、配送完了、配送エラーなどの配送状況を数値で表したデータである。また、格納部112は、受け付けた電子メールを、エンベロープの宛先、エンベロープの差出元、メッセージのヘッダ、メッセージのボディ等に解析する処理を行い、解析された各データをデータベースDB1、DB2のテーブルに対応づけて格納する処理を行う。   The storage unit 112 performs processing for storing the received electronic mail, the update identification information MID of the electronic mail, and the delivery status of the electronic mail in a database. For example, when receiving the e-mail, the storage unit 112 assigns unique identification information to the e-mail, and associates the e-mail, the update identification information MID, and the delivery status with the identification information in the database. Process to store. Here, the delivery status is data representing a delivery status such as non-delivery, delivery in progress, delivery completion, delivery error, etc. in numerical values. In addition, the storage unit 112 performs processing for analyzing the received e-mail into an envelope destination, an envelope sender, a message header, a message body, and the like, and each analyzed data is stored in the tables of the databases DB1 and DB2. Perform the process of storing in association.

取得部113は、メールサーバがデータベースに対してなした要求に対する応答結果を取得する。例えば、取得部113は、検索要求に対する検索結果を取得したり、更新要求に対する更新結果(更新成功、更新失敗)の情報を取得する。例えば、取得部113は、データベースに対して未配送の電子メールの検索を要求し、検索された電子メールを取得する。   The acquisition unit 113 acquires a response result to a request made to the database by the mail server. For example, the acquisition unit 113 acquires a search result for the search request or acquires information on an update result (update success, update failure) for the update request. For example, the acquisition unit 113 requests the database to search for undelivered emails, and acquires the searched emails.

判断部114は、データベースに対してデータの更新要求を行い、当該更新要求の結果に基づいて更新権を有するか否かを判断する。判断部114は、例えば、検索された未配送の電子メールの配送権を有するか否かを、配送状況の更新要求に対する更新結果に基づいて判断する。例えば、判断部114は、配送状況の更新要求に対してデータベースから更新成功を取得すると、検索された未配送の電子メールの配送権を有すると判断し、配送状況の更新要求に対してデータベースから更新失敗を取得すると、検索された未配送の電子メールの配送権を有しないと判断する。   The determination unit 114 makes a data update request to the database, and determines whether or not the user has an update right based on the result of the update request. The determination unit 114 determines, for example, whether or not the retrieved undelivered electronic mail has a distribution right based on the update result for the distribution status update request. For example, when acquiring a successful update from the database in response to the delivery status update request, the determination unit 114 determines that the delivery right of the retrieved undelivered e-mail is obtained, and from the database in response to the delivery status update request. When the update failure is acquired, it is determined that the user has no delivery right for the searched undelivered e-mail.

更新部115は、データベースに格納されている電子メールのうち、配送状況が未配送を示す電子メールを特定し、特定された電子メールの配送状況を、配送中を示す情報に更新する。つまり、更新部115は、データベースに対して、未配送の電子メールを検索する要求をし、検索結果を取得することによって、配送状況が未配送を示す電子メールを特定し、データベースに対して、当該特定された電子メールの配送状況を、配送中を示す情報に更新要求する。なお、更新部115は、未配送の電子メールを検索した時点(第1の時点)の更新識別情報MIDと、配送状況を配送中を示す情報に更新要求する時点(第2の時点)の更新識別情報MIDとが一致することを条件に、配送状況を未配送から、配送中を示す情報に更新要求すると共に、更新識別情報MIDの値(例えば、「1」)を、第1の時点の更新識別情報MIDとは異なる値(例えば「2」)に更新要求する。   The update unit 115 identifies an email whose delivery status indicates undelivered among the emails stored in the database, and updates the delivery status of the identified email to information indicating that the delivery is in progress. That is, the update unit 115 requests the database to search for undelivered e-mails, obtains search results, identifies e-mails whose delivery status indicates undelivered, and An update request is made for the delivery status of the specified electronic mail to information indicating that delivery is in progress. The update unit 115 updates the update identification information MID at the time of searching for undelivered e-mail (first time point) and the update time (second time point) for requesting update of the delivery status to information indicating that the delivery is in progress. On the condition that the identification information MID matches, an update request is made for the delivery status from undelivered to information indicating that delivery is in progress, and the value (for example, “1”) of the update identification information MID is set to the value at the first time point. An update request is made to a value different from the update identification information MID (for example, “2”).

更新部115は、電子メールの配送処理が完了した場合には、当該電子メールの配送状況を配送完了(配送済)に更新する。また、更新部115は、検索部116によって、データベースに格納されている電子メールのうち、配送状況が配送中を示す情報に更新した時点から所定期間内に配送完了に更新されていない電子メールが検索された場合には、当該検索された電子メールの配送状況を、未配送に更新する処理を行う。   When the e-mail delivery process is completed, the update unit 115 updates the delivery status of the e-mail to delivery completed (delivered). The update unit 115 also includes an e-mail that has not been updated to completion of delivery within a predetermined period from when the search unit 116 updates e-mail stored in the database to information indicating that the delivery status is being delivered. If a search is made, the delivery status of the searched e-mail is updated to undelivered.

検索部116は、データベースに格納されている電子メールのうち、配送状況が配送中を示す情報に更新された時点から所定期間内に配送完了に更新されていない電子メールを検索する。つまり、検索部116は、データベースに格納されている電子メールのうち、電子メールに対応する配送状況が配送中を示す情報に更新された時点(更新日時)から所定期間内(例えば10分以内)に、当該配送状況が未だ配送完了に更新されていない電子メールを検索する。   The search unit 116 searches for e-mails stored in the database that have not been updated to completion of delivery within a predetermined period from the time when the delivery status is updated to information indicating that delivery is in progress. That is, the search unit 116 within a predetermined period (for example, within 10 minutes) from the time (update date and time) when the delivery status corresponding to the email is updated to information indicating that delivery is being performed among the emails stored in the database. In addition, an electronic mail whose delivery status has not yet been updated to delivery completion is searched.

モジュール実行部117は、予め記憶部170に格納されているモジュール1、モジュール2、モジュール3を実行させる処理を行う。例えば、モジュール1実行部117aは、電子メールのウイルスを検出する処理を行うモジュールを実行させる処理を行う。モジュール2実行部117bは、電子メールを電子メール蓄積用データベースに登録させる処理を行うモジュールを実行させる処理を行う。モジュール3実行部117cは、電子メールを所定条件に基づいてフィルタリング処理を行うモジュールを実行させる処理を行う。モジュール実行部117は、データベースに格納されている各電子メールに対して、予めデータベースDB1、DB2に格納されている実行順に即してモジュールを実行させる処理を行う。   The module execution unit 117 performs processing for executing the module 1, the module 2, and the module 3 stored in advance in the storage unit 170. For example, the module 1 execution unit 117a performs a process of executing a module that performs a process of detecting an e-mail virus. The module 2 execution unit 117b performs processing for executing a module for performing processing for registering an electronic mail in the electronic mail storage database. The module 3 execution unit 117c performs a process of executing a module that performs filtering processing on electronic mail based on a predetermined condition. The module execution unit 117 performs a process for executing the modules in accordance with the execution order stored in the databases DB1 and DB2 in advance for each electronic mail stored in the database.

配送部118は、データベースに格納されている電子メールを配送する処理を行う。例えば、配送部118は、配送状況が配送中を示す情報に更新された電子メールを配送する処理を行う。ここで、電子メールを配送するとは、SMTPを通じて、受け付けた電子メールを他のメールサーバに配送する処理や、メールサーバが稼動する同一システム内にアカウントを持つユーザ宛に配送するためのローカル配信エージェントMDA(Mail Delivery Agent)に配送する処理、MDAを介せずにメールサーバが稼動する同一システム内にアカウントを持つユーザ宛に配送する場合も含む。配送部118は、データベースDB1、DB2に格納されているの電子メールの配送命令51が有効である場合にその電子メールを配送する処理を行う。   The delivery unit 118 performs processing for delivering electronic mail stored in the database. For example, the delivery unit 118 performs processing for delivering an electronic mail whose delivery status is updated to information indicating that delivery is in progress. Here, “delivery of e-mail” means processing of delivering received e-mail to other mail servers via SMTP, or local delivery agent for delivery to users having accounts in the same system where the mail server operates. This includes processing for delivery to MDA (Mail Delivery Agent) and delivery to a user who has an account in the same system where the mail server operates without going through MDA. The delivery unit 118 performs processing for delivering an electronic mail when the electronic mail delivery instruction 51 stored in the databases DB1 and DB2 is valid.

また、本実施形態の配送部118は、データベースに格納されている配送先メールサーバ53のアドレスを参照し、ネットワークを介して、配送先メールサーバに電子メールを配送する処理を行う。   Further, the delivery unit 118 of the present embodiment refers to the address of the delivery destination mail server 53 stored in the database, and performs processing for delivering an email to the delivery destination mail server via the network.

削除部119は、配送処理が完了した電子メールを、データベースから削除する。具体的には、削除部119は、データベースDB1、DB2に登録されている電子メールのうち、モジュール実行部117における全モジュール処理が完了し(モジュール1、2、3の全モジュールが実行完了し)、配送命令が有効である電子メールの配送処理が完了した電子メール、及び、モジュール実行部117における全モジュール処理が完了し(モジュール1、2、3の全モジュールが実行完了し)、配送命令が無効である電子メールを、データベースDB1、DB2から削除する処理を行う。   The deletion unit 119 deletes the electronic mail for which the delivery process has been completed from the database. Specifically, the deletion unit 119 completes all module processing in the module execution unit 117 among the e-mails registered in the databases DB1 and DB2 (all modules 1, 2, and 3 have been executed). The e-mail for which the delivery process of the e-mail for which the delivery instruction is valid is completed, and all the module processing in the module execution unit 117 is completed (the execution of all the modules 1, 2, and 3 is completed). A process of deleting invalid electronic mail from the databases DB1 and DB2 is performed.

データベース制御部120は、本実施形態のデータベースDB1、DB2が同一のデータが書き込まれるように、同期レプリケーション処理を行うものである。例えば、データベース制御部120は、データベースに対する格納・更新・削除・参照、検索などの要求データ(クエリ)を、データベースDB1、DB2それぞれ同時に送信する処理を行い、データベースDB1、DB2間においてタイムラグが生じることなくデータの同一性を維持させるようにする。また、データベース制御部120は、一方のデータベース(例えばデータベースDB1)に障害が発生したことを検出した場合や、データベースDB1、DB2間においてデータの不整合を検出した場合には、一方のデータベース(例えばデータベースDB1)を切り離す処理を行い、他方のデータベース(例えばデータベースDB2)が格納・更新・削除・参照などの処理を継続して行う。   The database control unit 120 performs synchronous replication processing so that the same data is written in the databases DB1 and DB2 of this embodiment. For example, the database control unit 120 performs a process of simultaneously transmitting request data (query) such as storage / update / deletion / reference / search for the database, respectively in the databases DB1 and DB2, and a time lag occurs between the databases DB1 and DB2. And maintain the identity of the data. In addition, when the database control unit 120 detects that a failure has occurred in one database (for example, the database DB1), or detects data inconsistency between the databases DB1 and DB2, the database control unit 120 (for example, the database DB1) The process of separating the database DB1) is performed, and the other database (for example, the database DB2) continues the process of storing / updating / deleting / referring.

(2)データベース
図2は、本実施形態のデータベース(データベースDB1、DB2)に格納されるデータの一例を示す。ここで、データベースとは、データの管理や、要求データ(クエリ、コマンド)に基づいて、データの格納、削除、更新、参照、検索などの処理を行う機能を有する。本実施形態のメールシステムのデータベースDB1、DB2それぞれは、メールサーバにおけるデータベース制御部120の同期レプリケーション処理により、同一のデータが記録される。
(2) Database FIG. 2 shows an example of data stored in the database (database DB1, DB2) of the present embodiment. Here, the database has a function of performing processing such as data management, data storage, deletion, update, reference, and search based on request data (query, command). In each of the databases DB1 and DB2 of the mail system according to the present embodiment, the same data is recorded by the synchronous replication processing of the database control unit 120 in the mail server.

電子メール格納領域30は、メールサーバS1、S2が受け付けた電子メールデータが格納される。例えば、電子メール格納領域30には、メールサーバS1、S2が受け付けた電子メールを固有の識別情報(ID)に対応づけて、電子メールのエンベロープの宛先、電子メールのエンベロープの差出元、電子メールの内容(ヘッダ部、ボディ部の内容)、登録日時、更新日時、更新識別情報(MID)が格納される。   The e-mail storage area 30 stores e-mail data received by the mail servers S1 and S2. For example, in the e-mail storage area 30, the e-mail received by the mail servers S1 and S2 is associated with unique identification information (ID), the e-mail envelope destination, the e-mail envelope sender, e-mail Contents (header part, body part contents), registration date / time, update date / time, and update identification information (MID) are stored.

モジュール情報格納領域40には、モジュール1のステータス41、モジュール2のステータス42、モジュール3のステータス43、経過ステータス44のデータが格納される。モジュール1のステータス41、モジュール2のステータス42、モジュール3のステータス43は、電子メールの識別情報(ID)に対応する、それぞれのモジュールの実行状況データである。なお、経過ステータス44は、モジュールの実行順に即したモジュールの実行状況データである。   In the module information storage area 40, data of a status 41 of the module 1, a status 42 of the module 2, a status 43 of the module 3, and a progress status 44 are stored. The status 41 of the module 1, the status 42 of the module 2, and the status 43 of the module 3 are execution status data of each module corresponding to the identification information (ID) of the electronic mail. The progress status 44 is module execution status data in accordance with the module execution order.

配送情報格納領域50には、電子メールの識別情報(ID)に対応付けて、配送命令51、配送ステータス52、配送先メールサーバ53が格納される。配送命令51は、配送命令の有無を示すデータであり、配送ステータス52は、配送状況を示すデータであり、配送先メールサーバ53は、メールサーバS1、S2が電子メールを配送するための配送先メールサーバのアドレス(IPアドレス、メールサーバ名)である。   In the delivery information storage area 50, a delivery command 51, a delivery status 52, and a delivery destination mail server 53 are stored in association with the identification information (ID) of the electronic mail. The delivery command 51 is data indicating the presence / absence of a delivery command, the delivery status 52 is data indicating a delivery status, and the delivery destination mail server 53 is a delivery destination for the email servers S1 and S2 to deliver an email. This is the mail server address (IP address, mail server name).

2.本実施形態の処理の手法
(1)メールシステムの概要
図3は、本実施形態のメールシステムのネットワーク図を示す。本実施形態は、冗長化された複数のメールサーバS1、S2と、冗長化された複数のデータベースDB1、DB2とを含むメールシステムである。ここで、メールサーバは、MTA(Message Transfer Agent)であり、他のメールサーバからインターネットを介して配送された電子メールやLAN(Local Area Network)の端末のMUAから送信された電子メールを、受け付けて配送する処理を行うものである。
2. Processing Method According to this Embodiment (1) Outline of Mail System FIG. 3 shows a network diagram of the mail system according to this embodiment. The present embodiment is a mail system including a plurality of redundant mail servers S1 and S2 and a plurality of redundant databases DB1 and DB2. Here, the mail server is an MTA (Message Transfer Agent), and accepts an e-mail delivered from another mail server via the Internet or an e-mail sent from a LAN (Local Area Network) terminal MUA. Process to deliver.

本実施形態のメールサーバS1、S2は、データベース(データベースDB1、DB2)を共有し、同一のデータを用いて、電子メールの処理を行っている。つまり、本実施形態のメールシステムは、例えば、端末20から送信され、宛先(送信先)が指定された電子メールを、メールサーバS1、S2のうちいずれかのメールサーバが受け付け、受け付けた電子メールをデータベースDB1、DB2に格納し、メールサーバS1、S2のうちいずれかのメールサーバが、データベースDB1、DB2に格納されている電子メールを、配送先のメールサーバに配送する処理を行うものである。   The mail servers S1 and S2 of the present embodiment share databases (databases DB1 and DB2) and perform email processing using the same data. That is, in the mail system of the present embodiment, for example, one of the mail servers S1 and S2 receives an e-mail transmitted from the terminal 20 and designated as a destination (transmission destination). Are stored in the databases DB1 and DB2, and one of the mail servers S1 and S2 performs a process of delivering the electronic mail stored in the databases DB1 and DB2 to the mail server of the delivery destination. .

図4は、本実施形態のメールシステムにおいて、電子メールに対するジョブの流れを図示したものである。まず、他のメールサーバ等から配送された電子メールが、メールサーバS1、S2のいずれかに受け付けられると、データベースDB1、DB2に格納され、メールサーバS1、S2のうちいずれかのメールサーバが、電子メールについてモジュール1の実行処理を行い、モジュール1の実行処理が完了すると、メールサーバS1、S2のうちいずれかのメールサーバが、モジュール2の実行処理を行い、モジュール2の実行処理が完了すると、メールサーバS1、S2のうちいずれかのメールサーバが、モジュール3の実行処理を行う。そして、この電子メールに対する配送命令が有効である場合に、メールサーバS1、S2のうちいずれかのメールサーバが、電子メールを配送先メールサーバに配送する処理を行う。そして、モジュール1、2、3の実行処理と、配送処理がすべて完了すると、電子メールはデータベースから削除される。つまり、本実施形態のメールシステムにおいて、データベースDB1、DB2に格納された電子メールのジョブは、電子メールに対してモジュール1を実行するジョブ、電子メールに対してモジュール2を実行するジョブ、電子メールに対してモジュール3を実行するジョブ、電子メールを配送する処理を行うジョブ、電子メールをデータベースから削除するジョブがある。   FIG. 4 shows the flow of a job for electronic mail in the mail system of this embodiment. First, when an electronic mail delivered from another mail server or the like is received by either of the mail servers S1 and S2, it is stored in the databases DB1 and DB2, and one of the mail servers S1 and S2 is When the execution process of module 1 is performed for the electronic mail and the execution process of module 1 is completed, one of the mail servers S1 and S2 performs the execution process of module 2 and the execution process of module 2 is completed. Any one of the mail servers S1 and S2 performs the execution process of the module 3. When the delivery instruction for the electronic mail is valid, either of the mail servers S1 and S2 performs a process of delivering the electronic mail to the delivery destination mail server. When the execution processing of modules 1, 2, and 3 and the delivery processing are all completed, the e-mail is deleted from the database. That is, in the mail system of this embodiment, the email jobs stored in the databases DB1 and DB2 are jobs that execute the module 1 for email, jobs that execute the module 2 for email, and email On the other hand, there are a job for executing the module 3, a job for delivering an electronic mail, and a job for deleting the electronic mail from the database.

このように、本実施形態のメールシステムは、仮に、一方のメールサーバS2が障害等により停止したとしても、他方のメールサーバS1が稼働しているので、データベースDB1、DB2に格納されている電子メールのモジュールの実行処理、配送処理を滞りなく行うことができる。例えば、図5に示すように、メールサーバS2においてモジュール1の実行完了後に、メールサーバS2が停止した場合には、メールサーバS1が、当該電子メールに対するモジュール2、モジュール3の実行、及び、配送処理を行う。   As described above, in the mail system according to the present embodiment, even if one mail server S2 is stopped due to a failure or the like, since the other mail server S1 is operating, the electronic data stored in the databases DB1 and DB2 are stored. E-mail module execution processing and delivery processing can be performed without delay. For example, as shown in FIG. 5, when the mail server S2 is stopped after the completion of the execution of the module 1 in the mail server S2, the mail server S1 executes the module 2 and the module 3 for the electronic mail, and the delivery. Process.

なお、本実施形態のメールシステムでは、メールサーバS1、S2は、それぞれ異なる装置(ハードウエア)で稼動してもよいし、同一の装置で稼動してもよい。また、データベースDB1はメールサーバS1と同じ装置で稼動するものでもよいし、メールサーバS1、S2、データベースDB2とは異なる装置で稼動するものでもよい。同様にデータベースDB2もメールサーバS2と同じ装置で稼動するものでもよいし、メールサーバS1、S2、データベースDB1とは異なる装置で稼動するものであってもよい。また、メールサーバS1、S2、データベースDB1、DB2は、同一のLANに接続され、データベースDB1、DB2とデータの送受信ができるように、各メールサーバS1、S2は、データベースDB1、DB2のデータベース名や、データベースサーバ名(ホスト名)、IPアドレス、ポート番号を予め記憶部に記憶する。   In the mail system of the present embodiment, the mail servers S1 and S2 may be operated by different devices (hardware), or may be operated by the same device. The database DB1 may be operated by the same device as the mail server S1, or may be operated by a device different from the mail servers S1, S2 and the database DB2. Similarly, the database DB2 may be operated by the same device as the mail server S2, or may be operated by a device different from the mail servers S1, S2 and the database DB1. In addition, the mail servers S1, S2 and the databases DB1, DB2 are connected to the same LAN, and the mail servers S1, S2 have the database names of the databases DB1, DB2 so that data can be transmitted / received to / from the databases DB1, DB2. The database server name (host name), IP address, and port number are stored in the storage unit in advance.

(2)ステータス情報
本実施形態では、データベースに格納されている電子メールそれぞれについて、モジュールの実行経過を示す経過ステータス44、各モジュールのステータス41、42、43、配送ステータス52等のステータス情報が設定され、本実施形態のメールサーバは、ステータス情報を参照して、未実行(未処理)のジョブを検索し、検索されたジョブを実行する処理を行っている。
(2) Status Information In this embodiment, status information such as a progress status 44 indicating the module execution progress, statuses 41, 42, 43 of each module, a delivery status 52, etc. is set for each e-mail stored in the database. The mail server according to the present embodiment searches for an unexecuted (unprocessed) job with reference to the status information, and performs a process of executing the searched job.

図6(A)は経過ステータス44の一覧を示す。まず、電子メールについてモジュール1、2、3が未実行である場合、つまり、モジュール1、2、3のいずれのモジュールも実行されていない状況である場合には、経過ステータス44の値は「1」に設定される。そして、電子メールについて、モジュール1の実行が完了し、モジュール2の実行が完了される前の状況は、経過ステータス44の値は「2」に設定される。そして、電子メールについて、モジュール1、2の実行が完了し、モジュール3の実行が完了される前の状況は、経過ステータス44の値は「3」に設定される。そして、電子メールについて、モジュール1、2、3の実行が完了された状況である場合には、経過ステータス44の値は「4」に設定される。   FIG. 6A shows a list of progress status 44. First, when the modules 1, 2, and 3 are not executed for the e-mail, that is, when none of the modules 1, 2, and 3 is executed, the value of the progress status 44 is “1”. "Is set. Then, regarding the e-mail, in the situation before the execution of the module 1 is completed and the execution of the module 2 is completed, the value of the progress status 44 is set to “2”. Then, regarding the e-mail, in the situation before the execution of the modules 1 and 2 is completed and the execution of the module 3 is completed, the value of the progress status 44 is set to “3”. If the execution of modules 1, 2, and 3 is completed for the electronic mail, the value of the progress status 44 is set to “4”.

図6(B)は、モジュール1、2、3のステータス41、42、43の一覧を示す。例えば、電子メールについてモジュール1が未実行である場合には、モジュール1のステータス41の値は「1」に設定される。そして、電子メールについて、モジュール1の実行中である場合には、モジュール1のステータス41の値は「2」に設定される。そして、モジュール1の実行が完了した場合には、モジュール1のステータス41の値は「3」に設定される。また、モジュール1の実行がエラーで終了した場合には、モジュール1のステータス41の値は「4」に設定される。モジュール2のステータス42の値、モジュール3のステータス43の値は、モジュール1のステータス41と同様に実行状況に応じて設定される。   FIG. 6B shows a list of statuses 41, 42, and 43 of modules 1, 2, and 3. For example, when the module 1 has not been executed for the e-mail, the value of the status 41 of the module 1 is set to “1”. When the module 1 is being executed for the electronic mail, the value of the status 41 of the module 1 is set to “2”. When the execution of the module 1 is completed, the value of the status 41 of the module 1 is set to “3”. When the execution of the module 1 ends with an error, the value of the status 41 of the module 1 is set to “4”. The value of the status 42 of the module 2 and the value of the status 43 of the module 3 are set in accordance with the execution status in the same manner as the status 41 of the module 1.

図6(C)は、配送ステータス52の一覧を示す。例えば、電子メールについての配送状況が未配送である場合には、配送ステータス52の値は「1」に設定される。そして、電子メールについて、配送状況が配送中である場合には、配送ステータス52の値は「2」に設定される。そして、電子メールの配送状況が配送完了になると、配送ステータス52の値は「3」に設定される。また、配送処理がエラーで終了した場合には、配送ステータス52の値は「4」に設定される。   FIG. 6C shows a list of delivery status 52. For example, if the delivery status for the electronic mail is not delivered, the value of the delivery status 52 is set to “1”. When the delivery status is “delivery” for the electronic mail, the value of the delivery status 52 is set to “2”. Then, when the delivery status of the electronic mail is completed, the value of the delivery status 52 is set to “3”. If the delivery process ends with an error, the value of the delivery status 52 is set to “4”.

(3)受け付け処理
本実施形態のメールサーバS1、S2は、図3に示すように、SMTPを通じて、他のメールサーバからインターネットを介して配送された電子メールや、端末20のMUAから送信された電子メールを受け付け、受け付けた電子メールを、データベースDB1、DB2それぞれに格納させる処理を行う。つまり、本実施形態では、メールサーバS1、S2は、受け付けた電子メールを、メールサーバS1、S2が共有するデータベースDB1、DB2にスプールさせる処理を行っている。
(3) Receiving process As shown in FIG. 3, the mail servers S1 and S2 of the present embodiment are transmitted from an email delivered from another mail server via the Internet or an MUA of the terminal 20 via SMTP. The electronic mail is received, and the received electronic mail is stored in the databases DB1 and DB2. In other words, in the present embodiment, the mail servers S1 and S2 perform processing for spooling the received electronic mail to the databases DB1 and DB2 shared by the mail servers S1 and S2.

また、図3に示すように、本実施形態のメールシステムのDNS(Domain Name System)のMXレコードには、メールアドレスの同一のドメインに対応づけて、メールサーバS1のメールサーバ名を定義するレコードと、メールサーバS2のメールサーバ名を定義するレコードとを設定する。その際に、メールサーバS1、メールサーバS2のMXレコードの優先順位(プリファレンス値)を同位にして設定してもよい。このようにすれば、メールサーバS1、S2それぞれが、ほぼ均等に電子メールを受け付けることができる。   Also, as shown in FIG. 3, the DNS record of the DNS (Domain Name System) of the mail system of this embodiment is a record that defines the mail server name of the mail server S1 in association with the same domain of the mail address. And a record defining the mail server name of the mail server S2. At that time, the priorities (preference values) of the MX records of the mail server S1 and the mail server S2 may be set to be the same. In this way, each of the mail servers S1 and S2 can accept e-mails almost evenly.

また、本実施形態では、メールサーバS1、S2が受け付けた電子メールをデータベースDB1、DB2に格納する際に、経過ステータス44を「1」(未実行)に設定して、電子メールの識別情報(ID)に対応づけてデータベースDB1、DB2に格納し、モジュール1、2、3のステータス41、42、43を「1」(未実行)に設定して、電子メールの識別情報(ID)に対応づけてデータベースDB1、DB2に格納し、配送ステータス52を「1」(未配送)に設定して、電子メールの識別情報(ID)に対応づけてデータベースDB1、DB2に格納する。   In the present embodiment, when the e-mails received by the mail servers S1 and S2 are stored in the databases DB1 and DB2, the progress status 44 is set to “1” (not executed), and e-mail identification information ( ID) and stored in the databases DB1 and DB2, and the statuses 41, 42, and 43 of the modules 1, 2, and 3 are set to “1” (not executed) to correspond to the identification information (ID) of the e-mail. Then, the data is stored in the databases DB1 and DB2, the delivery status 52 is set to “1” (not delivered), and stored in the databases DB1 and DB2 in association with the identification information (ID) of the e-mail.

(4)モジュールを実行させる処理
本実施形態のメールサーバS1、S2は、電子メールについて、複数のモジュールを実行させる処理を行う。複数のモジュールとは、例えば、ウイルスを検出するウイルス検出モジュール、電子メールを外部記憶領域に蓄積させるモジュール、電子メールのフィルタリングを行うモジュール等である。
(4) Processing for executing modules The mail servers S1 and S2 of the present embodiment perform processing for executing a plurality of modules for electronic mail. The plurality of modules are, for example, a virus detection module that detects a virus, a module that accumulates e-mails in an external storage area, a module that performs e-mail filtering, and the like.

本実施形態では、これらのモジュールの実行順序を、モジュールに対応づけて予めデータベースに格納している。例えば、ウイルスを検出するウイルス検出モジュールをモジュール1として1番目に実行させ、電子メールを外部記憶領域に蓄積させるモジュールをモジュール2として2番目に実行させ、電子メールのフィルタリングを行うモジュールをモジュール3として3番目に実行させるという実行順をデータベースに格納し、各メールサーバが共有できるようにしている。   In this embodiment, the execution order of these modules is stored in advance in a database in association with the modules. For example, a virus detection module that detects a virus is first executed as module 1, a module that accumulates e-mails in the external storage area is secondly executed as module 2, and a module that performs e-mail filtering is designated as module 3. The execution order of the third execution is stored in the database so that each mail server can share it.

そして、本実施形態では、経過ステータス44や、モジュール1、2、3のステータス41、42、43を参照し、電子メールそれぞれについてモジュール実行順に各モジュールを実行するように制御している。   In this embodiment, the progress status 44 and the statuses 41, 42, and 43 of the modules 1, 2, and 3 are referred to, and control is performed so that each module is executed in the module execution order for each e-mail.

例えば、経過ステータス44が「1」(未実行)、各モジュールのステータス41、42、43が「1」(未実行)の状態である電子メールAに対する各モジュールの実行処理について説明する。   For example, the execution processing of each module with respect to the electronic mail A in which the progress status 44 is “1” (not executed) and the statuses 41, 42, and 43 of each module are “1” (not executed) will be described.

まず、メールサーバS1、S2が、経過ステータス44が「1」(未実行)である電子メール(モジュール1のステータス41が「1」(未実行)である電子メール)を検索する。そして、例えば、メールサーバS1が、メールサーバS2よりも先に、電子メールAを検索したとする。すると、メールサーバS1が、電子メールAについてモジュール1を実行する処理を行う。本実施形態では、メールサーバS1が、電子メールAについてモジュール1を実行する前に、電子メールAのモジュール1のステータス41を「2」(実行中)に更新し、その後、電子メールAについてモジュール1を実行する。このように、モジュール1のステータス41を、モジュール1の実行前に更新する理由は、一方のメールサーバS1のモジュール1の実行中に、他方のメールサーバS2が電子メールAを検索してモジュール1を実行することを回避するためである。そして、メールサーバS1において、モジュール1の実行が完了すると、メールサーバS1が、電子メールAについてのモジュール1のステータス41を「3」(実行完了)に更新し、経過ステータス44を「2」(モジュール1の実行完了)に更新する。   First, the mail servers S1 and S2 search for an email whose progress status 44 is “1” (not executed) (an email whose status 41 of the module 1 is “1” (not executed)). For example, it is assumed that the mail server S1 searches the electronic mail A before the mail server S2. Then, the mail server S1 performs a process of executing the module 1 for the email A. In this embodiment, the mail server S1 updates the status 41 of the module 1 of the email A to “2” (running) before executing the module 1 for the email A, and then the module for the email A. 1 is executed. As described above, the reason why the status 41 of the module 1 is updated before the execution of the module 1 is that the module 1 of the other mail server S2 searches the electronic mail A during the execution of the module 1 of the one mail server S1. This is in order to avoid executing. When the execution of the module 1 is completed in the mail server S1, the mail server S1 updates the status 41 of the module 1 for the electronic mail A to “3” (execution complete), and sets the progress status 44 to “2” (execution complete). Update to Module 1 execution complete).

そして、メールサーバS1、S2が、経過ステータス44が「2」(モジュール1の実行完了)である電子メールであって、モジュール2のステータス42が「1」(未実行)である電子メールを検索し、例えば、メールサーバS1が、メールサーバS2よりも先に、電子メールAを検索したとする。すると、メールサーバS1が、電子メールAについてモジュール2を実行する処理を行う。その際に、メールサーバS1が、電子メールAについてモジュール2を実行する前に、電子メールAのモジュール2のステータス42を「2」(実行中)に更新し、その後、電子メールAについてモジュール2を実行する。そして、メールサーバS1において、モジュール2の実行が完了すると、メールサーバS1が、電子メールAについての、モジュール2のステータス42を「3」(実行完了)に更新し、経過ステータス44を「3」(モジュール2の実行完了)に更新する。   Then, the mail servers S1 and S2 search for an e-mail whose progress status 44 is “2” (execution completion of module 1) and whose status 42 of module 2 is “1” (not executed). For example, assume that the mail server S1 searches for the email A before the mail server S2. Then, the mail server S1 performs a process of executing the module 2 for the email A. At that time, before executing the module 2 for the email A, the mail server S1 updates the status 42 of the module 2 of the email A to “2” (running), and then the module 2 for the email A. Execute. When the execution of the module 2 is completed in the mail server S1, the mail server S1 updates the status 42 of the module 2 for the electronic mail A to “3” (execution complete), and the progress status 44 is “3”. Update to (complete execution of module 2).

そして、メールサーバS1、S2が、経過ステータス44が「3」(モジュール2の実行完了)である電子メールであって、モジュール3のステータス43が「1」(未実行)である電子メールを検索し、例えば、メールサーバS1が、メールサーバS2よりも先に、電子メールAを検索したとする。すると、メールサーバS1が、電子メールAについてモジュール3を実行する処理を行う。その際に、メールサーバS1が、電子メールAについてモジュール3を実行する前に、電子メールAのモジュール3のステータス43を「2」(実行中)に更新し、その後、電子メールAについてモジュール3を実行する。そして、メールサーバS1において、モジュール3の実行が完了すると、メールサーバS1が、電子メールAについての、モジュール3のステータス43を「3」(実行完了)に更新し、経過ステータス44を「4」(モジュール3の実行完了)に更新する。   The mail servers S1 and S2 search for an e-mail whose progress status 44 is “3” (execution completion of module 2) and whose status 43 of the module 3 is “1” (not executed). For example, assume that the mail server S1 searches for the email A before the mail server S2. Then, the mail server S1 performs a process of executing the module 3 for the electronic mail A. At that time, before the mail server S1 executes the module 3 for the email A, the status 43 of the module 3 of the email A is updated to “2” (running). Execute. When the execution of the module 3 is completed in the mail server S1, the mail server S1 updates the status 43 of the module 3 for the electronic mail A to “3” (execution completed), and sets the progress status 44 to “4”. Update to (completion of execution of module 3).

このように、本実施形態では、経過ステータス44、モジュール1、2、3のステータス41、42、43を参照することによって、各電子メールについてモジュール1、2、3を実行させる処理を行っている。   As described above, in the present embodiment, by referring to the progress status 44 and the statuses 41, 42, and 43 of the modules 1, 2, and 3, processing for executing the modules 1, 2, and 3 for each email is performed. .

また、本実施形態では、重複処理を回避するために、複数のメールサーバS1、S2のうち、いずれか1つのメールサーバが、モジュール1の実行処理を行い、また、複数のメールサーバS1、S2のうち、いずれか1つのメールサーバが、モジュール2の実行処理を行い、複数のメールサーバS1、S2のうち、いずれか1つのメールサーバが、モジュール3の実行処理を行う。本実施形態では、未実行のモジュールを最先に検索したメールサーバが、モジュールの実行権を取得し、モジュールの実行をさせるようにしている。   In this embodiment, in order to avoid duplication processing, one of the plurality of mail servers S1 and S2 performs the execution process of the module 1, and the plurality of mail servers S1 and S2 Among these, any one mail server performs the execution process of the module 2, and one of the plurality of mail servers S1 and S2 performs the execution process of the module 3. In the present embodiment, the mail server that first searches for an unexecuted module acquires the module execution right and causes the module to be executed.

このように、本実施形態のメールシステムによれば、電子メールを受け付けたメールサーバ(例えばメールサーバS1)が、その電子メールの各モジュールの実行権を取得し、各モジュールを実行することもできるし、電子メールを受け付けたメールサーバ(例えばメールサーバS1)とは異なるメールサーバ(例えばメールサーバS2)が、その電子メールの各モジュールの実行権を取得し、各モジュールを実行することもできる。したがって、仮に一方のメールサーバが停止した場合であっても、他方のメールサーバが、電子メールについて各モジュールの実行処理を継続して行うことができ、可用性のあるメールシステムを提供することができる。   As described above, according to the mail system of the present embodiment, the mail server (for example, the mail server S1) that accepts the e-mail can acquire the right to execute each module of the e-mail and execute each module. Then, a mail server (for example, mail server S2) different from the mail server (for example, mail server S1) that accepted the electronic mail can acquire the right to execute each module of the electronic mail and execute each module. Therefore, even if one mail server is stopped, the other mail server can continue the execution process of each module for the e-mail, and an available mail system can be provided. .

(5)配送処理
本実施形態では、メールサーバS1、S2が、データベースDB1、DB2に格納されている配送命令51を参照し、配送命令51が有効に設定されている電子メールについて、その電子メールを配送させる処理を行っている。なお、本実施形態の配送命令51の有効・無効は、初期値としていずれかを設定してもよいし、モジュール1、2、3のうち、少なくとも1つのモジュールの実行中に設定するようにしてもよい。例えば、ウイルスを検出するモジュール1の処理において、ウイルスがないと判断された電子メールについて、配送命令51を有効に設定し、ウイルスがあると判断された電子メールについて配送命令51を無効に設定する。また、配送命令の有効・無効は、例えば、配送フラグを用いて設定する。具体的には、配送命令が有効である場合に、配送フラグを真に設定し、配送命令が無効である場合に、配送フラグを偽に設定する。
(5) Delivery processing In this embodiment, the mail servers S1 and S2 refer to the delivery instructions 51 stored in the databases DB1 and DB2, and the emails for which the delivery instructions 51 are set to be valid Process to deliver. Note that the validity / invalidity of the delivery instruction 51 of this embodiment may be set as an initial value, or may be set during execution of at least one of the modules 1, 2, and 3. Also good. For example, in the processing of the module 1 for detecting a virus, the delivery command 51 is set to be valid for an e-mail that is determined to have no virus, and the delivery command 51 is set to be invalid for an e-mail that is determined to have a virus. . The validity / invalidity of the delivery command is set using, for example, a delivery flag. Specifically, the delivery flag is set to true when the delivery command is valid, and the delivery flag is set to false when the delivery command is invalid.

そして、本実施形態では、メールサーバS1、S2が、配送ステータス52が「1」(未配送)であって、配送命令51が有効に設定されている電子メールを検索し、検索された当該電子メールを配送先メールサーバに配送させる処理を行っている。   In this embodiment, the mail servers S1 and S2 search for an e-mail in which the delivery status 52 is “1” (not delivered) and the delivery instruction 51 is set to be valid, Processing to deliver mail to the destination mail server.

例えば、配送命令51が有効に設定され、配送ステータス52が「1」(未配送)である電子メールAについての配送処理について説明する。   For example, a description will be given of a delivery process for the electronic mail A in which the delivery command 51 is set to be valid and the delivery status 52 is “1” (not delivered).

まず、配送命令51が有効であり、配送ステータス52が「1」(未配送)である電子メールを、メールサーバS1、S2が検索する。そして、例えば、メールサーバS1が、メールサーバS2よりも先に、電子メールAを検索したとする。すると、メールサーバS1が、電子メールAを配送先メールサーバに配送させる処理を行う。本実施形態では、メールサーバS1が、電子メールAについて配送処理を開始する前に、電子メールAの配送ステータス52を「2」(配送中)に更新し、その後、電子メールAについて配送処理を開始させる。このように、配送ステータス52を、配送処理開始前に更新する理由は、モジュールの実行と同様に、一方のメールサーバS1の配送中に、他方のメールサーバS2が電子メールAを検索して配送処理を行うことを回避するためである。そして、メールサーバS1において、配送処理が完了すると、メールサーバS1が、電子メールAについて、配送ステータス52を「3」(配送完了)に更新する。   First, the mail servers S1 and S2 search for e-mails for which the delivery command 51 is valid and the delivery status 52 is “1” (not delivered). For example, it is assumed that the mail server S1 searches the electronic mail A before the mail server S2. Then, the mail server S1 performs processing for delivering the electronic mail A to the delivery destination mail server. In the present embodiment, the mail server S1 updates the delivery status 52 of the email A to “2” (delivering) before starting delivery processing for the email A, and then performs delivery processing for the email A. Let it begin. As described above, the reason for updating the delivery status 52 before starting the delivery process is that the other mail server S2 searches the electronic mail A for delivery during delivery of one mail server S1, as in the case of execution of the module. This is to avoid performing the processing. When the mail server S1 completes the delivery process, the mail server S1 updates the delivery status 52 of the electronic mail A to “3” (delivery completed).

また、本実施形態では、重複処理を回避するために、複数のメールサーバS1、S2のうち、いずれか1つのメールサーバが、配送処理を行うように制御する。例えば、本実施形態では、配送命令が有効であって、未配送の電子メールを最先に検索したメールサーバが、配送権を取得し、その電子メールの配送処理を行うようにしている。   In the present embodiment, in order to avoid duplication processing, one of the plurality of mail servers S1 and S2 is controlled to perform delivery processing. For example, in this embodiment, a mail server that has a valid delivery command and searches for an undelivered e-mail first acquires the delivery right and performs the e-mail delivery process.

このように、本実施形態のメールシステムによれば、電子メールを受け付けたメールサーバ(例えばメールサーバS1)が、その電子メールを配送する権利を取得し、配送処理を行うこともできるし、電子メールを受け付けたメールサーバ(例えばメールサーバS1)とは異なるメールサーバ(例えばメールサーバS2)が、その電子メールを配送する権利を取得し、配送処理を行うこともできる。したがって、仮に一方のメールサーバが停止した場合であっても、他方のメールサーバが配送処理を継続して行うことができ、可用性のあるメールシステムを提供することができる。   As described above, according to the mail system of the present embodiment, the mail server (for example, the mail server S1) that accepts the electronic mail can acquire the right to deliver the electronic mail and perform the delivery processing. A mail server (for example, mail server S2) different from the mail server that has received the mail (for example, mail server S1) can acquire the right to deliver the electronic mail and perform the delivery process. Therefore, even if one mail server is stopped, the other mail server can continue the delivery process, and an available mail system can be provided.

(6)重複処理を回避させる手法
また、本実施形態では、重複処理を回避するために、複数のメールサーバS1、S2のうち、未実行のモジュールを最先に検索したメールサーバが、モジュールの実行権を取得し、モジュールの実行をさせるようにし、また、複数のメールサーバS1、S2のうち、配送命令が有効であって、未配送の電子メールを最先に検索したメールサーバが、配送権を取得し、その電子メールの配送処理を行うようにしている。
(6) Method for avoiding duplication processing In this embodiment, in order to avoid duplication processing, the mail server that searches for an unexecuted module first among the plurality of mail servers S1 and S2 The execution right is acquired, the module is executed, and the mail server that has the delivery command valid and searches for undelivered e-mail first among the plurality of mail servers S1, S2 is delivered. The right is acquired and the delivery process of the e-mail is performed.

より詳しく説明すると、本実施形態では、更新識別情報MIDを参照することによって、複数のメールサーバS1、S2のうち、モジュールの実行権の有するメールサーバ、或いは、配送権を有するメールサーバが決定される。   More specifically, in this embodiment, by referring to the update identification information MID, the mail server having the right to execute the module or the mail server having the delivery right is determined from among the plurality of mail servers S1 and S2. The

図7(A)は、配送命令51が有効であって、配送ステータス52が「1」(未配送)である電子メールAについて、各メールサーバが配送権を有するか否かを判断する手法を説明するための図である。例えば、メールサーバS1が、配送命令51が有効であって、配送ステータス52が「1」(未配送)である電子メールAを検索すると、電子メールAを検索した時点(T1時点)において、更新識別情報MIDを取得する。   FIG. 7A shows a method for determining whether or not each mail server has a delivery right for the electronic mail A in which the delivery command 51 is valid and the delivery status 52 is “1” (not delivered). It is a figure for demonstrating. For example, when the mail server S1 searches for an email A whose delivery command 51 is valid and the delivery status 52 is “1” (not delivered), the update is performed at the time when the email A is searched (time T1). The identification information MID is acquired.

そして、メールサーバS1は、データベースDB1、DB2にアクセスして配送ステータス52を、「1」(未配送)から「2」(配送中)に更新要求する際(T3時点)において、検索時(T1時点)の更新識別情報MIDと、配送ステータス52の更新要求時(T3時点)の更新識別情報MIDとが一致することを条件に、電子メールAの更新識別情報MIDを、検索時(T1時点)の更新識別情報MID(MID=1)とは異なる更新識別情報MID(例えば、MID=2)に更新すると共に、配送ステータス52を「1」(未配送)から「2」(配送中)に更新する要求をデータベースDB1、DB2に対して行う。   Then, the mail server S1 accesses the databases DB1 and DB2 to request an update of the delivery status 52 from “1” (not delivered) to “2” (delivered) (at time T3), during search (T1). The update identification information MID of the e-mail A is searched (time T1) on condition that the update identification information MID at the time) matches the update identification information MID at the time of the update request of the delivery status 52 (time T3). Update identification information MID (for example, MID = 2) different from the update identification information MID (MID = 1), and update the delivery status 52 from “1” (not delivered) to “2” (delivered) A request to make is made to the databases DB1 and DB2.

そして、検索時(T1時点)の更新識別情報MIDと、配送ステータス52の更新要求時(T3時点)の更新識別情報MIDとが一致する場合には、データベースDB1、DB2において、更新識別情報MID及び配送ステータス52の更新処理に成功する。メールサーバS1は、データベースDB1、DB2から更新成功の情報を取得した場合に、配送権を有すると判断し、電子メールAを配送する処理を行う。   If the update identification information MID at the time of search (time T1) matches the update identification information MID at the time of the update request of the delivery status 52 (time T3), the update identification information MID in the databases DB1 and DB2 The update process of the delivery status 52 is successful. The mail server S1 determines that it has a delivery right when it acquires update success information from the databases DB1 and DB2, and performs processing for delivering the email A.

一方、検索時(T1時点)の更新識別情報MIDと、配送ステータス52の更新要求時(T3時点)の更新識別情報MIDとが一致しない場合には、データベースDB1、DB2において、更新識別情報MID及び配送ステータス52の更新処理に失敗する。メールサーバS1は、データベースDB1、DB2から更新失敗(エラー)の情報を取得した場合に、配送権を有しないと判断し、電子メールAの配送処理を行わないように制御する。   On the other hand, if the update identification information MID at the time of retrieval (time T1) and the update identification information MID at the time of the update request of the delivery status 52 (time T3) do not match, the update identification information MID and The update process of the delivery status 52 fails. When the mail server S1 acquires update failure (error) information from the databases DB1 and DB2, the mail server S1 determines that the mail server S1 does not have a delivery right, and controls not to perform the delivery process of the email A.

図7(A)の例では、メールサーバS1は、検索時(T1時点)の更新識別情報MID(MID=1)と、配送ステータス52の更新要求時(T3時点)の更新識別情報MID(MID=1)とが一致するので、更新識別情報MID及び配送ステータス52の更新に成功し、配メールサーバS1は、電子メールAについて配送処理を開始させる処理を行う。   In the example of FIG. 7A, the mail server S1 updates the update identification information MID (MID = 1) at the time of search (time T1) and the update identification information MID (MID at the time of the update request of the delivery status 52 (time T3). = 1), the update identification information MID and the delivery status 52 are successfully updated, and the mail delivery server S1 performs a process of starting the delivery process for the electronic mail A.

また、メールサーバS2の観点で検討すると、メールサーバS2は、T1時点の直後のT2時点において、配送命令51が有効であって、配送ステータス52が「1」(未配送)である電子メールAを検索すると、電子メールAを検索した時点(T2時点)において、更新識別情報MIDを取得する。   Further, considering from the viewpoint of the mail server S2, the mail server S2 is an e-mail A in which the delivery command 51 is valid and the delivery status 52 is “1” (not delivered) at the time T2 immediately after the time T1. When the e-mail A is searched, the update identification information MID is acquired at the time when the e-mail A is searched (time T2).

そして、メールサーバS2は、データベースDB1、DB2にアクセスして配送ステータス52を、「1」(未配送)から「2」(配送中)に更新要求する際(T4時点)において、検索時(T2時点)の更新識別情報MIDと、配送ステータス52の更新要求時(T4時点)の更新識別情報MIDとが一致することを条件に、電子メールAの更新識別情報MIDを、検索時(T2時点)の更新識別情報MID(MID=1)とは異なる更新識別情報MID(例えば、MID=2)に更新すると共に、配送ステータス52を「1」(未配送)から「2」(配送中)に更新する要求をデータベースDB1、DB2に対して行う。   The mail server S2 accesses the databases DB1 and DB2 and requests the update of the delivery status 52 from “1” (not delivered) to “2” (delivered) (at time T4), at the time of search (T2). The update identification information MID of the e-mail A is searched (time T2) on condition that the update identification information MID at the time) matches the update identification information MID at the time of the update request of the delivery status 52 (time T4). Update identification information MID (for example, MID = 2) different from the update identification information MID (MID = 1), and update the delivery status 52 from “1” (not delivered) to “2” (delivered) A request to make is made to the databases DB1 and DB2.

しかし、ここでデータベースDB1、DB2において、T3時点でメールサーバS1によって、更新識別情報MIDの値が1から2へ更新されているため、電子メールAが検索された時点(T2時点)の更新識別情報MID(MID=1)と、ステータス更新要求時(T4時点)の更新識別情報MID(MID=2)とが不一致となり、メールサーバS2は、データベースDB1、DB2から更新失敗の情報を取得する。そして、メールサーバS2は、更新失敗の情報を取得すると、電子メールAについて配送権を有しないと判断し、配送処理を行わないように制御する。   However, here, in the databases DB1 and DB2, the value of the update identification information MID is updated from 1 to 2 by the mail server S1 at the time T3, so that the update identification at the time when the e-mail A is searched (time T2). The information MID (MID = 1) and the update identification information MID (MID = 2) at the time of status update request (time T4) do not match, and the mail server S2 acquires update failure information from the databases DB1 and DB2. When the mail server S2 acquires the update failure information, the mail server S2 determines that the electronic mail A does not have a delivery right, and controls not to perform the delivery process.

このように、本実施形態では、配送ステータス52の更新と同時に、更新識別情報MIDを更新する処理を行うので、例えば、他のメールサーバS2において、極僅かな差で、メールサーバS1との配送重複処理が行われてしまうことを回避することができる。   As described above, in this embodiment, since the update identification information MID is updated simultaneously with the update of the delivery status 52, for example, the delivery to the mail server S1 with a slight difference in the other mail server S2. It is possible to avoid duplication processing.

また、図7(B)に示すように、メールサーバS1において、電子メールAの配送処理が完了した場合にも、更新識別情報MIDを用いて配送ステータス52の値を更新する処理を行う。例えば、メールサーバS1は、配送ステータス52を「2」(配送中)から、「3」(配送完了)に更新する要求を、データベースDB1、DB2に対して行う。   Further, as shown in FIG. 7B, the mail server S1 performs processing for updating the value of the delivery status 52 using the update identification information MID even when the delivery processing of the email A is completed. For example, the mail server S1 requests the databases DB1 and DB2 to update the delivery status 52 from “2” (delivering) to “3” (delivery completed).

かかる場合に、電子メールAに対する直前に更新した時点(T3時点)の更新識別情報MIDと、配送ステータス52を「2」(配送中)から「3」(配送完了)に更新要求する時点(T7時点)の更新識別情報MIDとが一致することを条件に、電子メールAの更新識別情報MIDを、直前の更新時(T3時点)の更新識別情報MID(MID=2)とは異なる更新識別情報MID(例えば、MID=3)に更新すると共に、配送ステータス52を「2」(配送中)から「3」(配送完了)に更新する要求をデータベースDB1、DB2に対して行う。   In such a case, the update identification information MID at the time when the e-mail A was updated immediately before (T3 time) and the time when the update status 52 is requested to be updated from “2” (delivery) to “3” (delivery completed) (T7). Update identification information MID of e-mail A is different from the update identification information MID (MID = 2) at the time of the last update (time T3) on condition that the update identification information MID at the time) matches. While updating to MID (for example, MID = 3), a request to update the delivery status 52 from “2” (during delivery) to “3” (delivery completed) is made to the databases DB1 and DB2.

図7(B)の例では、メールサーバS1は、T3時点の更新識別情報MIDと、更新要求時(T7時点)の更新識別情報MIDとが一致する(MID=2で一致する)ので、電子メールAの更新識別情報MIDを、直前の更新時(T3時点)の更新識別情報MID(MID=2)とは異なる更新識別情報MID(例えば、MID=3)に更新すると共に、配送ステータス52を、「2」(配送中)から、「3」(配送完了)に更新することができる。   In the example of FIG. 7B, the mail server S1 matches the update identification information MID at the time T3 with the update identification information MID at the time of the update request (time T7) (MID = 2). The update identification information MID of the mail A is updated to update identification information MID (for example, MID = 3) different from the update identification information MID (MID = 2) at the time of the previous update (at time T3), and the delivery status 52 is changed. , “2” (during delivery) can be updated to “3” (delivery completed).

このようにすれば、複数のメールサーバS1、S2が同一のデータベースDB1、DB2を共有する場合であっても、デッドロック等の問題を回避することができる。   In this way, even when a plurality of mail servers S1, S2 share the same database DB1, DB2, problems such as deadlock can be avoided.

なお、本実施形態では、配送ステータス52だけでなく、経過ステータス44や、モジュール1、2、3のステータス41、42、43を更新する度に、更新識別情報MIDを用いて、メールサーバS1、S2が、更新権(モジュールの実行権、配送権)を有するか否かを判断して、メールシステム全体として、重複処理を回避させたり、矛盾を生じさせないように制御してもよい。   In this embodiment, every time not only the delivery status 52 but also the progress status 44 and the statuses 41, 42, 43 of the modules 1, 2, 3 are updated, the update identification information MID is used to update the mail server S1, It may be determined whether S2 has an update right (module execution right, delivery right), and the mail system as a whole may be controlled so as to avoid duplication processing or cause contradiction.

(7)エラーの検索
本実施形態では、モジュール1のステータス41が「2」(実行中)に更新された時点から、所定期間内にモジュール1の実行が完了しない場合、つまり、所定期間内にモジュール1のステータス41が「3」(実行完了)に更新されていない場合には、モジュール1のステータス41を「1」(未実行)に更新する処理を行っている。同様に、モジュール2のステータス42、モジュール3のステータス43についても、モジュールのステータスが「2」(実行中)に更新された時点から、所定期間内にモジュールのステータスが「3」(実行完了)に更新されていない場合には、モジュールのステータスを「1」(未実行)に更新する処理を行っている。また、配送ステータス52が「2」(配送中)に更新された時点から、所定期間内に配送処理が完了しない場合、つまり、配送ステータス52が「2」(配送中)に更新された時点から、所定期間内に配送ステータス52が「3」(配送完了)に更新されていない場合には、配送ステータス52を「1」(未配送)に更新する処理を行っている。
(7) Error Search In the present embodiment, when the execution of the module 1 is not completed within a predetermined period from the time when the status 41 of the module 1 is updated to “2” (running), that is, within the predetermined period. When the status 41 of the module 1 has not been updated to “3” (execution completion), processing for updating the status 41 of the module 1 to “1” (not executed) is performed. Similarly, for the status 42 of the module 2 and the status 43 of the module 3, the module status is “3” (execution completed) within a predetermined period from the time when the module status is updated to “2” (under execution). If it has not been updated, the module status is updated to “1” (not executed). Further, when the delivery process is not completed within a predetermined period from when the delivery status 52 is updated to “2” (delivering), that is, from when the delivery status 52 is updated to “2” (delivery). If the delivery status 52 has not been updated to “3” (delivery completed) within a predetermined period, processing for updating the delivery status 52 to “1” (not delivered) is performed.

例えば、図7(C)に示すように、配送ステータス52を「2」(配送中)に更新した時点から所定期間(10分)内に、配送ステータス52が「3」(配送完了)に更新されない電子メールを、メールサーバS1、S2が検索する。つまり、メールサーバS1、S2は、データベースに格納されている電子メールのうち、配送ステータス52が「2」(配送中)に更新された時点から所定期間経過しても未だに配送ステータス52が「2」(配送中)である電子メールを検索する。そして、例えば、メールサーバS2が、メールサーバS1よりも先に、配送ステータス52を「2」(配送中)に更新した時点から所定期間内に、配送ステータス52が「3」(配送完了)に更新されていない電子メールAを検索すると、メールサーバS2が、電子メールAの配送ステータス52を「1」(未配送)に更新する処理を行う。このようにすれば、メールサーバS1が、電子メールAの配送途中で停止した場合であっても、電子メールAは、再度、未配送の電子メールとして検索対象となり、配送される機会を与えられることになる。   For example, as shown in FIG. 7C, the delivery status 52 is updated to “3” (delivery completed) within a predetermined period (10 minutes) from the time when the delivery status 52 is updated to “2” (delivery). The mail servers S1 and S2 search for e-mails that are not executed. In other words, the mail servers S1 and S2 still have the delivery status 52 of “2” in the e-mail stored in the database even after a predetermined period has elapsed since the delivery status 52 was updated to “2” (delivering). Search for e-mails that are "" (delivering). Then, for example, within a predetermined period from when the mail server S2 updates the delivery status 52 to “2” (during delivery) before the mail server S1, the delivery status 52 becomes “3” (delivery completed). When the e-mail A that has not been updated is searched, the mail server S2 performs a process of updating the delivery status 52 of the e-mail A to “1” (not delivered). In this way, even if the mail server S1 stops in the middle of delivery of the email A, the email A is again searched as an undelivered email and given an opportunity to be delivered. It will be.

(8)削除処理
本実施形態では、各モジュールのステータス41、42、43が「3」(実行完了)であり、配送命令51が有効であって配送ステータス52が「3」(配送完了)である電子メール、及び、各モジュールのステータス41、42、43が「3」(実行完了)であり、配送命令51が無効である電子メールを検索し、検索された電子メールを、データベースDB1、DB2から削除する処理を行う。つまり、削除対象として検索された電子メールは、全てのジョブが完了したので、データベースDB1、DB2から電子メールと、当該電子メールに対応する各モジュールのステータス41、42、43、経過ステータス44、配送ステータス52を削除する。
(8) Deletion Processing In this embodiment, the status 41, 42, 43 of each module is “3” (execution completed), the delivery command 51 is valid, and the delivery status 52 is “3” (delivery completed). A certain e-mail and an e-mail in which the statuses 41, 42, and 43 of each module are “3” (execution completed) and the delivery command 51 is invalid are searched, and the searched e-mails are stored in the databases DB1 and DB2. Process to delete from. That is, since all jobs for the e-mail searched for deletion have been completed, the e-mails from the databases DB1 and DB2, and the statuses 41, 42, 43, the progress status 44, and the delivery of each module corresponding to the e-mail The status 52 is deleted.

3.メールサーバ間におけるデータを共有する手法
本実施形態では、データベースDB1、DB2に電子メールを格納しているので、メールサーバS1、S2間で、ヘッダ情報を書き換えずに情報を共有することができる。例えば、通常、メールサーバ間で電子メールの配送、受け取りを行う場合に、メールサーバ間で、特定情報を共有させる場合には、電子メールのヘッダ部分に、その特定情報を記録する必要があった。しかし、本実施形態のメールシステムによれば、メールサーバS1、S2において、特定情報を共有する場合には、その特定情報をデータベースDB1、DB2に格納すればよいので、電子メールのヘッダ部分に特定情報を記録することなく、特定情報をメールサーバS1、S2間で共有することができる。
3. Method of sharing data between mail servers In this embodiment, since emails are stored in the databases DB1 and DB2, information can be shared between the mail servers S1 and S2 without rewriting header information. For example, normally, when delivering and receiving e-mail between mail servers, when sharing specific information between mail servers, it was necessary to record the specific information in the header portion of the e-mail . However, according to the mail system of this embodiment, when specific information is shared in the mail servers S1 and S2, the specific information only needs to be stored in the databases DB1 and DB2. The specific information can be shared between the mail servers S1 and S2 without recording the information.

4.フローチャート
本実施形態のメールサーバS1、S2の処理の流れを図8を用いて説明する。まず、未実行のジョブを検索する(ステップS1)。例えば、データベースに格納されている1又は複数の電子メールそれぞれについて、各電子メールのステータス情報、配送命令に基づき、未実行のジョブを有する電子メールを検索する。例えば、ジョブとは、電子メールに対してモジュールを実行させる処理、電子メールを配送させる処理、電子メールをデータベースDB1、DB2から削除させる処理等である。
4). Flowchart The flow of processing of the mail servers S1 and S2 of this embodiment will be described with reference to FIG. First, an unexecuted job is searched (step S1). For example, for each of one or a plurality of electronic mails stored in the database, an electronic mail having an unexecuted job is searched based on the status information of each electronic mail and a delivery command. For example, a job is a process for executing a module for an e-mail, a process for delivering an e-mail, a process for deleting an e-mail from the databases DB1 and DB2, and the like.

具体的に説明すると、経過ステータス44が「1」(モジュール1、2、3が未実行)である電子メールは、モジュール1のジョブが未実行であるとして検索される。また、経過ステータス44が「2」(モジュール1の実行完了)であって、モジュール2のステータス42が「1」(未実行)である電子メールは、モジュール2のジョブが未実行であるとして検索される。また、経過ステータス44が「3」(モジュール2の実行完了)であって、モジュール3のステータス43が「1」(未実行)である電子メールは、モジュール3のジョブが未実行であるとして検索される。   More specifically, an e-mail whose progress status 44 is “1” (modules 1, 2, 3 are not executed) is searched as a job of module 1 is not executed. In addition, an e-mail whose progress status 44 is “2” (execution completion of module 1) and status 2 of module 2 is “1” (not executed) is searched for the job of module 2 not being executed. Is done. In addition, an e-mail whose progress status 44 is “3” (execution completion of module 2) and status 43 of module 3 is “1” (not executed) is searched on the assumption that the job of module 3 is not executed. Is done.

また、配送命令51が有効であって、配送ステータス52が「1」(未配送)である場合には、電子メールの配送ジョブが未実行であるとして検索される。なお、本実施形態では、経過ステータス44、モジュールのステータス41、42、43の値に関わらず、配送命令51が有効であって、配送ステータス52が「1」(未配送)である電子メールは、配送が未実行であるとして検索される。   If the delivery command 51 is valid and the delivery status 52 is “1” (not delivered), the e-mail delivery job is retrieved as not executed. In this embodiment, an e-mail in which the delivery command 51 is valid and the delivery status 52 is “1” (undelivered) regardless of the values of the progress status 44 and the module statuses 41, 42, and 43. , The delivery is retrieved as unexecuted.

そして、未実行のジョブがあるか否かを判断し(ステップS2)、未実行のジョブがあると判断されると(ステップS2のYes)、次の処理に進む。一方、未実行のジョブがないと判断されると(ステップS2のNo)、処理を終了する。   Then, it is determined whether or not there is an unexecuted job (step S2). If it is determined that there is an unexecuted job (Yes in step S2), the process proceeds to the next process. On the other hand, if it is determined that there is no unexecuted job (No in step S2), the process ends.

そして、検索されたジョブを実行する(ステップS3)。例えば、未実行のモジュール1の電子メールAが検索された場合には、当該電子メールAについて、モジュール1を実行させる処理を行う。そして、検索された全てのジョブが終了したか否かを判断し(ステップS4)、検索された全てのジョブが終了した場合(ステップS4のYes)、処理を終了する。検索された全てのジョブが終了していない場合(ステップS4のNo)、ステップS3に戻り、終了していないジョブを実行する処理を行う。そして、本実施形態では、処理終了後、再度ステップS1に戻り、永続的に繰り返し処理を行っている。   Then, the searched job is executed (step S3). For example, when the e-mail A of the unexecuted module 1 is searched, a process for executing the module 1 is performed for the e-mail A. Then, it is determined whether or not all the searched jobs have been completed (step S4). If all the searched jobs have been completed (Yes in step S4), the process is terminated. If all the searched jobs have not ended (No in step S4), the process returns to step S3 to execute a process for executing a job that has not ended. In the present embodiment, after the process is completed, the process returns to step S1 again, and the process is permanently repeated.

5.応用例
(1)本実施形態のメールシステムの応用例として、例えば、メールサーバS1、S2が、受け付けた電子メールをデータベースDB1、DB2に格納し、メールサーバS1、S2が、データベースDB1、DB2に格納されている電子メールを取得して配送する処理を行うようにしてもよい。つまり、各メールサーバが、モジュールを実行させることなく、電子メールの受け付け処理と、受け付けた電子メールをデータベースDB1、DB2に格納する処理、データベースDB1、DB2に格納されている電子メールを取得して配送処理を行うようにする。かかる場合には、一方のメールサーバS1が格納した電子メールAを、他方のメールサーバS2が取得して電子メールAを配送することが可能であるので、仮に、一方のメールサーバS1が停止した場合であっても、メールサーバS2が、メールサーバS1が受け付けた電子メールを、配送することができ、メールシステム全体として、電子メールの受け付け、配送のサービスを停止させないようにすることができる。
5. Application Examples (1) As an application example of the mail system of the present embodiment, for example, the mail servers S1 and S2 store received e-mails in the databases DB1 and DB2, and the mail servers S1 and S2 are stored in the databases DB1 and DB2. You may make it perform the process which acquires the stored email and delivers it. In other words, each mail server obtains e-mails stored in the databases DB1 and DB2 by accepting e-mails, executing the process of storing the received e-mails in the databases DB1 and DB2, without executing modules. Perform delivery processing. In such a case, the e-mail A stored in one mail server S1 can be acquired by the other mail server S2 and delivered to the e-mail A, so that one mail server S1 is temporarily stopped. Even in this case, the mail server S2 can deliver the electronic mail accepted by the mail server S1, and the whole mail system can prevent the acceptance of the electronic mail and the delivery service.

(2)本実施形態のメールシステムは、未配送の電子メールとして検索された電子メールが、他のメールサーバによって配送されている電子メールのエンベロープの宛先と、同一のエンベロープの宛先が指定されている電子メールである場合には、検索された電子メールを配送させないようにしてもよい。   (2) In the mail system according to the present embodiment, an e-mail retrieved as an undelivered e-mail is designated with an envelope destination that is the same as an e-mail envelope destination that is delivered by another mail server. If the received e-mail is, the searched e-mail may not be delivered.

例えば、メールサーバS1が暗号化されたファイルを添付した電子メール(以下、「第1の電子メール」という。)を、第1の電子メールのエンベロープの宛先に基づいて、配送する処理を行い、メールサーバS2が、第1の電子メールのエンベロープの宛先と、同一のエンベロープの宛先であって、第1の電子メールに添付した暗号化ファイルの復号化パスワードを通知するための電子メール(以下、「第2の電子メール」という)を配送する処理を行う場合がある。   For example, the mail server S1 performs a process of delivering an email attached with an encrypted file (hereinafter referred to as “first email”) based on the destination of the envelope of the first email, The mail server S2 is an email for notifying the decryption password of the encrypted file attached to the first email that is the destination of the envelope of the first email and the same envelope (hereinafter referred to as the email address). In some cases, a process of delivering “second e-mail”) is performed.

かかる場合に、メールサーバS1が、添付ファイルの暗号化に処理時間を要するために、メールサーバS1が第1の電子メールを配送完了する前に、メールサーバS2が第2の電子メールを配送完了してしまう場合がある。つまり、同一の宛先に対して複数の電子メールを配送する際に、配送開始順と配送完了順とが異なってしまう場合がある。このように、配送開始順と配送完了順が異なってしまうと、例えば、本来、第1の電子メールを第2の電子メールよりも先に受信するべき受信者が、第2の電子メールを受信した後に、第1の電子メールを受信することになってしまい混乱してしまうおそれがある。   In this case, since the mail server S1 requires processing time to encrypt the attached file, the mail server S2 completes the delivery of the second e-mail before the mail server S1 completes the delivery of the first e-mail. May end up. That is, when a plurality of electronic mails are delivered to the same destination, the delivery start order and the delivery completion order may be different. Thus, if the delivery start order and the delivery completion order are different, for example, a recipient who should originally receive the first e-mail before the second e-mail receives the second e-mail. After that, there is a possibility that the first e-mail will be received and confused.

そこで、本実施形態のメールシステムのメールサーバS1、S2は、未配送の電子メールを検索した場合に、その電子メールのエンベロープの宛先と同一のエンベロープの宛先が指定されている他の電子メールを検索し、検索された他の電子メールの配送ステータス52が「2」(配送中)である場合には、未配送の電子メールを配送しないように制御する。   Therefore, when searching for undelivered e-mails, the mail servers S1 and S2 of the mail system according to the present embodiment search for other e-mails having the same envelope destination as that of the e-mail envelope. If the delivery status 52 of the other retrieved electronic mail is “2” (delivering), control is performed so that undelivered electronic mail is not delivered.

例えば、メールサーバS2は、未配送の第2の電子メールを検索した場合に、第2の電子メールのエンベロープの宛先と同一のエンベロープの宛先が指定されている電子メールを検索し、第1の電子メールが検索されたとする。すると、メールサーバS2は、検索された第1の電子メールの配送ステータス52を参照することによって、第1の電子メールの配送ステータス52が「2」(配送中)であると判断すると、第2の電子メールを配送しないように制御する。つまり、第2の電子メールの配送ステータス52を「1」(未配送)のまま、この第2の電子メールの配送ジョブを無視し、検索された他のジョブの実行処理に移行する。なお、無視された第2の電子メールは、配送ステータス52が「1」(未配送)であり、メールサーバS1、S2のジョブ検索対象であるので、配送される機会は失われない。   For example, when the mail server S2 searches for an undelivered second e-mail, the e-mail server S2 searches for an e-mail that has the same envelope destination as the second e-mail envelope destination, Suppose an email is retrieved. Then, when the mail server S2 determines that the delivery status 52 of the first email is “2” (delivery) by referring to the delivery status 52 of the retrieved first email, the second Control not to deliver e-mail. That is, while the delivery status 52 of the second e-mail remains “1” (undelivered), the second e-mail delivery job is ignored, and the process proceeds to the execution processing of another searched job. The ignored second electronic mail has a delivery status 52 of “1” (undelivered) and is a job search target of the mail servers S1 and S2, so the opportunity to be delivered is not lost.

このようにすれば、例えば、メールサーバS1が、添付ファイルの暗号化に処理時間を要したとしても、メールサーバS2は、メールサーバS1が第1の電子メールを配送中は、第2の電子メールの配送処理を行わないように制御するので、第1の電子メールの配送後に、第2の電子メールが配送されることになる。つまり、同一の宛先に対して複数の電子メールを配送する場合でも、配送開始順と配送完了順とを同じ順にすることができる。   In this way, for example, even if the mail server S1 takes a processing time to encrypt the attached file, the mail server S2 is able to send the second electronic mail while the mail server S1 is delivering the first electronic mail. Since the mail delivery process is controlled not to be performed, the second electronic mail is delivered after the first electronic mail is delivered. That is, even when a plurality of electronic mails are delivered to the same destination, the delivery start order and the delivery completion order can be set in the same order.

(3)本実施形態のメールシステムは、他のメールサーバによって配送されている電子メールのエンベロープの宛先のドメインと、同一のエンベロープの宛先のドメインが指定されている電子メールについて、配送を制御するようにしてもよい。このようにすれば、例えば、上記応用例(2)と同様に、同一のドメイン宛に対して複数の電子メールを配送する際に、配送開始順と配送完了順とが異なってしまう問題を解決でき、さらに、あるドメイン宛の配送がスローダウンするような問題が発生した場合でも、すべてのメールサーバがそのドメイン宛の配送を行うことがないので、メールシステム全体への影響を小さくすることができる。   (3) The mail system of the present embodiment controls the delivery of an email envelope destination domain of an email delivered by another mail server and an email in which the same envelope destination domain is designated. You may do it. In this way, for example, as in the above application example (2), when a plurality of electronic mails are delivered to the same domain, the problem that the delivery start order is different from the delivery completion order is solved. In addition, even if there is a problem that delivery to a domain slows down, not all mail servers deliver to that domain, so the impact on the entire mail system can be reduced. it can.

つまり、本実施形態のメールシステムのメールサーバS1、S2は、未配送の電子メールを検索した場合に、その電子メールのエンベロープの宛先のドメインと同一のドメインを有するエンベロープの宛先が指定されている他の電子メールを検索し、検索された他の電子メールの配送ステータス52が「2」(配送中)である場合には、未配送の電子メールを配送しないように制御する。   That is, when the mail servers S1 and S2 of the mail system according to the present embodiment search for an undelivered electronic mail, an envelope destination having the same domain as the destination domain of the envelope of the electronic mail is designated. When another electronic mail is searched and the delivery status 52 of the other searched electronic mail is “2” (delivering), control is performed so that undelivered electronic mail is not delivered.

例えば、メールサーバS2は、未配送の第3の電子メールを検索した場合に、第3の電子メールのエンベロープの宛先のドメインと同一のドメインを有するエンベロープの宛先が指定されている電子メールを検索し、第1の電子メールが検索されたとする。すると、メールサーバS2は、検索された第1の電子メールの配送ステータス52を参照することによって、第1の電子メールの配送ステータス52が「2」(配送中)であると判断すると、第3の電子メールを配送しないように制御する。つまり、第3の電子メールの配送ステータス52を「1」(未配送)のまま、この第3の電子メールの配送ジョブを無視し、検索された他のジョブの実行処理に移行する。なお、無視された第3の電子メールは、配送ステータス52が「1」(未配送)であり、メールサーバS1、S2のジョブ検索対象であるので、配送される機会は失われない。   For example, when the mail server S2 searches for an undelivered third e-mail, the e-mail server S2 searches for an e-mail in which an envelope destination having the same domain as the envelope destination domain of the third e-mail is specified. Assume that the first e-mail is retrieved. When the mail server S2 determines that the delivery status 52 of the first email is “2” (delivery) by referring to the delivery status 52 of the retrieved first email, Control not to deliver e-mail. That is, while the third electronic mail delivery status 52 remains “1” (undelivered), the third electronic mail delivery job is ignored, and the process proceeds to the execution processing of another searched job. Since the ignored third electronic mail has a delivery status 52 of “1” (not delivered) and is a job search target of the mail servers S1 and S2, the opportunity for delivery is not lost.

(4)本実施形態のメールシステムでは、配送命令が有効に設定された電子メールについて、配送処理を行うように制御しているが、配送命令に関係なく、データベースDB1、DB2に格納されている全ての電子メールを配送するようにしてもよい。   (4) In the mail system of the present embodiment, control is performed so as to perform delivery processing for an electronic mail for which the delivery command is set to be valid, but it is stored in the databases DB1 and DB2 regardless of the delivery command. All e-mails may be delivered.

(5)本実施形態のメールシステムでは、メールサーバS1、S2のうち、モジュールのステータス41、42、43が「4」(実行エラー)である電子メールを最先に検索したメールサーバが、検索された実行エラーの電子メールについて、再度、モジュールの実行を行わせるようにしてもよい。   (5) In the mail system of the present embodiment, the mail server that first searched for an email whose module status 41, 42, 43 is “4” (execution error) among the mail servers S1, S2 is searched. The execution of the module may be performed again on the executed execution error e-mail.

また、本実施形態のメールシステムでは、メールサーバS1、S2のうち、配送ステータス52が「4」(配送エラー)である電子メールを最先に検索したメールサーバが、検索された配送エラーの電子メールについて、再度、配送処理を行わせるようにしてもよい。   Further, in the mail system of the present embodiment, the mail server that first searched for the e-mail having the delivery status 52 of “4” (delivery error) among the mail servers S1 and S2 is the electronic mail of the searched delivery error. The delivery process may be performed again on the mail.

本実施形態のメールシステムのメールサーバ。The mail server of the mail system of this embodiment. 本実施形態のメールシステムのデータベース。The database of the mail system of this embodiment. 本実施形態のメールシステムのネットワーク図。The network diagram of the mail system of this embodiment. 本実施形態における、電子メールのジョブの一例を示す図。FIG. 6 is a diagram illustrating an example of an e-mail job according to the present embodiment. 本実施形態における、電子メールのジョブの一例を示す図。FIG. 6 is a diagram illustrating an example of an e-mail job according to the present embodiment. 本実施形態のステータス情報の説明図。Explanatory drawing of the status information of this embodiment. 本実施形態の更新識別情報を用いた処理を説明するための図。The figure for demonstrating the process using the update identification information of this embodiment. 本実施形態の更新識別情報を用いた処理を説明するための図。The figure for demonstrating the process using the update identification information of this embodiment. 本実施形態のエラーを検出するための図。The figure for detecting the error of this embodiment. 本実施形態のメールサーバのフローチャート。The flowchart of the mail server of this embodiment.

符号の説明Explanation of symbols

S1、S2 メールサーバ、DB1、DB2 データベース、20、21 端末、
30 電子メール格納領域、
40 モジュール情報格納領域、
41 モジュール1のステータス、42 モジュール2のステータス、
43 モジュール3のステータス、44 経過ステータス、
50 配送情報格納領域、51 配送命令、
52 配送ステータス、53 配送先メールサーバ、
100 処理部、111 受け付け部、112 格納部、113 取得部、
114 判断部、115 更新部、116 検索部、117 モジュール実行部、
117a モジュール1実行部、117b モジュール2実行部、
117c モジュール3実行部、118 配送部、119 削除部、
120 データベース制御部、170 記憶部
S1, S2 mail server, DB1, DB2 database, 20, 21 terminal,
30 Email storage area,
40 Module information storage area,
41 Module 1 status, 42 Module 2 status,
43 Module 3 status, 44 progress status,
50 delivery information storage area, 51 delivery instruction,
52 delivery status, 53 delivery mail server,
100 processing unit, 111 receiving unit, 112 storage unit, 113 acquiring unit,
114 determination unit, 115 update unit, 116 search unit, 117 module execution unit,
117a module 1 execution unit, 117b module 2 execution unit,
117c module 3 execution unit, 118 delivery unit, 119 deletion unit,
120 database control unit, 170 storage unit

Claims (3)

複数のメールサーバと、当該複数のメールサーバが共有するデータベースとによって構成されるメールシステムであって、
前記各メールサーバが、
電子メールを受け付ける受け付け部と、
受け付けた電子メールと、当該電子メールの配送状況とを、前記データベースに格納する処理を行う格納部と、
前記データベースに格納されている電子メールのうち、配送状況が未配送である電子メールを特定し、特定された電子メールの配送状況を、配送中を示す情報に更新する処理を行う更新部と、
配送状況が配送中を示す情報に更新された前記電子メールを、配送する処理を行う配送部と
前記データベースに格納されている電子メールのうち、配送状況が配送中を示す情報に更新された時点から所定期間内に配送完了に更新されていない電子メールを検索する検索部と、を含み、
前記更新部が、
配送処理が完了した電子メールの配送状況を、配送完了に更新する処理と、
検索された前記電子メールの配送状況を、未配送に更新する処理とを行うことを特徴とするメールシステム。
A mail system including a plurality of mail servers and a database shared by the plurality of mail servers,
Each of the mail servers
A reception unit for receiving e-mail;
A storage unit that performs processing for storing the received e-mail and the delivery status of the e-mail in the database;
An update unit that performs processing for identifying an email whose delivery status is undelivered among emails stored in the database, and updating the delivery status of the specified email to information indicating that delivery is in progress;
A delivery unit that performs a process of delivering the electronic mail whose delivery status is updated to information indicating that delivery is in progress ;
A search unit that searches for e-mails that have not been updated to completion of delivery within a predetermined period from the time when the delivery status is updated to information indicating that delivery is being performed, among the e-mails stored in the database,
The update unit
Processing to update the delivery status of emails that have completed delivery processing to delivery completion,
A mail system that performs a process of updating the delivery status of the searched e-mail to undelivered.
請求項1において、In claim 1,
前記各メールサーバは、前記電子メールに対してモジュールの実行処理を行った後に、前記電子メールを配送する処理を行い、  Each of the mail servers performs a process of delivering the e-mail after performing a module execution process on the e-mail,
前記データベースに格納されている電子メールのうち、モジュール実行状況が未実行である電子メールを特定し、特定された電子メールのモジュール実行状況を、実行中を示す情報に更新する処理を行うモジュール実行状況更新部と、Module execution that performs processing to identify an email whose module execution status is not executed from among emails stored in the database and update the module execution status of the specified email to information indicating that it is being executed A status update department;
前記配送部が前記電子メールを配送する処理を行う前に、モジュール実行状況が実行中を示す情報に更新された前記電子メールに対して、所定のモジュール処理を実行するモジ  A module for executing a predetermined module process on the e-mail whose module execution status is updated to information indicating that the module execution status is being executed before the delivery unit performs the process of delivering the e-mail.
ュール実行部と、A module execution unit,
前記データベースに格納されている電子メールのうち、モジュール実行状況が実行中を示す情報に更新された時点から所定期間内に実行完了に更新されていない電子メールを検索するモジュール未実行メール検索部と、をさらに含み、  A module unexecuted mail search unit that searches for e-mails that have not been updated to completion within a predetermined period from when the module execution status is updated to information indicating that the module execution status is being executed, among the e-mails stored in the database; Further including
前記モジュール実行状況更新部が、  The module execution status update unit
所定のモジュール処理の実行が完了した電子メールのモジュール実行状況を、実行完了に更新する処理と、  A process of updating the module execution status of an email for which execution of a predetermined module process has been completed to execution completion;
モジュール未実行メール検索部によって検索された前記電子メールのモジュール実行状況を未実行に更新する処理と、を行うことを特徴とするメールシステム。  And a process of updating the module execution status of the electronic mail searched by the module non-executed mail search unit to unexecuted.
請求項2において
前記格納部は、
前記受け付けた電子メールの配送命令を前記データベースに格納する処理を行い、
前記モジュール実行部は、
前記電子メールに対する所定のモジュール処理の実行結果に応じて、前記電子メールの前記配送命令を有効に設定し、
前記更新部は、
前記データベースに格納されている電子メールのうち、前記配送命令が有効であって、前記配送状況が未配送である電子メールを特定し、特定された電子メールの配送状況を、配送中を示す情報に更新する処理を行うことを特徴とするメールシステム。
In claim 2 ,
The storage unit
A process of storing the received delivery instruction of the e-mail in the database;
The module execution unit
Depending on the execution result of the predetermined module processing for the email, the delivery command for the email is set to be valid,
The update unit
Information indicating that the delivery command is valid and the delivery status is undelivered among the emails stored in the database, and the delivery status of the identified email is indicated as being delivered A mail system characterized by performing a process of updating to
JP2008274678A 2008-10-24 2008-10-24 Mail system Active JP5280148B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008274678A JP5280148B2 (en) 2008-10-24 2008-10-24 Mail system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008274678A JP5280148B2 (en) 2008-10-24 2008-10-24 Mail system

Publications (2)

Publication Number Publication Date
JP2010103850A JP2010103850A (en) 2010-05-06
JP5280148B2 true JP5280148B2 (en) 2013-09-04

Family

ID=42294061

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008274678A Active JP5280148B2 (en) 2008-10-24 2008-10-24 Mail system

Country Status (1)

Country Link
JP (1) JP5280148B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5545141B2 (en) * 2010-09-09 2014-07-09 富士ゼロックス株式会社 Data relay system, relay device, and program

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04280534A (en) * 1991-03-08 1992-10-06 Fujitsu Ltd Mail header access system
JP2524450B2 (en) * 1992-04-09 1996-08-14 株式会社アイテイーエル Search system
JP2000020376A (en) * 1998-06-30 2000-01-21 Nec Software Ltd Method and system for exclusively controlling transaction system
JP4107019B2 (en) * 2002-09-04 2008-06-25 日本電気株式会社 Exclusive control device and exclusive control method
JP3765488B2 (en) * 2002-09-13 2006-04-12 村田機械株式会社 Mail server
JP2005071158A (en) * 2003-08-26 2005-03-17 Hitachi Software Eng Co Ltd Exclusive control method for file
JP2006350980A (en) * 2005-06-15 2006-12-28 Kei Tekku:Kk Mail system with function of clustering mail system connected in parallel

Also Published As

Publication number Publication date
JP2010103850A (en) 2010-05-06

Similar Documents

Publication Publication Date Title
US8429233B2 (en) Method and system for journaling electronic messages
JP4794143B2 (en) System and method for managing cache objects using notification bonds
US20070067354A1 (en) Productivity suite to line of business synchronization mechanism
US9069632B2 (en) Message processing
AU2005338395C1 (en) Method and system for delivering messages in a communication system
JP4141878B2 (en) Transaction processing method, apparatus for executing the same, and processing program therefor
US20060123121A1 (en) System and method for service session management
US7453865B2 (en) Communication channels in a storage network
JP5280148B2 (en) Mail system
JP2019212223A (en) Information processing system and control method thereof
JP4910542B2 (en) SIP message delivery program
JP7071938B2 (en) Database management service provision system
US20130238718A1 (en) Storing and partitioning email messaging data
JP2005109849A (en) Data exchange processing program for transmission server and data exchange processing program for reception server
EP1934783A1 (en) Productivity suite to line of business synchronization mechanism
JP7568898B2 (en) COMMUNICATION PROGRAM, COMMUNICATION METHOD, AND COMMUNICATION DEVICE
JP4616035B2 (en) Server load balancing program, apparatus and method
JP5026130B2 (en) Mail management method, mail management system, and mail management program
JP6583934B2 (en) Mail server device, mail management method, and mail management program
JP4287409B2 (en) Domain information storage device, domain information storage method, domain information storage program, and domain information storage system
JP4223505B2 (en) Mail server migration support program and mail server migration support device
JP4606317B2 (en) Session information management method, system and program
JP4844615B2 (en) Intermittent connection environment notification system, intermittent connection environment notification method, connection source information processing device, and connection source device program
JP2003132164A (en) Maintenance system on the basis of maintenance contract
JP2001184282A (en) Oltp system and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110930

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121010

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121206

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: 20130515

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130522

R150 Certificate of patent or registration of utility model

Ref document number: 5280148

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250