JP5280148B2 - Mail system - Google Patents
Mail system Download PDFInfo
- 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
- 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
Links
- 238000012384 transportation and delivery Methods 0.000 claims description 270
- 238000000034 method Methods 0.000 claims description 93
- 241000700605 Viruses Species 0.000 description 8
- 238000012217 deletion Methods 0.000 description 8
- 230000037430 deletion Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000001914 filtration Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 229940124447 delivery agent Drugs 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
本発明は、メールシステムに関する。 The present invention relates to a mail system.
従来から、冗長化させた複数のメールサーバによって構成されるメールシステムが存在する。このようなメールシステムは、障害発生時の復旧時間を短縮させるために、待機中の第2のメールサーバが、稼動中の第1のメールサーバを監視し、第1のメールサーバに障害が発生したことを第2のメールサーバが検知すると、第2のメールサーバが稼働し、第1のメールサーバを引き継ぐ処理を行う(特許文献1)。
しかし、従来のメールシステムでは、復旧時間を節約しようとしても、第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
また、記憶部170は、RAM(VRAM)、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)等によるコンピュータにより読み取り可能な情報記憶媒体を含み、この情報記憶媒体にはプログラムやデータなどが格納されている。即ち、情報記憶媒体には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
The
また記憶部170は、複数のモジュール(モジュール1、モジュール2、モジュール3)等のモジュールプログラムが格納されている。なお、モジュール実行部117の実行命令に基づき、これらのモジュールが実行されることになる。
The
処理部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
処理部100は、受け付け部111、格納部112、取得部113、判断部114、更新部115、検索部116、モジュール実行部117、配送部118、削除部119、データベース制御部120を含む。
The processing unit 100 includes a
受け付け部111は、電子メールを受け付ける処理を行う。具体的には、受け付け部111は、SMTP(Simple Mail Transfer Protocol)を通じてネットワーク上で電子メールを受け付ける処理を行う。例えば、図3に示す端末20のMUA(Mail User Agent)によって送信された電子メールを受け付ける処理を行う。
The accepting
格納部112は、受け付けた電子メールと、当該電子メールの更新識別情報MIDと、当該電子メールの配送状況とを、データベースに格納する処理を行う。例えば、格納部112は、電子メールを受け付けると、当該電子メールに固有の識別情報を付与し、当該識別情報に対応づけて、電子メールと、更新識別情報MIDと、配送ステータスとを、データベースに格納する処理を行う。ここで、配送ステータスとは、未配送、配送中、配送完了、配送エラーなどの配送状況を数値で表したデータである。また、格納部112は、受け付けた電子メールを、エンベロープの宛先、エンベロープの差出元、メッセージのヘッダ、メッセージのボディ等に解析する処理を行い、解析された各データをデータベースDB1、DB2のテーブルに対応づけて格納する処理を行う。
The
取得部113は、メールサーバがデータベースに対してなした要求に対する応答結果を取得する。例えば、取得部113は、検索要求に対する検索結果を取得したり、更新要求に対する更新結果(更新成功、更新失敗)の情報を取得する。例えば、取得部113は、データベースに対して未配送の電子メールの検索を要求し、検索された電子メールを取得する。
The
判断部114は、データベースに対してデータの更新要求を行い、当該更新要求の結果に基づいて更新権を有するか否かを判断する。判断部114は、例えば、検索された未配送の電子メールの配送権を有するか否かを、配送状況の更新要求に対する更新結果に基づいて判断する。例えば、判断部114は、配送状況の更新要求に対してデータベースから更新成功を取得すると、検索された未配送の電子メールの配送権を有すると判断し、配送状況の更新要求に対してデータベースから更新失敗を取得すると、検索された未配送の電子メールの配送権を有しないと判断する。
The
更新部115は、データベースに格納されている電子メールのうち、配送状況が未配送を示す電子メールを特定し、特定された電子メールの配送状況を、配送中を示す情報に更新する。つまり、更新部115は、データベースに対して、未配送の電子メールを検索する要求をし、検索結果を取得することによって、配送状況が未配送を示す電子メールを特定し、データベースに対して、当該特定された電子メールの配送状況を、配送中を示す情報に更新要求する。なお、更新部115は、未配送の電子メールを検索した時点(第1の時点)の更新識別情報MIDと、配送状況を配送中を示す情報に更新要求する時点(第2の時点)の更新識別情報MIDとが一致することを条件に、配送状況を未配送から、配送中を示す情報に更新要求すると共に、更新識別情報MIDの値(例えば、「1」)を、第1の時点の更新識別情報MIDとは異なる値(例えば「2」)に更新要求する。
The
更新部115は、電子メールの配送処理が完了した場合には、当該電子メールの配送状況を配送完了(配送済)に更新する。また、更新部115は、検索部116によって、データベースに格納されている電子メールのうち、配送状況が配送中を示す情報に更新した時点から所定期間内に配送完了に更新されていない電子メールが検索された場合には、当該検索された電子メールの配送状況を、未配送に更新する処理を行う。
When the e-mail delivery process is completed, the
検索部116は、データベースに格納されている電子メールのうち、配送状況が配送中を示す情報に更新された時点から所定期間内に配送完了に更新されていない電子メールを検索する。つまり、検索部116は、データベースに格納されている電子メールのうち、電子メールに対応する配送状況が配送中を示す情報に更新された時点(更新日時)から所定期間内(例えば10分以内)に、当該配送状況が未だ配送完了に更新されていない電子メールを検索する。
The
モジュール実行部117は、予め記憶部170に格納されているモジュール1、モジュール2、モジュール3を実行させる処理を行う。例えば、モジュール1実行部117aは、電子メールのウイルスを検出する処理を行うモジュールを実行させる処理を行う。モジュール2実行部117bは、電子メールを電子メール蓄積用データベースに登録させる処理を行うモジュールを実行させる処理を行う。モジュール3実行部117cは、電子メールを所定条件に基づいてフィルタリング処理を行うモジュールを実行させる処理を行う。モジュール実行部117は、データベースに格納されている各電子メールに対して、予めデータベースDB1、DB2に格納されている実行順に即してモジュールを実行させる処理を行う。
The
配送部118は、データベースに格納されている電子メールを配送する処理を行う。例えば、配送部118は、配送状況が配送中を示す情報に更新された電子メールを配送する処理を行う。ここで、電子メールを配送するとは、SMTPを通じて、受け付けた電子メールを他のメールサーバに配送する処理や、メールサーバが稼動する同一システム内にアカウントを持つユーザ宛に配送するためのローカル配信エージェントMDA(Mail Delivery Agent)に配送する処理、MDAを介せずにメールサーバが稼動する同一システム内にアカウントを持つユーザ宛に配送する場合も含む。配送部118は、データベースDB1、DB2に格納されているの電子メールの配送命令51が有効である場合にその電子メールを配送する処理を行う。
The
また、本実施形態の配送部118は、データベースに格納されている配送先メールサーバ53のアドレスを参照し、ネットワークを介して、配送先メールサーバに電子メールを配送する処理を行う。
Further, the
削除部119は、配送処理が完了した電子メールを、データベースから削除する。具体的には、削除部119は、データベースDB1、DB2に登録されている電子メールのうち、モジュール実行部117における全モジュール処理が完了し(モジュール1、2、3の全モジュールが実行完了し)、配送命令が有効である電子メールの配送処理が完了した電子メール、及び、モジュール実行部117における全モジュール処理が完了し(モジュール1、2、3の全モジュールが実行完了し)、配送命令が無効である電子メールを、データベースDB1、DB2から削除する処理を行う。
The
データベース制御部120は、本実施形態のデータベースDB1、DB2が同一のデータが書き込まれるように、同期レプリケーション処理を行うものである。例えば、データベース制御部120は、データベースに対する格納・更新・削除・参照、検索などの要求データ(クエリ)を、データベースDB1、DB2それぞれ同時に送信する処理を行い、データベースDB1、DB2間においてタイムラグが生じることなくデータの同一性を維持させるようにする。また、データベース制御部120は、一方のデータベース(例えばデータベースDB1)に障害が発生したことを検出した場合や、データベースDB1、DB2間においてデータの不整合を検出した場合には、一方のデータベース(例えばデータベースDB1)を切り離す処理を行い、他方のデータベース(例えばデータベースDB2)が格納・更新・削除・参照などの処理を継続して行う。
The
(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
電子メール格納領域30は、メールサーバS1、S2が受け付けた電子メールデータが格納される。例えば、電子メール格納領域30には、メールサーバS1、S2が受け付けた電子メールを固有の識別情報(ID)に対応づけて、電子メールのエンベロープの宛先、電子メールのエンベロープの差出元、電子メールの内容(ヘッダ部、ボディ部の内容)、登録日時、更新日時、更新識別情報(MID)が格納される。
The
モジュール情報格納領域40には、モジュール1のステータス41、モジュール2のステータス42、モジュール3のステータス43、経過ステータス44のデータが格納される。モジュール1のステータス41、モジュール2のステータス42、モジュール3のステータス43は、電子メールの識別情報(ID)に対応する、それぞれのモジュールの実行状況データである。なお、経過ステータス44は、モジュールの実行順に即したモジュールの実行状況データである。
In the module
配送情報格納領域50には、電子メールの識別情報(ID)に対応付けて、配送命令51、配送ステータス52、配送先メールサーバ53が格納される。配送命令51は、配送命令の有無を示すデータであり、配送ステータス52は、配送状況を示すデータであり、配送先メールサーバ53は、メールサーバS1、S2が電子メールを配送するための配送先メールサーバのアドレス(IPアドレス、メールサーバ名)である。
In the delivery
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
このように、本実施形態のメールシステムは、仮に、一方のメールサーバ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
なお、本実施形態のメールシステムでは、メールサーバ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
図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
図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
図6(C)は、配送ステータス52の一覧を示す。例えば、電子メールについての配送状況が未配送である場合には、配送ステータス52の値は「1」に設定される。そして、電子メールについて、配送状況が配送中である場合には、配送ステータス52の値は「2」に設定される。そして、電子メールの配送状況が配送完了になると、配送ステータス52の値は「3」に設定される。また、配送処理がエラーで終了した場合には、配送ステータス52の値は「4」に設定される。
FIG. 6C shows a list of
(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
(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
そして、本実施形態では、経過ステータス44や、モジュール1、2、3のステータス41、42、43を参照し、電子メールそれぞれについてモジュール実行順に各モジュールを実行するように制御している。
In this embodiment, the
例えば、経過ステータス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
まず、メールサーバ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
そして、メールサーバ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
そして、メールサーバ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
このように、本実施形態では、経過ステータス44、モジュール1、2、3のステータス41、42、43を参照することによって、各電子メールについてモジュール1、2、3を実行させる処理を行っている。
As described above, in the present embodiment, by referring to the
また、本実施形態では、重複処理を回避するために、複数のメールサーバ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
このように、本実施形態のメールシステムによれば、電子メールを受け付けたメールサーバ(例えばメールサーバ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
そして、本実施形態では、メールサーバS1、S2が、配送ステータス52が「1」(未配送)であって、配送命令51が有効に設定されている電子メールを検索し、検索された当該電子メールを配送先メールサーバに配送させる処理を行っている。
In this embodiment, the mail servers S1 and S2 search for an e-mail in which the
例えば、配送命令51が有効に設定され、配送ステータス52が「1」(未配送)である電子メールAについての配送処理について説明する。
For example, a description will be given of a delivery process for the electronic mail A in which the
まず、配送命令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
また、本実施形態では、重複処理を回避するために、複数のメールサーバ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
そして、メールサーバ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
そして、検索時(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
一方、検索時(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
図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
また、メールサーバ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
そして、メールサーバ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
しかし、ここでデータベース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
また、図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
かかる場合に、電子メール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
図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
このようにすれば、複数のメールサーバ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
(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
例えば、図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
(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
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
また、配送命令51が有効であって、配送ステータス52が「1」(未配送)である場合には、電子メールの配送ジョブが未実行であるとして検索される。なお、本実施形態では、経過ステータス44、モジュールのステータス41、42、43の値に関わらず、配送命令51が有効であって、配送ステータス52が「1」(未配送)である電子メールは、配送が未実行であるとして検索される。
If the
そして、未実行のジョブがあるか否かを判断し(ステップ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
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
例えば、メールサーバ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
このようにすれば、例えば、メールサーバ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
例えば、メールサーバ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
(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
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
43
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,
117c
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.
前記各メールサーバは、前記電子メールに対してモジュールの実行処理を行った後に、前記電子メールを配送する処理を行い、 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.
前記格納部は、
前記受け付けた電子メールの配送命令を前記データベースに格納する処理を行い、
前記モジュール実行部は、
前記電子メールに対する所定のモジュール処理の実行結果に応じて、前記電子メールの前記配送命令を有効に設定し、
前記更新部は、
前記データベースに格納されている電子メールのうち、前記配送命令が有効であって、前記配送状況が未配送である電子メールを特定し、特定された電子メールの配送状況を、配送中を示す情報に更新する処理を行うことを特徴とするメールシステム。 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
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)
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)
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 |
-
2008
- 2008-10-24 JP JP2008274678A patent/JP5280148B2/en active Active
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 |