米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 株式会社日立超エル・エス・アイ・システムズ

発明の名称 トランザクション管理システム
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2003−157188(P2003−157188A)
公開日 平成15年5月30日(2003.5.30)
出願番号 特願2001−354923(P2001−354923)
出願日 平成13年11月20日(2001.11.20)
代理人 【識別番号】100080001
【弁理士】
【氏名又は名称】筒井 大和
【テーマコード(参考)】
5B082
5B085
5B098
【Fターム(参考)】
5B082 FA16 GB00 
5B085 BA07 BG03
5B098 AA10 GA03 GA07
発明者 早川 豊 / 原田 剛志
要約 課題
クライアントとサーバ上の各処理オブジェクトの位置関係を独立にし、システム運用時におけるプログラムの変更を必要としない拡張性を持ったシステムを実現することができるトランザクション管理システムを提供する。

解決手段
クライアント1と、1つ以上のサーバ(A)2,(B)3,(C)4,(D)5などから構成されるトランザクション管理システムであって、クライアント1はクライアントプログラム11、コンテキスト12、トランザクション13、オブジェクトチャネル14など、各サーバ(A)2,(B)3,(C)4は処理オブジェクト(A)23,(B)32,(C)41など、の各種機能手段を備え、サーバ(A)2,(B)3,(C)4上で処理する処理オブジェクト(A)23,(B)32,(C)41に対して、サーバ(D)5のDBMS51のコネクション22が1つだけサーバ(B)2上に設けられている。
特許請求の範囲
【請求項1】 クライアントと1つ以上のサーバとを有し、前記1つ以上のサーバ上で処理する複数の処理オブジェクトに対して、データベースのコネクションが1つであることを特徴とするトランザクション管理システム。
【請求項2】 請求項1記載のトランザクション管理システムにおいて、前記複数の処理オブジェクトは、第1の処理オブジェクト自身が他の処理オブジェクトを作成し、同じデータベースのコネクションを使用することを特徴とするトランザクション管理システム。
【請求項3】 請求項1記載のトランザクション管理システムにおいて、前記クライアント自身が処理オブジェクトとして機能し、他の処理オブジェクトと連携して1つの処理オブジェクトとして機能することを特徴とするトランザクション管理システム。
【請求項4】 請求項1記載のトランザクション管理システムにおいて、前記データベース自身がトランザクション機能を持ち、1つのコネクションを前記複数の処理オブジェクトに与えることを特徴とするトランザクション管理システム。
【請求項5】 請求項1、2、3または4記載のトランザクション管理システムにおいて、前記複数の処理オブジェクトは、生産管理、電子商取引などに関する多種の業務処理であることを特徴とするトランザクション管理システム。
発明の詳細な説明
【0001】
【発明の属する技術分野】本発明は、トランザクション管理技術に関し、特にクライアントとサーバ上の各処理オブジェクトの位置関係を独立にし、システム運用時におけるプログラム変更を必要としない拡張性を持ったシステムを実現する場合に適用して有効な技術に関する。
【0002】
【従来の技術】本発明者が検討したところによれば、トランザクション管理技術に関しては、以下のような技術が考えられる。たとえば、トランザクション管理技術の一例としてのトランザクションサービスの方法には、1つのトランザクションサーバに対して処理オブジェクトを配置し、クライアントはこれらの処理オブジェクトにアクセスすることで、複数の処理を1つのトランザクションとして処理する技術がある。
【0003】なお、このようなトランザクション管理技術に関しては、たとえばMay,2001年、OMG(Object Management Group)発行の「Transaction Service Specification」に記載される技術などが挙げられる。
【0004】
【発明が解決しようとする課題】しかしながら、前記のようなトランザクション管理技術に関して、本発明者が検討した結果、以下のようなことが明らかとなった。たとえば、前記のOMGによる規格での要求手順は、以下のとおりである。
【0005】(1)サーバ側の処理オブジェクトを、リソースマネージャからアクセスできるリソースとして作成する。
【0006】(2)クライアントは、トランザクションマネージャからトランザクションを獲得する。
【0007】(3)クライアントは、トランザクションのもとでサーバ側の処理オブジェクトに処理要求を出す。
【0008】(4)処理オブジェクトは、トランザクションマネージャに自分自身をトランザクションリソースとして登録する。
【0009】(5)処理オブジェクトは、処理を実行し、結果をクライアントに返却する。
【0010】(6)クライアントは、全ての処理オブジェクトへの要求を終了したらトランザクションにコミットを行う。
【0011】(7)トランザクションマネージャは、各処理オブジェクトに2フェーズコミットを実行する。
【0012】よって、前記のようなOMGによる規格を含むトランザクションサービスの方法では、複数のサーバ側上の処理オブジェクトに対して、クライアントから処理を行うと、処理要求が複数のDB(データベース)トランザクション(コネクション)に分割されてしまい、各処理オブジェクトが実行するDBへの処理結果が、同一トランザクション上の処理オブジェクト間で参照できなくなってしまう。結果として、複数のサーバ上への処理オブジェクトの配置と、クライアント側の処理手続きの独立性が保証できていない状況となり、システムの拡張性が維持されなくなる。
【0013】それに対して、本発明者は、システムのアーキテクチャ開発において、各種の業務処理プログラムを複数のサーバに分散配置することで、拡張性を高めることを考えたが、分散された各処理を1つのトランザクションの元で統一的に取り扱う必要がある。通常、トランザクションモニタと呼ばれる機構が、これらの処理を担当するが、従来の機構ではトランザクションを構成できるのは、同じサーバ上にある処理オブジェクトである必要があり、拡張性に制限が発生することから、これらの制限が発生しない機構を検討した。
【0014】そこで、本発明の目的は、複数のサーバ上で管理される各処理オブジェクトに対して、同一のトランザクションを提供することで、クライアントとサーバ上の各処理オブジェクトの位置関係を独立にし、システム運用時におけるプログラムの変更を必要としない拡張性を持ったシステムを実現することができるトランザクション管理システムを提供することにある。
【0015】本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【0016】
【課題を解決するための手段】本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【0017】すなわち、本発明によるトランザクション管理システムは、クライアントと1つ以上のサーバとを有し、1つ以上のサーバ上で処理する複数の処理オブジェクトに対して、データベースのコネクションが1つであることを特徴とするものである。
【0018】さらに、前記トランザクション管理システムにおいて、複数の処理オブジェクトは、第1の処理オブジェクト自身が他の処理オブジェクトを作成し、同じデータベースのコネクションを使用するようにしたものである。
【0019】また、前記トランザクション管理システムにおいて、クライアント自身が処理オブジェクトとして機能し、他の処理オブジェクトと連携して1つの処理オブジェクトとして機能するようにしたものである。
【0020】また、前記トランザクション管理システムにおいて、データベース自身がトランザクション機能を持ち、1つのコネクションを複数の処理オブジェクトに与えるようにしたものである。
【0021】特に、前記トランザクション管理システムにおいて、複数の処理オブジェクトは、生産管理、電子商取引などに関する多種の業務処理に適用するようにしたものである。
【0022】よって、前記トランザクション管理システムによれば、1つ以上のサーバ上に配置された複数の処理オブジェクトに対して、統一したトランザクション環境を提供することにより、クライアントとサーバ上の各処理オブジェクトの位置関係を独立にし、システム運用時におけるプログラムの変更を必要としない拡張性を持ったシステムを実現することができるようになる。
【0023】
【発明の実施の形態】以下、本発明の実施の形態を図面に基づいて詳細に説明する。図1は本発明の一実施の形態のトランザクション管理システムの構成および処理を示すブロック図、図2は本実施の形態のトランザクション管理システムにおいて、トランザクション処理を示すフロー図である。
【0024】まず、図1により、本実施の形態のトランザクション管理システムの構成の一例を説明する。本実施の形態のトランザクション管理システムは、たとえばクライアント1と、1つ以上(ここでは4つ)のサーバ(A)2,(B)3,(C)4,(D)5などから構成されている。
【0025】クライアント1は、たとえばクライアントプログラム11、コンテキスト12、トランザクション13、オブジェクトチャネル14、クライアントDB(データベース)処理15、トランザクションコミット処理16などの各種機能手段を備え、システムユーザにより起動される。
【0026】サーバ(A)2は、たとえばトランザクションマネージャ21、コネクション22、処理オブジェクト(A)23などの各種機能手段を備え、システム管理者により起動される。
【0027】サーバ(B)3は、たとえば代理トランザクション31、処理オブジェクト(B)32などの各種機能手段を備え、システム管理者により起動される。
【0028】サーバ(C)4は、たとえば処理オブジェクト(C)41などの各種機能手段を備え、システム管理者により起動される。
【0029】サーバ(D)5は、たとえばDBMS(データベース管理システム)51などの各種機能手段を備え、システム管理者により起動される。
【0030】以上のように構成されるトランザクション管理システムにおいては、サーバ(A)2,(B)3,(C)4上で処理する処理オブジェクト(A)23,(B)32,(C)41に対して、サーバ(D)5のDBMS51のコネクション22が1つだけサーバ(B)2上に設けられている。また、サーバ(B)3の処理オブジェクト(B)32自身が、他のサーバ(C)4の処理オブジェクト(C)41を作成し、同じDBMS51のコネクション22が使用されるようになっている。
【0031】さらに、本実施の形態のようなトランザクション管理システムにおいては、クライアント1自身が処理オブジェクトとして機能し、他の処理オブジェクトと連携して1つの処理オブジェクトとして機能するようにしたり、またはDBMS51自身がトランザクション機能を持ち、1つのコネクションを複数の処理オブジェクトに与えるようにする、ことなども可能である。
【0032】次に、図2により、図1を参照しながら、本実施の形態のトランザクション管理システムにおいて、トランザクション処理の手順の一例を説明する。
【0033】(1)システム管理者は、サーバ(A)2,(B)3,(C)4,(D)5を起動する(ステップS1)。
【0034】(2)システムユーザは、クライアント1を起動する(ステップS2)。
【0035】(3)クライアント1において、クライアントプログラム11は、コンテキスト12にトランザクションを要求する(ステップS3)。
【0036】(4)クライアント1のコンテキスト12は、サーバ(A)2のトランザクションマネージャ21からトランザクションを要求する(ステップS4)。
【0037】(5)サーバ(A)2において、トランザクションマネージャ21は、サーバ(D)5のDBMS51とのコネクション22を作成する(ステップS5)。
【0038】(6)クライアント1は、コンテキスト12からトランザクション13を作成する(ステップS6)。
【0039】(7)クライアント1において、クライアントプログラム11は、トランザクション13に処理オブジェクトへのチャネルを要求する(ステップS7)。
【0040】(8)クライアント1のトランザクション13は、各サーバ(A)2,(B)3に処理オブジェクト(A)23,(B)32を作成し、使用するコネクション22を教える(ステップS8)。
【0041】(9)クライアント1において、トランザクション13から処理オブジェクトのオブジェクトチャネル14を獲得する(ステップS9)。
【0042】(10)クライアント1において、クライアントプログラム11は、オブジェクトチャネル14に処理を依頼する(ステップS10)。
【0043】ここまでの処理が済むと、以下のように、各サーバ(A)2,(B)3,(C)4において、各処理オブジェクト(A)23,(B)32,(C)41は、サーバ(A)2のコネクション22を使って処理が実行される。
【0044】(11)クライアント1のオブジェクトチャネル14から、各サーバ(A)2,(B)3の各処理オブジェクト(A)23,(B)32に処理要求を出す(ステップS11)。
【0045】(12)サーバ(A)2において、処理オブジェクト(A)23を、コネクション22を使って実行する(ステップS12)。
【0046】(13)サーバ(B)3において、処理オブジェクト(B)32を、サーバ(A)2のコネクション22を使って実行する(ステップS13)。
【0047】(14)サーバ(B)3は、処理オブジェクト(B)32から代理トランザクション31を作成する(ステップS14)。
【0048】(15)サーバ(B)3の代理トランザクション31は、サーバ(C)4に処理オブジェクト(C)41を作成し、使用するコネクション22を教える(ステップS15)。
【0049】(16)サーバ(B)3の処理オブジェクト(B)32から、サーバ(C)4の処理オブジェクト(C)41に処理要求を出す(ステップS16)。
【0050】(17)サーバ(C)4において、処理オブジェクト(C)41を、サーバ(A)2のコネクション22を使って実行する(ステップS17)。
【0051】以上のようにして、各サーバ(A)2,(B)3,(C)4において、各処理オブジェクト(A)23,(B)32,(C)41は、サーバ(A)2のコネクション22を使って処理を実行することができる。
【0052】(18)クライアント1は、自分自身、サーバ(A)2のコネクション22を使って、サーバ(D)5のDBMS51に対するDB処理15を行う(ステップS18)。
【0053】(19)クライアント1は、トランザクション13にコミット処理16を実行し、トランザクション13を完結させる(ステップS19)。
【0054】以上のようなトランザクション処理により、クライアントプログラム11は、トランザクション13と処理オブジェクト(A)23,(B)32,(C)41へのコネクション22を利用して、一連の処理をDBMS51による同じトランザクションリソース上で実行することにより、全ての処理が同じトランザクションリソースの下で、コミット(処理の反映)、ロールバック(処理の中止)を実行することができる。
【0055】さらに、クライアントプログラム11は、各サーバ(A)2,(B)3,(C)4上の各処理オブジェクト(A)23,(B)32,(C)41での処理だけでなく、クライアントプログラム11上のDB処理15、コミット処理16も、同じトランザクションリソース上で実行することができる。また、サーバ(C)4上の処理オブジェクト(C)41も、他の処理オブジェクト(A)23,(B)32に対して同じトランザクション上で処理を実行することができ、またクライアント1、各処理オブジェクト(A)23,(B)32,(C)41相互間での、DBへの処理結果の相互参照が可能となり、クライアント1からの要求を高度にまとめ上げることができる。
【0056】これらのシステム形態(クライアントプログラム11や各サーバ(A)2,(B)3,(C)4の各処理オブジェクト(A)23,(B)32,(C)41の配置)が一度確立した状態で、システム管理者が、サーバ構成とサーバ上で起動されるコネクション22の構成を変更しても、クライアントプログラム11での処理は、何の変更もする必要がなく、システム管理者はシステム能力やサーバの性能、運用上での制約に従って、システムの構成を変更することが可能になる。また、システムプログラムは、システムの稼働環境にとらわれずにシステム開発を行うことができる。
【0057】以上のような本実施の形態によるトランザクション処理によれば、前述したOMGによる規格のトランザクション処理に比べて、(1)サーバ側の処理オブジェクトをリソースマネージャからアクセスできるリソースとして作成する、(4)処理オブジェクトはトランザクションマネージャに自分自身をトランザクションリソースとして登録する、(7)トランザクションマネージャは各処理オブジェクトに2フェーズコミットを実行する、などの処理を行うことなく、複数の処理オブジェクトを1つのコネクションを使って実行することができる。
【0058】次に、本実施の形態のトランザクション管理システムを、生産管理、電子商取引などに適用した場合の一例を説明する。
【0059】(1)生産管理生産管理を実行するシステムには、各処理オブジェクトとして、生産計画、生産指示、進捗管理、在庫管理、進行制御、実績管理など、多種の業務処理が含まれており、それらを一括した処理として実行すると、システムの拡張性が阻害されてしまう。一方、多様な実際の生産形態に対応する点に、システムに対する機能変更の要求が高く、この要求と、各種の処理をシームレスに連携させる技術が必要になる。この技術の1つとして分散オブジェクト技術が使われるが、分散された各オブジェクトの処理をトランザクションとして統一的に扱う必要があり、前述したようなトランザクション管理技術を良好に適用することができる。別の技術を利用すると、本来求めていた運用時の拡張性が確保できないため、処理プログラムの修正が発生することになり、自由なシステム構築ができなくなる。
【0060】(2)電子商取引電子商取引を実行するシステムは、前記の生産管理のシステムと同様に、顧客管理、受注管理、発送管理、決済管理などの各種業務処理を顧客からの発注依頼に対して、一連の同期の取れた処理を実行する必要があり、同様に、前述したトランザクション管理技術が良好に適用可能となる。
【0061】(3)その他他に、トランザクションを利用するシステムとして、SCM(SupplyChain Management)システム、電子決済システム、ERP(Enterprise Resource Planning)システム、MRP(Material Requirements Planning)システムなどがある。さらに、トランザクションを提供するシステムとして、アプリケーションサーバ、トランザクションモニタ、EJB(Enterprise Java Beans)サーバ、データベースサーバなどがある。これらのシステムについても、前述したトランザクション管理技術を良好に適用することが可能となる。
【0062】従って、本実施の形態のトランザクション管理技術によれば、複数のサーバ2〜4上に配置された複数の処理オブジェクト23,32,41に対して、同一のトランザクション13を提供することにより、クライアント1とサーバ2〜4上の各処理オブジェクト23,32,41の位置関係を独立にし、システム運用時におけるプログラム変更を必要としない拡張性を持ったシステムを実現することができる。
【0063】よって、複数のサーバ2〜4上の複数の処理オブジェクト23,32,41、およびそれを利用するクライアント1との間で、クライアント1および各処理オブジェクト23,32,41から見たサーバ2〜4の配置を完全に隠蔽することができる。
【0064】この結果、トランザクション管理システムは、複数の処理オブジェクト23,32,41により構成されているが、各々のサーバ2〜4上への処理オブジェクト23,32,41の配置場所が、クライアントプログラム11や互いの処理オブジェクト23,32,41から完全に隠蔽されているため、その処理オブジェクト23,32,41の配置をシステム運用時の環境に応じて自由に組み替えることができる。特に、処理性能の点で、自由に拡張することができる。
【0065】また、当初予定していた処理能力に対して不足する事態が発生しても、サーバを追加して処理オブジェクトの配置を変更するだけで、処理能力を増大させることができる。
【0066】また、同じ処理オブジェクトを別のサーバ上に分散配置するだけで、同じトランザクション上で同時に動作させることも、負荷状況に応じて切り替えて使うこともできる。
【0067】以上、本発明者によってなされた発明をその実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【0068】たとえば、前記実施の形態においては、3つのサーバ(A),(B),(C)上で処理する複数の処理オブジェクトに対するDBMSをサーバ(D)に、このDBMSのコネクションをサーバ(A)にそれぞれ備え、またサーバ(B)の処理オブジェクト自身がサーバ(C)の処理オブジェクトを作成する場合を例に説明したが、これに限定されるものではなく、サーバの数量、各サーバへの処理オブジェクトやデータベース、コネクションの配置、この処理オブジェクトを作成するサーバなどは種々変更可能である。
【0069】また、トランザクション管理技術の応用として、たとえば(1)1つのトランザクションリソースを複数のアプリケーションサーバ間で共有することができるアプリケーションサーバ、(2)複数の業務処理を同じトランザクションリソースの上で処理する電子決済システム、(3)1つのトランザクションリソースを他の複数のサーバ、処理オブジェクトに配信可能なデータベースサーバ、(4)1つのトランザクションリソースを他の複数のサーバ、処理オブジェクトに配信可能なトランザクションモニタ、などに適用することも可能である。
【0070】
【発明の効果】本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、以下のとおりである。
【0071】(1)1つ以上のサーバ上に配置された複数の処理オブジェクトに対して、統一したトランザクション環境を提供することで、クライアントとサーバ上の各処理オブジェクトの位置関係を独立にし、システム運用時におけるプログラムの変更を必要としない拡張性を持ったシステムを実現することが可能となる。
【0072】(2)前記(1)により、1つ以上のサーバ上に配置された複数の処理オブジェクトに対して統一したトランザクション環境を提供するため、複数の処理オブジェクトおよびそれを利用するクライアント間で処理のアトミック性を保証することにより、クライアントおよび各処理オブジェクトから見たサーバの配置を完全に隠蔽することが可能となる。
【0073】(3)前記(2)により、各サーバ上への処理オブジェクトの配置場所が、クライアントプログラムや互いの処理オブジェクトから完全に隠蔽されているため、その処理オブジェクトの配置をシステム運用時の環境に応じて自由に組み替えることが可能となる。特に、処理性能の点で自由に拡張することができる。
【0074】(4)前記(3)により、当初予定していた処理能力に対して不足する事態が発生しても、サーバを追加して処理オブジェクトの配置を変更するだけで、処理能力を増大させることが可能となる。また、同じ処理オブジェクトを別のサーバ上に分散配置するだけで、同じトランザクション上で同時に動作させることも、負荷状況に応じて切り替えて使うことも可能となる。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013