JP4976128B2 - サーバ間の透過的なセッション移送 - Google Patents
サーバ間の透過的なセッション移送 Download PDFInfo
- Publication number
- JP4976128B2 JP4976128B2 JP2006523426A JP2006523426A JP4976128B2 JP 4976128 B2 JP4976128 B2 JP 4976128B2 JP 2006523426 A JP2006523426 A JP 2006523426A JP 2006523426 A JP2006523426 A JP 2006523426A JP 4976128 B2 JP4976128 B2 JP 4976128B2
- Authority
- JP
- Japan
- Prior art keywords
- session
- node
- client
- transport
- database
- 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.)
- Active
Links
- 238000012546 transfer Methods 0.000 claims description 76
- 238000000034 method Methods 0.000 claims description 67
- 238000012545 processing Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 8
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 230000032258 transport Effects 0.000 description 115
- 230000006870 function Effects 0.000 description 35
- 230000008569 process Effects 0.000 description 27
- 238000004891 communication Methods 0.000 description 18
- 230000007704 transition Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000011161 development Methods 0.000 description 14
- 238000002360 preparation method Methods 0.000 description 11
- 230000009471 action Effects 0.000 description 6
- 238000011084 recovery Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000000284 resting effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
- G06F9/4862—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
Chidambaran)他による、「マルチノードシステムにおいてバランスをとる増分的実行時セッション(Incremental Run-Time Session Balancing in a Multi-Node System)」と題された、米国出願番号第XX/XXX,XXX号(代理人事件整理番号第50277−2411号)に関連し、それが本願明細書に引用にて援用される。
Servers)」(代理人事件整理番号第50277-2594号)と題された国際出願PCT/XXXX/XXXXXに関連し、それが本願明細書に引用にて援用される。
多くのエンタープライズデータ処理システムは、データを格納し、管理するためにマルチノードデータベースサーバに依存する。このようなエンタープライズデータ処理システムは、典型的には、第1の階層にマルチノードデータベースサーバを有し、中間階層および外部階層に1つ以上のコンピュータを有する多層構成モデルに従う。
アントからのデータベースにアクセスするリクエストを処理する。マルチノードデータベースサーバmds11などのマルチノードデータベースサーバは、複数の「データベースインスタンス」を含み、各データベースインスタンスは、ノード上で作動する。マルチノードデータベースサーバmds11はデータベースdb11へのアクセスを支配する。マルチノードデータベースサーバは、1つ以上のデータベースへのアクセスを支配し、容易にすることができる。
それを介してクライアントは一連のリクエスト(例えばデータベースステートメントを実行するためのリクエスト)を出す。
クライアント側インターフェイスコンポーネントintcomp11などのクライアント側インターフェイスコンポーネントは、サーバのクライアントの同じコンピュータに存在し、そこで実行されるソフトウェアコンポーネントであって、クライアントおよびサーバ間にインターフェイスを与えるよう構成される。クライアント側インターフェイスコンポーネントintcomp11は、マルチノードデータベースサーバmds11とインターフェイスするのに必要な詳細な動作を実行するよう構成される。例えば、アプリケーションappl11がクライアント側インターフェイスコンポーネントintcomp11の関数を呼び出して、マルチノードデータベースサーバmds11への接続を確立する。クライアント側インターフェイスコンポーネントは次に、マルチノードデータベースサーバmds11の特定のインスタンス上での接続の詳細を処理する。アプリケーションappl11は、クエリー実行のリクエストなどマルチノードデータベースサーバmds11のリクエストを出すためにクライアント側インターフェイスコンポーネントintcomp11の関数を呼び出すよう構成され、クライアント側インターフェイスコンポーネントintcomp11は次に、セッションが確立されるノードとデータベースインスタンスとにその同じリクエストを送信する。
びデータベースインスタンスへの接続のためのネットワークアドレスおよびポート番号などの値を指定する。
マルチノードデータベースサーバを管理するために必要な重要な能力は、ノード間で作業負荷を分散することである。ノード間で作業負荷を最適にバランスを保つことによる作業負荷の分散が用いられて性能を向上させる。作業負荷の分散はまた、メンテナンス動作のためにオフラインにされているノードから別のノードに作業がシフトされることを可能にする。
マルチノード環境においてセッションを転送するのに用いられ得る手法が記載される。下記の記載において、説明のため、本発明の完全な理解を与えるために多くの具体的な詳
細が記載される。しかしながら、本発明がこれらの具体的な詳細なしで実行され得ることは明らかである。他の場合には、本発明を不必要に不明瞭にすることを避けるため、周知の構造及び装置はブロック図形式で示される。
図2は、本発明の一実施例を実現するために用いられ得るマルチノードコンピュータシステムを示す。図2を参照すると、データベースクラスタdbc20を示す。データベースクラスタは、特定のデータベースへのアクセスを管理するマルチノードデータベースサーバ、例えばマルチノードデータベースサーバmds20などをホストする、ノードの集合である。データベースクラスタdbc20は、ノードnd21、nd22、nd23およびnd24を含む。データベースクラスタdbc20のノードは、ノード間である程度の共有記憶(例えばディスクドライブの集合への共有のアクセス)を与える。データベースクラスタdbc20のノードは、ネットワークを介して相互接続されるコンピュータ(例えばワークステーション、パーソナルコンピュータ)の形であることができ、グリッドの一部であり得る。データベースサーバmds20は、データベースインスタンスinst21、inst22、inst23およびinst24を含む。
クライアントがマルチノードデータベースサーバmds20と対話するために、クライアントはデータベース接続リクエストを送信してデータベースインスタンスにセッションを確立する。リスナはデータベースクラスタdbc20上で実行するプロセスであってリクエストを受け取り、それらをデータベースクラスタdbc20内のデータベースインスタンスに導く。
図3は、本発明の一実施例による透過的なセッション移送を示すために用いられる、例
示的クライアント、ソースおよび宛先インスタンスを示すブロック図である。図3を参照すると、データベースインスタンスinst22およびinst24を、ソースインスタンスinst22および宛先インスタンスinst24として示す。クライアントcl30は、クライアントコンピュータcmp30で実行するプロセスである。クライアントコンピュータcmp30はデータベースクラスタdbc20のいかずれのノードからも離れており、クライアントcl30を含む、データベースクラスタdbc20の1つ以上のデータベースクライアントをホストするコンピュータである。クライアントコンピュータcmp30によってホストされるクライアントは、アプリケーションappl30などのアプリケーションを実行するプロセスを含み、アプリケーションappl30はクライアントcl30によって実行される。
コールは、タスクを実行するためクライアントからサーバになされるリクエストである。典型的には、コールはソフトウェアモジュールのルーチンの呼出しを実行するプロセスによって行われる。呼出しは、プロセスにルーチンを実行させ(このような実行は、それ自体で他のルーチンのコールおよび実行を伴うことができる)、次に、呼出し点まで、またはそれを少し超えた時点(または他の何らかの、例えば例外ハンドラなどの指定された時点)まで戻らせてモジュールを実行させる。
、それにより他のルーチンのコールおよび実行をもたらし得る。コールが戻るとコールは終了する。コールされたルーチンの実行の一部として行われる動作は、コール内で行われると称される。
図4は、透過的なセッション移送のためのプロトコルを示すために用いられるエンティティ対話の図である。プロトコルは、プロトコルに関与するクライアントcl30、ソースインスタンスinst22および宛先インスタンスinst24を用いて示される。プロトコルは移送開始プログラムによって開始され、移送開始プログラムはセッションの集合が移送されることを決定し、および/またはリクエストするエンティティである。例えば作業負荷マネージャwm20は、ソースインスタンスinst22から宛先インスタンスinst24へ作業負荷をシフトするために、あるセッションの集合がソースインスタンスinst22から宛先インスタンスinst24へ移送されるべきことを決定し得る。作業負荷マネージャwm20は、そのセッションの集合の移送のリクエストを生成する。データベースインスタンス間で作業負荷をシフトするためセッション移送をリクエストする作業負荷マネージャwm20は、セッション移送をリクエストするエンティティおよび目的の一例にすぎない。他の種類の目的のためにセッションの集合が移送されるよう要求する他の種類のエンティティがあり得る。例えば、あるデータベースインスタンスをシャットダウンする役割があるエンティティが、そのデータベースインスタンスがシャットダウンされ得るよう、データベースインスタンスによって現在ホストされている全てのセッションを移送することができる。
ッション移送のために選択されるかまたは他の方法で指定されるセッションは、本願明細書において、選択されたセッションと称される。図示する目的で、移送するセッションのリストは、選択されたセッションを1つのみ、すなわちソースセッションsess31のみを含む(図3参照)。
図5は、一実施例による3種類の移送基準の使用を表すブロック図である。図5を参照すると、ブロック510において、ソースセッションsess30がトランザクション境界にあるか否かが判断される。ブロック520において、ソースセッションsess30がコール境界にあるか否かが判断される。ブロック530において、ソースセッションsess30がコンポーネント境界にあるか否かが判断される。
図6は、データベースコンポーネントdc60の例示的集合、およびセッション状態state60内のそのそれぞれのコンポーネントセッション状態を示す。セッション状態state60は、ソースセッションsess30のためのセッション状態である。図6は、次のデータベースコンポーネントを示す。カーソルコンポーネントcc61、PL/SQLコンポーネントcc62、セッションパラメータコンポーネントcc63およびJava(登録商標)コンポーネントcc64である。
インターフェイスは3つの関数を含む。:IsReadyToMigrate()、GetState()、SetState()である。
ステップ420において、ソースインスタンスinst22が、移送基準が満たされたと一旦判断すると、ステップ425においてソースインスタンスinst22がクライアントに移送準備メッセージ4を送信する。ステップ425は、コールを傍受することによって実行される。移送準備メッセージ4は、傍受されたコールに返される出力データ構造を介して送信される。移送準備メッセージ4および選択メッセージ2は、同じクライアントコールにおいて返され得る。
れたクライアントは本願明細書において、「シードコール」と称される。なぜならクライアントcl30は、残りのプロトコルを開始し、セッション移送を完了するためにコールを行わなければならないからである。
。クライアントcl30によるその後のクライアントコールおよびアプリケーションコールにおいて、宛先セッションがソースセッションの代わりに用いられる。
コールにより要求されるセッション移送に関して、セッション移送は、非同期でまたは同期的に実行され得る。同期的に実行される場合、コールは、要求されたセッションのセッション移送が完了された後に戻る。呼び出し側は、セッション移送の完了までブロックされる。非同期で実行される場合、要求されたセッション移送が実行されている間は呼び出し側の実行はブロックされない。コールはセッション移送が完了される前に戻ることができる。
ライアントにシードコールリクエストを出すことができる。
透過的なセッション移送が進行する間、ソースインスタンスinst22、宛先インスタンスinst24およびクライアントcl30は移送ステージ間を遷移する。これらの移送ステージはセッション移送の進捗を表示し、トラッキングされ、報告され、移送進捗データを引き出すために用いられる。さらに、セッションのセッション移送中に障害が起り、回復動作の実行が必要となり得る。実行される特定の動作は、障害が起ったとき到達していた移送ステージに依存する。
サービス側ステージと同様に、クライアント側ステージはステージCLN―NORMALを含み、このステージはセッション移送に関与中ではないクライアントcl30に対応
する。一旦クライアントcl30が選択メッセージ3を受け取ると、クライアントcl30はステージCLN-SELECTEDに遷移する。クライアントcl30が移送準備メッセージ4を受け取ると、クライアントcl30はステージCLN-READY-FOR-PREPAREに遷移する。このステージの間、クライアントcl30は宛先セッションの確立などの動作を実行し、宛先セッションのセッションパラメータを確立して、宛先インスタンスinst24から宛先準備完了メッセージ6を受け取る。一旦このメッセージが受け取られると、クライアントcl30はソースインスタンスinst22に移送準備完了メッセージ7を送信し、ステージCLN―PREPAREに遷移する。
ソースセッションのセッション移送中、セッション移送を妨げるかまたは望ましくない完了を行うイベントが起り得る。このようなイベントは、本願明細書において「移送障害イベント」と称される。移送障害イベントが起ると、クライアントcl30およびマルチノードデータベースサーバmds20は、ステージCLN−FAILUREおよびSRC−FAILUREにそれぞれ遷移し、そこで回復動作が実行されて、試みられたセッション移送の全ての関与者が、セッション移送を完了することなく進行することを可能にする。実行される回復動作の特定の集合は、障害が起った特定の移送ステージに依存する。
データベースコンポーネントの使用は、セッション移送に対する拡張可能なフレームワークを可能にする。データベースコンポーネントの開発および計画的な実行を容易にするので、フレームワークは拡長可能である。
える。エントリは、データベースコンポーネントをセッションのアクティブなデータベースコンポーネントとして特定する。
データベースコンポーネントは非常に複雑であり得る。データベースコンポーネントの開発および保守についての責任は、通常、責任の遂行に必要なトレーニングおよび経験を有するエキスパート開発者の専門チームに任される。コンポーネントセッション状態をキャプチャし、ロードするソフトウェアもまた、非常に複雑である。その開発は、データベースコンポーネントがその得意領域に該当するような開発チームによって最も効果的に実行される。
移送対応データベースコンポーネントの開発が計画的に実行され得る。セッション移送がマルチノードデータベースサーバまたは何らかのレベルのサーバに設けられる前に、全てのデータベースコンポーネントが移送対応である必要はない。以前に発表されたデータベースサーバ製品においては、データベースコンポーネントのあるサブセットしか移送対応である必要はない。いくつかのセッション、すなわち移送対応ではないアクティブデータベースコンポーネントを有するものが移送され得ない一方で、他のセッションは移送され得る。後に発表されたものでは、より多くのデータベースコンポーネントが移送対応であり、より広い範囲の環境においてセッションが移送され得る。
本発明の一実施例が、多層システムの単一層のマルチノードデータベースサーバのリソースを動的に割り当てることによって示された。しかしながら、本発明の一実施例は、データベースサーバ内または多層システムの単一層内でセッションを移送することに限られない。
図9は、本発明の一実施例が実現され得るコンピュータシステム900を示すブロック図である。コンピュータシステム900は、バス902または情報を通信するための他の通信機構と、バス902に結合されて情報を処理するためのプロセッサ904とを含む。コンピュータシステム900はまた、バス902に結合されて、プロセッサ904によって実行される命令および情報を格納するためのメインメモリ906、たとえばランダムアクセスメモリ(RAM)または他の動的記憶装置をも含む。メインメモリ906は、プロセッサ904によって実行される命令の実行中に、一時的変数または他の中間情報を格納するためにも用いられ得る。コンピュータシステム900は、バス902に結合されてプロセッサ904に対する静的情報および命令を格納するための読出専用メモリ(ROM)908または他の静的記憶装置をさらに含む。磁気ディスクまたは光学ディスクなどの記
憶装置910が設けられてバス902に結合され、情報および命令を格納する。
Claims (15)
- コンピュータシステムで実現可能なステップを含む方法であって、
前記コンピュータシステムは、クライアントコンピュータと、複数のサーバを実行するマルチノードコンピュータシステムとを備え、前記クライアントコンピュータは、クライアントアプリケーションと前記複数のサーバとの間にインタフェースを与えるように構成されたインタフェースコンポーネントを実行し、
前記マルチノードコンピュータシステムが、前記クライアントコンピュータから、あるセッションを前記マルチノードコンピュータシステムのクライアントのために確立するためのリクエストを受け取るステップと、
前記クライアントコンピュータ上の前記インタフェースコンポーネントが、前記あるセッションとして前記マルチノードコンピュータシステムの第1のノード上の第1のセッションを確立するステップとを含み、前記第1のノードは、前記複数のサーバのうちのソースサーバであり、
前記ソースサーバが1つ以上の移送基準が満たされているか否かを判断するステップをさらに含み、
前記1つ以上の移送基準が満たされているか否かを判断するステップは、前記第1のセッションの第1のセッション状態の1つ以上の部分が別のノード上の別のセッションへ移送され得るか否かを判断するステップを含み、
前記1つ以上の移送基準が満たされている場合は、次に、
前記ソースサーバが前記第1のセッションの前記第1のセッション状態を、前記第1のノードから前記複数のサーバのうちの宛先サーバである第2のノード上の第2のセッションへ転送するステップと、
前記クライアントコンピュータ上の前記インタフェースコンポーネントが、前記マルチノードコンピュータシステム上の前記クライアントのための前記あるセッションとして前記第2のセッションを確立するステップとを含む、方法。 - 前記ソースサーバが前記第1のセッション状態を転送する前記ステップは、
前記第1のノードが前記第1のセッション状態の一部のコピーを生成し、格納するステップと、
前記第1のノードおよび前記第2のノード間に確立された接続を介して、前記第1のセッション状態の一部のコピーを前記第2のノードに送るステップとを含む、請求項1に記載の方法。 - 前記1つ以上の移送基準は、前記第1のセッションに関連付けられるトランザクションが終了したか否かに基づく、請求項1に記載の方法。
- 前記ソースサーバにより前記第1のノード上で実行される複数のソフトウェアコンポーネントの各コンポーネントは、前記第1のセッション状態の前記1つ以上の部分の各部分にアクセスし、
前記1つ以上の移送基準が満たされるか否かを判断する前記ステップは、前記ソースサーバが、前記複数のソフトウェアコンポーネントの各前記コンポーネントについて、前記各コンポーネントの関数を呼び出すステップを含み、前記関数は、前記第1のセッション状態の前記各部分が別のノードへ転送され得るか否かを示す値を返し、
前記1つ以上の移送基準は、前記複数のソフトウェアコンポーネントの各前記コンポーネントの前記関数によって返される値に基づく、請求項1に記載の方法。 - 前記ソースサーバが、前記クライアントに前記第2のセッションを生成させるために第1のメッセージを前記クライアントに送るステップと、
前記クライアントが、前記第2のセッションが生成されたことを示す第2のメッセージを前記第1のノードに送るステップと、
前記第2のメッセージを受け取ることに応答して、前記第1のノードが前記第1のセッション状態の転送を開始するステップとをさらに含む、請求項3に記載の方法。 - 前記第2のメッセージは前記第2のノードに接続を確立するための接続データを含み、
前記第1のセッション状態を転送するステップは、前記接続を介して前記第1のセッション状態を前記ソースサーバから前記宛先サーバに転送するステップを含む、請求項5に記載の方法。 - 前記第1のノードから前記第1のメッセージを受け取ることに応答して、前記クライアントが、前記第2のセッションを生成するためのあるリクエストを前記第2のノードに送信するステップと、
前記第2のセッションを生成した後、
前記第2のノードが、前記第1のノードへの接続のためのポートを確立するステップと、
前記第2のノードが、前記ポートへの接続を確立するための接続データを含むメッセージを前記クライアントに送信するステップとをさらに含む、請求項5に記載の方法。 - 前記クライアントが前記ポートへの前記接続を確立するための前記接続データのコピーを含むメッセージを前記第2のノードに送信するステップと、
前記接続データのコピーを含む前記メッセージを受け取ることに応答して、前記第1のノードが前記接続データに基づいて接続を確立し、第1のセッション状態を転送する前記ステップを開始するステップとをさらに含む、請求項7に記載の方法。 - 前記ソースサーバが前記第1のセッション状態を転送した後、前記クライアントに前記第2のセッションを前記あるセッションとして使用させるために第3のメッセージを前記クライアントに送るステップとをさらに含む、請求項5に記載の方法。
- 前記ソースサーバが、前記第1のセッションを前記第2のノードに移送するためのリクエストを受け取るステップをさらに含む、請求項1に記載の方法。
- 前記ソースサーバが前記第1のセッションを移送する進捗をトラッキングするステップと、
前記第1のセッションを移送する前記進捗および時間に基づいて、前記ソースサーバが、
前記第1のセッションの移送を中止するステップと、
前記第1のセッションの移送が試みられ、失敗したことを示すデータを生成するステップをさらに含む、請求項10に記載の方法。 - 前記クライアントアプリケーションは前記ソースサーバにコールを行い、
前記第1のセッション状態を転送するステップと、前記第2のセッションを前記あるセッションとして確立するステップとは、前記コール内で実行される、請求項1に記載の方法。 - 前記ソースサーバである前記第1のノードが、前記第1のセッションを前記第2のノードに移送するためのリクエストを受け取るステップと、
ある時間が経過したと判断した後、前記第1のノードが前記クライアントに前記第2のノード上でホストされるサーバへのコールを行なわせるステップと、
前記第1のセッション状態を転送する前記ステップと、前記第2のセッションを前記あるセッションとして確立する前記ステップとは、前記コール内で実行される、請求項1に記載の方法。 - 前記第1のセッション状態を転送する前記ステップと、前記第2のセッションを確立する前記ステップとは、前記第1のセッションを前記第2のノードに移送する動作として実行され、
前記ソースサーバが、移送障害イベントを検出することに応答して、さらに、
前記第1のセッションの移送を中止するステップと、
前記第1のセッションを移送するために割り当てられたリソースを放棄するステップと、
前記第1のセッションの移送が試みられ、失敗したこと示すデータを生成するステップとを含む、請求項1に記載の方法。 - コンピュータシステムで実行される処理を含むプログラムであって、
前記コンピュータシステムは、クライアントコンピュータと、複数のサーバを実行するマルチノードコンピュータシステムとを備え、前記クライアントコンピュータは、クライアントアプリケーションと前記複数のサーバとの間にインタフェースを与えるように構成されたインタフェースコンポーネントとを実行し、
前記マルチノードコンピュータシステムが、前記クライアントコンピュータから、あるセッションを前記マルチノードコンピュータシステムのクライアントのために確立するためのリクエストを受け取るステップと、
前記クライアントコンピュータ上の前記インタフェースコンポーネントが、前記あるセッションとして前記マルチノードコンピュータシステムの第1のノード上の第1のセッションを確立するステップとを含み、前記第1のノードは、前記複数のサーバのうちのソースサーバであり、
前記ソースサーバが1つ以上の移送基準が満たされているか否かを判断するステップをさらに含み、
前記1つ以上の移送基準が満たされているか否かを判断するステップは、前記第1のセッションの第1のセッション状態の1つ以上の部分が別のノード上の別のセッションへ移送され得るか否かを判断するステップを含み、
前記1つ以上の移送基準が満たされている場合は、次に、
前記ソースサーバが前記第1のセッションの前記第1のセッション状態を、前記第1のノードから前記複数のサーバのうちの宛先サーバである第2のノード上の第2のセッションへ転送するステップと、
前記クライアントコンピュータ上の前記インタフェースコンポーネントが、前記マルチノードコンピュータシステム上の前記クライアントのための前記あるセッションとして前記第2のセッションを確立するステップとを、コンピュータに実行させる、プログラム。
Applications Claiming Priority (19)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US49536803P | 2003-08-14 | 2003-08-14 | |
US60/495,368 | 2003-08-14 | ||
US50009603P | 2003-09-03 | 2003-09-03 | |
US50005003P | 2003-09-03 | 2003-09-03 | |
US60/500,050 | 2003-09-03 | ||
US60/500,096 | 2003-09-03 | ||
US60134604P | 2004-08-12 | 2004-08-12 | |
US60125004P | 2004-08-12 | 2004-08-12 | |
US60125904P | 2004-08-12 | 2004-08-12 | |
US10/918,055 US7552171B2 (en) | 2003-08-14 | 2004-08-12 | Incremental run-time session balancing in a multi-node system |
US60/601,346 | 2004-08-12 | ||
US60/601,259 | 2004-08-12 | ||
US10/917,953 US7552218B2 (en) | 2003-08-14 | 2004-08-12 | Transparent session migration across servers |
US10/918,055 | 2004-08-12 | ||
US10/917,873 US7516221B2 (en) | 2003-08-14 | 2004-08-12 | Hierarchical management of the dynamic allocation of resources in a multi-node system |
US10/917,873 | 2004-08-12 | ||
US10/917,953 | 2004-08-12 | ||
US60/601,250 | 2004-08-12 | ||
PCT/US2004/026445 WO2005017750A2 (en) | 2003-08-14 | 2004-08-13 | Transparent session migration across servers |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007511807A JP2007511807A (ja) | 2007-05-10 |
JP4976128B2 true JP4976128B2 (ja) | 2012-07-18 |
Family
ID=34199454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006523426A Active JP4976128B2 (ja) | 2003-08-14 | 2004-08-13 | サーバ間の透過的なセッション移送 |
Country Status (7)
Country | Link |
---|---|
EP (1) | EP1654650B1 (ja) |
JP (1) | JP4976128B2 (ja) |
AU (1) | AU2004264626B2 (ja) |
CA (1) | CA2533773C (ja) |
DE (1) | DE602004025819D1 (ja) |
HK (1) | HK1086898A1 (ja) |
WO (1) | WO2005017750A2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8909782B2 (en) * | 2005-07-13 | 2014-12-09 | International Business Machines Corporation | Method and system for dynamically rebalancing client sessions within a cluster of servers connected to a network |
EP2066101B1 (en) * | 2007-11-28 | 2012-10-17 | Alcatel Lucent | System and method for an improved high availability component implementation |
JP5169362B2 (ja) | 2008-03-24 | 2013-03-27 | 富士通株式会社 | セッション情報複製方法、前記方法を実行する呼制御サーバ及び前記方法のプログラム |
JP2011180889A (ja) * | 2010-03-02 | 2011-09-15 | Nec Corp | ネットワークリソース管理システム、装置、方法及びプログラム |
US8300790B2 (en) * | 2010-12-27 | 2012-10-30 | Avaya Inc. | Method and system for automatic conference call session migration |
EP2665228B1 (en) | 2011-04-07 | 2020-05-20 | Huawei Technologies Co., Ltd. | Method for adjusting resources dynamically and scheduling device |
KR20150110103A (ko) | 2014-03-24 | 2015-10-02 | 삼성전자주식회사 | 전송 경로 최적화를 위한 컨텐츠 서버 간 핸드오버 방법 및 장치 |
US10757224B2 (en) | 2014-09-04 | 2020-08-25 | Seiko Epson Corporation | Data processing system, data processing method, and printer |
EP3562118A1 (en) * | 2018-04-23 | 2019-10-30 | InterDigital CE Patent Holdings | Method and device for migrating a stateful function |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5774668A (en) * | 1995-06-07 | 1998-06-30 | Microsoft Corporation | System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing |
JPH0950412A (ja) * | 1995-08-10 | 1997-02-18 | Hitachi Ltd | 遠隔手続き呼び出し方法およびシステム |
US6041357A (en) * | 1997-02-06 | 2000-03-21 | Electric Classified, Inc. | Common session token system and protocol |
JPH10312365A (ja) * | 1997-05-13 | 1998-11-24 | Nec Corp | 負荷分散システム |
US6088728A (en) * | 1997-06-11 | 2000-07-11 | Oracle Corporation | System using session data stored in session data storage for associating and disassociating user identifiers for switching client sessions in a server |
JPH1188373A (ja) * | 1997-09-12 | 1999-03-30 | Nec Corp | コネクション振り分けによる負荷分散方式 |
JP2000163369A (ja) * | 1998-11-30 | 2000-06-16 | Nippon Telegr & Teleph Corp <Ntt> | 処理結果分散管理方法及びシステム及び処理結果分散管理サーバ装置及び処理結果分散管理プログラムを格納した記憶媒体 |
US6601101B1 (en) * | 2000-03-15 | 2003-07-29 | 3Com Corporation | Transparent access to network attached devices |
US7181492B2 (en) * | 2000-10-17 | 2007-02-20 | Concerto Software, Inc. | Transfer of an internet chat session between servers |
JP2002342078A (ja) * | 2001-05-17 | 2002-11-29 | Hitachi Ltd | プログラム開発システム及び方法 |
AU2002329602B2 (en) * | 2001-07-16 | 2008-05-22 | Oracle International Corporation | Method and apparatus for session replication and failover |
US7409420B2 (en) * | 2001-07-16 | 2008-08-05 | Bea Systems, Inc. | Method and apparatus for session replication and failover |
JP2003122732A (ja) * | 2001-10-16 | 2003-04-25 | Nec Corp | 情報通信システム |
-
2004
- 2004-08-13 EP EP04781173A patent/EP1654650B1/en active Active
- 2004-08-13 JP JP2006523426A patent/JP4976128B2/ja active Active
- 2004-08-13 AU AU2004264626A patent/AU2004264626B2/en active Active
- 2004-08-13 WO PCT/US2004/026445 patent/WO2005017750A2/en active Application Filing
- 2004-08-13 CA CA2533773A patent/CA2533773C/en active Active
- 2004-08-13 DE DE602004025819T patent/DE602004025819D1/de active Active
-
2006
- 2006-06-12 HK HK06106688.8A patent/HK1086898A1/xx unknown
Also Published As
Publication number | Publication date |
---|---|
WO2005017750A3 (en) | 2005-10-13 |
JP2007511807A (ja) | 2007-05-10 |
HK1086898A1 (en) | 2006-09-29 |
AU2004264626A1 (en) | 2005-02-24 |
CA2533773A1 (en) | 2005-02-24 |
CA2533773C (en) | 2011-09-27 |
WO2005017750A2 (en) | 2005-02-24 |
DE602004025819D1 (de) | 2010-04-15 |
EP1654650B1 (en) | 2010-03-03 |
EP1654650A2 (en) | 2006-05-10 |
AU2004264626B2 (en) | 2010-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7415522B2 (en) | Extensible framework for transferring session state | |
US9176772B2 (en) | Suspending and resuming of sessions | |
US7415470B2 (en) | Capturing and re-creating the state of a queue when migrating a session | |
US7082604B2 (en) | Method and apparatus for breaking down computing tasks across a network of heterogeneous computer for parallel execution by utilizing autonomous mobile agents | |
US7634512B2 (en) | Migrating temporary data of a session | |
US6237005B1 (en) | Web server mechanism for processing multiple transactions in an interpreted language execution environment | |
US7503052B2 (en) | Asynchronous database API | |
US7698359B2 (en) | Remote system administration using command line environment | |
WO2001090886A2 (en) | Local transaction management | |
WO2023046141A1 (zh) | 一种数据库网络负载性能的加速框架、加速方法及设备 | |
JP4976128B2 (ja) | サーバ間の透過的なセッション移送 | |
Mohamed et al. | MidCloud: an agent‐based middleware for effective utilization of replicated Cloud services | |
US7945808B2 (en) | Fanout connectivity structure for use in facilitating processing within a parallel computing environment | |
JP2000242608A (ja) | コンピューティング装置、操作方法およびプログラム記憶装置 | |
CN107465725A (zh) | 基于客户信息控制系统的异构长事务处理系统及方法 | |
US20100250684A1 (en) | High availability method and apparatus for shared resources | |
EP1654858B1 (en) | Transparent migration of stateless sessions across servers | |
Uthayopas et al. | Sce: A fully integrated software tool for beowulf cluster system | |
US7346910B1 (en) | Administration of groups of computer programs, data processing systems, or system resources | |
Sommers et al. | Cluster-based computing with active, persistent objects on the web | |
KR20010036084A (ko) | 분산환경하에서의 프로세스 관리 방법 | |
Huang et al. | Design of DMPI on DAWNING-3000 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070627 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100427 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100727 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100831 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120412 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4976128 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: 20150420 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |