JPWO2010041515A1 - 複数のアプリケーションサーバにより共有データをアクセスするシステム - Google Patents

複数のアプリケーションサーバにより共有データをアクセスするシステム Download PDF

Info

Publication number
JPWO2010041515A1
JPWO2010041515A1 JP2010532855A JP2010532855A JPWO2010041515A1 JP WO2010041515 A1 JPWO2010041515 A1 JP WO2010041515A1 JP 2010532855 A JP2010532855 A JP 2010532855A JP 2010532855 A JP2010532855 A JP 2010532855A JP WO2010041515 A1 JPWO2010041515 A1 JP WO2010041515A1
Authority
JP
Japan
Prior art keywords
mode
centralized
distributed
transition
shared data
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
JP2010532855A
Other languages
English (en)
Other versions
JP5213077B2 (ja
Inventor
洋 堀井
洋 堀井
陽介 小澤
陽介 小澤
美紀 榎
美紀 榎
民也 小野寺
民也 小野寺
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2010532855A priority Critical patent/JP5213077B2/ja
Publication of JPWO2010041515A1 publication Critical patent/JPWO2010041515A1/ja
Application granted granted Critical
Publication of JP5213077B2 publication Critical patent/JP5213077B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • G06F16/1767Concurrency control, e.g. optimistic or pessimistic approaches
    • G06F16/1774Locking methods, e.g. locking methods for file systems allowing shared and concurrent access to files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2336Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
    • G06F16/2343Locking methods, e.g. distributed locking or locking implementation details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】時間帯に関わらず効率良く動作させる。【解決手段】共有データをアクセスする複数のアプリケーションサーバと、複数のアプリケーションサーバのそれぞれによる共有データのロックを集中管理する集中管理部と、を備え、複数のアプリケーションサーバのそれぞれは、当該アプリケーションサーバによる共有データのロックを管理する分散管理部と、分散管理部からロックを取得する分散モードか、集中管理部からロックを取得する集中モードかを選択する選択部と、を有するシステムを提供する。【選択図】図2

Description

本発明は、複数のアプリケーションサーバにより共有データをアクセスするシステム、当該システムにおけるアプリケーションサーバ、プログラムおよび方法に関する。
データベースを格納するデータベースサーバと、それぞれがデータベースをアクセスする複数のアプリケーションサーバとを備えるシステムが知られている。このようなシステムは、アプリケーションサーバにデータベースの参照結果をキャッシュさせて、データベースサーバの負荷を軽減することができる。
アプリケーションサーバにデータベースの参照結果をキャッシュさせるシステムでは、データベースと不整合なキャッシュデータの参照防止を目的として、複数のアプリケーションサーバ間でロック制御をしなければならない。ロック制御の手法としては、例えば、各アプリケーションサーバがそれぞれ個別にロックを管理する分散ロック方式、および、ロックサーバ等がロックを集中して管理する集中ロック方式が知られている。なお、以下、分散ロック方式のロック制御をキャッシュモード、集中ロック方式のロック制御をデータベースモードという。
キャッシュモードが適用されたシステムにおいて、データベースを参照する場合、アプリケーションサーバは、参照に先立ってローカルで管理する参照ロックを取得する。また、キャッシュモードが適用されたシステムにおいて、データベースを更新する場合、アプリケーションサーバは、更新に先立って他の全てのアプリケーションサーバ内で管理する排他ロックを取得する。また、データベースモードが適用されたシステムにおいて、データベースを参照または更新する場合、アプリケーションサーバは、参照または更新に先立ってロックサーバで管理する参照ロックまたは排他ロックを取得する。
ここで、キャッシュモードは、参照ロックの取得時のレイテンシが短くなるが、排他ロックを複数のアプリケーションサーバのそれぞれから取得しなければならなく処理が煩雑となる。これに対して、データベースモードは、排他ロックを1つのロックサーバからのみ取得すればよいので処理が簡易であるが、参照ロックの取得時のレイテンシは長くなる。従って、参照の多いアプリケーションを実現するシステムにおいては、キャッシュモードを適用し、更新の多いアプリケーションを実現するシステムにおいては、データベースモードを適用することが好ましい。
ところで、銀行業務等を実現するシステムは、昼間の時間帯においてはデータベースの更新よりも参照が多く、また、顧客による利用の比較的に少ない夜間の時間帯においては、データベースのバッチ更新が行われる。このようなシステムにキャッシュモードを適用した場合、参照が比較的に多い昼間の時間帯においては動作効率が良いが、バッチ更新が行われる夜間の時間帯においては動作効率が悪くなる。反対に、このようなシステムにデータベースモードを適用した場合には、バッチ更新が行われる夜間の時間帯においては動作効率が良く、参照が比較的に多い昼間の時間帯においては動作効率が悪くなる。従って、例えばある特定の時間帯において更新が比較的に多くなるようなアプリケーションを実現するシステムでは、時間帯に関わらず動作効率を良くすることは困難であった。
そこで本発明は、上記の課題を解決することのできるシステム、アプリケーションサーバ、プログラムおよび方法を提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
上記課題を解決するために、本発明の第1の態様においては、共有データをアクセスする複数のアプリケーションサーバと、前記複数のアプリケーションサーバのそれぞれによる前記共有データのロックを集中管理する集中管理部と、を備え、前記複数のアプリケーションサーバのそれぞれは、当該アプリケーションサーバによる前記共有データのロックを管理する分散管理部と、前記分散管理部からロックを取得する分散モードか、前記集中管理部からロックを取得する集中モードかを選択する選択部と、を有するシステムを提供する。さらに、当該システムにおけるアプリケーションサーバ、当該アプリケーションサーバとしてコンピュータを機能させるプログラムおよび方法を提供する。なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
本発明の実施形態に係る情報処理システム10の構成を示す。 複数のアプリケーションサーバ30のそれぞれの構成を示す。 共有データ(ITEMテーブル)のデータ構造を定義するスキーマの一例を示す。 図3に示されるITEMテーブルから値を参照するための参照クエリの一例を示す。 キャッシュ部56がキャッシングするデータの一例を示す。 選択部60により選択されるモードの一例を示す。 モードを遷移させる場合の遷移条件の一例を示す。 各モードにおける、キャッシュの参照の可否、データベースの参照の可否およびデータベースの更新の可否の一例を示す。 情報処理システム10における、ある一のアプリケーションサーバ30(A1)、および、他の複数のアプリケーションサーバ30(A2〜An)による処理フローの一例を示す。 情報処理システム10に新たなアプリケーションサーバ30が追加された場合における、当該新たなアプリケーションサーバ30のモードの決定フローを示す。 本発明の実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、本実施形態に係る情報処理システム10の構成を示す。情報処理システム10は、データベースサーバ20と、複数のアプリケーションサーバ30と、集中管理部40とを備える。
データベースサーバ20は、共有データを記憶する。本実施形態においては、共有データは、データベース内のテーブルである。
複数のアプリケーションサーバ30のそれぞれは、アプリケーションプログラムを実行することにより、当該アプリケーションプログラムに記述された情報処理を行う。また、複数のアプリケーションサーバ30のそれぞれは、アプリケーションプログラムの記述に従って、データベースサーバ20に記憶された共有データをネットワークを介してアクセスする。すなわち、複数のアプリケーションサーバ30のそれぞれは、共有データの参照および共有データの更新をする。
集中管理部40は、複数のアプリケーションサーバ30のそれぞれによる共有データのロックを集中管理する。本実施形態においては、集中管理部40は、共有データのレコード毎にロックを管理する。
より詳しくは、集中管理部40は、一のレコードについて、一のアプリケーションサーバ30から参照ロックの取得要求を受けた場合、他のアプリケーションサーバ30が排他ロックを取得していないことを条件として、当該一のアプリケーションサーバ30に参照ロックを取得させる。また、集中管理部40は、一のレコードについて、一のアプリケーションサーバ30から排他ロックの取得要求を受けた場合、他のアプリケーションサーバ30が参照ロックまたは排他ロックを取得していないことを条件として、当該一のアプリケーションサーバ30に排他ロックを取得させる。これにより、複数のアプリケーションサーバ30は、互いに不整合なく共有データを参照および更新することができる。なお、データベースサーバ20および集中管理部40は、同一のシステムにより管理される構成であってよい。
図2は、複数のアプリケーションサーバ30のそれぞれの構成を示す。複数のアプリケーションサーバ30のそれぞれは、実行部52と、アクセス制御部54と、キャッシュ部56と、分散管理部58とを有する。このようなアプリケーションサーバ30は、コンピュータがプログラムを実行することにより実現される。
実行部52は、アプリケーションプログラムにより提供される情報処理を実行する。実行部52は、例えば与えられたリクエストに応じた処理を実行して、処理結果をレスポンスとして返信する。また、実行部52は、共有データを参照または更新する処理を実行する場合には、データベースサーバ20に、アクセス制御部54を介して参照要求または更新要求を発行する。実行部52は、一例として、SQL(Structured Query Language)により記述された参照要求または更新要求を発行してよい。
アクセス制御部54は、実行部52により発行された共有データに対する参照要求または更新要求を、データベースサーバ20にネットワークを介して送信する。そして、アクセス制御部54は、データベースサーバ20に送信した要求に応じた処理結果を取得して、実行部52に返信する。
また、アクセス制御部54は、データベースサーバ20に対するアクセスのトランザクションが開始した場合、選択部60を介して、集中管理部40または分散管理部58からロックを取得する。より詳しくは、アクセス制御部54は、更新要求を含むトランザクション(以下、更新トランザクションと呼ぶ)を開始する場合には、排他ロックを取得する。また、アクセス制御部54は、更新要求を含まないトランザクション(以下、参照トランザクションと呼ぶ)を開始する場合には、参照ロックを取得する。アクセス制御部54は、ロックを取得できない場合には、共有データに対するアクセスを行わない。
なお、トランザクションとは、データベースサーバ20との間でやり取りされる例えば不可分な複数の処理をまとめた単位をいう。データベースサーバ20が例えばSQLサーバであれば、トランザクションは、"Begin"から"Commit"または"Rollback"までの一連の処理をいう。
キャッシュ部56は、アクセス制御部54が参照した共有データをキャッシングする。キャッシュ部56は、トランザクションが終了した場合、キャッシングした共有データを無効化してよい。
分散管理部58は、当該アプリケーションサーバ30による共有データのロックを管理する。本実施形態においては、分散管理部58は、共有データのレコード毎にロックを管理する。
より詳しくは、分散管理部58は、一のレコードについて、アクセス制御部54から参照ロックの取得要求を受けた場合、他のアプリケーションサーバ30のアクセス制御部54が排他ロックを取得していないことを条件として、当該アクセス制御部54に参照ロックを取得させる。また、分散管理部58は、一のレコードについて、アクセス制御部54から排他ロックの取得要求を受けた場合、他のアプリケーションサーバ30のそれぞれに問い合わせをし、他のアプリケーションサーバ30の全てが参照ロックまたは排他ロックを取得していないことを条件として、当該アクセス制御部54に排他ロックを取得させる。これにより、分散管理部58は、他のアプリケーションサーバ30と不整合なく共有データを参照および更新することができる。
選択部60は、分散管理部58からロックを取得する分散モードか、集中管理部40からロックを取得する集中モードかを選択する。選択部60は、分散モードを選択している場合、アクセス制御部54からのロックの取得要求を分散管理部58に与えて、アクセス制御部54に分散管理部58からロックを取得させる。また、選択部60は、集中モードを選択している場合、アクセス制御部54からのロックの取得要求をネットワークを介して集中管理部40に与えて、アクセス制御部54に集中管理部40からロックを取得させる。
ここで、選択部60は、他のアプリケーションサーバ30内のそれぞれの選択部60と通信を行う。選択部60は、複数のアプリケーションサーバ30のうち少なくとも1つが共有データを更新することを条件として、集中モードに遷移する。また、選択部60は、複数のアプリケーションサーバ30の全てが共有データを更新していないことを条件として、分散モードに遷移する。そして、アクセス制御部54は、分散モードにおいて、共有データの参照を許可し且つ更新を禁止してよい。また、アクセス制御部54は、集中モードにおいて、共有データの参照および更新を許可してよい。
このようなアプリケーションサーバ30は、共有データを更新する場合においては、集中管理部40から排他ロックを取得するので、他のアプリケーションサーバとの間のやり取りを無くすことができる。また、アプリケーションサーバ30は、共有データを更新しない場合においては、分散管理部58から参照ロックを取得するので、参照ロックを取得するレイテンシを短くすることができる。従って、アプリケーションサーバ30によれば、効率良く分散ロック制御をすることができる。
図3は、共有データ(ITEMテーブル)のデータ構造を定義するスキーマの一例を示す。図4は、図3に示されるITEMテーブルから値を参照するための参照クエリの一例を示す。図5は、キャッシュ部56がキャッシングするデータの一例を示す。
キャッシュ部56は、一例として、SQLにより記述された参照クエリにより、データベースサーバ20内の共有データを参照した結果を格納する。例えば、データベースサーバ20は、図3のスキーマに示されるようなITEMテーブルを共有データとして記憶していたとする。この場合において、アクセス制御部54は、データベースサーバ20に対して図4の参照クエリを発行すると、図5に示されるようなクエリ結果をデータベースサーバ20から取得することができる。キャッシュ部56は、アクセス制御部54が取得した図5に示されるようなクエリ結果をキャッシングする。
そして、アクセス制御部54は、実行部52から図5に示されるデータの全部または一部について再度参照要求を受けると、データベースサーバ20に対して参照クエリを発行することに代えて、キャッシュ部56から共有データを取得してクエリ結果として実行部52に返信する。これにより、アクセス制御部54は、データベースサーバ20の負荷を下げ、更に、共有データを参照するレイテンシを短くすることができる。
図6は、選択部60により選択されるモードの一例を示す。図7は、モードを遷移させる場合の遷移条件の一例を示す。選択部60は、図6および図7に示されるように、分散モード、分散モードから集中モードに遷移させるための集中遷移モード、集中モードである集中参照モード、集中モードである集中更新モード、および、集中モードから分散モードに遷移させるための分散遷移モードの何れかを選択する。
選択部60は、分散モードにおいて、共有データを更新する場合、分散モードから集中遷移モードに遷移する。選択部60は、一例として、更新トランザクションの実行を開始した場合、分散モードから集中遷移モードに遷移してよい。または、選択部60は、分散モードにおいて、他の少なくとも1つのアプリケーションサーバ30が集中遷移モードであることを条件として、分散モードから集中遷移モードに遷移する。これにより、複数のアプリケーションサーバ30は、何れか一のアプリケーションサーバ30が共有データを更新する場合(例えば、更新トランザクションの実行を開始した場合)、全てが分散モードから集中遷移モードに遷移することができる。
また、選択部60は、集中遷移モードにおいて、全てのアプリケーションサーバ30が集中遷移モード、集中モードである集中参照モードまたは集中モードである集中更新モードの何れかであることを条件として、集中遷移モードから、集中モードである集中参照モードに遷移する。これにより、複数のアプリケーションサーバ30は、全てが分散モードから集中遷移モードに遷移したことを条件として、集中モード(集中参照モードまたは集中遷移モード)に遷移することができる。なお、複数のアプリケーションサーバ30は、集中遷移モードから集中モードである集中参照モードへと、互いに同期して遷移してもよい。
また、選択部60は、集中参照モードにおいて、共有データを更新する場合、集中参照モードから集中更新モードに遷移する。選択部60は、一例として、更新トランザクションを実行する場合、集中参照モードから集中更新モードに遷移してよい。
また、選択部60は、集中更新モードにおいて、共有データの更新を終えた場合、集中更新モードから集中参照モードに遷移する。選択部60は、一例として、全ての更新トランザクションの実行が終了した場合、集中更新モードから集中参照モードに遷移してよい。
また、選択部60は、集中参照モードにおいて、全てのアプリケーションサーバ30が集中参照モードまたは集中更新モードの何れかであることを条件として、または、少なくとも1つのアプリケーションサーバ30が分散遷移モードであることを条件として、集中参照モードから分散遷移モードに遷移する。また、選択部60は、集中参照モードに遷移してから一定期間経過したことを更に条件として、集中参照モードから分散遷移モードに遷移してもよい。これにより、各アプリケーションサーバ30は、集中モードにおいて共有データを更新しない場合には、分散遷移モードに遷移することができる。
また、選択部60は、分散遷移モードにおいて、全てのアプリケーションサーバ30が、分散遷移モード、分散モードまたは集中遷移モードの何れかであることを条件として、集中遷移モードから分散モードに遷移する。これにより、複数のアプリケーションサーバ30は、全てが集中モードから分散遷移モードに遷移したことを条件として、分散モードに遷移することができる。なお、複数のアプリケーションサーバ30は、分散遷移モードから分散モードへと、互いに同期して遷移してもよい。
なお、選択部60は、分散遷移モードにおいて、共有データを更新する場合、全てのアプリケーションサーバ30が、分散遷移モード、集中参照モードまたは集中更新モードの何れかであることを条件として、分散遷移モードから集中参照モードに遷移する構成であってもよい。これにより、アプリケーションサーバ30は、分散遷移モードにおいて、共有データを更新する場合(例えば、更新トランザクションの実行を開始した場合)、分散遷移モードから、集中参照モードを介して集中更新モードに遷移することができる。
図8は、各モードにおける、キャッシュの参照の可否、データベースの参照の可否およびデータベースの更新の可否の一例を示す。選択部60は、分散モードにおいて、分散管理部58からロックを取得する。また、選択部60は、集中遷移モード、集中参照モード、集中更新モードおよび分散遷移モードにおいて、集中管理部40からロックを取得する。
更に、分散モードにおいて分散管理部58からロックを取得している場合、選択部60は、分散モードから集中遷移モードへの遷移において、集中管理部40からロックを取得し、分散管理部58から取得したロックを開放する。また、分散遷移モードにおいて集中管理部40からロックを取得している場合、選択部60は、分散遷移モードから分散モードへの遷移において、分散管理部58からロックを取得し、集中管理部40から取得したロックを開放する。これにより、選択部60は、ロックの取得先を切り替える場合において、共有データの不整合を無くすことができる。
また、アクセス制御部54は、図8に示されるように、分散モードにおいて、キャッシュ部56にキャッシュされた共有データおよびデータベースサーバ20に記憶された共有データの参照を許可する。即ち、アクセス制御部54は、分散モードにおいて、キャッシュ部56を用いて共有データを参照する。これにより、アクセス制御部54は、分散モードにおいて、データベースサーバ20の負担を軽減するとともに共有データへのアクセスを速くすることができる。さらに、アクセス制御部54は、分散モードにおいて、データベースサーバ20に記憶された共有データの更新を禁止する。これにより、アクセス制御部54は、分散モードにおいて、他の複数のアプリケーションサーバ30から排他ロックを取得する処理を無くして分散ロック制御を簡易にすることができる。
また、アクセス制御部54は、図8に示されるように、集中更新モードにおいて、キャッシュ部56にキャッシュされた共有データの参照を禁止し、データベースサーバ20に記憶された共有データの参照を許可する。即ち、アクセス制御部54は、集中更新モードにおいて、キャッシュ部56を用いずに共有データを参照する。さらに、アクセス制御部54は、集中更新モードにおいて、データベースサーバ20に記憶された共有データの更新を許可する。これにより、アクセス制御部54は、集中更新モードにおいて、キャッシュアクセスを禁止して共有データが不整合となることを無くすことができる。
また、アクセス制御部54は、図8に示されるように、集中遷移モード、集中参照モードおよび分散遷移モードにおいて、キャッシュ部56にキャッシュされた共有データの参照を禁止し、データベースサーバ20に記憶された共有データの参照を許可する。即ち、アクセス制御部54は、集中遷移モード、集中参照モードおよび分散遷移モードにおいて、キャッシュ部56を用いずに共有データを参照する。さらに、アクセス制御部54は、集中遷移モード、集中参照モードおよび分散遷移モードにおいて、データベースサーバ20に記憶された共有データの更新を禁止する。これにより、アクセス制御部54は、分散モードから集中更新モードへの遷移および集中更新モードから分散モードへの遷移において、キャッシュアクセスを禁止して共有データが不整合となることを無くすことができる。
さらに、選択部60は、分散遷移モードから分散モードへの遷移時において、キャッシュ部56にキャッシュされた共有データを無効にしてよい。これに代えて、選択部60は、分散遷移モードから分散モードへの遷移時において、キャッシュ部56にキャッシュされた共有データのうち何れかのアプリケーションサーバ30により更新されたデータの通知を受け、通知を受けたデータを選択的に無効化してもよい。これにより、選択部60は、キャッシュ部56にキャッシュされた共有データと、データベースサーバ20に記憶された共有データとの間の不整合を無くすことができる。
図9は、情報処理システム10における、ある一のアプリケーションサーバ30(A1)、および、他の複数のアプリケーションサーバ30(A2〜An)による処理フローの一例を示す。全てのアプリケーションサーバ30(A1〜An)が分散モードである場合において、ある一のアプリケーションサーバ30(A1)が更新トランザクションの実行を開始すると、当該一のアプリケーションサーバ30(A1)、および、他の複数のアプリケーションサーバ30(A2〜An)は、図9のフローに従って動作をする。
まず、一のアプリケーションサーバ30(A1)において更新トランザクションが開始されると、当該一のアプリケーションサーバ30(A1)は、集中遷移モードに遷移する(S101、S102、S103)。他の複数のアプリケーションサーバ30(A2〜An)のそれぞれは、一のアプリケーションサーバ30(A1)から通知(S103A)を受け取って、一のアプリケーションサーバ30(A1)が集中遷移モードであることを認識し、集中遷移モードに遷移する(S201、S204、S205)。この結果、全てのアプリケーションサーバ30(A1〜An)は、集中遷移モードへとなる。
複数のアプリケーションサーバ30(A1〜An)のそれぞれは、他のアプリケーションサーバ30(A1〜An)のそれぞれから通知(S205A)を受け取って、全てのアプリケーションサーバ30(A1〜An)が集中遷移モードであることを認識し(S106、S206)、集中参照モードに遷移する(S107、S207)。ここで、複数のアプリケーションサーバ30(A1〜An)のそれぞれは、互いに同期して、集中遷移モードから集中参照モードへと遷移してよい。
続いて、他のアプリケーションサーバ30(A2〜An)のそれぞれは、集中参照モードに遷移してから一定期間経過すると(S212)、分散遷移モードに遷移する(S213)。
また、一のアプリケーションサーバ30(A1)は、集中参照モードから集中更新モードに遷移する(S108)。続いて、一のアプリケーションサーバ30(A1)は、共有データの更新を実行する(S109)。続いて、一のアプリケーションサーバ30(A1)は、全ての更新トランザクションが終了すると(S110)、集中更新モードから集中参照モードに遷移する(S111)。一のアプリケーションサーバ30(A1)は、集中参照モードに遷移してから一定期間経過すると(S112)、分散遷移モードに遷移する(S113)。この結果、全てのアプリケーションサーバ30(A1〜An)は、分散遷移モードとなる。
複数のアプリケーションサーバ30(A1〜An)のそれぞれは、他のアプリケーションサーバ30(A1〜An)から通知(S113A、S213A)を受け取って、全てのアプリケーションサーバ30(A1〜An)が分散遷移モードであることを認識し(S114、S214)、分散モードに遷移する(S115、S215)。ここで、複数のアプリケーションサーバ30(A1〜An)のそれぞれは、互いに同期して、分散遷移モードから分散モードへと遷移してよい。
以上のように複数のアプリケーションサーバ30のそれぞれは、分散モードにおいて何れかの一のアプリケーションサーバ30において更新トランザクションが開始されると、分散モードから集中遷移モードを介して集中参照モードへと遷移することができる。さらに、一のアプリケーションサーバ30は、集中参照モードから集中更新モードへと遷移して、更新を実行することができる。そして、複数のアプリケーションサーバ30のそれぞれは、一のアプリケーションサーバ30における更新が終了すると、集中参照モードから分散遷移モードを介して分散モードへと遷移することができる。
図10は、情報処理システム10に新たなアプリケーションサーバ30が追加された場合における、当該新たなアプリケーションサーバ30のモードの決定フローを示す。当該情報処理システム10は、新たなアプリケーションサーバ30を追加することができる。情報処理システム10に新たに追加されたアプリケーションサーバ30の選択部60は、図10に示される判断に従ってモードを選択する。
まず、選択部60は、少なくとも1つの他のアプリケーションサーバ30が集中遷移モードであるか否かを判断する(S301)。選択部60は、少なくとも1つの他のアプリケーションサーバ30が集中遷移モードであることを条件として(S301のYes)、集中遷移モードに遷移する(S302)。
全ての他のアプリケーションサーバ30が集中遷移モードではない場合(S301のNo)、続いて、選択部60は、少なくとも1つの他のアプリケーションサーバ30が分散モードであるか否かを判断する(S303)。選択部60は、全ての他のアプリケーションサーバ30が集中遷移モードではなく、且つ、少なくとも1つの他のアプリケーションサーバ30が分散モードであることを条件として(S303のYes)、分散モードに遷移する(S304)。
続いて、全ての他のアプリケーションサーバ30が集中遷移モードまたは分散モードの何れでもない場合(S303のNo)、続いて、選択部60は、少なくとも1つの他のアプリケーションサーバ30が分散遷移モードであるか否かを判断する(S305)。選択部60は、全ての他のアプリケーションサーバ30が集中遷移モードまたは分散モードの何れでもなく、且つ、少なくとも1つの他のアプリケーションサーバ30が分散遷移モードであることを条件として(S305のYes)、分散遷移モードに遷移する(S306)。
そして、選択部60は、全ての他のアプリケーションサーバ30が集中遷移モード、分散モードまたは分散遷移モードの何れでもないことを条件として(S305のNo)、集中参照モードに遷移する(S307)。以上のようにモードを決定することによって、アプリケーションサーバ30は、情報処理システム10に新たに追加された場合であっても、他のアプリケーションサーバ30と整合性を保って共有データにアクセスすることができる。
図11は、本実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、及びCD−ROMドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部とを備える。
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、CD−ROMドライブ2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。CD−ROMドライブ2060は、CD−ROM2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、CD−ROM2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
コンピュータ1900にインストールされ、コンピュータ1900をアプリケーションサーバ30として機能させるプログラムは、実行モジュールと、アクセス制御モジュールと、キャッシュモジュールと、分散管理モジュールと、選択モジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、実行部52、アクセス制御部54、キャッシュ部56、分散管理部58および選択部60としてそれぞれ機能させる。
これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である実行部52、アクセス制御部54、キャッシュ部56、分散管理部58および選択部60として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有のアプリケーションサーバ30が構築される。
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フレキシブルディスク2090、又はCD−ROM2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
また、CPU2000は、ハードディスクドライブ2040、CD−ROMドライブ2060(CD−ROM2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、CD−ROM2095の他に、DVD又はCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
10 情報処理システム
20 データベースサーバ
30 アプリケーションサーバ
40 集中管理部
52 実行部
54 アクセス制御部
56 キャッシュ部
58 分散管理部
60 選択部
1900 コンピュータ
2000 CPU
2010 ROM
2020 RAM
2030 通信インターフェイス
2040 ハードディスクドライブ
2050 フレキシブルディスク・ドライブ
2060 CD−ROMドライブ
2070 入出力チップ
2075 グラフィック・コントローラ
2080 表示装置
2082 ホスト・コントローラ
2084 入出力コントローラ
2090 フレキシブルディスク
2095 CD−ROM

Claims (16)

  1. 共有データをアクセスする複数のアプリケーションサーバと、
    前記複数のアプリケーションサーバのそれぞれによる前記共有データのロックを集中管理する集中管理部と、
    を備え、
    前記複数のアプリケーションサーバのそれぞれは、
    当該アプリケーションサーバによる前記共有データのロックを管理する分散管理部と、
    前記分散管理部からロックを取得する分散モードか、前記集中管理部からロックを取得する集中モードかを選択する選択部と、
    を有するシステム。
  2. 前記分散モードにおいて、前記共有データの更新を禁止するアクセス制御部を更に備える
    請求項1に記載のシステム。
  3. 前記選択部は、
    前記複数のアプリケーションサーバの全てが前記共有データを更新していないことを条件として、前記分散モードに遷移し、
    前記複数のアプリケーションサーバのうち少なくとも1つが前記共有データを更新することを条件として、前記集中モードに遷移する
    請求項2に記載のシステム。
  4. 前記選択部は、
    前記分散モードにおいて、前記共有データを更新する場合、前記分散モードから集中遷移モードに遷移し、
    前記分散モードにおいて、他の少なくとも1つの前記アプリケーションサーバが前記集中遷移モードであることを条件として、前記分散モードから前記集中遷移モードに遷移し、
    前記集中遷移モードにおいて、全ての前記アプリケーションサーバが前記集中遷移モードまたは前記集中モードの何れかであることを条件として、前記集中遷移モードから前記集中モードに遷移する
    請求項3に記載のシステム。
  5. 前記選択部は、前記集中遷移モードにおいて、前記集中管理部からロックを取得し、
    前記アクセス制御部は、前記集中遷移モードにおいて、前記共有データの更新を禁止する
    請求項4に記載のシステム。
  6. 前記選択部は、
    前記集中遷移モードにおいて、全ての前記アプリケーションサーバが前記集中遷移モードまたは前記集中モードの何れかであることを条件として、前記集中遷移モードから前記集中モードである集中参照モードに遷移し、
    前記集中参照モードにおいて、前記共有データを更新する場合、前記集中参照モードから前記集中モードである集中更新モードに遷移し、
    前記集中更新モードにおいて、前記共有データの更新を終えた場合、前記集中更新モードから前記集中参照モードに遷移する
    請求項5に記載のシステム。
  7. 前記アクセス制御部は、前記集中参照モードにおいて、前記共有データの更新を禁止する
    請求項6に記載のシステム。
  8. 前記選択部は、
    前記集中参照モードにおいて、全ての前記アプリケーションサーバが前記集中参照モードまたは前記集中更新モードの何れかである、または、少なくとも1つの前記アプリケーションサーバが分散遷移モードであることを条件として、前記集中参照モードから前記分散遷移モードに遷移し、
    前記分散遷移モードにおいて、全ての前記アプリケーションサーバが、前記分散遷移モード、前記分散モードまたは前記集中遷移モードの何れかであることを条件として、前記集中遷移モードから前記分散モードに遷移する
    請求項7に記載のシステム。
  9. 前記選択部は、前記分散遷移モードにおいて、前記集中管理部からロックを取得し、
    前記アクセス制御部は、前記分散遷移モードにおいて、前記共有データの更新を禁止する
    請求項8に記載のシステム。
  10. 当該システムは、新たな前記アプリケーションサーバを追加することが可能であり、
    新たに追加された前記アプリケーションサーバの前記選択部は、
    少なくとも1つの他の前記アプリケーションサーバが前記集中遷移モードであることを条件として、前記集中遷移モードに遷移し、
    全ての他の前記アプリケーションサーバが前記集中遷移モードではなく、且つ、少なくとも1つの他の前記アプリケーションサーバが前記分散モードであることを条件として、前記分散モードに遷移し、
    全ての他の前記アプリケーションサーバが前記集中遷移モードまたは前記分散モードの何れでもなく、且つ、少なくとも1つの他の前記アプリケーションサーバが前記分散遷移モードであることを条件として、前記分散遷移モードに遷移し、
    全ての他の前記アプリケーションサーバが前記集中遷移モード、前記分散モードまたは前記分散遷移モードの何れでもないことを条件として、前記集中参照モードに遷移する
    請求項9に記載のシステム。
  11. 前記選択部は、前記分散モードから前記集中遷移モードへの遷移において、前記集中管理部からロックを取得し、前記分散管理部から取得したロックを開放する
    請求項4から7の何れかに記載のシステム。
  12. 前記複数のアプリケーションサーバのそれぞれは、
    前記共有データにアクセスするアクセス制御部と、
    前記共有データをキャッシュするキャッシュ部と
    を更に有し、
    前記アクセス制御部は、前記分散モードにおいて、前記キャッシュ部を用いて前記共有データを参照し、前記集中モードにおいて、前記キャッシュ部を用いずに前記共有データを参照し、
    前記選択部は、前記分散モードへの遷移時において、前記キャッシュ部にキャッシュされた前記共有データを無効にする
    請求項1から11の何れかに記載のシステム。
  13. 共有データをアクセスする複数のアプリケーションサーバと、
    前記複数のアプリケーションサーバのそれぞれによる前記共有データのロックを集中管理する集中管理部と、
    を備え、
    前記複数のアプリケーションサーバのそれぞれは、
    当該アプリケーションサーバによる前記共有データのロックを管理する分散管理部と、
    前記分散管理部からロックを取得する分散モード、または、前記集中管理部からロックを取得する集中遷移モード、集中参照モード、集中更新モードおよび分散遷移モードの何れか、を選択する選択部と
    を有し、
    前記選択部は、
    前記分散モードにおいて、前記共有データを更新する場合、前記分散モードから集中遷移モードに遷移し、
    前記分散モードにおいて、他の少なくとも1つの前記アプリケーションサーバが前記集中遷移モードであることを条件として、前記分散モードから前記集中遷移モードに遷移し、
    前記集中遷移モードにおいて、全ての前記アプリケーションサーバが前記集中遷移モード、前記集中参照モードまたは前記集中更新モードの何れかであることを条件として、前記集中遷移モードから前記集中参照モードに遷移し、
    前記集中参照モードにおいて、前記共有データを更新する場合、前記集中参照モードから前記集中更新モードに遷移し、
    前記集中更新モードにおいて、前記共有データの更新を終えた場合、前記集中更新モードから前記集中参照モードに遷移し、
    前記集中参照モードにおいて、全ての前記アプリケーションサーバが前記集中参照モードまたは前記集中更新モードの何れかである、または、少なくとも1つの前記アプリケーションサーバが分散遷移モードであることを条件として、前記集中参照モードから前記分散遷移モードに遷移し、
    前記分散遷移モードにおいて、全ての前記アプリケーションサーバが、前記分散遷移モード、前記分散モードまたは前記集中遷移モードの何れかであることを条件として、前記集中遷移モードから前記分散モードに遷移する
    システム。
  14. 共有データをアクセスする複数のアプリケーションサーバと、前記複数のアプリケーションサーバのそれぞれによる前記共有データのロックを集中管理する集中管理部とを備えるシステムにおける、前記アプリケーションサーバであって、
    当該アプリケーションサーバによる前記共有データのロックを管理する分散管理部と、
    前記分散管理部からロックを取得する分散モードか、前記集中管理部からロックを取得する集中モードかを選択する選択部と、
    有するアプリケーションサーバ。
  15. 共有データをアクセスする複数のアプリケーションサーバと、前記複数のアプリケーションサーバのそれぞれによる前記共有データのロックを集中管理する集中管理部とを備えるシステムにおける、前記アプリケーションサーバとして、コンピュータを機能させるプログラムであって、
    前記コンピュータを、
    当該アプリケーションサーバによる前記共有データのロックを管理する分散管理部と、
    前記分散管理部からロックを取得する分散モードか、前記集中管理部からロックを取得する集中モードかを選択する選択部と
    して機能させるプログラム。
  16. 共有データをアクセスする複数のアプリケーションサーバと、前記複数のアプリケーションサーバのそれぞれによる前記共有データのロックを集中管理する集中管理部とを備えるシステムにおける、前記アプリケーションサーバとして、コンピュータを機能させる方法であって、
    前記コンピュータを、当該アプリケーションサーバによる前記共有データのロックを管理する分散管理部として機能させるステップと、
    前記コンピュータを、前記分散管理部からロックを取得する分散モードか、前記集中管理部からロックを取得する集中モードかを選択する選択部として機能させるステップと
    を有する方法。
JP2010532855A 2008-10-06 2009-08-13 複数のアプリケーションサーバにより共有データをアクセスするシステム Active JP5213077B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010532855A JP5213077B2 (ja) 2008-10-06 2009-08-13 複数のアプリケーションサーバにより共有データをアクセスするシステム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008259926 2008-10-06
JP2008259926 2008-10-06
PCT/JP2009/064316 WO2010041515A1 (ja) 2008-10-06 2009-08-13 複数のアプリケーションサーバにより共有データをアクセスするシステム
JP2010532855A JP5213077B2 (ja) 2008-10-06 2009-08-13 複数のアプリケーションサーバにより共有データをアクセスするシステム

Publications (2)

Publication Number Publication Date
JPWO2010041515A1 true JPWO2010041515A1 (ja) 2012-03-08
JP5213077B2 JP5213077B2 (ja) 2013-06-19

Family

ID=42100471

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010532855A Active JP5213077B2 (ja) 2008-10-06 2009-08-13 複数のアプリケーションサーバにより共有データをアクセスするシステム

Country Status (6)

Country Link
US (2) US8589438B2 (ja)
EP (1) EP2352090B1 (ja)
JP (1) JP5213077B2 (ja)
KR (1) KR20110066940A (ja)
CN (1) CN102165420B (ja)
WO (1) WO2010041515A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010041515A1 (ja) 2008-10-06 2010-04-15 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数のアプリケーションサーバにより共有データをアクセスするシステム
CN102238203A (zh) * 2010-04-23 2011-11-09 中兴通讯股份有限公司 一种实现物联网业务的方法及系统
US8620998B2 (en) * 2010-09-11 2013-12-31 Steelcloud, Inc. Mobile application deployment for distributed computing environments
US8484649B2 (en) 2011-01-05 2013-07-09 International Business Machines Corporation Amortizing costs of shared scans
US9088569B2 (en) * 2011-05-12 2015-07-21 International Business Machines Corporation Managing access to a shared resource using client access credentials
JP5940074B2 (ja) * 2011-09-30 2016-06-29 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation トランザクション処理システム、方法及びプログラム
GB2503266A (en) * 2012-06-21 2013-12-25 Ibm Sharing aggregated cache hit and miss data in a storage area network
US20140280347A1 (en) * 2013-03-14 2014-09-18 Konica Minolta Laboratory U.S.A., Inc. Managing Digital Files with Shared Locks
KR101645163B1 (ko) * 2014-11-14 2016-08-03 주식회사 인프라웨어 분산 시스템에서의 데이터베이스 동기화 방법
WO2019177591A1 (en) * 2018-03-13 2019-09-19 Google Llc Including transactional commit timestamps in the primary keys of relational databases
US11176121B2 (en) * 2019-05-28 2021-11-16 International Business Machines Corporation Global transaction serialization
US11032361B1 (en) * 2020-07-14 2021-06-08 Coupang Corp. Systems and methods of balancing network load for ultra high server availability

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07120333B2 (ja) * 1985-12-16 1995-12-20 株式会社日立製作所 共用データ管理方法
JPH08202567A (ja) * 1995-01-25 1996-08-09 Hitachi Ltd システム間ロック処理方法
US6516351B2 (en) * 1997-12-05 2003-02-04 Network Appliance, Inc. Enforcing uniform file-locking for diverse file-locking protocols
US7200623B2 (en) * 1998-11-24 2007-04-03 Oracle International Corp. Methods to perform disk writes in a distributed shared disk system needing consistency across failures
JP4249622B2 (ja) * 2001-09-21 2009-04-02 ヒューレット・パッカード・カンパニー 共有ストレージを備えたマルチノード環境のためのシステムおよび方法
US7406473B1 (en) * 2002-01-30 2008-07-29 Red Hat, Inc. Distributed file system using disk servers, lock servers and file servers
US7240058B2 (en) * 2002-03-01 2007-07-03 Sun Microsystems, Inc. Lock mechanism for a distributed data system
US6732171B2 (en) * 2002-05-31 2004-05-04 Lefthand Networks, Inc. Distributed network storage system with virtualization
US20050289143A1 (en) * 2004-06-23 2005-12-29 Exanet Ltd. Method for managing lock resources in a distributed storage system
WO2006128062A2 (en) * 2005-05-25 2006-11-30 Terracotta, Inc. Database caching of queries and stored procedures using database provided facilities for dependency analysis and detected database updates for invalidation
US8103642B2 (en) * 2006-02-03 2012-01-24 Oracle International Corporation Adaptive region locking
US20080243847A1 (en) * 2007-04-02 2008-10-02 Microsoft Corporation Separating central locking services from distributed data fulfillment services in a storage system
WO2010041515A1 (ja) 2008-10-06 2010-04-15 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数のアプリケーションサーバにより共有データをアクセスするシステム

Also Published As

Publication number Publication date
US20140082127A1 (en) 2014-03-20
US8589438B2 (en) 2013-11-19
EP2352090A1 (en) 2011-08-03
CN102165420A (zh) 2011-08-24
WO2010041515A1 (ja) 2010-04-15
CN102165420B (zh) 2014-07-16
KR20110066940A (ko) 2011-06-17
EP2352090B1 (en) 2019-09-25
US20100106697A1 (en) 2010-04-29
US9031923B2 (en) 2015-05-12
EP2352090A4 (en) 2015-05-06
JP5213077B2 (ja) 2013-06-19

Similar Documents

Publication Publication Date Title
JP5213077B2 (ja) 複数のアプリケーションサーバにより共有データをアクセスするシステム
US7421562B2 (en) Database system providing methodology for extended memory support
EP3170106B1 (en) High throughput data modifications using blind update operations
CN1755635B (zh) 事务型存储器访问的混合硬件软件实现
US7831772B2 (en) System and methodology providing multiple heterogeneous buffer caches
JP2505939B2 (ja) デ―タのキャストアウトを制御する方法
US8108587B2 (en) Free-space reduction in cached database pages
US20160253371A1 (en) Accessing data entities
US9632944B2 (en) Enhanced transactional cache
JP2003006036A (ja) クラスタ化したアプリケーションサーバおよびデータベース構造を持つWebシステム
JP2001508208A (ja) データ共用方法およびコンピュータアーキテクチャ
US11157466B2 (en) Data templates associated with non-relational database systems
US11880318B2 (en) Local page writes via pre-staging buffers for resilient buffer pool extensions
WO2022095366A1 (zh) 基于Redis的数据读取方法、装置、设备及可读存储介质
CN112540982A (zh) 具有可更新逻辑表指针的虚拟数据库表
US7752399B2 (en) Exclusion control method and information processing apparatus
Wang et al. RDMA-enabled concurrency control protocols for transactions in the cloud era
CN103353891A (zh) 数据库管理系统及其数据处理方法
CN110019113B (zh) 一种数据库的业务处理方法及数据库服务器
JP4306023B2 (ja) トランザクション処理向けストレージ方法および装置、トランザクショナルストレージ
Kalita et al. DurableFS: a file system for NVRAM
WO2023075910A1 (en) Local page writes via pre-staging buffers for resilient buffer pool extensions
JP2002063055A (ja) 書き込み遅延データベース管理方式及びシステム
CN116257519A (zh) 一种数据读写的方法、装置、计算机设备及存储介质
Cebollero et al. Catalog Views and Dynamic aent Views

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120904

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20121114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20121114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130109

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20130206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130220

R150 Certificate of patent or registration of utility model

Ref document number: 5213077

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160308

Year of fee payment: 3