JP3846736B2 - 多サイトに分散されたオブジェクト管理環境に対するシステム及び方法 - Google Patents
多サイトに分散されたオブジェクト管理環境に対するシステム及び方法 Download PDFInfo
- Publication number
- JP3846736B2 JP3846736B2 JP51215197A JP51215197A JP3846736B2 JP 3846736 B2 JP3846736 B2 JP 3846736B2 JP 51215197 A JP51215197 A JP 51215197A JP 51215197 A JP51215197 A JP 51215197A JP 3846736 B2 JP3846736 B2 JP 3846736B2
- Authority
- JP
- Japan
- Prior art keywords
- server object
- node
- server
- service
- site
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/465—Distributed object oriented systems
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Description
本発明は、複数の物理的位置において、信頼性のためのハードウェア及びソフトウェアサービスのリダンダンシーを必要とする通信アプリケーションについての分散コンピュータシステムの技術分野に広く関する。特に、本発明は、多サイトに分散されたオブジェクト管理環境に関する。本発明は、特に、複数の物理的位置において、信頼性のためのハードウェア及びソフトウェア・サービスのリダンダンシーを必要とする通信に利用できる。
発明の背景
クライアントとサーバーの間のインタフェースは、クライアントとサーバーが同じプロセスに接続されている場合に、最も単純で最も共通するものとなる。この場合、クライアントはサブルーチンを呼び出してサーバーにアクセスできる。呼び出し入力パラメータが共通のメモリ中でクライアントからサーバーへ渡され、返送された出力パラメータがサーバーからクライアントへ共通のメモリを介して渡されて、呼び出しを完了する。
分散コンピュータアーキテクチャの能力を利用するために、サーバーは、しばしばクライアントノードから離れたネットワークノード中にあることが必要である。複数のクライアントは同じサービスを複数のサーバーから同時に要求してもよい。さらに、通信アプリケーションにおいて、ハードウェア/ソフトウェアの故障許容サービス環境を実現するために、ハードウェア及びソフトウェアのリダンダンシーが要求される。この環境は、グローバル通信ネットワークにおいて地理的に遠隔位置にあるノードから構成される。システムは、ネットワークの任意のポイントでのサーバーの停止に迅速に適応できなければならない。
発明の要約
したがって、多サイトにおいて、単純なクライアント/サーバー・サブルーチンを呼び出すかわりに、サーバーのグローバルネットワークに対してアクセスできる環境が要求されている。
本発明によれば、多サイトに分散されたオブジェクトメッセージシステム及び方法が提供され、それにより、従来のシステムに関連する問題点を消滅し、または実質的に低減する。
本発明の1つの態様において、分散オブジェクトメッセージシステム及び方法は複数の物理的に分離されたサイトに分散された複数のノードに対して提供される。複数のプロセスは各ノードで実行する。複数のプロセスは各ノードにおいて複数のオブジェクトを登録する。オブジェクトはクライアントオブジェクト及びサーバーオブジェクトを含む。サーバーオブジェクトは、ローカルノード、ローカルサイトにおいてクライアントオブジェクトへのサービス利用可能性のためのグローバルサービス、および/または、遠隔サイトにおいてクライアントオブジェクトの利用可能性のためのサイトグローバルサービスに対して登録できる。サーバーオブジェクト・データベースは各ノードにおいて利用され、ノードに登録された各サーバーオブジェクトと、グローバルサービスまたはサイトグローバルサービスに対して登録された遠隔ノードに登録されたオブジェクトとに対するサーバーオブジェクト記述を格納する。クライアント・サーバーインタフェースは、クライアントオブジェクトによってアクセスでき、それからのサービスに対する要求を受信する。クライアントサービスインタフェースは、少なくとも1つの宛先サーバーオブジェクトがクライアントオブジェクトの要求されたサービスを実行できるようにするために、サーバーオブジェクト・データベースにアクセスし、また、サービス要求をローカルサイトすなわち遠隔サイトにある宛先サーバーオブジェクトに転送する。
本発明のもう1つの態様において、ローカルキャッシュが各プロセスにおいて確保され、過去のサービス要求及びサーバーオブジェクトの一致を記録する。ローカルキャッシュは、サーバーオブジェクト・データベースが最後のデータベースのアクセス以来変更されていない場合は、最初に、一致のためのサービス要求を行うためにアクセスされる。
さらに、本発明の別の態様では、ノードの現在のサービスステータスは、サーバーオブジェクト・データベースのオブジェクトの1つが登録されたときはいつでもサーバーオブジェクト・データベースに記録される。そのとき、サーバーオブジェクト・データベースの内容は、サービスステータスにおけるノードのアップグレードまたはダウングレードに応じて適合させることができる。
【図面の簡単な説明】
本発明をより理解するために、以下の添付の図面を参照できる。
図1は、それらの間に通信リンクを有する2つのサイトにあるノードのトップレベルの図である。
図2は、複数のプロセスを有するノードの単純化された図である。
図3は、DOME複数サイト初期化プロセスの1例のフローチャートである。
図4は、オブジェクト登録プロセスの1例のフローチャートである。
図5は、サーバーオブジェクト・データベースに格納される情報のタイプを示したサーバーオブジェクト・データベースの1例である。
図6は、要求サービスプロセスの1例のフローチャートである。
図7は、サーバーオブジェクトプロセスの取得リストの1例のフローチャートである。
図8は、サーバーオブジェクトプロセスの要求リストの1例のフローチャートである。
図9は、サーバーオブジェクトプロセスの受信リストの1例のフローチャートである。
図10は、内部ノード通信プロセスの図である。
図11は、別の内部ノード通信プロセスの図である。
図12は、ノードステータス設定プロセスの1例のフローチャートである。
図13は、ノードサービス状態の1例の状態図である。
発明の詳細な説明
本発明の好ましい実施の形態が図1〜図13に示される。同じ参照番号が、種々の図面において同じまたは同様な部分を参照するために使用される。
図1を参照すると、参照番号10により広く示される多サイト環境における分散オブジェクト管理環境(DOME)の単純化された図が示されている。DOME10は、説明のために、参照番号12と13でそれぞれ示されるサイトS0とサイトS1の2つのサイトを含み、それらは、コンピュータネットワークやメディアアクセス制御(MAC)ブリッジ14のようないくつかの通信回線を介して接続されている。各サイト12、13は、ノード15〜21、25〜32のグループをそれぞれ含む。DOMEシステムは、1つ、2つ、または複数のサイトを含んでもよい。サイトは、お互いに物理的に遠隔した位置にあってもよい。例えば、サイト12が物理的にシカゴに位置し、ノード13が物理的にニューヨークに位置してもよい。
サイトはイーサネットのような1つ以上のコンピュータネットワークにより接続されたノードのグループとして定義されてもよい。必要なことではないが、典型的には、サイト中のノードは互いに近接して位置し、互いに協力して動作する。ノードは1つ以上の中央演算処理装置を備えるワークステーションとして定義されてもよい。中央演算処理装置はオペレーティングシステムのインスタンス及びいくつかのアプリケーションソフトウェアまたはプロセスを実行する。各サイト12、13は、アクティブプラットフォームマネージャ(PM)ノード15、25を含んでもよい。それらはいくつかの特定の1次的な管理機能を実行する。待機プラットフォームマネージャノード16、26は、アクティブプラットフォームマネージャが故障した場合にバックアップ支援を提供するインスタンスに含まれてもよい。アプリケーションノード17〜21、27〜32はまた、「アクティブ/待機」及び「負荷分散」として指示されてもよい。負荷分散の指示は、機能すなわちプロセスを等しく割り当て、負荷分散ノードにより実行させる。図1に示すように、各ノードは、同じサイトの1つのノードと通信するのと同様に、他のサイトの他のノードと直接通信してもよい。
図2を参照すると、ノードAPO17が複数のプロセスP0〜P4(40〜44)を含むことが示されている。各プロセスは、クライアントプロセス、サーバープロセスであってもよく、すなわち、1つのプロセスに対するクライアント及び他のプロセスに対するサーバーとして機能してもよい。さらに、各ノードはDOMEサーバープロセス48を含む。DOMEサーバープロセス48は、クライアントオブジェクトとサーバーオブジェクトとの間の登録インタフェースとして機能する。クライアントオブジェクトとサーバーオブジェクトは、同じかまたは異なるサイトにおいて、ノード内の異なるプロセス、またはシステムにおける異なるノードにある。各プロセス40〜44は、DOMEサーバープロセス48により1つ以上のオブジェクトのインスタンスを登録してもよい。DOMEサーバープロセス48は、サーバーオブジェクト・データベース46に登録されたオブジェクトの情報を格納する。サーバーオブジェクト・データベース46は、同一または異なるサイトでのノード及び他のノードにおけるプロセス40〜44に対してアクセスできる。サーバーオブジェクト・データベース46はクライアントによりアクセスされて読み出される。DOMEはサーバーオブジェクトからのクライアント要求サービスをいつでもインタフェースする。全てのローカルサーバーオブジェクトは、DOMEクライアントインタフェースにより、サービス要求を直接サーバーオブジェクトメッセージキューに配置することにより、直接アクセスされる。サーバーオブジェクトは、メソッドを呼び出すことにより遠隔のクライアントオブジェクトにアクセスが可能となる機能及びデータを内部に閉じ込めたものとして定義される。
各プロセス40〜44には、クライアントとサービスオブジェクトとの間の、内部プロセス、内部ノード及び内部サイト通信を与えるDOME50のインスタンスもある。同一サイトまたは異なるサイトでのノード間の二地点間通信は、各ノードにあるプロセスMH(メッセージハンドラー)52及びリンクTCP(Link Transmission Control Protocol)により形成されるTCP/IP(Transmission Control Protocol/Internet Protocol)経路上で可能である。DOMEの通信態様を以下に詳細に説明する。
また、図3を参照して、多サイトDOME初期化プロセス50の実施の形態の単純化したフローチャートが示されている。サイトでシステムが起動したとき、ブロック52を示すように、最初のステップの1つが、DOMEサーバープロセス48を呼び出し、そのオブジェクト及びサーバーメンバ機能を登録する。サーバーオブジェクトは1つ以上のサーバーメンバ機能を有する。サーバーメンバ機能は、クライアントオブジェクトに対してコールパラメータの送受信を行う、ユーザにより定義された一意の(unique)インタフェースを有する。サーバーメンバ機能は、サーバーオブジェクト記述に記録された認識番号を用いてクライアントにより参照される。各メンバ機能は、サーバーオブジェクトによって登録された機能プロトタイプ定義を有する。サーバーメンバ機能記述データベース(図示せず)は、各プロセスにおいて維持され、プロセスにおいて登録されたサーバーオブジェクトの登録されたサーバーメンバ機能記述を記録する。
オブジェクト登録後、ブロック54に示すように、DOMEサーバープロセス48はサーバーオブジェクト・データベース46を初期化する。その後、ブロック56と58において、DOMEサーバープロセス48は、全てのサイトでのノードの数に対するプラットフォームマネージャノードと、全てのノードに対する詳細なノード記述とを要求する。DOMEサーバープロセス48は、ブロック60に示すように、オブジェクトサーバー・データベースにノード記述を保管し、返送されたノード記述の配列を検索し、それ自身のノードの配列インデックスと、それが存在するサイトの名前とを決定する。DOMEサーバープロセス48は、その後、ブロック62に示すように、MH及びリンクTCPプロセス52、54と通信することにより通信リンクを確立する。ブロック64において、DOMEサーバープロセス48は各遠隔ノードにそのオブジェクトサーバー・データベースの内容を送信するように要求する。これらの要求に対する応答により、DOMEサーバープロセス48は、オブジェクトサーバー・データベース46を、他のノードにおけるグローバルサービスまたはサイトグローバルサービスに対して登録されたオブジェクトに関する情報により更新することができる。グローバルサーバーオブジェクトは、同じサイトにおいてクライアントオブジェクトを管理することができ、同様に、サイトグローバルサーバーオブジェクトは、他のサイトにおいてクライアントオブジェクトを管理することができる。
また、図5を参照すると、サーバーオブジェクト・データベース46は、オブジェクト名、ノード名、サイト名及びインスタンス名のようなオブジェクト記述を含む。オブジェクト名、ノード名、サイト名及びインスタンス名は、英数字ストリングまたは所定の命名規則にしたがった数字であってもよい。また、ノード名とサイト名の少なくとも1つは、サーバーオブジェクト・データベースにおいて保管されるリストのそれぞれに対するインデックスであってもよい。さらに、名前は、所定の方法で連結されてもよい。もしノードの位置が異なれば、オブジェクトの複数のコピーをインスタンス名なしに登録することもできる。インスタンス名により、クライアントオブジェクトは、特定のノードにおいてオブジェクトの一意のインスタンスを選択することができる。もし、ノード名がクライアントオブジェクトにより特定されなければ、DOMEはオブジェクトを含む任意のノードが適正なサーバーであると仮定する。
サーバーオブジェクト・データベース46はさらに、オブジェクト登録時のノードオペレーティングステータスを含む。ノードオペレーティングステータスは、サービス外、オペレーティングシステム・ミニマム(OS min)またはサービス中を含む。また、オブジェクトの動作モードも含まれる。それには、アクティブ/待機、負荷分散、ローカルサービス、グローバルサービス及びサイトグローバルサービスのモードを含んでもよい。負荷分散オブジェクトはアクティブのとき、選択メソッドはそのモードで動作するオブジェクト間の負荷を等しく分散させるために使用される。アクティブ/待機オブジェクトはまた次のアクセスモードを登録する。そのアクセスモードは、それらがアクティブステータスまたは待機ステータスのいずれにおいて要求を受信すべきかを特定する。ローカルサービスモード、グローバルサービスモード及びサイトグローバルサービスモードは、オブジェクトが、クライアントオブジェクトが存在するノードもしくはサイトにあるクライアントオブジェクトからの要求、または他のサイトからのクライアントオブジェクトからの要求のいずれをサービスできるのかを決定する。サーバーオブジェクト・データベース46は、さらに通信オプションと、それに対するオブジェクトの特別な情報とを含む。例えば、TCP/IPまたはUser Datagram Protocol/Transport Layer Interface(UDP/TLI)ソケット接続のいずれが使用されているかのような情報を含む。もし、TCP/IPが使用されていれば、オブジェクトのよく知られたポートアドレスが含まれる。
ブロック66において、DOMEサーバープロセス48は、任意のノードがその動作ステータスを変化したときはいつでも通知するように要求し、それにより、そのサーバーオブジェクト・データベースはその変化を反映して更新されてもよい。その後、ブロック68に示すように、DOMEサーバープロセス48はサービス提供の準備状態になり、サービスに対する要求を待つ。
図4は、オブジェクト70を登録するためのプロセスの1例の単純化されたフローチャートである。ブロック72に示すように、DOMEは最初、DOMEOBJ構造を構築し、オブジェクト記述についての一時記憶域を与える。次に、ブロック74に示すように、オブジェクトが既に登録されているかが判断される。もし、オブジェクトが既に登録されていれば、ブロック76と78に示すように、そのメッセージキューは除去され、サーバーオブジェクト・データベース46においてその対応するエントリが削除される。実質的に、ブロック80において、オブジェクトインスタンスのオブジェクト記述はサーバーオブジェクト・データベース46に追加される。
もし、ブロック82において判断されるように、オブジェクトがグローバルサービスモードで登録されていれば、ブロック84に示すように、オブジェクト記述は、同一サイトにある全ての他のノードの全てのDOMEサーバープロセスにブロードキャストされ、他のノードにおけるクライアントオブジェクトもまた管理する登録されたオブジェクトインスタンスを新たに作成する。その後、プロセスはブロック86に進む。サイトグローバルサービスモードにおいて登録されたオブジェクトは、登録時には遠隔サイトへはブロードキャストされない。サイトグローバルオブジェクトは、遠隔サイトノードがサーバーオブジェクト・データベースに対して要求したときに、他のサイトに対して明らかになる。それは、典型的には、ノードステータスが変化したときに起こる。
図6に、クライアントのオブジェクト90のためのサーバーオブジェクトからのサービスの要求の簡単化されたフローチャートが示される。クライアント・オブジェクトは、サービス要求をし、コール(calling)パラメータを与える。ブロック92に示されるように、DOMEは、サーバーメンバ機能のためのクライアントのコールパラメータを、サービス要求メッセージにフォーマットする。次に、ブロック94に示されるように、DOMEは、クライアントの全部または一部のサーバーオブジェクト記述にマッチするサーバーオブジェクトのリストを要求する。サーバーオブジェクト・データベース46(図2)は、DOMEプロセスが、あるオブジェクトインスタンスにただちにアクセスできるか、または、部分的記述にマッチする全オブジェクトをアクセスできるように、組織化される。たとえば、DOMEは、オブジェクトのあるバージョンのためのノードにおける全オブジェクトをアクセスできる。または、DOMEは、全バーションのための全ノードにおける全オブジェクトインスタンスをアクセスできる。1つのエントリーまたは1グループのエントリーへの速いアクセスを可能にするハッシュアルゴリズムを用いて、データベースにおける各フィールドのためのデータエントリーは、アルファベットの順でリンクされる。さらに、オブジェクト名がノードエントリーのリストを指し、かつ、各ノードエントリーが名付けられたインスタンスのリストを指すように、データが組織化される。ブロック92〜100に示されるように、DOMEは、リストからサーバーオブジェクトをサービス要求のための行き先として選択し、選択されたサーバーオブジェクトにサービスメッセージ要求を送り、フローから出る。
以下のルーティング規則は、要求サービスコールにおいて当てはまる。
1.もし一意のローカルまたは遠隔のノード名が行き先として指定されるなら、サービス要求メッセージは、後で詳細に説明されるアクティブ/待機および負荷分散のルーティング規則を用いずに、そのノードにルートされる。これは、同じサイトでない遠隔ノードを含む。
2.もしクライアントオブジェクトが行き先を指定しないならば、この要求は、アクティブ/待機および負荷分散のルーティング規則を用いて、ローカルのサイトの1つまたは複数のサーバーにルートされる。
3.もしサイト名または遠隔サイト特定子(Specifier)が行き先として用いられるなら、そのサイトにおいてグローバルとして登録されたサーバーオブジェクトのサイトのみが行き先ターゲットとして考慮され、アクティブ/待機および負荷分散のルーティング規則が当てはまる。
サーバーオブジェクトとノードは、アクティブ/待機モードまたはアクティブ(負荷分散)モードとして登録できる。アクティブなオブジェクトは、どのオブジェクトが今扱っているサービス要求を処理するべきかを決定するラウンドロビン選択アルゴリズムを用いて負荷が分散される。まず、クライアントのDOMEは、どのノードが最高サービスステートにあるかを決定する。次に、DOMEは、最高サービスステートのオブジェクトインスタンスを選択する。プラットフォームマネージャおよび/またはアプリケーションソフトウエアのどれが実行中であるかによって、ノードのサービスステートは、サービス外、OSミニマムまたはサービス中である。サービスステートの詳細は、図12と図13と関連して後で説明される。もし多ノードが同じサービスステートで動作中であるならば、サービス要求を等しく分散するために、上述のラウンドロビンアルゴリズムまたは同様なアルゴリズムが使用できる。アクティブなオブジェクトは、アクティブ/待機モードとして登録されているノードに常駐することがある。
サービスのためにクライアントの要求を処理するためにDOMEが用いる8個の異なるサーバーオブジェクト・ルーティング・アルゴリズムがある。もし特定されたノード名の代わりにサイト名が行き先フィールドにおいて特定されるなら、ノード名はヌル(null)であると考えられ、ノードの選択は、特定されたサイトでのノードに限られる。もし行き先名がヌルのフィールドであるなら、ローカルのサイトが特定される。
ルーティング規則は次のとおりである。
行き先は、特定の名により、または、以下の5個の特定子のいずれかを用いて、指定できる。
REMOTE_SITE(”&”): 要求サービスコールのためのアクティブ/待機および負荷分散のルーティング規則を用いて、遠隔サイトにあるノードのみへルートする。
ALL_SITES(”S”): ブロードキャストコールにおいて用いられるとき全サイトで全ノードにルートする。要求サービスコールのためアクティブ/待機および負荷分散のルーティング規則を用いる。
NOT_LOCAL_SITE(”#”): ブロードキャストコールと要求サービスコールの両方のため常駐ノードの他のローカルサイトにおけるどのノードにもルートする。
LOCAL_SITE(”?”): ブロードキャストコールにおいてどのローカルサイトのノードにもルートする。要求サービスコールのためアクティブ/待機および負荷分散のルーティング規則を用いる。
LOCAL_NODE(”%”): ブロードキャストコールまたは要求サービスコールのためローカルサイトへのみルートする。
引用符号で囲まれる特定子の文字は、行き先の種類を特定するために用いられる。なお、上述の文字は例として挙げられたものであり、本発明はそれに限定されない。
クライアントがサービス要求をするとき、オブジェクト名がサービスオブジェクトデータベースにおいて検索され、そのオブジェクトがアクティブ/待機型か常にアクティブ型かを決定する。次に、ノード名がヌルのストリングまたは一意のASCII名のいずれであるか調べられる。また、インスタンス名も、ヌルのストリングまたは一意のASCII名のいずれであるか調べられる。これらの3つの指定子は、ノード・ルーティングのメソッドとインスタンス選択のメソッドにアクセスするために用いられる。
8個のサーバーオブジェクト・ルーティング・アルゴリズムの各々は、2つの部分からなる。クライアントモードでは、DOMEは要求にサービスするための最良のサーバーノードを選択し、その要求をノードに送る。サービスルーティングのこの部分は、サーバーノード選択メソッドである。上述の表は、オブジェクトの型、ノード名およびインスタンス名の組み合わせの各々についてのエントリーを含む。各エントリーは、後で詳細に説明するノード選択メソッドとインスタンス選択メソッドの数を特定する。
1. クライアントは、サービス要求を処理するべき一意のノード名を特定する。第1に、サーバーオブジェクトが特定されたノード名の中にあるか否かを決定するために、サーバーオブジェクト・データベースがアクセスされる。もしその特定されたノード名の中になければ、DOMEはオブジェクトが発見されなかったというエラーを宣言する。もしサーバーインスタンス名が特定されるなら、サーバーオブジェクト・データベースが検索され、名付けられたインスタンスが特定されたノード名の中にあることを確認する。もし正確なインスタンス名がそのノードに存在しないなら、インスタンスが見いだされないというエラーが戻される。サービス要求メッセージはフォーマットされ、特定されたノードに送られる。
2. クライアントは、アクティブ/待機型であるが特定のノードまたはインスタンスを要求しないオブジェクト名を特定する。クライアントのDOMEは、要求されるオブジェクト名の全ノードにおける全インスタンスリストを作る。登録されたサーバーオブジェクトの受信ステートはサーバーオブジェクト・データベースにおいて見いだされる。サーバーオブジェクトは、アクティブ、待機、または、アクティブ/待機のステートにおいて受信するため、登録できる。インスタンスリストは、アクティブ、待機、またはいずれかである、要求された受信ステートにあるノードにおいて存在するオブジェクトのインスタンスのためスキャンされる。サービス要求は、資格のある1以上のノードに送られる。もし資格のあるノードがなければ、エラーリターンがクライアントに対してなされる。
3. クライアントは、オブジェクトを特定する。このオブジェクトは、アクティブ/待機にあり、システムのいずれかのノードに存在し得る特定のインスタンス名にサービス要求を送ることを希望するものである。サーバーオブジェクト・データベースは、どのノードにインスタンス名があるかを決定するために調べられる。
4. オブジェクトの型は、常にアクティブであり、クライアントは、特定のノード名または特定のインスタンス名を特定しない。第1に、DOMEは、オブジェクト名を含む全ノードのリストを作る。もしノードが見いださなければ、エラーがクライアントに戻される。次に、DOMEは、最高サービスステートにあるノードのためのリストを検索し、最高サービスステートを有しない見いだされたどのノードもリストから除く。次に、DOMEは、ラウンドロビン選択アルゴリズムに基づいて残りのノードのリストからノードを選択する。リストにおける、前に選択されたインデックスは、このサービス要求において使用されるノードを選択するために、インクリメントされ、使用される。
5. オブジェクトの型は常にアクティブであり、クライアントは、特定のインスタンス名を特定した。第1に、DOMEは、オブジェクト名と特定のインスタンス名を含む全ノードのリストを作る。もしノードが見いだされなければ、エラーがクライアントに戻される。次に、DOMEは、最高サービスステートにあるノードのためのリストを検索し、最高サービスステートを有しない見いだされたどのノードもリストから除く。最後に、DOMEは、ラウンドロビン選択アルゴリズムに基づいて残りのノードのリストからノードを選択する。リストにおける、前に選択されたインデックスは、このサービス要求において使用されるノードを選択するために、インクリメントされ、使用される。
別の手法では、クライアント・オブジェクトは、ローカルサーバーオブジェクト・データベースにリストされていない他のノードにおいてサーバーに特殊化された要求をすることができる。これらは、サイトグローバルサーバーオブジェクトとして登録されていなかったサーバーである。この特殊化された要求は、メッセージハンドラープロセスに転送され、このプロセスは、要求されるオブジェクトのために行き先キューIDを探し、そのメッセージをオブジェクトのDOMEサーバープロセスに転送する。次に、DOMEサーバーインターフェイスは、サービス要求メッセージを受け取り、メッセージに含まれるパラメータを、サーバーオブジェクトにより予期される入力シーケンスにフォーマットする。次に、サーバーオブジェクトは、メッセージを受け取り、要求されるサービスを実行する。
図7は、サーバーオブジェクトのリストを取得するためのプロセス110の追加の詳細を示す。図2をも参照して、サーバーオブジェクト・データベース46は、変更カウンタ111を含み、このカウンタは、データベースの内容が変わるたびにインクリメントされる。ノードにおける各プロセス40〜44は、ローカルキャッシュ112を備え、その内容は、過去のサービス要求と、要求されたサービスを行う対応するマッチされたサーバーオブジェクトの履歴レコードである。また、ローカルキャッシュ112は、最新のデータベースのアクセスのときに変更カウンタがカウントしたもののレコードを保持する。ブロック114と116において、変更カウンタ111は、読み出され、そのカウントのローカルレコードと比較される。もし、数が一致(match)しないなら、サーバーオブジェクト・データベース46の内容が変えられ、ローカルキャッシュ112の内容はもはや正しくない。したがって、ブロック118〜122に示されるように、サーバーオブジェクト・データベース46は、信号(semaphore)をロックして、データベース46における関連する1つまたは複数のエントリーを読みだし、信号を解放することにより、アクセスされる。
他方、ブロック124に示されるように、もしカウントがローカルに保持され、変更カウンタが同じであれば、オブジェクト記述のローカルキャッシュは一致のために検索できる。また、もしサービス要求との一致がなければ、ブロック118〜122に示されるのと同様に、サーバーオブジェクト・データベース46がアクセスされる。続いて、このプロセスはブロック126において終了する。
ノードがはじめに初期化されるとき、図3のブロック64に示されるように、そのノードを、サーバーオブジェクト・データベースに格納されるオブジェクト記述とともに供給するために、同じサイトでの他のノードを要求する。サイトグローバルサーバーは、登録されるときに、遠隔サイトにブロードキャストされない。サイトグローバルサーバーオブジェクトは、遠隔サイトのノードがサーバーオブジェクト・データベースを探すとき、遠隔サイトのクライアントに可視化される。これは、典型的には、ノードステータスの変化のときに生じる。図9は、サーバーオブジェクトプロセス130のリストの要求を示す。ブロック132において、要求がローカルサイトまたは遠隔サイトのノードからであるかの決定がなされる。もし要求がローカルサイトからであれば、ブロック134に示されるように、グローバルサービスのため登録されるサーバーオブジェクトのオブジェクト記述が得られる。そうでなければ、希望されるオブジェクト記述は、サイトグローバルサービスのために登録されるサーバーオブジェクト(ブロック136で得られる)のものである。次に、ブロック138に示されるように、オブジェクト記述は、要求するノードに通信される。このプロセスは、ブロック140で終了する。
図9は、ローカルサイトまたは遠隔サイトからオブジェクト記述を受信するプロセスフロー150を示す。ブロック152に示されるように、オブジェクト記述を受け取ると、サーバーオブジェクト・データベースの信号が得られて、他のプロセスを締め出す。ブロック154において、データベースが変更されたことを反映するために、データベースのために保持される変更カウンタはインクリメントされる。次に、ブロック156と158に示されるように、今問題となっているノードのためのサーバーオブジェクト記述が除かれ、更新された記述がサーバーオブジェクト・データベースに挿入される。次に、ブロック160において、この信号が解放され、ブロック162において、このプロセスは終了する。
以上に説明したように、ノード間の通信は、メッセージハンドラープロセスとリンクTCPプロセスとをとおしてなされる。図10は、通信プロセスを表す。図10は、クライアントオブジェクト174とサーバーオブジェクト176を示し、ここに、クライアントオブジェクトとサーバーオブジェクトは、別々のノードX170とノードY172にそれぞれ常駐する。サーバーオブジェクト172がちがうノードにあるとき、DOMEは、ノード間通信のための2つの特殊化プロセス、すなわち、メッセージ・ハンドラーとリンクTCPにより提供されるネットワーク論理リンクインターフェイスを用いる。メッセージハンドラーとリンクTCPは、ノード間通信のためのTCP/IPを生成する。サービス要求を送るために、DOMEはクライアント要求を常駐のメッセージハンドラー178に転送する。次に、メッセージハンドラーは、要求を行き先のノードのリンクTCPプロセス180に転送し、このプロセスは、サーバーオブジェクト176により受信されるサーバーオブジェクトIPCシステムVメッセージキューにサービス要求を置く。サーバーオブジェクトは、メッセージの到来を知らせるあらかじめ決められた信号によるサービス要求を知らされる。別の方法では、サーバーオブジェクトは、サービス要求の存在をポールするか、または、サービス要求が存在するまで、一時停止する。各メッセージキュー182は、メッセージの数とバイトの全体の数についてあらかじめ決められた最大容量限界を持つことができる。
もしクライアントオブジェクト174に戻される結果または答えがあるなら、まずノードX172にあるメッセージハンドラー184に送られる。次に、メッセージハンドラー184は、リターンメッセージを、ノードY170にあるリンクTCPプロセス186に通信する。次に、このメッセージは、クライアントオブジェクト174のメッセージキュー188に置かれる。各クライアント要求は、サーバーの応答とともにクライアントに戻される一意のトランザクションIDでマークされる。次に、クライアントオブジェクトは、サーバーオブジェクトから正しい応答が要求に対して戻されたことを保証される。なお、行き先のサーバーのオブジェクトがクライアントオブジェクトと同じノードにあるとき、サービス要求メッセージは直接にクライアントオブジェクトからサーバーオブジェクトのメッセージキューに送られる。
図11は、ノード間通信の他の方法を示す。ノードX170にあるクライアントオブジェクト174は、ノードYにあるサーバーオブジェクト176にUDPを介してサービス要求を送ることができる。実行されるサービスの結果は、もしあれば、同じように、クライアントオブジェクト174に送り返される。この方法は、TCP/IP送信法より少ないオーバーヘッドを含むが、メッセージの伝達を保証しない。グローバルサーバーオブジェクトは、その周知のUDPポートIDを、それが登録されている他のノードにブロードキャストできる。サイトグローバルサーバーオブジェクトの周知のUDPポートIDは、そのノードのサーバーオブジェクト・データベースが遠隔ノードにより要求されるとき、他のサイトにおけるノードにも利用できる。
図12を参照して、ノードステータスをセットするプロセス190は、ノードステータス変化を反映するためにサーバーオブジェクトデータベースを自動的に更新するために用いられる。遠隔ノードのステータスまたはサービスステートが変更されるたびに、ノードのDOMEサイト48(図2)のプロセスは、そのサーバーオブジェクト・データベースを更新する。ブロック192に示されるように、ノードはステータスの変化を経験した遠隔ノードの新しいステータスを受け取り、古いステートを前のサービスステートに等しくセットする。ブロック194と196に示されるように、もし新しいステータスがサービス外であり、ノードがもはやアップでなく実行されていないなら、サーバーオブジェクト・データベースの内容は、ダウングレードされたノードの登録されたオブジェクトを除くために、更新されねばならない。このため、まず、ブロック198と200に示されるように、サーバーオブジェクト・データベースの信号をロックし、変更カウンタをインクリメントする。次に、ブロック202に示されるように、ダウングレードされるノードにある登録されたサーバーオブジェクトは、サーバーオブジェクト・データベースから除かれる。次に、ブロック204において、信号は解放される。したがって、サーバーオブジェクト・データベースは、サービス外のノードにあった全登録オブジェクトを取り除かれる。
ブロック194と210に示されるように、もし新しいステータスがOSミニマムであるなら、または、ブロック216で決定されるように、もし新しいステータスがサービス中であるなら、ブロック218に示されるように、サーバーオブジェクト・データベースは、ノードステータスがグレードをアップするかダウンするかに依存して更新されねばならない。ステータスのアップグレードは、
サービス外 → OSミニマム → サービス中
の方向での遷移に対応し、ブロック218における条件をつくる。他方、
サービス中 → OSミニマム → サービス外
の方向における遷移は、ブロック219における条件を真とする。ブール変数UPDATEは、もはやサービスのために利用できないサーバーオブジェクトをデータベースから除くことを積極的に要求するために使用できる。もしブロック218における条件が偽であるなら、ブロック220に示されるように、遠隔ノードの全体のサーバーオブジェクト・データベースのコピーが要求され、ローカルデータベースに追加される。サーバーオブジェクトの要求の受信のプロセスは、上に説明した図8と図9に示される。
もしブロック218における条件が真であるなら、ローカルノードのサーバーオブジェクト・データベースの内容は、選択的に除かれねばならない。もしサービスステートのダウングレードがあるなら、現在の新しいステータスより高いサービスステートで登録されていたオブジェクトがもはや妥当でなく、それぞれの記述はサーバーオブジェクト・データベースから除かれる。まずサーバーオブジェクト・データベースの信号が、ブロック122に示されるように、確保される。次に、更新カウンタが、データベースの内容におけるこの最近の変化を反映するためにインクリメントされる。続いてブロック226において、新しいステータスより大きな登録時間でのステータスをもつ全オブジェクトが、もはや実行されていないので、データベースから除かれる。次に、ブロック228において、信号が解放され、この手続きはブロック230において終了する。ノードのサービスステートがサーバーオブジェクト・データベースにおいてわかるので、ノードのステータスがダウングレードされるときにもはや妥当でないオブジェクトを除くために、データベースが自動的に更新できる。
図13は、ノードにおけるサービスステートの遷移を示すステート図である。サービス外ステート196とOSミニマムステート210との間の遷移は、プラットフォームマネージャ40、41(図2)がアップであるか実行中であるかにより起こされる。もしプラットフォームマネージャがダウンであるなら、ノードはサービス外ステート196にある。もしプラットフォームマネージャがアップでありアプリケーションソフトウエアが実行中でないなら、ノードはOSミニマムステート210にある。他方、もしプラットフォームマネージャがアップでありアプリケーションソフトウエアが実行中であるなら、ノードはサービス中ステート216にある。ステート図により、全プラットフォームマネージャオブジェクトが登録時にサービス外ステートを持つことや、すべての他のプロセスオブジェクトが、登録時にOSミニマムステートを持つことがわかる。
好ましくは、すべてのDOMEインターフェイスは、ランタイム共用ライブラリにあり、要求されたランタイムでユーザーコードとリンクされる。共用ライブラリが2以上のプロセスによりアクセスできるので、ユーザーは、ユーザー自身のプロセス空間においてDOMEオブジェクトをインスタンス化できる。DOMEのメンバー機能が参照されるので、共用ライブラリから実行時間でリンクされる。
本発明とその効果が詳細に説明されたが、理解されるように、特許を請求する範囲において定義される本発明の精神と範囲の中からはずれることなく、種々の変形、置換、代替をすることができる。
Claims (43)
- 複数のサイトは、互いに物理的に遠隔した位置にあり、少なくとも一つの通信リンクを介して互いに接続され、各サイトが少なくとも一つの通信ネットワークによって接続された複数のプロセッサノードを有している、分散オブジェクトメッセージ伝達システムにおいて、
各プロセッサノードにおいて複数のプロセスを実行し、上記複数のプロセスの各々は通信アプリケーションを実行し、
上記複数のプロセスは複数のオブジェクトを登録し、上記複数のオブジェクトはクライアントオブジェクトおよびサーバーオブジェクトを含み、
各オブジェクトは、少なくとも一つのインスタンスを有し、上記通信アプリケーションによって提供されるハードウェアとソフトウェア・サービスの一部分の発現であり、
上記複数のサーバーオブジェクトは、ローカルノード及びローカルサイトにおけるクライアントオブジェクトにサービスの利用を可能にするためのグローバルサービスに対して、および/または、物理的に遠隔したサイトのプロセッサノードにおけるクライアントオブジェクトにサービスの利用を可能にするためのサイトグローバルサービスに対して、選択的に登録され、
各プロセッシングノードは、そのローカルサイトの他のノードからサーバオブジェクトをそして物理的に遠隔したサイトからノードを登録し、
その物理的に遠隔したサイトはグローバルサービス又はサイトグローバルサービスのために既に登録されており、
グローバルサービスのために登録されたサーバーオブジェクトは、登録時に、上記ローカルサイトの他のプロセッサノードにブロードキャストされ、そして
サイトグローバルサービスのために登録されたサーバーオブジェクトは、登録時に、要求次第で、そこから通信ネットワーク上の物理的に遠隔したサイトの特定のプロセッサノードへ送られるが、ブロードキャストされない、
サーバーオブジェクト・データベースは、登録された各サーバーオブジェクトに対するサーバーオブジェクト記述を格納する各プロセッサノードに存在し、
該サーバーオブジェクト記述は、オブジェクト名、ノード名、サイト名、および、オブジェクトの1より多いインスタンスが同一プロセッサノードに登録されている場合にはインスタンス名を含み、
クライアントサーバーインタフェースは、上記クライアントオブジェクトによってアクセス可能で上記クライアントオブジェクトからサービス要求を受け取り、上記要求されたサービスを実行することができる少なくとも一つの行き先サーバーオブジェクトを求めて上記サーバーオブジェクト・データベースにアクセスし、上記サービス要求をメッセージへとフォーマットし、そして該メッセージをローカルノード、ローカルサイトまたは物理的に遠隔したサイトのプロセッサノードの上記行き先サーバーオブジェクトへと転送する、
ことを特徴とするシステム。 - 請求項1に記載のシステムにおいて、上記複数のプロセスが、過去のサーバーオブジェクト・データベースアクセス要求および行き先サーバーオブジェクトのローカルキャッシュを更に備えている、
ことを特徴とするシステム。 - 請求項2に記載のシステムにおいて、
上記サーバーオブジェクト・データベースは、上記サーバーオブジェクト・データベースに対し実行された変更のカウントを記録する変更カウンタを更に備え、
上記クライアントサーバーインタフェースは、上記サーバーオブジェクト・データベースにおける上記変更カウンタの上記カウントに等しいローカル変更カウントに応じて、一致するサーバーオブジェクトを求めて、上記ローカルキャッシュにアクセスし、そして、上記サーバーオブジェクト・データベースにおける上記変更カウンタの上記カウントに等しくない上記ローカル変更カウントに応じて、上記サーバーオブジェクト・データベースにアクセスする、
ことを特徴とするシステム。 - 請求項1に記載のシステムにおいて、
遠隔プロセッサノードに存在する行き先オブジェクトへメッセージを送るための、各プロセッサノードに存在するメッセージ処理プロセスと、
遠隔プロセッサノードに存在するオブジェクトからメッセージを受信するための、各プロセッサノードに存在するリンクTCPプロセスと、
を更に備えるシステム。 - 請求項4に記載のシステムにおいて、
前記メッセージ処理プロセスおよびリンクTCPプロセスは、プロセッサノードの間に、上記メッセージの送信および受信のための二地点間TCP/IP経路を生成する、
システム。 - 請求項1に記載のシステムにおいて、
上記サーバーオブジェクト・データベースに格納された上記サーバーオブジェクト記述は、オブジェクト登録時におけるプロセッサノードのサービス状態を更に含んでいる、
ことを特徴とするシステム。 - 請求項1に記載のシステムにおいて、
上記プロセッサノードのサービス状態は、サービス外状態、最小サービス状態、およびサービス中状態を含む、
ことを特徴とするシステム。 - 請求項6に記載のシステムにおいて、
上記サーバーオブジェクト・データベースから、上記登録オブジェクトの常駐ノードの現時点のサービス状態よりも高いサービス状態を有する登録オブジェクトが、上記常駐ノードのサービス状態の低下に応じて取り除かれる、
ことを特徴とするシステム。 - 請求項1に記載のシステムにおいて、
上記サーバーオブジェクト・データベースに格納された上記サーバーオブジェクト記述は、アクティブ/待機モードと負荷分散モードを含む上記登録オブジェクトの動作モードを更に含む、
ことを特徴とするシステム。 - 請求項1に記載のシステムにおいて、
上記サーバーオブジェクト・データベースに格納された上記サーバーオブジェクト記述は、上記登録オブジェクトに対する既知のポートIDを更に含む、
ことを特徴とするシステム。 - 各サイトが複数の相互接続ノードを有し、各ノードが該ノードで実行する複数のプロセスを有し、複数の物理的に遠隔したサイトに対する分散オブジェクトメッセージ伝達のための方法において、
各ノードにおける複数のプロセスにより複数のサーバーオブジェクトの少なくとも一つのインスタンスを登録し、該サーバーオブジェクトがローカルサービス、グローバルサービスおよび/またはサイトグローバルサービスに対して登録されるステップであって、複数のプロセスの各々は通信アプリケーションを実行し、各サーバオブジェクトは上記通信アプリケーションによって提供されるハードウェアとソフトウェア・サービスの一部分の表現を提供する、ステップと、
サーバーオブジェクト・データベースにおける各登録オブジェクトのサーバーオブジェクト記述を格納するステップであって、該サーバーオブジェクト記述は、オブジェクト名、ノード名、サイト名、および、オブジェクトの一つ以上のインスタンスが同一ノードに登録されている場合にはインスタンス名を含んでいる、ステップと、
登録時に、ローカルサイトの他のノードへグローバルサービスのために登録されたサーバーオブジェクトの上記サーバーオブジェクト記述をブロードキャストするステップと、
サイトグローバルサービスのために登録されたサーバーオブジェクトの前記サーバオブジェクト記述を、ノード初期化または状態変更で、要求次第で、そこから通信ネットワーク上の物理的に遠隔したサイトのノードへ提供する、ステップと、
ノード初期化または状態変更で、物理的に遠隔したサイトのノードから、サイトグローバルサービスに対して登録されたサーバーオブジェクトのサーバーオブジェクト記述を要求するステップと、
上記ローカルサイトの他のノードから、グローバルサービス登録サーバーオブジェクトのサーバーオブジェクト記述を受信するステップと、
通信ネットワーク上の物理的に遠隔したサイトのノードから、グローバルサービス登録サーバーオブジェクトの上記サーバーオブジェクト記述を受信するステップと、
受信した上記サーバーオブジェクト記述を上記サーバーオブジェクト・データベースに格納するステップと、
クライアントオブジェクトからのサービス要求を受信し、上記サーバーオブジェクト・データベースを検索して上記サービス要求を実行できる行き先サーバーオブジェクトを探し、上記サービス要求をメッセージへとフォーマットし、該メッセージをローカルノード、ローカルサイトまたは物理的に遠隔したサイトにおける上記行き先サーバーオブジェクトへ転送するステップと、
を有することを特徴とする方法。 - 請求項11に記載の方法において、
上記サーバーオブジェクト・データベースに対して行われる変更の数に応じて上記サーバーオブジェクト・データベースに変更カウントを格納するステップと、
過去のサービス要求と該サービス要求を実行できる行き先サーバーオブジェクトとのローカル履歴キャッシュを各プロセスに格納するステップと、
ローカル変更カウントを上記ローカル履歴キャッシュに格納するステップと、
サービス要求と上記サーバーオブジェクト・データベースにおける上記変更カウントに等しい上記ローカル変更カウントとに応じて、上記ローカル履歴キャッシュにアクセスするステップと、
サービス要求と上記サーバーオブジェクト・データベースにおける上記変更カウントに等しくない上記ローカル変更カウントとに応じて、上記サーバーオブジェクト・データベースにアクセスするステップと、
を更に有することを特徴とする方法。 - 請求項12に記載の方法において、
サーバーオブジェクト記述を格納する上記ステップが、各登録オブジェクトに対してオブジェクト登録時におけるノードサービス状態を記憶するステップを更に含む、
ことを特徴とする方法。 - 請求項13に記載の方法において、
ノードサービス状態を記憶する上記ステップが、サービス外状態、ミニマムサービス状態またはサービス中状態を記憶するステップを更に含む、
ことを特徴とする方法。 - 請求項13に記載の方法において、
ノードを下位のサービス状態へとダウングレードするステップと、
ダウングレードされた上記ノードの上記下位のサービス状態よりも高いサービス状態を有する上記ダウングレードノードに存在する登録オブジェクトを上記サーバーオブジェクト・データベースから除くステップと、
を更に有することを特徴とする方法。 - 請求項13に記載の方法において、
ノードをより高いサービス状態へとアップグレードするステップと、
他の全てのノードに上記アップグレードされたノードのより高いサービス状態を通知するステップと、
上記アップグレードされたノードのサーバーオブジェクト・データベースの内容のコピーを要求するステップと、
サーバーオブジェクト・データベースにおける上記コピーを他の全てのノードに格納するステップと、
を有することを特徴とする方法。 - 請求項11に記載の方法において、
サーバーオブジェクト記述を格納する上記ステップが、上記登録オブジェクトの動作モードを記憶するステップを更に含み、該動作モードがアクティブ/待機モードおよび負荷分散モードを有している、
ことを特徴とする方法。 - 請求項11に記載の方法において、
サーバーオブジェクト記述を格納する上記ステップが、各登録オブジェクトに対する既知のポートIDを記憶するステップを更に含む、
ことを特徴とする方法。 - 請求項11に記載の方法において、
サーバーオブジェクト記述を格納する上記ステップが、アクティブ/待機モードまたは負荷分散モードを指定する動作モードを記憶するステップを更に含む、
ことを特徴とする方法。 - 請求項19に記載の方法において、
上記サーバーオブジェクト・データベースを検索して行き先サーバーオブジェクトを探す上記ステップは、負荷分散モードに対して登録されている上記サーバーオブジェクトに応じて、上記行き先サーバーオブジェクトの間に実質的に均等にサービス要求を分配するステップを含んでいる、
ことを特徴とする方法。 - 請求項19に記載の方法において、
上記サーバーオブジェクト・データベースを検索して行き先サーバーオブジェクトを探す上記ステップは、負荷分散モードに対して登録されている上記サーバーオブジェクトに応じて、ラウンドロビンアルゴリズムを用いて上記行き先サーバーオブジェクトの間に実質的に均等にサービス要求を分配するステップを含んでいる、
ことを特徴とする方法。 - 請求項11に記載の方法において、
上記メッセージを上記行き先サーバーオブジェクトに転送する上記ステップは、上記行き先サーバーオブジェクトが存在する行き先ノードへの通信リンクを確立するステップを含んでいる、
ことを特徴とする方法。 - 請求項11に記載の方法において、
上記メッセージを上記行き先サーバーオブジェクトに転送する上記ステップは、上記行き先サーバーオブジェクトが存在する行き先ノードへのTCP/IP通信リンクを確立するステップを含んでいる、
ことを特徴とする方法。 - 請求項11に記載の方法において、
上記メッセージを上記行き先サーバーオブジェクトに転送する上記ステップは、上記行き先サーバーオブジェクトが存在する行き先ノードのUDP/TLIソケット接続によって上記メッセージを転送するステップを含んでいる、
ことを特徴とする方法。 - 請求項22に記載の方法において、
上記メッセージを上記行き先サーバーオブジェクトに転送する上記ステップは、
上記フォーマットされたメッセージをメッセージハンドラープロセスに転送し、該メッセージハンドラープロセスが該メッセージを上記行き先ノードにおけるリンクTCPプロセスへ送信するステップと、
上記メッセージを上記行き先サーバーオブジェクトに転送するステップと、
を有している、
ことを特徴とする方法。 - 請求項11に記載の方法において、
上記行き先サーバーオブジェクトから応答を受信するステップ、
を更に有することを特徴とする方法。 - 多くの物理的に離れたサイトにおいて実行する通信アプリケーションにおいて、多くのサイトの間での分散オブジェクトメッセージ伝達のための方法であって、各サイトは相互接続された多数のノードを有し、各ノードは、その中において実行する多数のプロセスを有する、方法において、
各ノードにおける複数のプロセスにより複数のサーバーオブジェクトの内の少なくとも1つのインスタンスを登録するステップであって、上記サーバーオブジェクトはローカルノードに対するサービス、ローカルサイトに対するグローバルサービス、及び/又は、複数の遠隔サイトに対するサイトグローバルサービスのために登録されている、ステップと、
サーバーオブジェクト・データベースに登録されている各オブジェクトのサーバーオブジェクト記述を格納し、上記サーバーオブジェクト記述はオブジェクト名、ノード名、サイト名、及び、同じノードにオブジェクトのインスタンスが2以上登録されている場合にはインスタンス名を含むステップであって、上記複数のプロセスの各々は通信アプリケーションを実行し、各サーバーオブジェクトは上記通信アプリケーションによって提供されるハードウェアとソフトウェア・サービスの一部分の表現を提供する、ステップと、
登録時に、ローカルサイトの他のノードへ、グローバルサービスのために登録されたサーバーオブジェクトの上記サーバーオブジェクト記述をブロードキャストするステップと、
サイトグローバルサービスのために登録されたサーバーオブジェクトの上記サーバオブジェクト記述を、ノード初期化または状態変更で、要求次第で、そこから通信ネットワーク上の物理的に遠隔したサイトのノードへ、提供するステップであって、前記ブロードキャストされ提供されたサーバーオブジェクト記述はそれぞれローカルサイトの他のノード及び物理的に遠隔したサイトのノードのサーバオブジェクトデータベースに格納される、ステップと、
ノード初期化または状態変更で、物理的に遠隔したサイトのノードから、サイトグローバルサービスのために登録されたサーバーオブジェクトのサーバーオブジェクト記述を要求するステップと、
通信ネットワーク上の物理的に遠隔したサイトのノードから、グローバルサービス登録サーバーオブジェクトの上記サーバーオブジェクト記述を受信するステップと、
受信した前記サーバーオブジェクト記述を上記サーバーオブジェクト・データベースに格納するステップと、
クライアントオブジェクトからのサービス要求を受け取り、上記サービス要求を実行できる行き先サーバーオブジェクトのため上記サーバーオブジェクト・データベースを検索し、上記サービス要求をメッセージにフォーマットし、物理的に遠隔したサイトの上記行き先サーバーオブジェクトに上記メッセージを送るステップと、
からなることを特徴とする方法。 - 請求項27に記載の方法であって、さらに、
上記サーバーオブジェクト・データベースで形成される変更の数に応じて上記サーバーオブジェクト・データベースにおける変更カウントを格納するステップと、
過去のサービス要求のローカル履歴キャッシュ、及び、各プロセスにおいてサービス要求を実行可能な行き先サーバーオブジェクトを格納するステップと、
上記ローカル履歴キャッシュにおけるローカル変更カウントを格納するステップと、
サービス要求と、上記サーバーオブジェクト・データベースにおける上記変更カウントと等しいローカル変更カウントに対応して上記ローカル履歴キャッシュをアクセスするステップと、
サービス要求と、上記サーバーオブジェクト・データベースにおける上記変更カウントとは等しくない上記ローカル変更カウントとに応じて上記サーバーオブジェクト・データベースをアクセスするステップと、
を備えることを特徴とする方法。 - 請求項28に記載の方法において、
上記サーバーオブジェクト記述を格納するステップは、さらに、登録された各オブジェクトに関し、オブジェクト登録時におけるノードサービスステートを格納するステップを含む、
ことを特徴とする方法。 - 請求項29に記載の方法において、
上記ノードサービスステートを格納するステップは、さらに、サービス外ステート、ミニマムサービスステート又はサービス中ステートを格納するステップを含む、
ことを特徴とする方法。 - 請求項29に記載の方法において、さらに、
ノードをより低いサービスステートへダウングレードするステップと、そして
上記ダウングレードされたノードの上記の低いサービスステートよりも高いサービスステートを有し、上記ダウングレードされたノードに常駐する登録されたオブジェクトを、上記サーバーオブジェクト・データベースより除去するステップと、
を備えることを特徴とする方法。 - 請求項29に記載の方法において、さらに、
ノードをより高いサービスステートへアップグレードするステップと、
上記アップグレードされたノードのより高いサービスステートを他の全てのノードに通知するステップと、
上記アップグレードされたノードのサーバーオブジェクト・データベースの内容のコピーを要求するステップと、
他の全てのノードにおけるサーバーオブジェクト・データベースに上記コピーを格納させるステップと、
を備えることを特徴とする方法。 - 請求項27に記載の方法において、
サーバーオブジェクト記述を格納するステップは、さらに、上記登録されたオブジェクトの操作モードを格納するステップを備え、上記操作モードは、アクティブ/待機モード及び負荷分散モードを備える、
ことを特徴とする方法。 - 請求項27に記載の方法において、
サーバーオブジェクト記述を格納するステップは、さらに、各々の登録されたオブジェクトに対するメッセージキューIDを格納するステップを備える、
ことを特徴とする方法。 - 請求項27に記載の方法において、
サーバーオブジェクト記述を格納するステップは、さらに、各々の格納されたオブジェクトに対する周知のポートIDを格納するステップを備える、
ことを特徴とする方法。 - 請求項27に記載の方法において、
サーバーオブジェクト記述を格納するステップは、さらに、アクティブ/待機モード又は負荷分散モードを指定する操作を格納するステップを備える、
ことを特徴とする方法。 - 請求項36に記載の方法において、
行き先サーバーオブジェクトに関して上記サーバーオブジェクト・データベースを検索するステップは、負荷分散操作モードのために登録されている上記サーバーオブジェクトに応じて上記行き先サーバーオブジェクト間でサービス要求を実質的に等しく分散するステップを備える、
ことを特徴とする方法。 - 請求項36に記載の方法において、
行き先サーバーオブジェクトに関して上記サーバーオブジェクト・データベースを検索するステップは、負荷分散操作モードのために登録されている上記サーバーオブジェクトに応じてラウンドロビン・アルゴリズムを利用する上記行き先サーバーオブジェクト間でサービス要求を実質的に等しく分散するステップを備える、
ことを特徴とする方法。 - 請求項27に記載の方法において、
上記行き先サーバーオブジェクトに上記メッセージを送信するステップは、上記行き先サーバーオブジェクトが属する行き先ノードに通信リンクを確立するステップを備える、
ことを特徴とする方法。 - 請求項27に記載の方法において、
上記行き先サーバーオブジェクトに上記メッセージを送信するステップは、上記行き先サーバーオブジェクトが属する行き先ノードにTCP/IP通信リンクを確立するステップを備える、
ことを特徴とする方法。 - 請求項27に記載の方法において、
上記行き先サーバーオブジェクトに上記メッセージを送信するステップは、上記行き先サーバーオブジェクトが属する行き先ノードのUDP/TLIソケット接続を介して上記メッセージを送信するステップを備える、
ことを特徴とする方法。 - 請求項39に記載の方法において、
上記行き先サーバーオブジェクトに上記メッセージを送信するステップは、
上記のフォーマットされたメッセージをメッセージハンドラーに送り、このメッセージハンドラーは上記行き先ノードにおけるリンクTCPプロセスに上記メッセージを送るステップと、
上記のメッセージを上記行き先サーバーオブジェクトへ送るステップと、
を備える、
ことを特徴とする方法。 - 請求項27に記載の方法において、さらに、
上記行き先サーバーオブジェクトから応答を受け取るステップ、
を備える方法。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/526,953 | 1995-09-12 | ||
| US08/526,953 US5892946A (en) | 1995-09-12 | 1995-09-12 | System and method for multi-site distributed object management environment |
| PCT/US1996/014755 WO1997010547A1 (en) | 1995-09-12 | 1996-09-11 | System and method for multi-site distributed object management environment |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2000500255A JP2000500255A (ja) | 2000-01-11 |
| JP3846736B2 true JP3846736B2 (ja) | 2006-11-15 |
Family
ID=24099505
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP51215197A Expired - Fee Related JP3846736B2 (ja) | 1995-09-12 | 1996-09-11 | 多サイトに分散されたオブジェクト管理環境に対するシステム及び方法 |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US5892946A (ja) |
| EP (1) | EP0850447B1 (ja) |
| JP (1) | JP3846736B2 (ja) |
| AU (1) | AU6978196A (ja) |
| CA (1) | CA2231684A1 (ja) |
| DE (1) | DE69624579T2 (ja) |
| WO (1) | WO1997010547A1 (ja) |
Families Citing this family (63)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6041362A (en) * | 1995-10-20 | 2000-03-21 | Electronics Data Systems Corporation | Method and system for integrating disparate information technology applications and platforms across an enterprise |
| AT1751U1 (de) | 1996-09-30 | 1997-10-27 | Kuehn Eva | Koordinations-system |
| US6496870B1 (en) * | 1997-01-31 | 2002-12-17 | Sun Microsystems, Inc. | System, method and article of manufacture for collaboration with an application |
| US7490169B1 (en) | 1997-03-31 | 2009-02-10 | West Corporation | Providing a presentation on a network having a plurality of synchronized media types |
| US6742050B1 (en) | 1997-03-31 | 2004-05-25 | Intel Corporation | Inter-object messaging |
| US6134597A (en) * | 1997-05-28 | 2000-10-17 | International Business Machines Corporation | CRC hash compressed server object identifier |
| JP3490256B2 (ja) * | 1997-06-12 | 2004-01-26 | 三菱電機株式会社 | エージェント方式 |
| US7082553B1 (en) * | 1997-08-25 | 2006-07-25 | At&T Corp. | Method and system for providing reliability and availability in a distributed component object model (DCOM) object oriented system |
| US6804711B1 (en) * | 1997-10-06 | 2004-10-12 | Mci, Inc. | Method and apparatus for managing call processing services in an intelligent telecommunication network |
| US7024450B1 (en) * | 1997-10-06 | 2006-04-04 | Mci, Inc. | Method and apparatus for deploying service modules among service nodes distributed in an intelligent network |
| US6425005B1 (en) * | 1997-10-06 | 2002-07-23 | Mci Worldcom, Inc. | Method and apparatus for managing local resources at service nodes in an intelligent network |
| US6779030B1 (en) * | 1997-10-06 | 2004-08-17 | Worldcom, Inc. | Intelligent network |
| US6594355B1 (en) | 1997-10-06 | 2003-07-15 | Worldcom, Inc. | Method and apparatus for providing real time execution of specific communications services in an intelligent network |
| US6018805A (en) * | 1997-12-15 | 2000-01-25 | Recipio | Transparent recovery of distributed-objects using intelligent proxies |
| US6405264B1 (en) | 1997-12-18 | 2002-06-11 | Sun Microsystems, Inc. | Marshaling and unmarshaling framework for supporting filters in a distributed object system |
| US6516354B2 (en) * | 1997-12-18 | 2003-02-04 | Sun Microsystems, Inc. | Method and apparatus for efficient representation of variable length identifiers in a distributed object system |
| US6510460B1 (en) | 1997-12-18 | 2003-01-21 | Sun Microsystems, Inc. | Method and apparatus for enforcing locking invariants in multi-threaded systems |
| US6249803B1 (en) | 1997-12-18 | 2001-06-19 | Sun Microsystems, Inc. | Method and apparatus for executing code during method invocation |
| US6397252B1 (en) * | 1997-12-19 | 2002-05-28 | Electronic Data Systems Corporation | Method and system for load balancing in a distributed object system |
| US6061729A (en) * | 1997-12-31 | 2000-05-09 | Alcatel Usa Sourcing, L.P. | Method and system for communicating service information in an advanced intelligent network |
| US6314172B1 (en) * | 1997-12-31 | 2001-11-06 | Alcatel Usa Sourcing L.P. | Method and system for providing service information in an advanced intelligent network |
| US6038301A (en) * | 1997-12-31 | 2000-03-14 | Alcatel Usa Sourcing, L.P. | Method and system for engineering a service in an advanced intelligent network |
| US5963947A (en) * | 1998-01-27 | 1999-10-05 | International Business Machines Corporation | Technique of dynamically adding functionality from a client to manipulated data at a server |
| US6862736B2 (en) | 1998-02-06 | 2005-03-01 | Microsoft Corporation | Object manager for common information model |
| US6247017B1 (en) * | 1998-03-20 | 2001-06-12 | Sun Microsystems, Inc. | Server-client communication over a network |
| US6170014B1 (en) | 1998-03-25 | 2001-01-02 | Community Learning And Information Network | Computer architecture for managing courseware in a shared use operating environment |
| US6788649B1 (en) | 1998-08-03 | 2004-09-07 | Mci, Inc. | Method and apparatus for supporting ATM services in an intelligent network |
| US6862733B1 (en) * | 1998-11-19 | 2005-03-01 | Unisys Corporation | Generic method for programmatically locating and executing any application |
| KR100309803B1 (ko) * | 1998-12-26 | 2001-12-17 | 서평원 | 망관리시스템과관리대상장비간의데이터베이스동기화장치및방법 |
| US7062454B1 (en) | 1999-05-06 | 2006-06-13 | Jarbridge, Inc. | Previewing system and method |
| US6578068B1 (en) | 1999-08-31 | 2003-06-10 | Accenture Llp | Load balancer in environment services patterns |
| US7181539B1 (en) * | 1999-09-01 | 2007-02-20 | Microsoft Corporation | System and method for data synchronization |
| US6903756B1 (en) | 1999-10-14 | 2005-06-07 | Jarbridge, Inc. | Merged images viewed via a virtual storage closet |
| US7418407B2 (en) | 1999-10-14 | 2008-08-26 | Jarbridge, Inc. | Method for electronic gifting using merging images |
| US7917397B1 (en) | 1999-10-14 | 2011-03-29 | Jarbridge, Inc. | Merging private images for gifting |
| US20040168174A1 (en) * | 2000-03-08 | 2004-08-26 | Baker Tyler Foley | System for object cloing and state synchronization across a network node tree |
| US6941510B1 (en) * | 2000-06-06 | 2005-09-06 | Groove Networks, Inc. | Method and apparatus for efficient management of XML documents |
| EP1202172A1 (en) * | 2000-10-31 | 2002-05-02 | Universiteit Gent | Topological, on-the-fly classification of objects into a global set and local sets |
| WO2002054264A1 (en) | 2000-12-29 | 2002-07-11 | Webex Communications, Inc. | Distributed network system architecture for collaborative computing |
| US6567813B1 (en) | 2000-12-29 | 2003-05-20 | Webex Communications, Inc. | Quality of service maintenance for distributed collaborative computing |
| US6901448B2 (en) * | 2000-12-29 | 2005-05-31 | Webex Communications, Inc. | Secure communications system for collaborative computing |
| US7203755B2 (en) * | 2000-12-29 | 2007-04-10 | Webex—Communications, Inc. | System and method for application sharing in collaborative setting |
| US20030167418A1 (en) | 2000-12-29 | 2003-09-04 | Min Zhu | Fault-tolerant server for collaborative computing |
| US6925645B2 (en) | 2000-12-29 | 2005-08-02 | Webex Communications, Inc. | Fault tolerant server architecture for collaborative computing |
| US7069298B2 (en) | 2000-12-29 | 2006-06-27 | Webex Communications, Inc. | Fault-tolerant distributed system for collaborative computing |
| US20030164853A1 (en) * | 2000-12-29 | 2003-09-04 | Min Zhu | Distributed document sharing |
| US6744753B2 (en) * | 2001-11-01 | 2004-06-01 | Nokia Corporation | Local service handover |
| US7340214B1 (en) | 2002-02-13 | 2008-03-04 | Nokia Corporation | Short-range wireless system and method for multimedia tags |
| US7636754B2 (en) * | 2002-03-21 | 2009-12-22 | Cisco Technology, Inc. | Rich multi-media format for use in a collaborative computing system |
| FI117153B (fi) * | 2002-04-19 | 2006-06-30 | Nokia Corp | Laajennettu nimipalvelukehys |
| KR100462886B1 (ko) * | 2002-10-15 | 2004-12-17 | 삼성전자주식회사 | 부하 분담 구조와 프라이머리/백업 구조가 혼합된 시스템 |
| US7269623B2 (en) * | 2003-01-09 | 2007-09-11 | Raytheon Company | System and method for distributed multimodal collaboration using a tuple-space |
| US8745124B2 (en) * | 2005-10-31 | 2014-06-03 | Ca, Inc. | Extensible power control for an autonomically controlled distributed computing system |
| US20070127438A1 (en) * | 2005-12-01 | 2007-06-07 | Scott Newman | Method and system for processing telephone technical support |
| US7606937B2 (en) * | 2005-12-02 | 2009-10-20 | Microsoft Corporation | Next site for distributed service connections |
| US20080046966A1 (en) * | 2006-08-03 | 2008-02-21 | Richard Chuck Rhoades | Methods and apparatus to process network messages |
| US8212805B1 (en) | 2007-01-05 | 2012-07-03 | Kenneth Banschick | System and method for parametric display of modular aesthetic designs |
| US8856344B2 (en) | 2009-08-18 | 2014-10-07 | Verisign, Inc. | Method and system for intelligent many-to-many service routing over EPP |
| US8327019B2 (en) * | 2009-08-18 | 2012-12-04 | Verisign, Inc. | Method and system for intelligent routing of requests over EPP |
| JP6890685B2 (ja) * | 2018-01-19 | 2021-06-18 | 三菱電機株式会社 | 通信制御装置、通信制御方法および通信制御プログラム |
| US11234235B2 (en) | 2019-04-30 | 2022-01-25 | Bank Of America Corporation | Resource distribution hub generation on a mobile device |
| US11196737B2 (en) | 2019-04-30 | 2021-12-07 | Bank Of America Corporation | System for secondary authentication via contactless distribution of dynamic resources |
| US10998937B2 (en) | 2019-04-30 | 2021-05-04 | Bank Of America Corporation | Embedded tag for resource distribution |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5551035A (en) * | 1989-06-30 | 1996-08-27 | Lucent Technologies Inc. | Method and apparatus for inter-object communication in an object-oriented program controlled system |
| DE68929162T2 (de) * | 1989-07-21 | 2000-11-16 | Hewlett Packard Co | Verteilte auf Objekte basierende Systeme |
| US5301319A (en) * | 1989-09-15 | 1994-04-05 | Emtek Health Care Systems, Inc. | Data storage audit trail |
| DE69126223T2 (de) * | 1990-02-14 | 1997-09-18 | Fujitsu Ltd | System zur Erstellung eines Übertragungsweges in einem eng gekoppelten Rechnersystem |
| DE69130197T2 (de) * | 1990-03-05 | 1999-02-11 | Fujitsu Ltd., Kawasaki, Kanagawa | Datenverarbeitungssystem zur nachrichtenübertragung |
| DE69121973T2 (de) * | 1990-05-30 | 1997-01-30 | Fujitsu Ltd | Verarbeitungssystem zur Ausgabe vom Verwendungsrecht vom Betriebsmittel |
| AU639802B2 (en) * | 1990-08-14 | 1993-08-05 | Oracle International Corporation | Methods and apparatus for providing dynamic invocation of applications in a distributed heterogeneous environment |
| EP0497022B1 (en) * | 1991-01-31 | 1999-04-07 | Hewlett-Packard Company | Conference system |
| US5303375A (en) * | 1991-04-26 | 1994-04-12 | Hewlett-Packard Company | System and method for facilitating selection of running functional process in object-oriented environments |
| FR2679350B1 (fr) * | 1991-07-16 | 1995-06-23 | Cit Alcatel | Structure de logiciel pour systeme de traitement de donnees, notamment pour systeme de telecommunications. |
| GB2263797B (en) * | 1992-01-31 | 1996-04-03 | Plessey Telecomm | Object orientated system |
| US5287507A (en) * | 1992-03-27 | 1994-02-15 | Sun Microsystems, Inc. | Method and apparatus for portable object handles that use local caches |
| US5307490A (en) * | 1992-08-28 | 1994-04-26 | Tandem Computers, Inc. | Method and system for implementing remote procedure calls in a distributed computer system |
| US5396630A (en) * | 1992-10-06 | 1995-03-07 | International Business Machines Corporation | Method and system for object management across process boundries in a data processing system |
| US5377350A (en) * | 1993-04-30 | 1994-12-27 | International Business Machines Corporation | System for cooperative communication between local object managers to provide verification for the performance of remote calls by object messages |
| US5522077A (en) * | 1994-05-19 | 1996-05-28 | Ontos, Inc. | Object oriented network system for allocating ranges of globally unique object identifiers from a server process to client processes which release unused identifiers |
-
1995
- 1995-09-12 US US08/526,953 patent/US5892946A/en not_active Expired - Fee Related
-
1996
- 1996-09-11 EP EP96930881A patent/EP0850447B1/en not_active Expired - Lifetime
- 1996-09-11 JP JP51215197A patent/JP3846736B2/ja not_active Expired - Fee Related
- 1996-09-11 AU AU69781/96A patent/AU6978196A/en not_active Abandoned
- 1996-09-11 DE DE69624579T patent/DE69624579T2/de not_active Expired - Lifetime
- 1996-09-11 CA CA002231684A patent/CA2231684A1/en not_active Abandoned
- 1996-09-11 WO PCT/US1996/014755 patent/WO1997010547A1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| JP2000500255A (ja) | 2000-01-11 |
| EP0850447B1 (en) | 2002-10-30 |
| WO1997010547A1 (en) | 1997-03-20 |
| DE69624579D1 (de) | 2002-12-05 |
| DE69624579T2 (de) | 2003-05-22 |
| US5892946A (en) | 1999-04-06 |
| EP0850447A1 (en) | 1998-07-01 |
| AU6978196A (en) | 1997-04-01 |
| CA2231684A1 (en) | 1997-03-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3846736B2 (ja) | 多サイトに分散されたオブジェクト管理環境に対するシステム及び方法 | |
| KR102340296B1 (ko) | 트랜잭셔널 환경에서 리소스 관리자(rm) 인스턴스 인지에 기초하여 공통 트랜잭션 식별자(xid) 최적화 및 트랜잭션 친화성을 지원하기 위한 시스템 및 방법 | |
| EP0479660B1 (en) | Distributed configuration profile for computing system | |
| JP3382953B2 (ja) | 有限メモリコンピュータシステム上におけるクライアント管理フロー制御方法及び装置 | |
| US5530905A (en) | Temporary state preservation for a distributed file service which purges virtual circuit control information after expiration of time limit of inactivity | |
| US6470357B1 (en) | System and method of enhanced directory services for telecommunications management network applications | |
| US7822711B1 (en) | Conflict resolution for a distributed file sharing system | |
| US8055706B2 (en) | Transparent request routing for a partitioned application service | |
| US5970488A (en) | Real-time distributed database system and method | |
| CA2417509C (en) | System and method for concentration and load-balancing of requests | |
| AU2001276932A1 (en) | System and method for concentration and load-balancing of requests | |
| EP0213276A2 (en) | Dynamic updating of data base directories | |
| US7424494B2 (en) | System for synchronizing voice messaging subscriber information | |
| US6058425A (en) | Single server access in a multiple TCP/IP instance environment | |
| WO2007073429A2 (en) | Distributed and replicated sessions on computing grids | |
| US20040143654A1 (en) | Node location management in a distributed computer system | |
| US7433928B1 (en) | System pre-allocating data object replicas for a distributed file sharing system | |
| US5996017A (en) | Method for information exchange in the customer/server mode between stations connected by a communication network | |
| US8572201B2 (en) | System and method for providing a directory service network | |
| JPH09160847A (ja) | クライアント・サーバ型分散処理システム | |
| US9922031B2 (en) | System and method for efficient directory performance using non-persistent storage | |
| CN113542319A (zh) | 用于Dubbo框架中的服务提供实体变更通知方法、装置及系统 | |
| JPH0962602A (ja) | サーバ情報管理方法および管理システム | |
| JP2003140956A (ja) | ファイル共有プロキシシステム及びファイル共有制御方法 | |
| JPH10161921A (ja) | バインド情報を用いたキャッシュ情報運用管理方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20050609 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051115 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20060210 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20060327 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060515 |
|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20060515 |
|
| 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: 20060801 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060818 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090901 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100901 Year of fee payment: 4 |
|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D02 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100901 Year of fee payment: 4 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D04 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110901 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110901 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120901 Year of fee payment: 6 |
|
| LAPS | Cancellation because of no payment of annual fees |