JP3807240B2 - E-mail system - Google Patents
E-mail system Download PDFInfo
- Publication number
- JP3807240B2 JP3807240B2 JP2001089363A JP2001089363A JP3807240B2 JP 3807240 B2 JP3807240 B2 JP 3807240B2 JP 2001089363 A JP2001089363 A JP 2001089363A JP 2001089363 A JP2001089363 A JP 2001089363A JP 3807240 B2 JP3807240 B2 JP 3807240B2
- Authority
- JP
- Japan
- Prior art keywords
- mail data
- user
- data management
- server
- 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.)
- Expired - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
この発明は、インターネット上で運用される電子メールサーバ装置に関するものである。
【0002】
【従来の技術】
最近のインターネット接続サービスでは様々な電子メールのサービスがある。
この中には携帯電話を含んだ様々なクライアントコンピュータから同じメールデータにアクセスするサービスがある。この代表的なサービスとしてIMAP4というプロトコルを利用したサービスとWebブラウジング機能を利用したメールサービスがある。しかしながら、急激なユーザ数の増加や、多くのユーザから特定のメールデータへのアクセスの偏りにより、このメールデータを管理するサーバのハードウエアに障害等が発生する場合があり、しばしば夜間などにこのメールデータを管理するサーバのサービスを停止してサーバを保守する場合がある。
【0003】
例えば、特開平9−331354号公報に記載の電子メールシステムでは、メールデータを移動する際には、同時に多数のメール財産を移動する必要があり、このために一定時間内に処理しようとしてもメール財産に比例したコピーと削除が発生するため移動を終了するには相当な時間がかかるという課題がある。そこで、この解決するために、移動元と移動先で同じメール財産を保持する期間を設け、利用者は決まった日時までは移動元のみアクセスし、決まった日時以降は移動先のサーバにアクセスするというアクセス権の切り替え方式で解決を図っている。
【0004】
【発明が解決しようとする課題】
しかしながら、従来の電子メールシステムでは、メールサーバ上でメールを管理する場合、電子メールをサーバから読むだけではなく、複数の状態を示すフラグを書き換えたり、管理するフォルダと呼ばれる論理的構造を変更するという操作がなされるため、コピー中に移動元とアクセスしておき、コピー後に移動先とアクセスするという手法のみではその間のメールサーバへの操作を正しく反映できない場合があった。
【0005】
例えば、コピーを開始してから、コピーを終えたあとのメールデータの状態を示すフラグを変更したり、フォルダを移動したりした場合は、移動先のメールデータにその状態が反映されないため、決まった時刻以降に移動先にアクセスした場合に、以前の操作が無効になっているというような問題があり、このような時には一旦サービスを停止せざるをえないという問題があった。
【0006】
この発明は、上記のような課題を解決するためになされたものであり、サーバ上でメールを管理する方式において、複数のメールデータ管理サーバに同一のユーザのメールがだぶって存在する場合を想定し、一次的に複数サーバを利用してあたかも1つのサーバであるかのように見せることにより、サーバの移行時、即ち、サーバ構成の変更を行ったり、所属するユーザの移動を行ったり、サーバのハードウエアをリプレースしたりするような場合にもサービスを停止させる必要のない電子メールシステムを提供することを目的とする。
【0007】
【課題を解決するための手段】
第1の発明は、ネットワークを介して送信されるユーザからのアクセス要求に基づいて処理を実行し、ユーザ毎のメールデータをそれぞれ管理する複数のメールデータ管理サーバと、
上記ユーザのユーザ情報を保存し、この保存されたユーザ情報の中に上記ユーザから送信されたユーザ情報が存在する時に、このユーザ情報に対応するユーザのメールデータを管理するメールデータ管理サーバの情報を取得するユーザ認証サーバと、
上記複数のメールデータ管理サーバとネットワークを介して接続され、上記ユーザから送信されたアクセス内容を取得し、この取得されたアクセス内容と上記ユーザ認証サーバで取得されたメールデータ管理サーバの情報とに基づいてアクセスするメールデータ管理サーバを特定し、この特定されたメールデータ管理サーバで実行された処理結果を上記ユーザに返信するフロントエンドサーバとを備えた電子メールシステムにおいて、
上記フロントエンドサーバは、上記複数のメールデータ管理サーバの稼動中に新たなメールデータ管理サーバをネットワークに接続し、この新たなメールデータ管理サーバに稼動中の上記複数のメールデータ管理サーバ中のユーザのメールデータをコピーし、自らが保持する管理テーブルに新たなメールデータ管理サーバが接続された情報を追加し、さらに上記ユーザ情報に新たなメールデータ管理サーバに稼動中の上記複数のメールデータ管理サーバ中のユーザのメールデータをコピーした情報を追加するメールサーバアクセス管理部を備えたものである。
【0008】
第2の発明は、上記新たなメールデータ管理サーバにユーザのメールデータをコピー中に、ユーザによるアクセスがあった時には、コピー中のアクセス内容のプロトコルに基づいて新たなメールデータ管理サーバに上記ユーザのメールデータをコピーするメールサーバアクセス管理部を備えたものである。
【0009】
第3の発明は、上記ユーザのメールデータの全てがコピーされた時には、ユーザに保管されているメールデータ管理サーバの情報をコピー前の通常の状態に戻し、上記ユーザ情報中のメールデータ管理サーバの情報を新たなメールデータ管理サーバの情報に変更するメールサーバアクセス管理部を備えたものである。
【0010】
第4の発明は、上記ユーザ認証サーバで取得されたメールデータ管理サーバの情報が1つであるか否かを判断し、メールデータ管理サーバの情報が複数存在した時には、この複数のメールデータ管理サーバにアクセスし、上記複数のメールデータ管理サーバで実行された処理結果をアクセス要求に従って合成し、アクセス内容の履歴をとって上記ユーザに返信するメールサーバアクセス管理部を備えたものである。
【0011】
第5の発明は、上記特定のメールデータ管理サーバで実行された処理結果に基づいてユーザのメールデータに対応するフォルダ名とこのフォルダ内のユニークなID情報とデータとにより構成される第1の対応表を各メールデータ管理サーバ毎に作成し、この作成した複数の第1の対応表の中から同一フォルダ名と同一ID情報のデータを検索し、この検索された同一データと同一フォルダ名と同一ID情報とが重なることがなく、かつそれぞれの情報が矛盾することのないフォルダ名とID情報とデータとにより構成される第2の対応表を作成することにより上記処理結果を合成するメールサーバアクセス管理部を備えたものである。
【0012】
第6の発明は、ユーザからのアクセス要求のプロトコルを判断し、このプロトコルに基づいてメールデータ管理サーバを特定するメールサーバアクセス管理部を備えたものである。
【0013】
【発明の実施の形態】
実施の形態1.
以下、この発明の実施の形態1を図を参照して説明する。
図1は、実施の形態1の電子メールシステムの構成図である。図1において、1はユーザや他のメールシステムと本システムとを接続するためのネットワークとしてのインターネットやイントラネット、2はユーザからのアクセス要求を監視し、アクセス要求が来たら順に決められた作業を行い、必要に応じて処理を振り分け、結果を合成するフロントエンドサーバ、3はアクセス要求をしたユーザが正しいユーザであることを認証するユーザ認証サーバ、4はユーザ認証サーバ3により使用されるユーザ情報が保存されたユーザデータベース(ユーザDB)、5は振り分けられた処理を実行する1台以上の複数台からなるメールデータ管理サーバ、6はこれらのサーバを接続するネットワークである。
ここで、これら構成要素である各サーバの物理的機能は、1台のコンピュータ上で実現してもかまわない。
【0014】
次に、上記電子メールシステムの各構成要素を動作するためのソフトウエア構成について説明する。
図1において、11はユーザや他のメールシステムと本システムとが接続されたインターネットやイントラネット1からアクセス要求がされるフロントエンドサーバ2上にあって、ユーザや他のメールシステムからのアクセス要求を監視するアクセス監視部、12はユーザ認証サーバ3上にあって、インターネットやイントラネットからアクセスがあり、該メールシステム宛のメールが送られた場合にユーザを認証するユーザ認証部、13はユーザ認証サーバ3上にあって、ユーザ認証に利用するユーザDB4を管理するユーザデータベース管理部(ユーザDB管理部)、14はフロンエンドサーバ2上にあって、ユーザからのアクセスの内容を解析するコマンド解析部、15はフロントエンドサーバ2上にあって、コマンド解析の結果に基づいてメールデータにアクセスするとき、当該メールデータ管理サーバ5を特定し、振り分けたり、複数のメールデータ管理サーバ5に要求を出して結果をまとめたりするメールサーバアクセス管理部、16はメールデータ管理サーバ5上にあって、実際にメールデータをユーザごとに管理する複数のメールデータ管理部である。
【0015】
図2は実施の形態1の電子メールシステムの動作手順を示すフローチャート、図3は図3のフローチャートで説明するサーバ振り分け時の動作手順を示すフローチャート、図4は図3のフローチャートで説明する複数のメールデータ管理サーバ5への要求動作手順を示すフローチャート、図5は図3のフローチャートで説明する複数のメールデータ管理サーバ5の応答結果を合成する動作手順を示すフローチャート、図6はメールデータ管理サーバ5のデータコピーの動作手順を示すフローチャート、図7はメールデータ管理サーバ5のデータコピーの終了処理の動作手順を示すフローチャートである。
【0016】
図2〜図7のフローチャートに従って動作について説明する。
まず、図2のフローチャートにおいて、アクセス監視部11はユーザや他のメールサーバからのアクセス要求を監視する、即ちアクセス監視部11はインターネットやイントラネット11からのアクセス要求をアクセスポートごとに監視し、アクセスがあれば直ちに応答を相手に返して、ユーザ情報の取得を行う(ステップS1)。
【0017】
次に、ユーザ認証部12はアクセス監視部11で取得されたユーザ情報に基づき、このユーザ情報に該当するユーザのユーザ情報がユーザDB4に存在するか否かの判断をし、必要に応じて、ユーザのパスワードが正しいかどうかを判断し、問題がなければユーザのメールを管理する複数のメールデータ管理サーバ5の中で該当ユーザのメールを保持するメールデータ管理サーバ5の情報をユーザ認証サーバ3より獲得する(ステップS2)。
一方、ステップS2で正しいユーザでないと判断された場合は、その旨を相手側に通知し(ステップS6)、接続を切り終了する。
【0018】
このメールデータ管理サーバ5に関する情報は、通常は1台のメールデータ管理サーバ5であり、ユーザごとには変わるものではないが、ユーザ数が多く1台のメールデータ管理サーバ5で管理しきれない場合は複数のメールデータ管理サーバ5にユーザを分散し、その場合にそれぞれのユーザごとに異なる情報となる。
また、メールデータ管理サーバ5に関する情報は、本来あるべきユーザのメールデータ管理サーバ5の情報と、新しくサーバを入れかえるために移行中であることを示すフラグ情報をつける場合がある。
【0019】
次に、コマンド解析部14がユーザからのアクセス内容を解析する(ステップS3)。解析の方法は、アクセス要求をしてきたポート番号により、対応するプロトコルを限定し、そのプロトコルでわからない内容の場合はエラーとして処理する。
プロトコルとしては、例えばIMAP4プロトコルがコンピュータのネットワークのポート番号143に対応し、SMTPというプロトコルがポート番号25に対応したものがあり、それそれぞれインターネットの標準として利用されている。これらのプロトコルは一例であって、ポート番号、プロトコルとも限定するものではない。
ステップS3ではプロトコルごとに認識可能なコマンドがあり、入力されたデータに従って解析し、実際にどのようなコマンドであるかを判断する。
【0020】
次に、メールサーバアクセス管理部15は、ステップ3で解析されたアクセス内容とステップ2で取得されたメールデータ管理サーバ5の情報を基に、メールデータ管理サーバ5を特定して、アクセスし、要求に従った処理を行う(ステップS4、ステップS5)。
なお、ステップS5では、プロトコルの指定する内容をメールデータ管理サーバ5上のメールデータ管理部16が実行するが、例えば本サーバはSMTPサーバであっても良いし、IMAP4サーバであってもよい。
また、ステップS3の解析とは、具体的には、送られてくる文字列を行の最初から読みスペースが来るまでの文字列をコマンドとして存在するかどうかを判断し、スペースのあとの文字列を引数と考える方法で行う。
【0021】
次に、フロントエンドサーバ2上で動作するステップS4のサーバ振り分け処理の詳細な処理動作を図3を用いて説明する。
まず、メールサーバアクセス管理部15はユーザや他のメールサーバからアクセス要求コマンドを受けると、ユーザ認証時に獲得したそのユーザに関するメールデータ管理サーバ5の情報を取り出す(ステップS11)。
続いて、メールサーバアクセス管理部15はこのメールデータ管理サーバ5の情報が1つのサーバであるかどうかを判断する(ステップS12)。
【0022】
ここで、通常の運用では、一人のユーザのメールデータを管理しているメールデータ管理サーバ5は1台であると考えられ、ステップS15に進み、要求された内容をそのまま該当するメールデータ管理サーバ5に送り、メールデータ管理サーバ5で該当するIMAP4コマンドやSMTPコマンドにしたがって処理が行われる。
その後、メールデータ管理サーバ5で得られた処理結果をそのまま何もせずにアクセス要求をしてきた経路に従って要求元であるユーザや他のメールサーバに返す(ステップS16)。
【0023】
ステップS12でメールデータ管理サーバ5が複数存在した場合は、当該ユーザのデータを移行中であり、データが複数のメールデータ管理サーバ5にあることをしめしている。このような場合には、メールサーバアクセス管理部15は複数のメールデータ管理サーバ5にアクセス要求を出し(ステップS13)、複数のメールデータ管理サーバ5で処理がされ、得られた処理結果をアクセス要求に応じた処理結果に合成すると共に、どのようなアクセスをしたのかの履歴をとってユーザに返信する(ステップS14)。
【0024】
次に、ステップ13の複数のメールデータ管理サーバ5に要求を出す処理の詳細な処理動作を図4を用いて説明する。
まず、利用しているプロトコルは何かを判断する(ステップS21)。例えばSMTPであれば、外部のメールクライアントやサーバがメールの転送プロトコルに従ってメールを送りつけようとしている、即ち、新しいメールが送られてきているのであるから、複数のメールデータ管理サーバ5においては、古い方のメールデータ管理サーバ5から新しい方のメールデータ管理サーバ5にコピーしている場合において、新しい方のメールデータ管理サーバ5にのみアクセスし、新しい方のメールデータ管理サーバ5に要求を送信する(ステップS24)。これにより、コピーを終えた後にメールが到着してメールを消失してしまうということを防ぐことができる
【0025】
次に、メールデータ管理サーバ5からの応答はそのまま要求元に返信する(ステップS25)。
また、IMAP4や、POP3といった保存してあるメールデータにアクセスするためのプロトコルである場合には古いメールデータ管理サーバ5にしかないメールデータと新しいメールデータ管理サーバ5にあるメールデータにアクセスする必要があるため新旧両方のメールデータ管理サーバ5にアクセス要求を出す(ステップS22)。
これはコピー中にはコピーが完了するまでは両方のメールデータ管理サーバ5上にメールが存在し、新着メールは新しいサーバにのみ存在することになるからであり、コピーを完了していない限りは新しいサーバにもすべてのメールが存在することを保証できないからである。
【0026】
続いて、各メールデータ管理サーバ5がそれぞれの要求に応じて処理を行い、この処理結果を返信する(ステップS23)。例えば、この要求がIMAP4のプロトコルで、標準の受信箱であるinboxというフォルダの中身の一覧を要求するものであれば、それぞれのメールデータ管理サーバ5において標準の受信箱であるinboxというフォルダの中身の一覧を行うという処理を行う。
【0027】
次に、複数のメールデータ管理サーバ5から返される図3のステップS14で得られた結果を、フロントエンドサーバ2上のメールサーバアクセス管理部15で合成するための処理動作を図5を用いて説明する。
まず、各メールデータ管理サーバ5からの応答を集める(ステップS31)。この応答は、例えば要求が成功したか、失敗したかの情報とともに、メールデータを示すフォルダ内でユニークなIDであるUID情報やメールデータそのものである。ここで、メールデータを示すUID情報は、例えば、メールデータ管理サーバ5の一例であるIMAP4サーバにおいてはメールを管理するためのフォルダによって一意に決まる数字であり、複数のサーバから送られる同じUIDコード、同じフォルダ情報を持つメールデータは同一のメールデータであればこれは同一のメールデータがコピーされているだけであることを意味する
【0028】
次に、ひとつのメールデータ管理サーバ5からの応答に対して、フォルダ名とUIDと実際のデータとの対応表を作成することを繰り返し、各メールデータ管理サーバ5ごとにこの対応表を作成する(ステップS32)。
続いて、ステップS32で作成した複数の表を比較し、同じフォルダ名、同じUIDの情報を持つデータを見つける(ステップS33)。
【0029】
次に、同一のメールデータであるにもかかわらず、フラグ情報などが異なる場合が想定されるが、この場合はコピーする前の古いメールデータ管理サーバ5の内容を優先する(ステップS34)。この理由は、後述の図6で説明するように、メールデータ管理サーバ5のデータコピーの動作において、メールデータ管理サーバ5の情報に矛盾する点がある場合は、コピーする前の古いメールデータ管理サーバ5にのみ操作がなされ、新しいメールデータ管理サーバ5には操作がなされていない場合に限られるからである。
次に、同一のメールデータの重複を省き、かつそれぞれに矛盾を生じない即ち違いの無いフォルダ名とUIDと実際のデータの対応表を作成する(ステップS35)。
さらに、この対応表を基に応答を返すことにより合成した結果を返す(ステップS36)。
【0030】
次に、メールデータ管理サーバ5のメールデータのコピー処理動作を図6を用いて説明する。
このコピーは、例えば、ユーザのディスク容量が満杯に近い状態になったとか、性能の向上のためにマシンをリプレースする場合や、新しいマシンにユーザの情報を移動させる場合に、サービスを停止せずにユーザの情報をコピーするために行うものである。
まず、新たなメールデータ管理サーバを稼動中の系に物理的に接続し、ネットワーク接続する。これにより、新たなメールデータ管理サーバの接続の追加を行うことができる(ステップS41)。
【0031】
次に、メールサーバアクセス管理部15の設定変更を行う(ステップS42)。例えばTCP/IPの接続ならIPアドレスを付与し、LANケーブルで接続の上で、メールサーバアクセス管理部15のテーブルに、新たなメールデータ管理サーバ5を付加したという情報とそのアドレスを書きこむことによりメールデータ管理サーバ5の付加を行うことができる。この時点では、各ユーザに関しては移動状態になっていないため、すべてのアクセス要求は古いメールデータ管理サーバ5に対して処理がされている。
【0032】
次に、ユーザの選択、コピー状態の設定を行う(ステップS43)。
ここでは、例えば、ユーザDB4より順番に一人ずつユーザの一人を選択する。IMAP4でログイン中でないユーザから選択する方が、以下のステップで説明する不整合を生じてループする可能性が少ない。
【0033】
続いて、ステップS43で選択されたユーザのユーザ情報に以下のような情報を入れる。即ち、選択されたユーザのユーザ情報に、これまで稼動していたメールデータ管理サーバ5のメールデータを新たに接続したメールデータ管理サーバにコピーを開始したことの情報と、どのメールデータ管理サーバ(これまで使用していた稼動中のメールデータ管理サーバ)からどのメールデータ管理サーバ(新たなメールデータ管理サーバ)にメールデータのコピーをしているか等の情報を入れる。この動作は、全てのユーザのユーザ情報に関して行われる。
なお、この情報は、図3のステップS12でサーバは1台かどうかを確認しているが、この確認に利用する。
【0034】
次に、該当ユーザのフォルダ構造を見た上で、フォルダ単位で新しいメールデータ管理サーバ5にフォルダの情報をコピーする(ステップS44)。
続いて、フォルダのコピー中に、そのフォルダにユーザがアクセスしたかどうかを調べる(ステップS45)。
これは、図2のステップS14でアクセス要求に応じて処理した場合に履歴をとっているが、この履歴から判断することができる。
【0035】
ステップS45で何も変更していなければ、そのフォルダに関しては終了し、後で説明する図7の処理に移る。
一方、ステップS45で、フォルダコピー中に、そのフォルダにユーザがアクセスした場合には、コピー中のアクセス内容が、例えば、IMAP4のプロトコルであったかどうかを判断する(ステップS46)。ここで、IMAP4のプロトコルでなければ不整合は生じないため、後述する図7の処理に移る。なお、ここでは、IMAP4のプロトコルでの例について説明したが、これは、メールデータ管理サーバ5上の状態を変更(例えば、メールデータの削除やフラグの変更などの状態の変更)をするプロトコルであったか否かを判断するものであり、必ずしもここでの例で示すIMAP4のプロトコルに限るものではない。
【0036】
また、ステップS46でIMAP4のプロトコルであったと判断された場合は、実行履歴を解析し、変更を加えた対象のフォルダおよびメールデータをピックアップし、テーブルを作成する(ステップS47)。
【0037】
このテーブルに従って、フォルダに関しては、新旧サーバで、存在するかどうかを確認し、不整合があったかどうかの情報をテーブルに設定する。例えば、このフォルダ上にIMAP4のプロトコルにおける購読情報などを持っているならば、この情報の相違も新旧サーバで確認し、不整合があったかどうかの情報をテーブルに設定する。
このテーブルに従って、メールデータに関しては存在するかどうか、フラグなどのステータス情報に変更があるかどうかを調べ、不整合があったかどうかの情報をテーブルに設定する。
【0038】
次に、このテーブルを見て、不整合がひとつもなければ、後述する図7の処理に移る(ステップS48)。
また、不整合があった場合は、不整合のあった情報を旧メールデータ管理サーバから新メールデータ管理サーバにコピーし、不整合をなくし、再びそのコピーの調査の間にユーザがアクセスしてないかどうかを調べるためステップS45に移動し、同一の処理を繰り返す(ステップS49)。
なお、ここで、常にユーザがIMAP4でログインし、状態の変更をしつづけるとこのループを抜けない場合が理論的にはありえるが、実質上、永久に使い続けることはありえないと考えて良い。
【0039】
次に、メールデータ管理サーバ5のデータコピーの終了処理動作を図7を用いて説明する。
まず、図6で説明したコピー処理が全フォルダに関して完了したかどうかを調べる(ステップS51)。ここで、全フォルダに関して完了していなければ、ステップS55で残りのフォルダに関しても、図6におけるステップS44以降の処理を実行する。
一方、全フォルダに関して完了していれば、ユーザに保管されているメールデータ管理サーバ5の情報を元に戻し、即ちコピーし終わった通常の状態に戻し、メールデータ管理サーバ5の情報だけを新しいメールデータ管理サーバ5に変更する、即ちユーザ情報の中にあるメールデータ管理サーバ5の情報を元の旧メールデータ管理サーバから新しいメールデータ管理サーバに変更する(ステップS52)。
【0040】
次に、全ユーザに関して実行が完了したかどうかを調査し(ステップS53)、完了していなければ、ステップS56で残りのユーザに関しても図6におけるステップS43以降の処理を実行する。また、全ユーザに関して実行が終了していれば該当メールサーバのコピーは完了しているので、旧メールデータ管理サーバ5を切り離して(ステップS54)、処理を完了する。
なお、この処理は、例えば、1台のメールサーバでメールシステムを運用していたが、処理容量の増大で二台のサーバに分散したい場合にも同様の方法で実行できる。
また、ユーザ情報にはアクセスするべきサーバ名情報があるので、サーバの分散が可能である。
【0041】
このように、図6におけるコピーの際の全ユーザに関して行う部分を、指定したユーザの全員に対して行うという処理にするだけで、一部ユーザのみを新メールデータ管理サーバにコピーし、分散運用に移行することができる。
【0042】
以上のように本実施例によれば、メールシステムとして運用中のシステムでメールサーバ部分のバージョンアップやハードウエアの入れ替え、容量不足による複数サーバへの切り替えなどをサービスを停止することなく実行できるという効果がある。
また、サービスを停止しないことにより、サービス停止中に処理が多くたまり、サービス再開直後にメールデータへのアクセスが集中することによる障害の発生も避けることができるという効果がある。
【0043】
【効果】
この発明は、以上説明したように構成されているので、以下に示すような効果を奏する。
【0044】
この発明は、複数のメールデータ管理サーバの稼動中に新たなメールデータ管理サーバをネットワークに接続し、この新たなメールデータ管理サーバに稼動中の複数のメールデータ管理サーバ中のユーザのメールデータをフォルダ単位でコピーし、このコピーした情報をフロントエンドサーバ、ユーザ認証サーバが持つことにより、メールシステムとして運用中のシステムでメールサーバ部分(メールデータ管理サーバ)のバージョンアップやハードウエアの入れ替え、容量不足による複数のメールサーバへの切り替えなどをサービスを停止することなく実行できるという効果がある。
また、サービスを停止しないことにより、サービス停止中に処理が多くたまり、サービス再開直後にメールデータへのアクセスが集中することによる障害の発生も避けることができるという効果がある。
【図面の簡単な説明】
【図1】 実施の形態1の電子メールシステムの構成図。
【図2】 実施の形態1における電子メールシステムの動作手順を示すフローチャート。
【図3】 実施の形態1におけるサーバ振り分け時の動作手順を示すフローチャート。
【図4】 実施の形態1における複数のメールデータ管理サーバ5への要求動作手順を示すフローチャート。
【図5】 実施の形態1における複数のメールデータ管理サーバ5の応答結果を合成する動作手順を示すフローチャート。
【図6】 実施の形態1におけるメールデータ管理サーバ5のデータコピーの動作手順を示すフローチャート。
【図7】 実施の形態1におけるメールデータ管理サーバ5のデータコピーの終了処理の動作手順を示すフローチャート。
【符号の説明】
1 インターネットやイントラネット、2 フロントエンドサーバ、3 ユーザ認証サーバ、4 ユーザデータベース、5 メールデータ管理サーバ、6 ネットワーク、11 アクセス監視部、12 ユーザ認証部、13 ユーザDB管理部、14 コマンド解析部、15 メールサーバアクセス管理部、16 複数のメールデータ管理部。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an electronic mail server device operated on the Internet.
[0002]
[Prior art]
There are various e-mail services in recent Internet connection services.
Among them, there is a service for accessing the same mail data from various client computers including mobile phones. Typical services include a service using a protocol called IMAP4 and a mail service using a web browsing function. However, due to a sudden increase in the number of users and uneven access to specific mail data from many users, the hardware of the server that manages this mail data may fail. The server service that manages mail data may be stopped to maintain the server.
[0003]
For example, in the electronic mail system described in Japanese Patent Application Laid-Open No. 9-331354, when moving mail data, it is necessary to move a large number of mail assets at the same time. Since copying and deletion in proportion to property occur, there is a problem that it takes a considerable time to complete the movement. Therefore, in order to solve this problem, a period for holding the same mail property at the source and destination is provided, and the user accesses only the source until a predetermined date and time, and accesses the destination server after the predetermined date and time. We are trying to solve this problem by switching access rights.
[0004]
[Problems to be solved by the invention]
However, in the conventional e-mail system, when managing e-mails on a mail server, not only reading e-mails from the server, but also rewriting flags indicating a plurality of states or changing a logical structure called a managed folder Therefore, there is a case where the operation to the mail server during that time cannot be correctly reflected only by accessing the migration source during copying and accessing the migration destination after copying.
[0005]
For example, if you change the flag that indicates the status of mail data after copying has started, or move a folder, the status will not be reflected in the destination mail data. When the destination is accessed after a certain time, there is a problem that the previous operation is invalidated. In such a case, there is a problem that the service must be stopped once.
[0006]
The present invention has been made to solve the above-described problems. In the method of managing mail on the server, it is assumed that a plurality of mail data management servers contain a large number of mails of the same user. By using multiple servers temporarily to make it appear as if it is a single server, the server configuration is changed, that is, the server configuration is changed, the user to which the user belongs is moved, An object of the present invention is to provide an e-mail system that does not require the service to be stopped even when the hardware is replaced.
[0007]
[Means for Solving the Problems]
The first invention executes a process based on an access request from a user transmitted via a network, and manages a plurality of mail data management servers for managing mail data for each user,
Information of a mail data management server that stores user information of the user and manages user mail data corresponding to the user information when the user information transmitted from the user exists in the stored user information A user authentication server to obtain
Connected to the plurality of mail data management servers via a network, acquires the access contents transmitted from the user, and acquires the access contents acquired and the information of the mail data management server acquired by the user authentication server. In an e-mail system including a front-end server that identifies a mail data management server to be accessed based on and returns a processing result executed by the identified mail data management server to the user,
The front-end server connects a new mail data management server to the network during operation of the plurality of mail data management servers, and the users in the plurality of mail data management servers operating on the new mail data management server. The mail data is copied, the information that the new mail data management server is connected is added to the management table held by itself, and the plurality of mail data that are operating on the new mail data management server are added to the user information. A mail server access management unit for adding information obtained by copying user mail data in the server is provided.
[0008]
According to a second aspect of the present invention, when a user accesses the new mail data management server while copying the user's mail data, the new mail data management server stores the user on the basis of the access content protocol being copied. A mail server access management unit for copying the mail data.
[0009]
According to a third aspect of the present invention, when all of the user's mail data is copied, the mail data management server information stored in the user is returned to the normal state before copying, and the mail data management server in the user information is restored. Is provided with a mail server access management unit for changing the information to new mail data management server information.
[0010]
The fourth invention determines whether or not there is one piece of mail data management server information acquired by the user authentication server, and when there are a plurality of pieces of mail data management server information, the plurality of pieces of mail data management A mail server access management unit is provided that accesses the server, synthesizes processing results executed by the plurality of mail data management servers in accordance with the access request, takes a history of access contents, and returns the history to the user.
[0011]
According to a fifth aspect of the present invention, there is provided a first configuration including a folder name corresponding to a user's mail data, unique ID information and data in the folder, based on a processing result executed by the specific mail data management server. A correspondence table is created for each mail data management server, and data of the same folder name and the same ID information is searched from the plurality of first correspondence tables thus created. A mail server that synthesizes the processing results by creating a second correspondence table composed of folder names, ID information, and data that do not overlap with the same ID information and that do not contradict each other. An access management unit is provided.
[0012]
A sixth invention includes a mail server access management unit that determines a protocol of an access request from a user and identifies a mail data management server based on the protocol.
[0013]
DETAILED DESCRIPTION OF THE INVENTION
Embodiment 1 FIG.
Embodiment 1 of the present invention will be described below with reference to the drawings.
FIG. 1 is a configuration diagram of the electronic mail system according to the first embodiment. In FIG. 1, 1 is the Internet or intranet as a network for connecting a user or another mail system to this system, 2 is monitoring the access request from the user, and when the access request comes, the work determined in order A front-end server that performs processing, distributes processing as necessary, and synthesizes the results, 3 is a user authentication server that authenticates that the user who requested the access is a correct user, and 4 is user information used by the user authentication server 3 Is a user database (user DB) in which is stored, 5 is a mail data management server composed of one or more servers that execute distributed processing, and 6 is a network that connects these servers.
Here, the physical functions of each server, which is a component, may be realized on a single computer.
[0014]
Next, a software configuration for operating each component of the electronic mail system will be described.
In FIG. 1, 11 is on the front-
[0015]
2 is a flowchart showing an operation procedure of the electronic mail system according to the first embodiment, FIG. 3 is a flowchart showing an operation procedure at the time of server distribution described in the flowchart of FIG. 3, and FIG. 4 is a plurality of flowcharts described in the flowchart of FIG. FIG. 5 is a flowchart showing an operation procedure for combining response results of a plurality of mail
[0016]
The operation will be described with reference to the flowcharts of FIGS.
First, in the flowchart of FIG. 2, the
[0017]
Next, the user authentication unit 12 determines whether the user information of the user corresponding to the user information exists in the
On the other hand, if it is determined in step S2 that the user is not correct, the other party is notified of this (step S6), and the connection is terminated.
[0018]
The information related to the mail
In addition, information regarding the mail
[0019]
Next, the command analysis unit 14 analyzes the access contents from the user (step S3). In the analysis method, the corresponding protocol is limited by the port number from which the access request has been made, and if the content is not understood by the protocol, it is processed as an error.
As protocols, for example, the IMAP4 protocol corresponds to the port number 143 of the computer network, and the protocol called SMTP corresponds to the port number 25, which is used as an Internet standard. These protocols are examples, and neither the port number nor the protocol is limited.
In step S3, there is a command that can be recognized for each protocol, and it is analyzed according to the input data to determine what the command is actually.
[0020]
Next, the mail server access management unit 15 identifies and accesses the mail
In step S5, the content specified by the protocol is executed by the mail data management unit 16 on the mail
Further, the analysis in step S3 specifically refers to the character string after the space by determining whether or not the character string from the beginning of the line until the space comes is read as a command. Is considered as an argument.
[0021]
Next, a detailed processing operation of the server distribution processing in step S4 that operates on the front-
First, when the mail server access management unit 15 receives an access request command from a user or another mail server, the mail server access management unit 15 takes out the information of the mail
Subsequently, the mail server access management unit 15 determines whether or not the information of the mail
[0022]
Here, in normal operation, it is considered that there is only one mail
Thereafter, the processing result obtained by the mail
[0023]
If there are a plurality of mail
[0024]
Next, a detailed processing operation of the processing for issuing a request to the plurality of mail
First, it is determined what protocol is used (step S21). For example, in the case of SMTP, an external mail client or server is trying to send mail according to a mail transfer protocol, that is, a new mail is being sent. When copying from the old mail
[0025]
Next, the response from the mail
Further, in the case of a protocol for accessing stored mail data such as IMAP4 or POP3, it is necessary to access mail data that exists only in the old mail
This is because, during copying, mail exists on both mail
[0026]
Subsequently, each mail
[0027]
Next, a processing operation for synthesizing the result obtained in step S14 of FIG. 3 returned from the plurality of mail
First, responses from each mail
[0028]
Next, in response to a response from one mail
Subsequently, the plurality of tables created in step S32 are compared to find data having the same folder name and the same UID information (step S33).
[0029]
Next, it is assumed that the flag information is different despite the same mail data. In this case, the contents of the old mail
Next, a correspondence table of folder names, UIDs, and actual data is created in which duplicates of the same mail data are omitted and no contradiction occurs, that is, there is no difference (step S35).
Further, a result of synthesis is returned by returning a response based on this correspondence table (step S36).
[0030]
Next, the mail data copy processing operation of the mail
This copy does not stop the service, for example, when the user's disk capacity is almost full, when replacing a machine to improve performance, or when moving user information to a new machine. This is to copy user information.
First, a new mail data management server is physically connected to the running system and connected to the network. Thereby, the connection of a new mail data management server can be added (step S41).
[0031]
Next, the setting of the mail server access management unit 15 is changed (step S42). For example, for TCP / IP connection, assign an IP address, write the information that the new mail
[0032]
Next, the user is selected and the copy status is set (step S43).
Here, for example, one user is selected one by one from the
[0033]
Subsequently, the following information is entered in the user information of the user selected in step S43. In other words, the user information of the selected user is copied to the mail data management server newly connected to the mail data of the mail
Note that this information is used to confirm whether or not there is one server in step S12 in FIG.
[0034]
Next, after looking at the folder structure of the corresponding user, the folder information is copied to the new mail
Subsequently, it is checked whether the user has accessed the folder during copying of the folder (step S45).
A history is taken when processing is performed in response to the access request in step S14 of FIG. 2, but this can be determined from this history.
[0035]
If nothing has been changed in step S45, the process ends for the folder, and the process proceeds to the process shown in FIG.
On the other hand, if the user accesses the folder during folder copying in step S45, it is determined whether the access content being copied is, for example, the protocol of IMAP4 (step S46). Here, since inconsistency does not occur unless the protocol is IMAP4, the process proceeds to FIG. Although an example using the IMAP4 protocol has been described here, this is a protocol for changing the state on the mail data management server 5 (for example, changing the state such as deleting mail data or changing a flag). It is not necessarily limited to the IMAP4 protocol shown in the example here.
[0036]
If it is determined in step S46 that the protocol is IMAP4, the execution history is analyzed, the target folder and mail data to which changes are made are picked up, and a table is created (step S47).
[0037]
In accordance with this table, the new and old servers confirm whether or not the folder exists, and information on whether there is a mismatch is set in the table. For example, if there is subscription information in the IMAP4 protocol in this folder, the difference between the information is confirmed by the old and new servers, and information indicating whether there is a mismatch is set in the table.
According to this table, it is checked whether or not the mail data exists and whether status information such as a flag is changed, and information on whether or not there is a mismatch is set in the table.
[0038]
Next, looking at this table, if there is no inconsistency, the process proceeds to the process of FIG. 7 described later (step S48).
If there is inconsistency, copy the inconsistent information from the old mail data management server to the new mail data management server, eliminate the inconsistency, and access the user again during the investigation of the copy. In order to check whether there is any, the process moves to step S45, and the same processing is repeated (step S49).
Here, if the user always logs in with IMAP4 and keeps changing the state, there may theoretically be a case where this loop cannot be exited, but it may be considered that the user cannot continue to use it indefinitely.
[0039]
Next, the data copy end processing operation of the mail
First, it is checked whether or not the copy processing described in FIG. 6 has been completed for all folders (step S51). Here, if all the folders have not been completed, the processing after step S44 in FIG. 6 is executed for the remaining folders in step S55.
On the other hand, if all the folders have been completed, the information of the mail
[0040]
Next, it is investigated whether or not the execution has been completed for all users (step S53). If not completed, the processes after step S43 in FIG. 6 are executed for the remaining users in step S56. If execution has been completed for all users, the copy of the corresponding mail server is complete, so the old mail
Note that this processing is executed by the same method when, for example, the mail system is operated by one mail server, but it is desired to distribute to two servers due to an increase in processing capacity.
Further, since the user information includes server name information to be accessed, the servers can be distributed.
[0041]
In this way, only the part of all the users in the copy process shown in FIG. 6 is performed for all the specified users, and only a part of the users are copied to the new mail data management server. Can be migrated to.
[0042]
As described above, according to the present embodiment, it is possible to perform upgrades of the mail server part, hardware replacement, switching to multiple servers due to insufficient capacity, etc. without stopping the service in a system operating as a mail system. effective.
Also, by not stopping the service, there is an effect that a large amount of processing is performed while the service is stopped, and it is possible to avoid the occurrence of a failure due to concentration of access to mail data immediately after the service is restarted.
[0043]
【effect】
Since the present invention is configured as described above, the following effects can be obtained.
[0044]
According to the present invention, a new mail data management server is connected to a network while a plurality of mail data management servers are in operation, and user mail data in the plurality of mail data management servers operating in the new mail data management server is received. By copying the information in folders and having the copied information in the front-end server and user authentication server, the mail server part (mail data management server) can be upgraded, the hardware can be replaced, and the capacity can be increased. There is an effect that switching to a plurality of mail servers due to shortage can be executed without stopping the service.
Also, by not stopping the service, there is an effect that a large amount of processing is performed while the service is stopped, and it is possible to avoid the occurrence of a failure due to concentration of access to mail data immediately after the service is restarted.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of an electronic mail system according to a first embodiment.
FIG. 2 is a flowchart showing an operation procedure of the electronic mail system according to the first embodiment.
FIG. 3 is a flowchart showing an operation procedure during server distribution according to the first embodiment.
4 is a flowchart showing a procedure for requesting a plurality of mail
FIG. 5 is a flowchart showing an operation procedure for combining response results of a plurality of mail
FIG. 6 is a flowchart showing a data copy operation procedure of the mail
7 is a flowchart showing an operation procedure of a data copy end process of the mail
[Explanation of symbols]
1 Internet or
Claims (5)
上記ユーザのユーザ情報を保存し、この保存されたユーザ情報の中に上記ユーザから送信されたユーザ情報が存在する時に、このユーザ情報に対応するユーザのメールデータを管理するメールデータ管理サーバの情報を取得するユーザ認証サーバと、
上記複数のメールデータ管理サーバとネットワークを介して接続され、上記ユーザから送信されたアクセス内容を取得し、この取得されたアクセス内容と上記ユーザ認証サーバで取得されたメールデータ管理サーバの情報とに基づいてアクセスするメールデータ管理サーバを特定し、この特定されたメールデータ管理サーバで実行された処理結果を上記ユーザに返信するフロントエンドサーバとを備えた電子メールシステムにおいて、
上記フロントエンドサーバは、上記複数のメールデータ管理サーバの稼動中に新たなメールデータ管理サーバをネットワークに接続し、この新たなメールデータ管理サーバに稼動中の上記複数のメールデータ管理サーバ中のユーザのメールデータをコピーし、自らが保持する管理テーブルに新たなメールデータ管理サーバが接続された情報を追加し、さらに上記ユーザ情報に新たなメールデータ管理サーバに稼動中の上記複数のメールデータ管理サーバ中のユーザのメールデータをコピーした情報を追加するメールサーバアクセス管理部を備えたことを特徴とする電子メールシステム。A plurality of mail data management servers that execute processing based on access requests from users transmitted via the network and manage mail data for each user,
Information of a mail data management server that stores user information of the user and manages user mail data corresponding to the user information when the user information transmitted from the user exists in the stored user information A user authentication server to obtain
Connected to the plurality of mail data management servers via a network, acquires the access contents transmitted from the user, and acquires the access contents acquired and the information of the mail data management server acquired by the user authentication server. In an e-mail system including a front-end server that identifies a mail data management server to be accessed based on and returns a processing result executed by the identified mail data management server to the user,
The front-end server connects a new mail data management server to the network during operation of the plurality of mail data management servers, and the users in the plurality of mail data management servers operating on the new mail data management server. The mail data is copied, the information that the new mail data management server is connected is added to the management table held by itself, and the plurality of mail data that are operating on the new mail data management server are added to the user information. An e-mail system comprising a mail server access management unit for adding information obtained by copying user mail data in a server.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001089363A JP3807240B2 (en) | 2001-03-27 | 2001-03-27 | E-mail system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001089363A JP3807240B2 (en) | 2001-03-27 | 2001-03-27 | E-mail system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002290468A JP2002290468A (en) | 2002-10-04 |
JP3807240B2 true JP3807240B2 (en) | 2006-08-09 |
Family
ID=18944300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001089363A Expired - Fee Related JP3807240B2 (en) | 2001-03-27 | 2001-03-27 | E-mail system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3807240B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011075145A1 (en) * | 2009-12-18 | 2011-06-23 | Hewlett-Packard Development Company, L.P. | Server migration method |
-
2001
- 2001-03-27 JP JP2001089363A patent/JP3807240B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002290468A (en) | 2002-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11928029B2 (en) | Backup of partitioned database tables | |
US11036591B2 (en) | Restoring partitioned database tables from backup | |
US11327949B2 (en) | Verification of database table partitions during backup | |
US11388251B2 (en) | Providing access to managed content | |
US7062516B2 (en) | Methods, systems, and articles of manufacture for implementing a runtime logging service storage infrastructure | |
US7610329B2 (en) | Method and apparatus for managing file systems and file-based data storage | |
KR100343823B1 (en) | Method, Apparatus and Program Storage Device for a Client and Adaptive Synchronization and Transformation Server | |
JP5211160B2 (en) | How to automatically manage computer network system downtime | |
US6467088B1 (en) | Reconfiguration manager for controlling upgrades of electronic devices | |
US7783737B2 (en) | System and method for managing supply of digital content | |
US20160292249A1 (en) | Dynamic replica failure detection and healing | |
US9462056B1 (en) | Policy-based meta-data driven co-location of computation and datasets in the cloud | |
US20070234331A1 (en) | Targeted automatic patch retrieval | |
SG189417A1 (en) | Upgrade of highly available farm server groups | |
JP2009518757A (en) | Method and system for maintaining up-to-date data of wireless devices | |
CN101727475A (en) | Method, device and system for acquiring database access process | |
US7580989B2 (en) | System and method for managing access points to distributed services | |
US20040049544A1 (en) | In-context launch management method, system therefor, and computer-readable storage medium | |
JP7071938B2 (en) | Database management service provision system | |
JP3807240B2 (en) | E-mail system | |
TWI769796B (en) | Method for performing simple storage service seamless migration using index objects, host device, and storage server | |
JP2000311140A (en) | Resource managing device and machine readable recording medium recording program | |
CN109918356A (en) | File reading, device, equipment and computer readable storage medium | |
Mullender et al. | Pepys The Network is a File System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040614 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20040702 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060126 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060207 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060405 |
|
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: 20060425 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060508 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100526 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |