特許 第3262325号
MOZU技術の基礎となるメール・アプリケーション構築ツール 関連の技術特許です。
電子メール・サービス・システムの構築を支援するエージェント・システム
およびその方法
【特許請求の範囲】
【請求項1】
データベースを管理するデータベース管理システムと、インターネット上に設けられたメール・サーバーとを備える電子メール・サービス・システムの構築を支援するエージェント・システムであって、
前記データベースに対する処理のそれぞれについて、処理内容と、該処理内容を該データベースにアクセスするための言語に翻訳するためのオブジェクト情報と、該翻訳された処理内容にしたがって該データベースに対して実行された処理内容に従って該データベースに対して実行された処理の結果を記述するための電子メール形式の処理結果フォーマットとが予め定義される変換ルール辞書と、
前記メール・サーバーに設けられた予め決められたメールボックスに電子メールが受信されたときに起動され、該メールボックスから該電子メールを取り出し、該電子メールの記述から、前記データベースに対して要求する処理を識別する処理識別手段と、
前記識別された処理について予め定義された処理内容を前記変換ルール辞書から抽出し、前記変換ルール辞書のオブジェクト情報を参照して該処理内容を前記データベースにアクセスするための言語に翻訳し、該翻訳された処理内容を前記データベース管理システムに渡す処理内容翻訳手段と、
前記翻訳された処理内容に従って前記データベースに対して実行された処理結果を前記データベース管理システムから受け取り、該処理結果を記述するために予め定義された処理結果フォーマットを前記変換ルール辞書から抽出し、前記受け取った処理結果を該処理結果フォーマットに従って電子メール形式に編集する処理結果編集手段と、
前記電子メール形式に編集された処理結果を、電子メールとして所望のユーザーに送信する処理結果送信手段と、
を備えるエージェント・システム。
【請求項2】
データベースを管理するデータベース管理システムと、インターネット上に設けられたメール・サーバーとを備える電子メール・サービス・システムの構築を支援する方法であって、
前記データベースに対する処理のそれぞれについて、処理内容と、該処理内容を該データベースにアクセスするための言語に翻訳するためのオブジェクト情報と、該翻訳された処理内容に従って該データベースに対して実行された処理の結果を記述するための電子メール形式の処理結果フォーマットを、変換ルール辞書に予め定義するステップと、
前記メール・サーバーにメールボックスを設け、該メールボックスに電子メールが受信されたときにプログラムが起動されて該メールボックスから該電子メールが取り出されるよう該メール・サーバーを設定するステップと、前記取り出された電子メールの記述から、前記データベースに対して要求する処理を識別する機能、該識別された処理について予め定義された処理内容を前記変換ルール辞書から抽出し、前記変換ルール辞書のオブジェクト情報を参照して該処理内容を前記データベースにアクセスするための言語に翻訳し、該翻訳された処理内容に従って前記データベースに対して実行された処理結果を前記データベース管理システムから受け取り、該処理結果を記述するために予め定義された処理結果フォーマットを前記変換ルール辞書から抽出し、該受け取った処理結果を該処理結果フォーマットに従って電子メール形式に編集する機能、および該電子メール形式に編集された処理結果を電子メールとして所望のユーザーに送信するステップと、
を含む電子メール・サービス・システムの構築を支援する方法。
【請求項3】
データベースに対する処理のそれぞれについて、処理内容と、該処理内容を該データベースにアクセスするための言語に翻訳するためのオブジェクト情報と、該翻訳された処理内容に従って該データベースに対して実行された処理の結果を記述するための電子メール形式の処理結果フォーマットとを格納する変換ルール辞書と、
前記変換ルール辞書を編集するための手段と、
を備える辞書編集システム。
【請求項4】
データベースに対する処理のそれぞれについて、処理内容と、該処理内容を該データベースにアクセスするための言語に翻訳するためのオブジェクト情報と、該翻訳された処理内容に従って該データベースに対して実行された処理の結果を記述するための電子メール形式の処理結果フォーマットとが格納されているコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【発明の属する技術分野】
この発明は、インターネット上で電子メールを利用してデータベースにアクセスしデータ操作を実行する電子メール・サービス・システムの構築を支援するエージェント・システムおよびその方法に関する。
【従来の技術】
インターネット上で、電子メールを利用してデータベースにアクセスし、データの検索および登録・更新・削除のようなデー夕操作を実行する電子メール・サービスを提供しようとする場合、サービス提供者は、提供するサービスの内容に合わせて独自にデータベース・アクセス処理プログラムを作成して電子メール・サービス・システムを構築するか、または特定の機能を提供するパッケージ型のデータベース・アクセス処理プログラムを選択し、プログラムの仕様に合わせてメールの形式および提供するサービス内容を調整する必要がある。
【発明が解決しようとする課題】
しかし、サービス提供者が提供するサービス内容に合わせて独自にデータベース・アクセス処理プログラムを用意する場合、サービス提供者の電子メール・サービス・システムの構築に係る時間的および費用的な負担が大きくなる。また、データベース・アクセス処理プログラムの設計・開発・保守作業には専門的な知識と技術が要求され、一般のインターネット利用者が電子メールを利用してデータベース・アクセス・サービスを提供しようとする上での障害になっている。
一方、特定の機能を提供するパッケージ型の処理プログラムを利用する場合、扱える電子メールの形式および提供することのできるサービス内容が限定されてしまい、サービス提供者にとっても利用者にとっても必ずしも満足できる電子メール・サービス・システムを構築することができるとは言えない。
したがって、この発明は、上記のような問題を解決し、インターネット上の電子メールを利用したデータベース・アクセス・サービス・システムを簡単かつ柔軟に構築することができるようにすることを目的とする。
この発明の他の目的は、インターネット上で一般的に利用されている任意の電子メール・システムに対して利用可能であり、既存の電子メール・システムに対して変更および再構築を行う必要なく、ファイアー・ウォールおよび暗号化のような既存の電子メール・システムのセキュリティ機能に影響を与えることのない、電子メール・サービス・システムの構築を支援するシステムおよびその方法を提供することである。
さらにこの発明の他の目的は、一般的なデータベース管理システムに対して利用可能であり、既存のデータベース管理システムおよびそのデータベースに対して変更および再構築を行う必要なく、既存のデータベース管理システムのセキュリティ機能に影響を与えることのない、電子メール・サービス・システムの構築を支援するシステムおよびその方法を提供することである。
また、この発明の他の目的は、インターネット上に複数のデータベースが分散して配置される分散データベース環境において、それぞれのデータベースに対して同時にデータ操作を実行することができるようにするなど分散データベース環境で想定される多様なデータベース・アクセス・サービスに簡単に対応することのできる、柔軟性の高い電子メール・サービス・システムの構築を支援するシステムおよびその方法を提供することである。
【課題を解決するための手段】
上記の課題を解決するため、請求項1の発明は、データベースを管理するデータベース管理システムと、インターネット上に設けられたメール・サーバーとを備える電子メール・サービス・システムの構築を支援するエージェント・システムであって、電子メールに記述された前記データベースに対する処理要求を前記データベースにアクセスするための言語に翻訳するための情報、および前記データベース管理システムから出力された処理結果を電子メールに編集するための情報を格納する変換ルール辞書と、前記メールサーバーに設けられた予め決められたメールボックスに電子メールが受信されたときに起動され、該メールボックスから該電子メールを取り出し、該電子メールに記述された処理要求を抽出する処理要求抽出手段と、前記抽出された処理要求を前記データベースにアクセスするための言語に翻訳し、該翻訳された要求処理を前記データベース管理システムに渡す処理要求翻訳手段と、前記データベースに対して実行された処理結果を前記データベース管理システムから受け取り、該処理結果を前記変換ルール辞書を参照して電子メール形式に編集する処理結果編集手段と、前記電子メール形式に編集された処理結果を、電子メールとして所望のユーザーに送信する処理結果送信手段とを備える、という構成をとる。
請求項1の発明によると、電子メールに記述された処埋要求が、変換ルール辞書を参照してデータベースにアクセスするための言語に翻訳され、データベースに対して実行された処理結果が、変換ルール辞書を参照して電子メール形式に編集されるので、電子メールを利用してデータベースに対するデータ操作を実行する電子メール・サービス・システムを簡単に構築することができるようになる。
請求項2の発明は、データベースを管理するデータベース管理システムと、インターネット上に設けられたメール・サーバーとを備える電子メール・サービス・システムの構築を支援する方法であって、電子メールに記述された前記データベースに対する処理要求を前記データベースにアクセスするための言語に翻訳するための情報、および前記データベース管理システムから出力された処理結果を電子メールに編集するための情報を変換ルール辞書に定義するステップと、前記メールサーバーにメールボックスを設け、該メールボックスに電子メールが受信されたときにプログラムが起動されて該メールボックスから該電子メールが取り出されるよう該メールサーバーを設定するステップと、前記取り出された電子メールに記述された処理要求を抽出する機能、該抽出された処理要求を前記変換ルール辞書を参照して前記データベースにアクセスするための言語に翻訳する機能、該翻訳された処理要求を前記データベース管理システムに渡す機能、該翻訳された処理要求に従って前記データベースに対して実行された処理結果を前記データベース管理システムから受け取る機能、該受け取った処理結果を前記変換ルール辞書を参照して電子メール形式に編集する機能、および該電子メール形式に編集された処理結果を電子メールとして所望のユーザーに送信する機能を備えるエージェント・システムを構成するステップとを含む、という構成をとる。
請求項2の発明によると、電子メールに記述された処理要求が、変換ルール辞書を参照してデータベースにアクセスするための言語に翻訳され、データベースに対して実行された処理結果が、変換ルール辞書を参照して電子メール形式に編集されるので、電子メールを利用してデータベースに対するデータ操作を実行する電子メール・サービス・システムを簡単に構築することができるようになる。
請求項3の発明は、電子メールに記述された内容をデータベースにアクセスするための言語に翻訳するための情報、および該データベースを管理するデータベース管理システムから出力された内容を電子メールに編集するための情報を格納する変換ルール辞書と、該変換ルール辞書を編集するための手段とを備える辞書編集システム、という構成をとる。
請求項3の発明によると、電子メールに記述された内容をデータベースにアクセスするための言語に翻訳するための情報、および該データベースを管理するデータベース管理システムから出力された内容を電子メールに編集するための情報を、辞書管理プログラムによって編集することができるので、電子メールを利用したデータベース・アクセス・サービス・システムを簡単に構築することができる。
請求項4の発明は、電子メールに記述された内容をデータベースにアクセスするための言語に翻訳するための情報、および該データベースを管理するデータベース管理システムから出力された内容を電子メールに編集するための情報が格納されているコンピュータ読み取り可能な記録媒体、という構成をとる。
請求項4の発明によると、電子メールに記述された内容をデータベースにアクセスするための言語に翻訳するための情報、および該データベースを管理するデータベース管理システムから出力された内容を電子メールに編集するための情報が変換ルール辞書に格納されるので、変換ルール辞書を使用して、電子メールを利用したデータベース・アクセス・サービス・システムを簡単に構築することができる。
【発明の実施の形態】
次に図面を参照してこの究明の実施の形態を説明する。この発明による電子メール・サービス・システムの構築を支援する方法は、辞書編集システムによって変換ルール辞書を作成し、該作成された辞書編集システムを備えるエージェント・システムを既存の電子メール・システムおよび既存のデータベース・システムに提供することにより、実現される。
まず図1を参照して、辞書編集システムによって変換ルール辞書を作成する方法を説明する。図1は、辞書編集システム15のブロック図を示す。辞書編集システム15は、電子メール変換ルール辞書管理プログラム(以下、「辞書管理プログラム」という)35および電子メール変換ルール辞書(以下、「変換ルール辞書」と呼ぶ)26を備え、辞書管理プログラム35によって、変換ルール辞書 26を編集(登録、更新および削除など)するシステムである。変換ルール辞書26は、任意の記憶装置上に作成することができる。
辞書管理プログラム35は、構築する電子メール・サービス・システムによって提供されるサービスに必要なデータが格納されているデータベース29のオブジェクト情報36を、該データベース29を管理するデータベース管理システム28から読み出し、変換ルール辞書26に登録する。データベース管理システム28は、データベース29の様々なオブジェクトを管理しており、したがってオブジェクト情報36には、たとえばテーブル、ビユー、カラム、索引の名称、属性など任意のものを含めることができる。さらに、データの抽出条件や結合条件、データの整列順序やグループ化、データ演算、関数など、データベース・オブジェクトを利用する条件や実行するデータ操作の内容の記述を含めることもできる。例えば、データベース管埋システム28がデータベース・アクセス言語としてSQLを採用している場合には、「WHERE」句に続く条件節でデータの抽出条件を記述したり、「ORDER BY」句に続けて抽出データの整列順を指定したりするが、これらの記述を含めることができる。また、データの処理手続きを「プロシジャー」として登録したり、繰り返し利用されるデータ演算式を「関数」として登録することができる。
また、辞書管理プログラム35は、電子メールの記述に使用され、上記オブジェクト情報のそれぞれ対応するユーザー・オブジェクト情報を、変換ルール辞書に定義する。こうして、変換ルール辞書26には、電子メールに記述された処理要求をデータベース29にアクセスするための言語(この実施例では、SQL(Structured Query Language)を使用する)に翻訳するための情報が定義される
さらに、辞書管理プログラム35は、データベース管理システム28から出力された処理結果を電子メールに編集するための情報を、変換ルール辞書26に定義する。たとえば、処理結果を電子メールに編集するためのフォーマット情報が定義される。
辞書管理プログラム35は、これらの情報の他に、この発明によるエージェント・システムが使用する情報を変換ルール辞書26に登録することができる。たとえば、電子メール・サービス・システムでユーザーに提供されるサービスー覧のメニュー情報などを含むことができる。また、辞書管理プログラムは、変換ルール辞書26に登録された辞書情報を、照会、更新および削除することができる。辞書管理プログラム35をダイアログの形態で提供することができ、こうすることにより変換ルール辞書26を簡単に編集することができる。
次に、上記のようにして作成された変換ルール辞書26を備えるエージェント・システムを、既存の電子メール・システムおよび既存のデータベース・システムに提供することにより、電子メール・サービス・システムを構築する方法を説明する。
図2は、既存の電子メール・システム11およびデータベース・システム13に、この発明の一実施例に従うエージェント・システム12が提供された電子メール・サービス・システム10の全体的なブロック図を示す。
電子メール・システム11は、インターネット上で現在利用されている既存の電子メール・システムのうち任意のものをそのまま利用することができる。図3に、電子メール・システム11で使用される電子メールの典型的なフォーマットを示す。この電子メール・システム11における任意のメールサーバ21に、構築する電子メール・サービス・システム10によって提供されるサービス用に使用するメールボックス22を作成する。こうして、ユーザー18は、電子メールのサブジェクト欄51および(または)本文欄52に処理要求を記述し、宛先にメールボックス22のアドレスを指定することにより、インターネット20を介してメールボックス22に処理要求メール19を送信することができる。
データベース・システム13は、一般に利用されている既存のデータベース・システムをそのまま利用することができる。図1を参照して説明したように、データベース・システム13は、データベース管理システム28およびデータベース29を備え、データベース29には、この電子メール・サービス・システム10によって提供されるサービスに必要なデータが格納されている。データベース管理システム28は、データベース29に対する処理要求を処理し、その処理結果を出力する。
上記の既存の電子メール・システム11および既存のデータベース・システム13に、この発明に従うエージェント・システム12を提供する。エージェント・システム12は、既存の電子メール・システム11および既存のデータベース・システム13の間のエージェントとして動作し、電子メールによるデータベース・アクセス処理が実現されるようにするための処理手続きを行う。具体的には 、データベいス29に対するデータ操作をユーザー18が電子メールによって実行することを可能にし、データベース管理システム28から出力される処理結果を、電子メールによってユーザー18に知らせることを可能にする。以下に、エージェント・システム12の構成および機能を説明する。
エージェント・システム12は、電子メール情報提供エージェント・プログラム(以下、「情報提供エージェント」と呼ぶ)23、電子メール情報解析エージェント・プログラム(以下、「情報解析エージェント」と呼ぶ)25、および変換ルール辞書26を備える。変換ルール辞書26には、図1を参照して説明したように、辞書管理プログラム35によって辞書情報が定義されている。
情報提供エージェント23はメールサーバー21に対応して設けられ、情報解析エージェント25はデータベース管理システム28に対応して設けられるのが好ましい。この突施例では、情報提供エージェント23はメールサーバー21と同じマシン上で稼働し、情報解析エージェント25は、サーバー型プログラムとして、データベース管理システム28が搭載されるデータベース・サーバー・マシン上に常駐稼働する。しかしこの形態に限定されるわけではなく、代替的に、情報提供エージェント23および情報解析エージェント25を、メールサーバー21およびデータベース管理システム28のいずれとも異なるマシンで稼働させることもできる。または、情報提供エージェント23および情報解析エージェント25を1つのプログラムとして実現し、メールサーバー21が搭載されたマシン、データベース・サーバー・マシンまたは他のマシン上のいずれかで稼働させることもできる。
情報提供エージェント23は、システム10のために設けられたメールボックス22に処理要求メール19が受信されるたびに起動され、該受信されたメール19をメールボックス22から取り出すよう、予めメールサーバー21に設定される。このような設定は、たとえば代表的なメールサーバーである“sendmail”におけるエイリアスのように、一般に提供されているメールサーバーの機能をそのまま利用することができる。したがって、既存のメールサーバーの設定および運用環境を変更することなく、またファイアー・ウォール、暗号化およびフィルタリングのような既存の電子メール・システムのセキュリティ機能を変更することなく、情報提供エージェント23は、予め設定されたメールボックス22から必要な処理要求メール19を取り出すことができる。
情報提供エージェント23を、メールボックス22に受信された処理要求メール19のそれぞれに対応するよう、複数同時に稼働させるのが好ましい。情報提供エージェント23は、取り出した処理要求メール19から「処理要求」24を抽出して情報解析エージェント25に渡し、情報解析エージェント25からの返信を待つ。情報提供エージェント23が情報解析エージェント25からの返信を待つとき、タイムアウトを設定し、所定時間経過しても情報解析エージェント25からの返信が無いとき、タイムアウトが発生したことを示す返信メールをユーザー18に送信するようにしてもよい。
情報解析エージェントに渡される処理要求24のフォーマット例を図4に示す。処理要求24は、サブジェクトフィールド53および本文フィールド54から1構成される。情報提供エージェント23は、サブジェクトフィールド53に、図3に示される電子メールのサブジェクト欄51に記述された内容を設定し、本文フィールド54に、電子メールの本文欄52に記述された内容を設定する。
情報解析エージェント25は、情報提供エージェント23から受け取った処理要求24を、変換ルール辞書26を参照することによりデータベース29にアクセスするための言語(この実施例では、SQL)に翻訳し、SQLに翻訳した処理要求27をデータベース管理システム28に渡す。データベース29に対して処理要求27が実行された後、情報解析エージェント25はデータベース管理システム28から処理結果30を受け取り、変換ルール辞書26を参照して該処理結果30を電子メール形式に編集し、該編集された処理結果31を、返信を待っている情報提供エージェント23に渡す。情報提供エージェント23は、編集された処理結果31を受け取り、該処理結果31にアドレス情報などを含むヘッダーを付加して処理結果メール33を作成し、これをユーザー18に送信する。
上記のような機能を持つエージェント・システム12を構成し、該エージェント・システム12を、既存の電子メール・システム11およびデータベース・システム13に提供することにより、データベースに対するデータ操作を実行する電子メール・サービス・システム10を簡単に構築することができるようになる
次に、図2に示される電子メール・サービス・システム10が在庫照会サービスを提供する在庫照会システムである場合を例として、在庫照会システム用の変換ルール辞書26を作成し、該変換ルール辞書26を備えるエージェント・システム12を提供して、在庫照会システムを構築する方法を具体的に説明する。しかし、この発明によるエージェント・システム12はこの実施例に限定されるものではなく、データベースにアクセスする任意の電子メール・サービス・システムに適用することができる。
在庫照会システム10において、図1に示されるデータベース29は、商品在庫テーブルとする。図5の(a)に示されるように、商品在庫テーブル29は、テーブル名「INVENTORY TABLE」としてデータベース管理システム28に登録され、商品在庫テーブル29を構成するカラム名は、それぞれ「CATALOG NO」、「CATALOG NAME」..としてデータベース管理システム28に登録されている。図5の(b)は「NVENTORY TABLE」に格納されるデー夕例であり、2個のレコ ードのデータが示されている。
まず、在庫照会システム10用に使用される変換ルール辞書26を作成する。図1および図5~図8を参照して、変換ルール辞書26の作成方法を具体的に説明する。この実施例における変換ルール辞書26は、オブジェクト辞書41、フォーム辞書42および処理要求辞書43を含む。
オブジェクト辞書41は、商品在庫テーブル29のオブジェクトおよび電子メールの記述に使用されるオブジェクトの対応関係を格納する。オブジェクト辞書41を作成するため、辞書管理プログラム35は、照会コマンド(たとえば、SQLのSELECTコマンド)を使用してデータベース管理システム28に問い合わせて、商品在庫テーブル29のオブジェクト36を取得し、内部オブジェクトとして変換ルール辞書26に登録する。オブジェクト36には、テーブル名、およびカラム名「INVENTORY TABLE」、「CATALOG NO」、「CATALOG NAME」..が含まれる。しかし、前述したように、オブジェクト36には、ビユー、索引、データベース関数、プロシジャーなどの他のオブジェクトを含めることができる。
さらに辞書管理プログラム35は、それぞれの内部オブジェクトに対応する、電子メールの記述に使用されるオブジェクトを、外部オブジェクトとして変換ルール辞書26に登録する。こうして、データベース管理システム28で使用される内部オブジェクトおよび電子メールで使用される外部オブジェクトの間の対応関係が、オブジェクト辞書41に格納される。
図6は、このようにして作成されたオブジェクト辞書41の内容を示す。たとえば、内部オブジェクト「INVENTORY TABLE」には外部オブジェクト「商品在庫」が対応し、内部オブジェクト「CATALOG NO」には外部オブジェクト「商品番号」が対応する。
オブジェクト辞書41には、内部および外部オブジェクトのそれぞれの付属情報を登録することができる。たとえば図6に示されるように、データベース管理システム28から抽出された内部オブジェクトのデータ型(キャラクタ型、数値型など)に対応するよう、外部オブジェクトのデータ型を登録することができる。こうすることにより、外部オブジェクトのデータ型に適合するよう電子メールを編集することが可能になる。
次に、処理要求辞書42を作成する。処理要求辞書42は、「処理名」ごとに、その処理内容を格納する。処理内容には、対応する処理の種類(検索、更新または削除など)、処理の対象となるテーブルとカラム、および処理条件が含まれる。辞書管理プログラム35を介して、処理内容を、外部オブジェクト名を使用して処理要求辞書42に登録することができる。
図7は、「処理名」が「商品番号で在庫を検索」であるときの処理要求辞書42の内容を示す。図7は、「商品番号で在庫を検索」という処理名が処理要求メール19に記述されている場合、「商品在庫」テーブルにおいて、処理条件「商品番号=$商品番号$」を満たすレコードのカラム「商品番号」、「商品名」、「単価」、「在庫数」および「備考」に含まれるデータを「検索」する、という処理内容を示している。ここで、辞書変換ルール26に登録するための専用の簡易言語を使用して、処理条件を記述することができる。図7の例では、“$”はパラメータを示しており、ここに、処理要求メール19で記述されたパラメータ値が代人される。“$”という記号は任意であり、パラメータであることを識別することのできる他の特殊記号を用いることができる。
上記の処理名「商品番号で在庫を検索」を外部オブジェクトとして、対応する「SEL_INV_WITH_CATAlOG NO」(この名称は処理名を識別するためのもので、任意に設定することができる)を内部オブジェクトとしてオブジェクト辞書41に登録することができる。また、上記の処理「検索」を外部オブジェクトとして、対応するSQLのデータ操作言語「SELECT」を内部オブジェクトとしてオブジェクト辞書41に登録することができる。こうして、図7に示される処理内容を、オブジェクト辞書41を参照することによりSQLに組み立てることができる。
次に、フォーマット辞書43を作成する。フォーマット辞書43は、「処理名」ごとに、ユーザーが処理を要求するときに使用する「処理要求メール基本フォーマット」、および処理結果をユーザーに知らせるときに使用される「処理結果メール基本フォーマット」を備える。
図8の(a)および(b)に、「処理名」が「商品番号で在庫を検索」であるときの「処理要求メール基本フォーマット」および「処理結果基本フォーマット」をそれぞれ示す。図8の(a)は、ユーザーが「商品番号で在庫検索」のフォームを要求したときにユーザーに返信される電子メール形式のフォームであり、ユーザーはこのフォームを使用して「商品番号で在庫検索」処理を要求する。この処理要求フォームは、サブジェクト欄に「商品番号で在庫を検索」、本文欄に「商品番号[$商品番号$]の在庫状況」が記述されている。前述したように、“$”で囲まれた「商品番号」はパラメータであり、ユーザーが値を記述する部分を示す。
図8の(b)は、ユーザーが「処理要求メール基本フォーマット」のパラメータに値を記述して送信した後に、その処理結果がユーザーに返信されるときの処理結果フォームである。“$”で囲まれたパラメータは、解析エージェント25が値を代入する部分を示す。
こうして、変換ルール辞書26に、オブジェクト辞書41、処理要求辞書42およびフォーマット辞書43が作成される。それに加え、この実施例では、ユーザーに提供されるサービスの一覧が含まれる「在庫管理処埋一覧」を、変換ルール辞書26に登録する。さらに必要に応じて、ユーザー認証を行うためのユーザーID、パスワード、暗号解読キーなどを変換ルール辞書26に登録することも できる。
このように、変換ルール辞書26および辞書管理プログラム35により、たとえばデータベースの構造およびデータベースにアクセスするための言語のような、データベース29、データベース管埋システム28および該データベースに対するプログラミングの専門的な知識が無くても、簡単にデータベース29に対するデータ操作を定義することができる。なお、変換ルール辞書26を作成するに 際し、データベース管埋システム28およびデータベース29に関しては、電子メールによってデータ操作を行うのに必要な情報についてのみサービス提供者に公開するのが好ましい。こうすることにより、インターネット上でデータベースを利用する上でのセキュリティを確保することができる。
次に、前述したように、在庫照会システム10用に使用するメールボックス22を、メールサーバー21に作成する。さらに、情報提供エージェント23が、メールボックス22に電子メールが受信されたときに起動され、該電子メールを取り出すよう、メールサーバー21に設定する。
この在庫照会システム10のエージェント・システム12では、処理要求24(図1)のフォーマットを3種類定義する。図9に、この3種類の処理要求フォーマットを示す。この在庫照会システム10では、実際にデータベース29に対するデータ操作が実行される処理要求(図9の(c))の他に、在庫照会システムをユーザーにとって使いやすいようにするために2種類の処理要求フォーマットを定義する(図9の(a)および(b))。
図9の(a)は、電子メールのサブジェクト欄に「Menu」と記述された場合であり、これはユーザーが提供サービスー覧を要求することを示す。情報解析エージェント25は、処理要求24から「Me nu」を読み出した場合には、変換ルール辞書26に登録された「存庫管理処理一覧」をアクセスする。
図9の(b)は、電子メールのサブジェクト欄に「Form」と記述され、本文欄に「処理名」が記述された場合であり、ここで「処理名」は、上記のサービス一覧に含まれるそれぞれのサービス名に対応する。この処理要求は、「処理名」に対応する処理を要求するためのフォームを要求することを示す。情報解析エージェント25は、処理要求から「Form」を読み出した場合には、変換ルール辞書26に含まれるフォーマット辞書43をアクセスする。
図9の(c)は、サブジェクト欄に「処理名」が記述され、本文欄に「パラメータ値」が記述された場合であり、ここで「パラメータ値」は、前述の図8の(a)に示されるパラメータに記述される値に対応する。この処理要求は、「処理名」に対応する処理を、「パラメータ値」を条件に実行することを要求することを示す。情報解析エージェント25は、処理要求24から「処理名」を読み出した場合には、変換ルール辞書26に含まれる処理要求辞書43およびオブジェクト辞書41をアクセスする。この図9の(c)の処理要求フォーマットにより、実際にデータベース29に対するデータ操作が実行される。
この在庫照会システム10で使用される「Menu」および「Form」は、このシステム固有の取り決めであり、他のシステムでは任意のものを使用することができる。また、処理要求のフォーマットは上記の3種類に限定されるものではなく、他のフォーマットを使用することもできる。
次に、前述したように作成された変換ルール辞書26を有するエージェント・システム12が提供された在庫照会システム10の動作を、図2および図10~図12を参照して説明する。
ユーザー18は、図10の(a)に示されるように、サブジェクト欄に「Menu」と記述し、宛先(図示せず)にメールボックス22のアドレスを指定した処理要求メール19を作成し、送信する。メールボックス22にメール19が配信されると、メールサーバー21の設定に応じで情報提供エージェント23が起動され、該情報提供エージェント23に該メール19が渡される。
情報提供エージェント23は、必要に応じて処理要求メール19のヘッダー内容を解析して利用者認証などの処理を行った後、処理要求メール19のサブジェクト欄に記述された「Menu」を読み出し、図9の(a)に示される処理要求24を作成し、これを情報解析エージェント25に送信する。また、情報提供エージェント23は、ユーザー18のアドレスなどを含むヘッダー情報を処理要求メール19から読み出し、メモリ(図示せず)に記憶する。
情報解析エージェント25は、受け取った処理要求24から「Menu」を読み出し、変換ルール辞書26の「在庫管理処理一覧」にアクセスし、「在庫管理処理一覧」に含まれるサービスー覧を取得する。情報解析エージェント25は、図10の(b)に示されるように、サブジェクト欄に「在庫管理処理一覧」と設定し、本文欄に「在庫管理処理一覧」に含まれるサービスー覧を設定して、電子メール形式の編集済み処理結果31を作成し、これを情報提供エージェント23に送信する。情報提供エージェント23は編集済み処理結果31を受け取り、メモリに記憶されているユーザーの宛先アドレスなどを含むヘッダーを付加して処理結果メール33を作成し、ユーザー18に送信する。
サブジェクト欄に「存庫管理処理一覧」が記述された処理結果メール33を受信したユーザー18は、図11の(a)に示されるように、サブジェクト欄に「Form」と記述し、本文欄に、受け取った「在庫管理処理一覧」から選択したサービス「商品番号で在庫を検索」を記述し、宛先にメールボックス22のアドレスを指定して処理要求メール19を作成し、送信する。メールポックス22に処理要求メール19が配信されると情報提供エージェント23が起動され、該メール19が該情報提供エージェント23に渡される。情報提供エージェント23は、受け取った処理要求メール19のサブジェクト欄および本文欄に記述された内容を読み出し、図9の(b)に示されるように、サブジェクトフィールド53に「Form」、本文フィールド54に「商品番号で在庫を検索」を設定した処理要求24を作成し、これを情報解析エージェント25に送信する。情報提供エージェント23は、前述したように、ユーザー18のアドレスなどを含むヘッダー情報を処理要求メール19から読み出し、メモリに記憶する。
情報解析エージェント25は、受信した処理要求24から、「Form」および「商品番号で在庫を検索」を読み出す。情報解析エージェント25は、「商品番号で在庫を検索」をキーとして、変換ルール辞書26のフォーマット辞書43を検索し、「商品番号で在庫を検索」に対応する処理要求メール基本フォーマット(図8の(a))を抽出する。
情報解析エージェント25は、抽出された「商品番号で在庫を検索」用の「処理要求メール基本フォーマット」を、図11の(b)に示されるような電子メール形式に編集し、該編集した処理結果31を情報提供エージェント23に送信する。情報提供エージェント23は、前述したように、この編集された処理結果31に必要なヘッダーを付加して処理結果メール33を作成し、ユーザー18に送信する。
「商品番号で在庫を検索」用の処理要求フォーム(図11の(b))が記述された処理結果メール33を受信したユーザー18は、処理要求フォームのパラメータ、すなわち“$”で囲まれた「商品番号」に、図12の(a)に示されるように必要なパラメータ値「12345」(すなわち、ユーザーが所望する商品番号)を記述し、宛先としてメールボックス22のアドレスを指定して処理要求メール19を作成し、送信する。処理要求メール19がメールボックス2-2に配信されると情報提供エージェント23が起動され、情報提供エージェント23に該メール19が渡される。
情報提供エージェント23は、受け取った処理要求メール19のサブジェクト欄および本文欄に記述された内容を読み出し、図9の(c)に示されるようにサブジェクトフィールド53に「商品番号で在庫を検索」、本文フィールド54に「12345」を設定した処理要求24を作成し、これを情報解析エージェント25に送信する。
情報解析エージェント25は、受信した処理要求24から処理名およびバラメー夕値、すなわち「商品番号で在庫を検索」および「12345」を読み出す。その後、情報解析エージェント25は、「商品番号で在庫を検索」をキーにして変換ルール辞書26の処理要素辞書42を検索し、「商品番号で在庫を検索」に対応する処理内容(図7)を抽出し、抽出した処理内容のパラメータに「12345」を代入する。その後、情報解析エージェント25は、変換ルール辞書26のオブジェクト辞書41を参照して、抽出した処理内容をSQLに翻訳する。
図12の(b)に、翻訳された処理内容を示す。図7を参照して明らかなように、「商品番号で在庫を検索」という処理名は「SEL_INV_WITH_CATALOG_NO」に、処理「検索」は「SELECT」に、処理対象「商品在庫」は「FROM INVENTORY」に、処理項目「商品番号」「商品名」「単価」「在庫数」および「備考」はそれぞれ「CATALOG_NO」「CATALOG_NAME」「PAR_PRICE」「QUANTITY」および「NOTE」に、処理条件「商品番号=12345」は「WHERE CATALOG_NO=12345」に翻訳される。こうして、情報解析エージェント25は、処理内容に対応するSQLを組み立てる。情報解析エージェント25は、SQLに翻訳された処理内容27をデータベース管理システム28に渡す。
SQLへの翻訳に失敗した場合には、情報解析エージェント25は、ユーザー18への返信メールとして電子メール形式で失敗メッセージを編集し、該返信メールを情報提供エージェント23に送信することができる。
データベース管理システム28は、図12の(b)で示されるSQLをデータベース29に対して実行し、処理結果30を情報解析エージェント25に返す。情報解析エージェント25は、「商品番号で在庫を検索」をキーとして変換ルール辞書26のフォーマット辞書43を参照して「処理結果メール基本フォーマット」(図8の(b))を取得し、該フォーマットの“$”で示されるパラメータ部分に、データベース管理システム28から出力された処理結果30を代人し、 電子メール形式に編集する。図12の(c)は、この編集済み処理結果31を示す。情報解析エージェント25は、編集済み処理結果31を情報提供エージェント23に渡す。ここで、編集済み処理結果31に使用されるフォーマットには、テキスト形式、HTML形式およびXML形式など、任意の形式を使用することができる。情報提供エージェント23は、編集済み処理結果31にアドレスなどの必要なヘッダーを付加して処理結果メール33を作成し、ユーザー18に送信する。
次に、図13を参照して、上記の在庫照会システムが、複数のデータベースが分散して配置される分散データベース環境で実現される例について説明する。この実施例では、つくば、シンガポール、台湾および韓国の4カ所にデータベース・システム13A~13Dがそれぞれ設けられており、それぞれのデータベース・システム13A~13Dはインターネットに接続されている。情報提供エージ ェント23は、メールサーバー21に対応して設けられ、情報解析エージェント25および変換ルール辞書26は、データベース管理システム28A~28Dのそれぞれに対応して設けられる。ユーザー18は、これら4カ所のデータベース管理システムに同時に処理を要求して、4カ所の在庫情報を同時に取得することができる。
ユーザー18は、図1を参照して前述したのと同様の方法で「在庫管理処理一覧」の後に「商品番号で在庫を検索」用の処理要求フォームを取得し、該フォームにパラメータ値を記述して、メールボックス22を宛先として処理要求メール19を送信する。メールボックス22に処理要求メール19が配信されると、情報提供エージェント23が起動される。情報提供エージェント23は、前述したのと同様の方法で、サブジェクトフィールド53に「商品番号で在庫を検索」、本文フィールド54に「12345」を設定した処理要求24を作成し、4カ所の情報解析エージェント25A~25Dのそれぞれに、処理要求24A~24Dとして送信する。
情報解析エージェント25A~25Dのそれぞれは、前述したような方法で、それぞれの処理要求24A~24Dを、対応する変換ルール辞書29A~29Dを参照してSQLに翻訳し、該SQLに翻訳された処理要求27A~27Dを、対応するデータベース管理システム28A~28Dに渡す。データベース管理システム28A~28Dのそれぞれは、翻訳された処理要求27A~27Dに従って、対応する商品在庫テーブル29A~29Dに対してデータ操作を実行し、処理結果30A~30Dをそれぞれの情報解析エージェント25A~25Dに返す。
情報解析エージェント25A~25Dのそれぞれは、前述したような方法で、それぞれの処理結果30A~30Dを、対応する変換ルール辞書26A~26Dを参照して電子メール形式に編集し、編集済み処理結果31A~31Dを情報提供エージェント23に送信する。
4カ所の情報解析エージェント25A~25Dから編集済み処理結果31A~31Dを受け取った情報提供エージェント23は、4カ所の処理結果を統合して1つの処理結果メール33に編集しなおし、ユーザー18に送信する。図14に、この処理結果メール33を示す。しかし、1つの処理結果メール33に編集するのは必然ではなく、4カ所の処理結果を編集する形式は任意である。情報提供エージェント23は、データベース管理システム28A~28Dのいずれかから処理結果の返信が無い場合には、返信があった処理結果だけを編集してユーザー18に知らせることができる。
この発明によるエージェント・システムは、前述したように在庫照会システムに適用されるだけでなく、データベースに対して照会、登録、更新および削除などのデータ操作を実行する様々な電子メール・サービス・システムの構築を支援することができる。たとえば、オンラインによる商品販売、各種アンケートの集計および結果参照、商品サポート、ヘルプデスクにおける利用、セミナーおよびイベントなどの申込み受付および集計処理、在庫確認および発注処理システム、行事予定表、掲示板および施設予約などのグループウェアにおける利用、宿泊施設などの予約管理、のように幅広い電子メール・サービス・システムに利用可能である。
【発明の効果】
この発明によると、電子メールを利用してインターネット上の任意の場所にあるデータベースにアクセスしてデータ操作を実行する電子メール・サービス・システムを簡単かつ容易に構築することができるようになる。この発明によるエージェント・システムにより、インターネット上で一般的に利用されている任意の電子メール・システムおよび一般的に利用されているデータベース・システムをそのまま利用して、電子メール・サービス・システムを構築することができるので、電子メール・サービス・システムを構築する際の生産性および可用性を高めることができる。さらに、この発明によるエージェント・システムによれば、複数のデータベースが分散された分散データベース環境における電子メール・サービス・システムをも簡単に構築することができるようになる。
【図面の簡単な説明】
- 【図1】 この発明の一実施例における辞書編集システムの全体を示すブロック図
- 【図2】 この発明の一実施例におけるエージェント・システムを備える電子メール・サービス・システムの全体を示すブロック図。
- 【図3】 電子メールの典型的なフォーマットを示す図。
- 【図4】 この発明の一実施例における処理要求のフォーマットを示す図。
- 【図5】 この発明の一実施例における在庫照会システムで使用される商品在庫テーブルの構成を示す図。
- 【図6】 この発明の一実施例における在庫照会システム用の変換ルール辞書のオブジェクト辞書の内容を示す図。
- 【図7】 この発明の一実施例における在庫照会システム用の変換ルール辞書の処理要求辞書の内容を示す図。
- 【図8】 この発明の一実施例における在庫照会システム用の変換ルール辞書のフォーマット辞書の内容を示す図。
- 【図9】 この発明の一実施例における在庫照会システム用の3種類の処理要求フォーマットを示す図。
- 【図10】 この発明の一実施例における在庫照会システムの(a)ユーザーからのMenu要求の処理要求メール、(b)応答としてユーザーに返信される「在庫管理処理一覧」の処理結果メールを示す図。
- 【図11】 この発明の一実施例における在庫照会システムの(a)ユーザーからのForm要求の処理要求メール、(b)応答としてユーザーに返信される「商品番号で在庫を検索」用の処理要求フォームの処理結果メールを示す図。
- 【図12】 この発明の一実施例における在庫照会システムの(a)ユーザーからの「商品番号で在庫を検索」要求の処理要求メール、(b)情報解析エージェントによってSQLに翻訳された処埋要求、および(c)応答としてユーザーに返信される「商品番号で在庫を検索」の処理結果メールを示す図。
- 【図13】 この発明の一実施例におけるエージェント・システムを備える、分散データベース環境の在庫照会システムの全体を示す図。
- 【図14】 図13の分散データベース環境の在庫照会システムにおいてユーザーに返信される処理結果メールを示す図。
【符号の説明】
- 10. 電子メール・サービス・システム
- 11. 電子メール・システム
- 12. エージェント・システム
- 13. データベース・システム
- 18. ユーザー
- 23. 情報提供エージェント
- 24. 処理要求
- 25. 情報解析エージェント
- 26. 変換ルール辞書
- 27. 翻訳された処理要求
- 28. データベース管理システム
- 29. データベース
- 30. 処理結果
- 31. 編集された処理結果
- 35. 辞書管理プログラム
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14 |
