JP2016191980A - 管理システム、管理装置、管理方法、及びプログラム - Google Patents

管理システム、管理装置、管理方法、及びプログラム Download PDF

Info

Publication number
JP2016191980A
JP2016191980A JP2015070166A JP2015070166A JP2016191980A JP 2016191980 A JP2016191980 A JP 2016191980A JP 2015070166 A JP2015070166 A JP 2015070166A JP 2015070166 A JP2015070166 A JP 2015070166A JP 2016191980 A JP2016191980 A JP 2016191980A
Authority
JP
Japan
Prior art keywords
search
data
searching
attribute information
storage unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015070166A
Other languages
English (en)
Other versions
JP6558928B2 (ja
Inventor
悠二 萩原
Yuji Hagiwara
悠二 萩原
山田 大輔
Daisuke Yamada
大輔 山田
渡辺 康博
Yasuhiro Watanabe
康博 渡辺
長谷川 明
Akira Hasegawa
明 長谷川
高志 山本
Takashi Yamamoto
高志 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Data Group Corp
Original Assignee
NTT Data Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Data Corp filed Critical NTT Data Corp
Priority to JP2015070166A priority Critical patent/JP6558928B2/ja
Publication of JP2016191980A publication Critical patent/JP2016191980A/ja
Application granted granted Critical
Publication of JP6558928B2 publication Critical patent/JP6558928B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】検索用データを展開するために必要なメモリの容量を抑制した管理システム、管理装置、管理方法、及びプログラムを提供する。
【解決手段】複数の属性情報の各々に対応する検索用データが記憶された第1記憶部と、条件合致データを検索する際に、第1記憶部に記憶された検索用データが展開される第2記憶部と、特定の属性情報に対応する検索対象データから条件合致データを検索する可能性が発生した場合に、特定の属性情報に対応する検索用データを第1記憶部から第2記憶部に展開させるとともに、条件合致データを検索する可能性が消滅した場合に、第2記憶部に展開された検索用データを第1記憶部に退避させる管理部とを有する。
【選択図】図4

Description

本発明は、管理システム、管理装置、管理方法、及びプログラムに関する。
ネットワークを介してユーザ端末と通信し、ユーザ端末のWebブラウザで電子メールをやり取り可能なメールサービスが提供されている。このメールサービスにおいて、電子メールは例えば大容量のHDD(Hard Disk Drive)で構成されたオブジェクトストレージに記憶される。
こうしたメールサービスにおいて、ユーザ宛の電子メールから、宛先、送信元、及び文字列などの各種検索条件に合致する電子メールを検索する場合に、高速に検索するための検索用データとしてのインデックスを作成する技術がある。
この技術に関連して、大容量のテキストデータから、任意の文字列である検索条件に対応するデータを素早く検索するためのインデックスを作成しておき、インデックスに基づいてデータ検索を行う方法が存在する(例えば、特許文献1参照)。
インデックスを用いて検索を行う場合には、インデックスをRAM(Random Access Memory)に展開する。そのため、メールサービスを提供する全ユーザのインデックスを記憶可能なようにRAMの容量を設計する必要がある。
特表2011−523152号公報
しかしながら、RAMはHDDと比較して高価であるため、ユーザの増加に伴ってRAMの容量を増加させなければならないため、コストが増加するという問題点があった。
本発明は、このような事情に鑑みてなされたもので、その目的は、検索用データを展開するために必要なメモリの容量を抑制した管理システム、管理装置、管理方法、及びプログラムを提供することにある。
上述した課題を解決するために、本発明の一態様は、複数の属性情報の各々に対応する検索対象データから検索条件に合致する条件合致データの検索で用いられる検索用データを管理する管理システムであって、前記複数の属性情報の各々に対応する前記検索用データが記憶された第1記憶部と、前記条件合致データを検索する際に、前記第1記憶部に記憶された前記検索用データが展開される第2記憶部と、特定の属性情報に対応する前記検索対象データから前記条件合致データを検索する可能性が発生した場合に、前記特定の属性情報に対応する前記検索用データを前記第1記憶部から前記第2記憶部に展開させるとともに、前記条件合致データを検索する可能性が消滅した場合に、前記第2記憶部に展開された前記検索用データを前記第1記憶部に退避させる管理部とを有することを特徴とする。
また、本発明の一態様は、上記の管理システムにおいて、前記検索対象データに新たなデータを追加する場合に、前記第2記憶部に展開された前記検索用データを、前記新たなデータを反映させた検索用データに更新する更新部と、前記検索用データが前記第2記憶部に展開されていない場合に、前記新たなデータを記憶する第3記憶部とをさらに有し、前記第3記憶部は、前記検索用データが前記第2記憶部に展開される場合に、一時的に記憶していた前記新たなデータを前記更新部に出力し、前記更新部は、前記第2記憶部に展開された前記検索用データを、前記第3記憶部から出力された前記新たなデータを反映させた前記検索用データに更新する。
また、本発明の一態様は、上記の管理システムにおいて、前記属性情報は、ユーザを一意的に識別する識別情報であり、前記検索対象データは、前記識別情報に示されるユーザ宛の電子メールであり、前記新たなデータは、前記識別情報に示されるユーザ宛の新着電子メールであり、前記検索用データは、前記検索条件に合致する電子メールを検索するためのインデックスデータであり、前記条件合致データを検索する可能性は、前記ユーザが前記電子メールを検索可能な状態となった際に発生するとともに、当該検索可能な状態から前記ユーザが前記電子メールを検索不可能な状態になった際に消滅することを特徴とする。
また、本発明の一態様は、上記の管理システムにおいて、前記管理部は、前記属性情報と当該属性情報に対応する前記検索用データが前記第2記憶部に展開されているか否かを示す情報とを用いて、前記検索用データを管理することを特徴とする。
上述した課題を解決するために、本発明の一態様は、検索対象データから検索条件に合致する条件合致データの検索で用いられる検索用データを管理する管理装置であって、複数の属性情報の各々に対応して設けられた検索対象データのうち、特定の属性情報に対応する検索対象データから、前記条件合致データを検索する可能性が発生したか否かを判定する検索発生判定部と、前記検索発生判定部により前記条件合致データを検索する可能性が発生したと判定された場合に、前記所定の属性情報の各々に対応した前記検索用データが記憶された第1記憶装置から、前記特定の属性情報に対応する検索用データを第2記憶装置に展開させる展開部と、前記条件合致データを検索する可能性が消滅したか否かを判定する検索消滅判定部と、前記検索消滅判定部により前記条件合致データを検索する可能性が消滅したと判定された場合に、前記第2記憶装置に展開された前記検索用データを前記第1記憶装置に退避させる退避部とを有することを特徴とする。
上述した課題を解決するために、本発明の一態様は、検索対象データから検索条件に合致する条件合致データの検索で用いられる検索用データを管理する管理方法であって、複数の属性情報の各々に対応して設けられた検索対象データのうち、特定の属性情報に対応する検索対象データから、前記条件合致データを検索する可能性が発生したか否かを判定する検索発生判定ステップと、前記検索発生判定ステップにより前記条件合致データを検索する可能性が発生したと判定された場合に、前記所定の属性情報の各々に対応した前記検索用データが記憶された第1記憶部から、前記特定の属性情報に対応する検索用データを第2記憶部に展開させる展開ステップと、前記条件合致データを検索する可能性が消滅したか否かを判定する検索消滅判定ステップと、前記検索消滅判定ステップにより前記条件合致データを検索する可能性が消滅したと判定された場合に、前記第2記憶部に展開された前記検索用データを前記第1記憶部に退避させる退避ステップとを有することを特徴とする。
上述した課題を解決するために、本発明の一態様は、検索対象データから検索条件に合致する条件合致データの検索で用いられる検索用データを管理する管理装置のコンピュータに、複数の属性情報の各々に対応して設けられた検索対象データのうち、特定の属性情報に対応する検索対象データから、前記条件合致データを検索する可能性が発生したか否かを判定する検索発生判定ステップと、前記検索発生判定ステップにより前記条件合致データを検索する可能性が発生したと判定された場合に、前記所定の属性情報の各々に対応した前記検索用データが記憶された第1記憶部から、前記特定の属性情報に対応する検索用データを第2記憶部に展開させる展開ステップと、前記条件合致データを検索する可能性が消滅したか否かを判定する検索消滅判定ステップと、前記検索消滅判定ステップにより前記条件合致データを検索する可能性が消滅したと判定された場合に、前記第2記憶部に展開された前記検索用データを前記第1記憶部に退避させる退避ステップとを実行させるためのプログラム。
以上説明したように、この発明によれば、検索用データを展開するために必要なメモリの容量を抑制した管理システム、管理装置、管理方法、及びプログラムを提供できる。
本発明の実施形態に係る管理システムを含む概略構成を示す図である。 管理DBとインデックスのデータ構造、及び更新部における更新方法を示す図である。 更新部における更新方法を示す図である。 ユーザ端末、管理装置、一時記憶装置、検索装置、及びインデックス記憶装置での処理を示すシーケンス図である。 管理装置における処理手順を示したフローチャートである。 一時記憶装置における処理手順を示したフローチャートである。 検索装置における処理手順を示したフローチャートである。 インデックス記憶装置における処理手順を示したフローチャートである。
図1は、本発明の実施形態に係る管理システム100を含む概略構成を示す図である。
この管理システム100は、ネットワークを介してユーザ端末と通信し、ユーザ端末のWebブラウザで電子メール(以下、「メール」という)をやり取り可能なメールサービスを提供するシステムに適用される管理システムである。
具体的に管理システム100は、検索対象データから検索条件に合致する条件合致データの検索で用いられる検索用データを管理する管理システムである。本実施形態において、検索対象データは、ユーザ宛の受信済みのメールであり、検索条件は、メールの宛先、送信元に一致する、という条件や、ある文字列などを含む、などの条件である。また、検索用データは、後述するインデックスである。
次に管理システム100の各構成について説明する。管理システム100は、管理装置10、一時記憶装置20(第3記憶部)、検索装置30(第2記憶部)、インデックス記憶装置40(第1記憶部)を含んで構成される。また、ユーザ端末50と、管理装置10及び検索装置30は、LANやインターネットなどのネットワークで接続される。
管理装置10は、ユーザ認証部11、通知部12、及び管理DB(データベース)13を含んで構成される。ユーザ認証部11は、メールサービスを利用するユーザを認証する。通知部12は、一時記憶装置20、及び検索装置30に後述する各種通知などを送信する。
このように構成される管理装置10は、特定の属性情報(後述)に対応する電子メールから検索条件に合致する条件合致データを検索する可能性が発生した場合に、特定の属性情報に対応するインデックスをインデックス記憶装置40から検索装置30に展開(記憶)させる。
また、管理装置10は、条件合致データを検索する可能性が消滅した場合に、検索装置30に展開されたインデックスをインデックス記憶装置40に退避させる。なお、「退避」とは、検索装置30に展開されたインデックスをインデックス記憶装置40に記憶するとともに、検索装置30に展開されたインデックスを消去することをいう。一般的には、インデックスの消去とともに、インデックスが記憶されていた記憶領域を解放する処理も行われる。
本実施形態において、属性情報はユーザを一意的に識別する識別情報であり、具体的にはユーザIDである。従って、特定の属性情報とは、特定のユーザのユーザIDであり、本実施形態では、管理装置10にログインしたユーザのユーザIDである。従って、検索対象データは、ログインしたユーザ宛のメールである。
さらに、本実施形態において、メールから検索条件に合致する条件合致データを検索する可能性は、ユーザがログインした際に発生し、ユーザがログアウトした際に消滅する。
次に、インデックス記憶装置40について説明する。インデックス記憶装置40は、大容量のHDD(Hard Disk Drive)42を含んで構成され、当該HDD42には、ユーザ宛のメールごとにインデックス41−1、41−2、…41−mが記憶されている。このように、インデックス記憶装置40は、検索対象データの各々に対応するインデックスが記憶されている。
なお、以下の説明において、インデックス41−1、41−2、…41−mに共通の説明をする場合には、単にインデックス41と表現する。また、図1では、インデックス記憶装置40を1つのみ示しているが、一般的には複数のインデックス記憶装置40が設けられる。
また、上述したように、インデックス41は、ユーザがログインするとログインしたユーザに対応するインデックス41のみ検索装置30に展開される。そして、ユーザがログアウトすると、検索装置30に展開されていたインデックス41は、インデックス記憶装置40に退避される。
次に、検索装置30について説明する。検索装置30は、条件合致データを検索する際に、インデックス記憶装置40に記憶されたインデックス41が展開される。この検索装置30は、更新部31、検索部32、展開退避部35、及びRAM(Random Access Memory)33を含んで構成される。
RAM33は、インデックス記憶装置40に記憶されたインデックス41が、図に示されるようにアクティブインデックス34−1、…、34−nとして展開される。名称が「インデックス」から「アクティブインデックス」に変化するが、区別するための便宜的なものであり、展開されるデータ内容は同じである。なお、以下の説明において、アクティブインデックス34−1、…、34−nに共通の説明をする場合には、単にアクティブインデックス34と表現する。また、図1では、検索装置30を1つのみ示しているが、一般的には複数の検索装置30が設けられる。
図1の場合、ユーザAがログインしているため、ユーザAのアクティブインデックス34−1がRAM33に展開されている。このように、ログインしているユーザに対応するインデックス41のみがアクティブインデックス34としてRAM33に展開される。
次に、展開退避部35について説明する。展開退避部35は、管理装置10からの通知に従って、インデックス記憶装置40に記憶されたインデックス41を、アクティブインデックス34としてRAM33に展開したり、RAM33に展開されたアクティブインデックス34をインデックス記憶装置40に退避させる。
また、展開退避部35は、アクティブインデックス34をインデックス記憶装置40に退避させると、アクティブインデックス34が記憶されていたRAM33の領域を解放する。従って、RAM33には、ログインしているユーザのアクティブインデックス34のみが展開されていることとなる。
次に、検索部32について説明する。検索部32は、ログインしているユーザのユーザ端末50から、受信済みのメールを検索するための検索条件が示された検索要求を受信した場合に、アクティブインデックス34を用いて検索を実行し、その検索結果を示す検索結果通知をユーザ端末50に送信する。
次の更新部31の説明に先立ち、まず一時記憶装置20について説明する。一時記憶装置20は、アクティブインデックス34が検索装置30に展開されていない場合に、新着メールを一時的に記憶するもので、メール受信部21、メール出力部22、及びキュー23を含んで構成される。
メール受信部21は、メールサービスのユーザ宛の新着メールを受信する。そして、メール受信部21は、新着メールの宛先のユーザがログインしている場合には、メール出力部22に新着メールを出力する。一方、新着メールの宛先のユーザがログインしていない場合には、メール受信部21は、新着メールをキュー23に記憶する。
キュー23は、ログインしていないユーザIDごとに動的に用意され、新着メールを記憶するためのキューである。
メール出力部22は、メール受信部21が出力した新着メールや、キュー23に記憶された新着メールを更新部31に出力する。メール出力部22は、メール受信部21が出力した新着メールは、そのまま更新部31に出力する。一方、キュー23に記憶された新着メールは、管理装置10の通知部12によりユーザがログインしたことを示すログイン通知を受信した場合に、ログイン通知に示されるユーザIDに対応するキュー23が記憶している新着メールを更新部31に出力する。上述したように、ユーザがログインすると、そのユーザIDに対応するアクティブインデックス34が展開される。従って、メール出力部22は、アクティブインデックス34が検索装置30に展開される場合に、一時的に記憶していた新着メールを更新部31に出力するようになっている。
次に、更新部31について説明する。更新部31は、一時記憶装置20から出力された新着メールを取得する。そして、更新部31は、受信済みのメールに新たなデータとして新着メールを追加する場合に、RAM33に展開されたアクティブインデックス34を、新着メールを反映させたアクティブインデックス34に更新する。更新部31により更新されたアクティブインデックス34がインデックス記憶装置40に退避されると、更新されたインデックス41に上書きされる。
このように、更新部31は、RAM33に展開されたアクティブインデックス34を更新するが、上述したようにRAM33に展開されるアクティブインデックス34はログインしているユーザに対応するアクティブインデックス34である。
従って、ユーザがログインしていない場合には、アクティブインデックス34が更新されることはない。これは、ログインしていないユーザは検索を行わないため、ログインしていないユーザに対応するアクティブインデックス34が更新されなくても、運用上は問題ないためである。また、更新部31は、検索装置30内に構成されているが、検索装置30とは別の装置として構成するようにしてもよい。
図2は、管理DB13とインデックスのデータ構造を示す図である。図2(A)は、管理DB13のデータ構造を示す図である。管理DB13は、「ユーザID」、「展開/退避」、及び「割当先」で構成される。
このうち、「ユーザID」は上述したようにユーザを一意的に識別する識別情報である。管理DB13は、この「ユーザID」に対応して「展開/退避」、及び「割当先」が設けられたデータベースである。
「展開/退避」は、「ユーザID」に対応するインデックス41がアクティブインデックス34として検索装置30に展開されている場合には、「展開」を示し、「ユーザID」に対応するインデックス41がアクティブインデックス34として検索装置30に展開されていない場合には、「退避」を示す。
「割当先」は、「ユーザID」に対応するインデックス41を展開したり、検索する検索装置30を示す。本実施形態では、「サーバA」などのように固定的に検索装置30が割り当てられているが、検索装置30のリソースや稼働状況などを鑑みて動的に割り当てるようにしてもよい。
この管理DB13を参照して、管理装置10は各種通知先などを認識することができる。具体的には、「ユーザID」が「ユーザB」のユーザがログインした場合には、「サーバB」の展開退避部35にインデックス41の展開を要求する展開要求を送信したり、メール出力部22に、新着メールの出力先が「サーバB」であることを示すログイン通知を送信できる。
図2(B)(C)は、インデックス41(アクティブインデックス34)のデータ構造を示す図である。インデックス41は、図2(B)に示されるメールデータ50及び転置インデックス51で構成される。
このうち、メールデータ50は、「メールID」、「送信元」、「日時」、及び「文面」で構成される。「メールID」は、受信済みのメールを一意的に識別する識別情報である。図2(B)の場合、「0001」と「0002」の2つのメールIDが示されている。
「送信元」はメールの送信元を示す情報であり、例えばメールアドレスである。図2(B)の場合、「X」と「Y」の2つのメールアドレスが示されている。「日時」は、メールの送信日時を示しyyyymmddhhmm形式で記憶される。図2(B)の場合、「メールID」が「0001」のメールは、「2015年1月1日0時0分」に送信され、「メールID」が「0002」のメールは、「2015年1月2日14時3分」に送信されたことが示されている。
「文面」は、メール本文である。図2(B)の場合、「メールID」が「0001」の文面が、「東京において電信の特許を…」であることを示している。「メールID」が「0002」の文面が、「豊洲から有楽町に電話して…」であることを示している。
また、図2(C)に示される転置インデックス51は、「単語」及び「メールID」で構成される。「単語」はメールの「文面」から取得されるもので、新たな単語が取得されるたびに追加される。「メールID」は、対応する「単語」を含む「文面」をもつメールの「メールID」である。
例えば、「メールID」が「0001」の「文面」には、「電信」、「東京」、「特許」が含まれるため、単語「電信」、「東京」、「特許」の各々に対応して「0001」が記憶されている。同様に、「メールID」が「0002」の「文面」には、「豊洲」、「有楽町」、「電話」が含まれるため、単語「豊洲」、「有楽町」、「電話」の各々に対応して「0002」が記憶されている。
この転置インデックス51により、例えば「「電信」を含む」、という検索条件の場合には、検索部32は、転置インデックス51により条件に合致する条件合致データの「メールID」として「0001」を検索でき、この「0001」からメールを検索することができる。検索されたメールは、ユーザに検索結果として通知される。なお、上述したインデックス41は、検索用データの一例であり、検索に用いられるデータであれば、他のデータ構造をもつインデックスであってもよい。
図3は、更新部31における更新方法を示す図である。まず、図2(B)(C)に示したインデックス41が、アクティブインデックス34として検索装置30に展開されているものとする。
この状態で、更新部31が新着メール52を取得すると、「文面」から「単語」を抽出する。この新着メール52の「メールID」は「0876」であり、送信元は「z」であり、「日時」は「2015年11月5日21時13分」であり、「文面」が「豊洲から有楽町に電報を…」である。
この例の場合、「文面」から「豊洲」、「有楽町」、「電報」が「単語」として抽出されたとする。抽出された「単語」のうち、「豊洲」、「有楽町」は転置インデックス51の「単語」に既にあり、「電報」は新規の「単語」である。
従って、更新部31は、転置インデックス53に示されるように、「豊洲」、「有楽町」に新着メールの「メールID」である「0876」を追加し、新たに「単語」として「電報」を追加し、その「電報」に対応して、「0876」を追加することで、転置インデックス53を更新する。
図4は、ユーザ端末50、管理装置10、一時記憶装置20、検索装置30、及びインデックス記憶装置40での処理を示すシーケンス図である。
まず、ユーザ端末50は、管理装置10にログイン要求を送信する(ステップS1)。管理装置10は、ユーザ認証部11によりユーザ認証を行う(ステップS2)。ここでは認証に成功したものとする。管理装置10は、認証が成功すると、一時記憶装置20にログイン通知を送信する(ステップS3)とともに、検索装置30に展開要求を送信する(ステップS4)。
ログイン通知には、ログインしたユーザのユーザIDと、新着メールの出力先を示す情報が含まれる。また、展開要求には、ログインしたユーザのユーザIDが含まれる。
展開要求を受信した検索装置30は、インデックス要求をインデックス装置40に送信する(ステップS5)。インデックス要求を受信したインデックス記憶装置40は、検索装置30にインデックス通知を送信する(ステップS6)。このインデックス通知により、インデックス41が検索装置30に送信される。インデックス通知を受信した検索装置30は、受信したインデックス41をアクティブインデックス34としてRAM33に展開する(ステップS7)。
一方、管理装置10からログイン通知を受信した一時記憶装置20は、検索装置30にメールを出力する(ステップS8)。メールを取得した検索装置30は、アクティブインデックス34を更新する更新処理を行う(ステップS9)。
次に、検索装置30は、ユーザ端末50からメールを検索するための検索条件が示された検索要求を受信すると(ステップS10)、検索処理を行い(ステップS11)、検索結果を示す検索結果通知をユーザ端末50に送信する(ステップS12)。
そして、ユーザ端末50は、管理装置10にログアウト要求を送信する(ステップS13)。ログアウト要求を受信した管理装置10は、一時記憶装置20にログアウト通知を送信する(ステップS14)。ログアウト通知には、ログアウトしたユーザのユーザIDが含まれる。
ログアウト通知を受信した一時記憶装置20は、ログアウトしたユーザのユーザIDに対応するキュー23を用意する(ステップS15)。以後、ユーザがログインするまで、このユーザ宛の新着メールが記憶されることとなる。
また、管理装置10は、検索装置30に退避要求を送信する(ステップS16)。退避要求には、ログアウトしたユーザのユーザIDが含まれる。退避要求を受信した検索装置30は、インデックス通知をインデックス記憶装置40に送信する(ステップS17)。このインデックス通知により、ユーザIDに対応するインデックス41がインデックス記憶装置40に送信される。インデックス通知を受信したインデックス記憶装置40は、受信したインデックス41を記憶する(ステップS18)。
また、検索装置30は、インデックス通知を送信すると、送信したインデックス41がアクティブインデックス34として記憶されていたRAM33の記憶領域を解放する(ステップS19)。
次に、各装置での処理について説明する。図5は、管理装置10における処理手順を示したフローチャートである。
管理装置10は、ログイン要求を受信すると(ステップS101)、ユーザ認証部11によりユーザ認証を行う(ステップS102)。次いで管理装置10は、ユーザ認証の結果、認証に成功したか否か判定する(ステップS103)。すわなち、ステップS103では、検索する可能性が発生したか否かを判定する。
認証に失敗した場合には(ステップS103;NO)、ステップS101に戻る。認証に成功した場合には(ステップS103;YES)、一時記憶装置20にログイン通知を送信する(ステップS104)とともに、検索装置30に展開要求を送信する(ステップS105)。すなわち、ステップS105では、検索する可能性が発生したと判定された場合に、ユーザIDの各々に対応したインデックス41が記憶されたインデックス記憶装置40から、ログインしたユーザのユーザIDに対応するインデックス41を検索装置30に展開させる。
次いで管理装置10は、ユーザ端末50からログアウト要求を受信すると(ステップS106;YES)、一時記憶装置20にログアウト通知を送信する(ステップS107)。そして、管理装置10は、検索装置30に退避要求を送信して(ステップS108)、本処理を終了する。すなわち、ステップS106では、検索する可能性が消滅したか否かを判定し、ステップS108では、検索装置30に展開されたアクティブインデックス34をインデックス記憶装置40に退避させる。
図6は、一時記憶装置20における処理手順を示したフローチャートである。一時記憶装置20は、管理装置10からログイン通知を受信したか否か判定する(ステップS201)。ログイン通知を受信した場合には(ステップS201;YES)、メール出力部22は、ログイン通知に示されるユーザIDに対応するキュー23に記憶されている新着メールを検索装置30に出力し、ユーザIDに対応するキュー23を削除する(ステップS205)。そして、一時記憶装置20は、ログインしたユーザのユーザIDに対応する展開フラグをオンにして(ステップS206)、ステップS201に戻る。
この展開フラグとは、ユーザIDに対応するインデックス41がアクティブインデックス34として、検索装置30に展開されているか否かを示すもので、展開されている場合にはオンとなり、展開されていない場合にはオフとなる。
ステップS201に戻り、ログイン通知を受信していない場合には(ステップS201;NO)、メール受信部21が新着メールを受信したか否か判定する(ステップS202)。
メール受信部21が新着メールを受信した場合には(ステップS202;YES)、一時記憶装置20は、新着メールの宛先のユーザのユーザIDに対応する展開フラグがオンか否か判定する(ステップS203)。
展開フラグがオフの場合には(ステップS203;NO)、ユーザIDに対応するアクティブインデックス34が検索装置30に展開されていないので、メール受信部21は新着メールをキュー23に記憶して(ステップS207)、ステップS201に戻る。
ステップS203に戻り、展開フラグがオンの場合には(ステップS203;YES)、ユーザIDに対応するアクティブインデックス34が検索装置30に展開されているので、メール受信部21はメール出力部22に新着メールを出力することで、メール出力部22が新着メールを検索装置30に出力する(ステップS204)。
ステップS202に戻り、メール受信部21が新着メールを受信していない場合には(ステップS202;NO)、管理装置10からログアウト通知を受信したか否か判定する(ステップS208)。ログアウト通知を受信していない場合には(ステップS208;NO)、ステップS201に戻る。
ログアウト通知を受信した場合には(ステップS208;YES)、一時記憶装置20は、ログアウトしたユーザのユーザIDに対応する展開フラグをオフにして(ステップS209)、ユーザIDに対応するキュー23を用意して(ステップS210)、ステップS201に戻る。
図7は、検索装置30における処理手順を示したフローチャートである。検索装置30は、管理装置10から展開要求を受信したか否か判定する(ステップS301)。展開要求を受信した場合には(ステップS301;YES)、検索装置30は、ユーザIDを含むインデックス要求をインデックス装置40に送信して(ステップS306)、ステップS301に戻る。
展開要求を受信していない場合には(ステップS301;NO)、検索装置30は、インデックス記憶装置40からインデックス通知を受信したか否か判定する(ステップS302)。インデックス通知を受信した場合には(ステップS302;YES)、展開退避部35は、受信したインデックス41をアクティブインデックス34としてRAM33に展開する(ステップS303)。
次いで、更新部31は、一時記憶装置20からキュー23に記憶されていた新着メールを取得済みか否か判定する(ステップS304)。新着メールを取得済みでない場合には(ステップS304;NO)、ステップS301に戻る。新着メールを取得済みの場合には(ステップS304;YES)、更新部31は、図3で説明した更新処理を行い(ステップS305)、ステップS301に戻る。
ステップS302に戻り、インデックス通知を受信していない場合には(ステップS302;NO)、更新部31は、新着メールを取得したか否か判定する(ステップS307)。新着メールは、RAM33にアクティブインデックス34が展開されているときに一時記憶装置20から出力されるので、新着メールを取得した場合には(ステップS307;YES)、更新部31は、上述した更新処理を行い(ステップS305)、ステップS301に戻る。
新着メールを受信していない場合には(ステップS307;NO)、検索部32は、ユーザ端末50から検索要求を受信したか否か判定する(ステップS308)。検索要求を受信した場合には(ステップS308;YES)、検索部32は、検索処理を行い(ステップS309)、検索結果通知をユーザ端末50に送信して(ステップS310)、ステップS301に戻る。
ステップS308に戻り、検索要求を受信していない場合には(ステップS308;NO)、展開退避部35は、管理装置10から退避要求を受信したか否か判定する(ステップS311)。退避要求を受信していない場合には(ステップS311;NO)、ステップS301に戻る。
退避要求を受信した場合には(ステップS308;YES)、展開退避部35は、ユーザIDとインデックス41を含むインデックス通知をインデックス記憶装置40に送信する(ステップS313)。次いで、展開退避部35は、送信したインデックス41がアクティブインデックス34として記憶されていたRAM33の領域を解放して(ステップS313)、ステップS301に戻る。
図8は、インデックス記憶装置40における処理手順を示したフローチャートである。インデックス記憶装置40は、検索装置30からインデックス要求を受信したか否か判定する(ステップS401)。インデックス要求を受信した場合には(ステップS401;YES)、インデックス記憶装置40は、インデックス要求に含まれるユーザIDに対応するインデックス41を取得し(ステップS404)、検索装置30にインデックス通知を送信し(ステップS405)、ステップS401に戻る。このインデックス通知により、インデックス41が検索装置30に送信される。
ステップS401に戻り、インデックス要求を受信していない場合には(ステップS401;NO)、インデックス記憶装置40は、検索装置30からインデックス通知を受信したか否か判定する(ステップS402)。
インデックス通知を受信していない場合には(ステップS402;NO)、ステップS401に戻る。インデックス通知を受信した場合には(ステップS402;YES)、インデックス記憶装置40は、受信したインデックス41をHDD42に記憶して(ステップS403)、ステップS401に戻る。
以上説明した実施形態では、メールサービスの全ユーザ数と比較して少ない人数であるログインしたユーザに対応するインデックスのみをRAM33に展開することにより、RAM33の容量を削減できるようになっている。従って、全ユーザ数ではなく、ログインするユーザ数を想定してRAM33の容量を設計できるので、本実施形態ではインデックスを展開するために必要なメモリの容量を抑制できる。これは、RAM33に要するコストを抑制することも意味する。
従って、従来のようにメールサービスの全ユーザ数で設計されたメールサービスに本実施形態を適用することにより、そのまま同じRAM33の容量で全ユーザ数を大幅に増加させたメールサービスを提供できることとなる。逆に表現すると、全ユーザ数がそのままの場合には、本実施形態を適用することにより、RAMの容量を大幅に削減できる。
さらに、キュー23を設けることにより、インデックスの更新により生じるレイテンシを大幅に改善できる。具体的に説明すると、新着メールの受信は、ユーザがログインしている時間に限らず常時発生する可能性があるため、キュー23を設けない構成の場合には、新着メールを受信するたびにインデックスをRAM33に展開し、上述した更新処理を行い、再び退避させる処理を実行することから、これら展開・更新・退避処理により生じるレイテンシは無視できるものではない。
そこで、キュー23を設け、ログインしていないユーザ宛の新着メールをキュー23に記憶することにより、ユーザがログインしていない場合に発生する展開・更新・退避処理の実行が不要となることから、上記レイテンシを大幅に改善できる。
以上説明した実施形態では、Webブラウザで電子メールをやり取り可能なメールサービスを例に説明したが、Webブラウザによる動作はWebブラウザ以外のアプリケーションでも実行可能であるため、Webブラウザに代えて、ユーザ端末上で動作するアプリケーションや、クラウド上で動作するアプリケーションによるメールサービスにも適用可能である。
さらに、メールサービスに限らず、SNS(Social Networking Service)において、他のユーザが投稿した内容を新着メールに対応させ、投稿済みの内容を受信済みのメールに対応されることで、本実施形態に係る処理を適用できる。この場合の属性情報は、一般的にはユーザIDやメールアドレスなどとなる。また、SMS(Short Message Service)においても、他のユーザが送信したショートメールを新着メールに対応させ、受信済みのショートメールに対応されることで、本実施形態に係る処理を適用できる。この場合の属性情報も、一般的にはユーザIDやメールアドレスなどとなる。
さらに、全ユーザ数と比較して、ログインするユーザが少ない一般的なシステムについても、本実施形態を適用可能である。
なお、本実施形態では、ユーザのログインにより、条件合致データを検索する可能性が発生したと判定し、ユーザのログアウトにより、条件合致データを検索する可能性が消滅したと判定するが、条件合致データを検索する可能性があるという意思を示すデータの入力により、条件合致データを検索する可能性が発生したと判定し、条件合致データを検索する可能性がないという意思を示すデータの入力により、条件合致データを検索する可能性が消滅したと判定してもよい。
上述した実施形態における管理装置10の処理をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
10 管理装置、11 ユーザ認証部、12 通知部、13 管理DB
20 一時記憶装置、21 メール受信部、22 メール出力部、23 キュー
30 検索装置、31 更新部、32 検索部、33 RAM
34 アクティブインデックス、35 展開退避部、40 インデックス記憶装置
41 インデックス、42 HDD

Claims (7)

  1. 複数の属性情報の各々に対応する検索対象データから検索条件に合致する条件合致データの検索で用いられる検索用データを管理する管理システムであって、
    前記複数の属性情報の各々に対応する前記検索用データが記憶された第1記憶部と、
    前記条件合致データを検索する際に、前記第1記憶部に記憶された前記検索用データが展開される第2記憶部と、
    特定の属性情報に対応する前記検索対象データから前記条件合致データを検索する可能性が発生した場合に、前記特定の属性情報に対応する前記検索用データを前記第1記憶部から前記第2記憶部に展開させるとともに、前記条件合致データを検索する可能性が消滅した場合に、前記第2記憶部に展開された前記検索用データを前記第1記憶部に退避させる管理部と
    を有することを特徴とする管理システム。
  2. 前記検索対象データに新たなデータを追加する場合に、前記第2記憶部に展開された前記検索用データを、前記新たなデータを反映させた検索用データに更新する更新部と、
    前記検索用データが前記第2記憶部に展開されていない場合に、前記新たなデータを記憶する第3記憶部とをさらに有し、
    前記第3記憶部は、前記検索用データが前記第2記憶部に展開される場合に、一時的に記憶していた前記新たなデータを前記更新部に出力し、
    前記更新部は、前記第2記憶部に展開された前記検索用データを、前記第3記憶部から出力された前記新たなデータを反映させた前記検索用データに更新することを特徴とする請求項1記載の管理システム。
  3. 前記属性情報は、ユーザを一意的に識別する識別情報であり、前記検索対象データは、前記識別情報に示されるユーザ宛の電子メールであり、前記新たなデータは、前記識別情報に示されるユーザ宛の新着電子メールであり、前記検索用データは、前記検索条件に合致する電子メールを検索するためのインデックスデータであり、
    前記条件合致データを検索する可能性は、前記ユーザが前記電子メールを検索可能な状態となった際に発生するとともに、当該検索可能な状態から前記ユーザが前記電子メールを検索不可能な状態になった際に消滅することを特徴とする請求項2に記載の管理システム。
  4. 前記管理部は、前記属性情報と当該属性情報に対応する前記検索用データが前記第2記憶部に展開されているか否かを示す情報とを用いて、前記検索用データを管理することを特徴とする請求項1から請求項3のいずれか1項に記載の管理システム。
  5. 検索対象データから検索条件に合致する条件合致データの検索で用いられる検索用データを管理する管理装置であって、
    複数の属性情報の各々に対応して設けられた検索対象データのうち、特定の属性情報に対応する検索対象データから、前記条件合致データを検索する可能性が発生したか否かを判定する検索発生判定部と、
    前記検索発生判定部により前記条件合致データを検索する可能性が発生したと判定された場合に、前記所定の属性情報の各々に対応した前記検索用データが記憶された第1記憶装置から、前記特定の属性情報に対応する検索用データを第2記憶装置に展開させる展開部と、
    前記条件合致データを検索する可能性が消滅したか否かを判定する検索消滅判定部と、
    前記検索消滅判定部により前記条件合致データを検索する可能性が消滅したと判定された場合に、前記第2記憶装置に展開された前記検索用データを前記第1記憶装置に退避させる退避部と
    を有することを特徴とする管理装置。
  6. 検索対象データから検索条件に合致する条件合致データの検索で用いられる検索用データを管理する管理方法であって、
    複数の属性情報の各々に対応して設けられた検索対象データのうち、特定の属性情報に対応する検索対象データから、前記条件合致データを検索する可能性が発生したか否かを判定する検索発生判定ステップと、
    前記検索発生判定ステップにより前記条件合致データを検索する可能性が発生したと判定された場合に、前記所定の属性情報の各々に対応した前記検索用データが記憶された第1記憶部から、前記特定の属性情報に対応する検索用データを第2記憶部に展開させる展開ステップと、
    前記条件合致データを検索する可能性が消滅したか否かを判定する検索消滅判定ステップと、
    前記検索消滅判定ステップにより前記条件合致データを検索する可能性が消滅したと判定された場合に、前記第2記憶部に展開された前記検索用データを前記第1記憶部に退避させる退避ステップと
    を有することを特徴とする管理方法。
  7. 検索対象データから検索条件に合致する条件合致データの検索で用いられる検索用データを管理する管理装置のコンピュータに、
    複数の属性情報の各々に対応して設けられた検索対象データのうち、特定の属性情報に対応する検索対象データから、前記条件合致データを検索する可能性が発生したか否かを判定する検索発生判定ステップと、
    前記検索発生判定ステップにより前記条件合致データを検索する可能性が発生したと判定された場合に、前記所定の属性情報の各々に対応した前記検索用データが記憶された第1記憶部から、前記特定の属性情報に対応する検索用データを第2記憶部に展開させる展開ステップと、
    前記条件合致データを検索する可能性が消滅したか否かを判定する検索消滅判定ステップと、
    前記検索消滅判定ステップにより前記条件合致データを検索する可能性が消滅したと判定された場合に、前記第2記憶部に展開された前記検索用データを前記第1記憶部に退避させる退避ステップと
    を実行させるためのプログラム。
JP2015070166A 2015-03-30 2015-03-30 管理システム、管理装置、管理方法、及びプログラム Active JP6558928B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015070166A JP6558928B2 (ja) 2015-03-30 2015-03-30 管理システム、管理装置、管理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015070166A JP6558928B2 (ja) 2015-03-30 2015-03-30 管理システム、管理装置、管理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2016191980A true JP2016191980A (ja) 2016-11-10
JP6558928B2 JP6558928B2 (ja) 2019-08-14

Family

ID=57245691

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015070166A Active JP6558928B2 (ja) 2015-03-30 2015-03-30 管理システム、管理装置、管理方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6558928B2 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09325906A (ja) * 1996-06-04 1997-12-16 Inter Sci Kk コンピュータシステム
JP2000207403A (ja) * 1999-01-11 2000-07-28 Kiwa Kitahara 閲覧装置及び方法並びに記憶媒体
JP2001036568A (ja) * 1999-07-22 2001-02-09 Toshio Imao 電子メールシステム
JP2006309761A (ja) * 2005-04-28 2006-11-09 Oce Technol Bv コンピュータシステムにおけるデジタル文書の管理
WO2009119811A1 (ja) * 2008-03-28 2009-10-01 日本電気株式会社 情報再構成システム、情報再構成方法及び情報再構成用プログラム
US20140379631A1 (en) * 2013-06-25 2014-12-25 Linkedln Corporation Transactional key-value database with searchable indexes

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09325906A (ja) * 1996-06-04 1997-12-16 Inter Sci Kk コンピュータシステム
JP2000207403A (ja) * 1999-01-11 2000-07-28 Kiwa Kitahara 閲覧装置及び方法並びに記憶媒体
JP2001036568A (ja) * 1999-07-22 2001-02-09 Toshio Imao 電子メールシステム
JP2006309761A (ja) * 2005-04-28 2006-11-09 Oce Technol Bv コンピュータシステムにおけるデジタル文書の管理
WO2009119811A1 (ja) * 2008-03-28 2009-10-01 日本電気株式会社 情報再構成システム、情報再構成方法及び情報再構成用プログラム
US20140379631A1 (en) * 2013-06-25 2014-12-25 Linkedln Corporation Transactional key-value database with searchable indexes

Also Published As

Publication number Publication date
JP6558928B2 (ja) 2019-08-14

Similar Documents

Publication Publication Date Title
US10187855B2 (en) Message processing method and apparatus
US9461907B2 (en) Data routing
US9870374B2 (en) Replicating data across data centers
CN109842694B (zh) 一种同步mac地址的方法、网络设备和计算机可读存储介质
US8856250B2 (en) Community notification based on profile update
US20140214963A1 (en) Method, server and system for data sharing in social networking service
US20140237024A1 (en) Network communication devices and file tracking methods thereof
US10530726B2 (en) Email notifications
US10367771B2 (en) Identifying communication participants to a recipient of a message
KR102248393B1 (ko) 인스턴트 메시징 그룹 관리 방법 및 장치
CN109690518A (zh) 提供在局域网上操作的边缘云存储和缓存系统的系统和方法
CN109150745A (zh) 一种报文处理方法及装置
US8467814B2 (en) SMS shortcode allocation
US20090106770A1 (en) Sms sessioning
CN116303608A (zh) 一种应用服务的数据处理方法和装置
CN114064668A (zh) 用于存储管理的方法、电子设备和计算机程序产品
US20190379753A1 (en) Intelligently delivering notifications including summary of followed content and related content
JP6558928B2 (ja) 管理システム、管理装置、管理方法、及びプログラム
US20170171128A1 (en) Method and electronic device for email processing
US8285754B2 (en) Preserving references to deleted directory entries
US9317820B1 (en) System and method for configuring a cloud computing space
JP2009060527A (ja) メッセージ処理システム及びメッセージ処理方法
US20140372543A1 (en) System and method for managing contact information requests in a network
US20220360636A1 (en) Identifying outdated cloud computing services
JP7018808B2 (ja) メール監視装置および方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190205

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190716

R150 Certificate of patent or registration of utility model

Ref document number: 6558928

Country of ref document: JP

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

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