JP3597356B2 - 通信連携情報生成装置、3階層クライアント/サーバシステムおよび通信連携情報生成プログラムを記録した媒体 - Google Patents

通信連携情報生成装置、3階層クライアント/サーバシステムおよび通信連携情報生成プログラムを記録した媒体 Download PDF

Info

Publication number
JP3597356B2
JP3597356B2 JP28664397A JP28664397A JP3597356B2 JP 3597356 B2 JP3597356 B2 JP 3597356B2 JP 28664397 A JP28664397 A JP 28664397A JP 28664397 A JP28664397 A JP 28664397A JP 3597356 B2 JP3597356 B2 JP 3597356B2
Authority
JP
Japan
Prior art keywords
application
client
general
purpose computer
communication
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
Application number
JP28664397A
Other languages
English (en)
Other versions
JPH11119986A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP28664397A priority Critical patent/JP3597356B2/ja
Priority to US09/042,801 priority patent/US6343332B1/en
Publication of JPH11119986A publication Critical patent/JPH11119986A/ja
Application granted granted Critical
Publication of JP3597356B2 publication Critical patent/JP3597356B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/465Distributed object oriented systems
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は通信連携情報生成装置に関し、特に分散オブジェクト指向技術を利用して通信処理を行うクライアント/サーバシステムと分散オブジェクト環境を持たない汎用コンピュータとで構成されるような3階層クライアント/サーバシステムにおけるアプリケーション間の通信通信連携情報を生成する通信連携情報生成装置に関する。
【0002】
クライアント/サーバシステムはアプリケーション全体の機能をクライアントとサーバとに分散配置し、ネットワークを通じて全体で連携処理するものである。このような形態のシステムでは、クライアントはユーザインタフェースを主目的とし、サーバはクライアントにてユーザとの対話処理の過程にて発生した要求を受けて処理することを主目的としている。クライアントはユーザインタフェースに付随して起きるイベントに応答して処理する機能を備えているため、機能が増えてくれば、必然的にクライアントの負担が増える傾向にある。そこで、機能の密な結合を回避し、さらにシステムに拡張性および柔軟性を持たせるために、システムを階層化することが提案されており、クライアント層とサーバ層との間に少なくとも一つの階層を介在させて多階層システムの形態を採るようになってきている。
【0003】
一方、クライアント/サーバシステムにあって、それらのアプリケーション間の通信においても、信頼性、拡張性、柔軟性などが求められており、そのような要求に応えるものとして分散オブジェクト環境がある。
【0004】
オブジェクト指向開発は、アプリケーションをオブジェクトと見せることでプログラム開発効率を高める技術として浸透しつつある。このうち、CORBA(Common Object Request Broker Architecture)は、分散したシステム上のサーバアプリケーションを、クライアントアプリケーションが位置や実装を認識することなく呼び出し可能とする技術として、OMG(Object Management Group)団体が定めた分散オブジェクト指向技術のための規約である。
【0005】
クライアント/サーバシステムにおいて、サーバアプリケーションのインタフェース情報を、CORBAによってネットワーク上に公開して共用することにより、クライアントアプリケーションは、サーバアプリケーションをあたかもローカルシステム内でのプログラム呼び出しのように容易に利用することができる。そして、オブジェクト同士で通信を行うための機能およびソフトウェアはORB(object request broker)と呼ばれ、ORB同士を接続する通信手順としてIIOP(Internet Inter−ORB Protocol)が採用されている。
【0006】
【従来の技術】
図7は3階層システムの構築例を示す図である。この図において、3階層システムは、クライアント100と、サーバシステム110と、データサーバ120とから構成されている。クライアント100には、クライアントアプリケーション101が配置され、サーバシステム110にはサーバアプリケーション111が配置され、データサーバ120にはサーバアプリケーション121が配置されている。したがって、サーバアプリケーション111はサーバアプリケーション121のクライアントアプリケーションとしての機能も有する。ここで、クライアントアプリケーション101のオブジェクトAがサーバアプリケーション111のオブジェクトBを呼び出し、そのオブジェクトBがサーバアプリケーション121のオブジェクトCを呼び出すという例を示している。これらオブジェクト間のメッセージ交換はインタフェース情報ファイルと、ORB機構と、ORB間通信プロトコルとによって実現される。
【0007】
インタフェース情報ファイルは、オブジェクトに関するインタフェース情報をCORBA規約で定められた文法に従ったインタフェース定義言語(IDL)で記述し、それを専用のIDLコンパイラでコンパイルすることにより、クライアント、サーバそれぞれのアプリケーションに対して作成される。CORBAでは、このインタフェース情報ファイルを、クライアント側はスタブ、サーバ側はスケルトンと呼んでいる。
【0008】
クライアントアプリケーション101にはスタブ102およびORB機構103があり、サーバアプリケーション111にはORB機構112、スケルトン113、スタブ114およびORB機構115があり、サーバアプリケーション121にはORB機構122およびスケルトン123がある。ここで、スタブ102およびスケルトン113はオブジェクトBに関する情報を記述したIDLファイル131をコンパイルすることによって生成されたインタフェース情報ファイルであり、スタブ114およびスケルトン123はオブジェクトCに関する情報を記述したIDLファイル132をコンパイルすることによって生成されたインタフェース情報ファイルである。
【0009】
また、ORB機構103とORB機構112との間、およびORB機構115とORB機構122との間の通信はCORBAの標準プロトコルであるIIOPが使用される。
【0010】
さらに、ネットワーク上には別のサーバ140があり、これにはネーミングサービス141が搭載されている。このネーミングサービス141は、アプリケーションのオブジェクトが必要としているオブジェクトがネットワーク上のどこにあるかの問い合わせに応えるためのもので、オブジェクトが位置するサーバのアドレスとともに、オブジェクトを名前で管理しているデータベースである。これにより、クライアントアプリケーションはサーバアプリケーションのオブジェクトを名前で呼び出すことにより、ORB機構はネーミングサービス141を参照し、ここで得られたサーバアプリケーションのオブジェクトが位置するサーバシステムのアドレスをもとにそのサーバシステムに要求を出すことによって利用可能になる。
【0011】
次に、このように構築された3階層システムにおけるオブジェクト呼び出しについて説明する。まず、クライアントアプリケーション101のオブジェクトAがオブジェクトBを呼び出す。これは、スタブ102内に展開されたオブジェクトBに対応するオブジェクト(オペレーション)を呼び出すことになる。このオペレーションには、通信のためのインタフェース情報は持たないので、ORB機構103はネーミングサービス141に問い合わせて、得られたサーバシステム110のアドレスをもとにIIOPプロトコルを使用してサーバシステム110のORB機構112にクライアントアプリケーション101からの要求を送る。ORB機構112を介して要求を受けたオブジェクトBはその要求をオブジェクトCに転送する。この場合も、同様にしてネーミングサービス141を利用し、ネットワーク上のデータサーバ120のアドレスを取得して通信を行う。データサーバ120のサーバアプリケーション121はオブジェクトBからの要求を処理する。オブジェクトCは処理した結果をオブジェクトBに返信する。オブジェクトBはオブジェクトCからの応答をオブジェクトAに返信する。これにより、クライアントアプリケーション101は処理した結果を受け取ることになる。
【0012】
ところで、以上のような3階層システムにおいて、3階層目のデータサーバ120に大型の汎用コンピュータを使いたいという要求がある。このとき、2階層目のサーバシステム110はクライアント100からの要求を汎用コンピュータに単純に転送するだけのゲートウェイ処理となる。このような形態を採ることにより、システム全体の信頼性・性能を向上させることができ、しかも、既に運用しているデータベースシステムの再利用、有効利用が可能になる。
【0013】
【発明が解決しようとする課題】
CORBAの技術は標準的なオペレーティングシステムやハードウェアをもとにして作られたオープン仕様のコンピュータに適用される。一方、汎用コンピュータは独自のアーキテクチャに基づいて作られたものであるため、3階層システムの3階層目に汎用コンピュータを適用する場合に、次のような問題点が発生する。
【0014】
まず、本来、分散オブジェクト指向技術を持たない汎用コンピュータ上に分散オブジェクト指向技術と連携させるためのORB機構を持つ必要がある。
CORBAではオブジェクト名をネットワーク一意の名前として管理しているために、たとえ3者間のインタフェースが同じであっても、クライアントアプリケーションとゲートウェイアプリケーションとのインタフェースを定義するIDLソースと、ゲートウェイアプリケーションと汎用コンピュータ上のサーバアプリケーションとのインタフェース情報を定義するIDLソースとの2つのIDL定義が必要となる。
【0015】
2階層目のサーバシステムをクライアントからの要求を単に汎用コンピュータに転送するゲートウェイとしてシステムを構築する場合でも、開発者はクライアントからの要求を受けるスケルトンの部分と、汎用コンピュータに向かうスタブの部分と、ゲートウェイオブジェクトの部分とをコーディングしなければならず、ゲートウェイのオブジェクトと汎用コンピュータ上のサーバアプリケーションのオブジェクトとの関連付けがゲートウェイソースの作成時のインプリメントマターとなる。
【0016】
そして、ORB機構は、ネーミングサービスを参照して通信先システムを決定するために、ネーミングサービスが搭載されるコンピュータとの通信を必要とする。したがって、クライアントからサーバシステムに要求を出すときにネーミングサービスを利用し、サーバシステムから汎用コンピュータに要求を出すときもまたネーミングサービスを利用することになるため、クライアント/サーバだけで構成される分散オブジェクトシステムに比べ、通信処理に時間がかかり、システムの性能が落ちるという問題点があった。
【0017】
本発明はこのような点に鑑みてなされたものであり、3階層システムに分散オブジェクト環境を持たない汎用コンピュータを適用した場合に、ゲートウェイの作成、すなわち、コーディングが不要な通信連携情報生成装置およびそのプログラムを記録した媒体と、通信時間が長くならない3階層クライアント/サーバシステムを提供することを目的とする。
【0018】
【課題を解決するための手段】
図1は上記目的を達成する本発明の原理図である。図1の上部には、分散オブジェクト環境にあるクライアント/サーバシステムと非分散オブジェクト環境の汎用コンピュータとを連携させる情報を生成する通信連携情報生成装置が示されている。クライアント/サーバシステムと汎用コンピュータとの3者間の通信連携情報はアプリケーション定義体1に定義されている。このアプリケーション定義体1には、オブジェクト情報と、汎用コンピュータの通信あて先と、クライアントアプリケーションとゲートウェイアプリケーションとサーバアプリケーションとの間のインタフェース情報とが記述されている。通信連携情報生成装置2は、アプリケーション定義体1を読み込む入力手段2aと、そのアプリケーション定義体1を解析する解析手段2bと、クライアント/サーバシステムのためのインタフェース定義言語(IDL)ソースを作成するインタフェース定義言語ソース作成手段2cと、サーバシステムのゲートウェイアプリケーションのソースコードを生成するソースコード生成手段2dと、汎用コンピュータのサーバアプリケーションのためのインタフェース情報ファイルを生成するインタフェース情報ファイル生成手段2eとを備えている。
【0019】
この通信連携情報生成装置2によれば、入力手段2aがアプリケーション定義体1を読み込み、解析手段2bがその内容を解析する。その解析結果はインタフェース定義言語ソース作成手段2cと、ソースコード生成手段2dと、インタフェース情報ファイル生成手段2eとに振り分けられる。インタフェース定義言語ソース作成手段2cはクライアントのクライアントアプリケーションに組み込まれるスタブおよびサーバシステムのゲートウェイアプリケーションに組み込まれるスケルトンのためのソースを生成する。ソースコード生成手段2dは汎用コンピュータの通信あて先を考慮したゲートウェイアプリケーションのソースコードを出力する。インタフェース情報ファイル生成手段2eは汎用コンピュータのサーバアプリケーションに組み込まれる、ゲートウェイアプリケーションとのインタフェース情報のファイルを出力する。これにより、通信連携情報生成装置2がゲートウェイアプリケーションのソースコードと汎用コンピュータ用のインタフェース情報ファイルを生成するようにしたことによりゲートウェイアプリケーションのコーディングが不要となる。
【0020】
また、本発明によれば、分散オブジェクト環境にあるクライアントアプリケーションおよびゲートウェイアプリケーションと分散オブジェクト環境下にない汎用コンピュータ上のサーバアプリケーションとで構成される3階層クライアント/サーバシステムの通信連携情報を生成するプログラムを記録したコンピュータ読み取り可能な媒体において、オブジェクト情報、ネットワーク上の前記汎用コンピュータを識別するための通信あて先、および前記クライアントアプリケーションと前記ゲートウェイアプリケーションと前記サーバアプリケーションとの間のインタフェース情報が定義されたアプリケーション定義体を解析する手段、前記クライアントアプリケーションと前記ゲートウェイアプリケーションとの間の通信のためのインタフェースを定義したインタフェース定義言語ソースを作成する手段、前記汎用コンピュータの前記通信あて先を含んだ前記ゲートウェイアプリケーション自体のソースコードを生成する手段、および前記サーバアプリケーションが前記ゲートウェイアプリケーションと通信処理を行うためのインタフェース情報ファイルを生成する手段としてコンピュータを機能させるためのプログラムを記録した媒体が提供される。
【0021】
この媒体に記録された通信連携情報生成プログラムをコンピュータに実行させることにより、アプリケーション定義体を解析する手段と、インタフェース定義言語ソースを作成する手段と、ゲートウェイアプリケーションのソースコードを生成する手段と、インタフェース情報ファイルを生成する手段との各機能がコンピュータによって実現できる。
【0022】
さらに、図1の下部には、汎用コンピュータを含む3階層クライアント/サーバシステムが示されており、クライアント3と、サーバシステム4と、汎用コンピュータ5とから構成されている。クライアント3はクライアントアプリケーション3aを搭載し、このクライアントアプリケーション3aには、インタフェース定義言語ソース作成手段2cからのソースをもとに作られスタブ3bが組み込まれている。サーバシステム4はゲートウェイの位置付けとして動作し、分散オブジェクト指向技術を持たない大型の汎用コンピュータ5上のアプリケーションと連携処理を行うゲートウェイアプリケーション4aを搭載し、このゲートウェイアプリケーション4aはソースコード生成手段2dからのソースコードをもとに作成され、そのとき、インタフェース定義言語ソース作成手段2cからのソースをもとに作られスケルトン4bが組み込まれる。そして、汎用コンピュータ5はサーバアプリケーション5aを搭載している。ここで、クライアントアプリケーション3aとゲートウェイアプリケーション4aとが、分散オブジェクト指向技術(CORBA)を利用して処理を行う。ゲートウェイアプリケーション4aと分散オブジェクト指向技術を持たない汎用コンピュータのサーバアプリケーション5aとの通信処理は既存通信手順を利用する。既存通信手順では、汎用コンピュータを特定するための情報として、通信あて先を利用する。
【0023】
ゲートウェイアプリケーション4aはクライアントアプリケーション3aからの要求を汎用コンピュータ5のサーバアプリケーション5aヘ通知し、サーバアプリケーション5aの処理結果をクライアントアプリケーションに応答として通知する。これにより、クライアントアプリケーション3aは、分散オブジェクト環境から、汎用コンピュータ5上のサーバアプリケーション5aを利用することができるようになる。このとき、クライアントアプリケーション3aがゲートウェイアプリケーション4aに要求を出すときは、そのインタフェース情報をネーミングサービスを利用して取得するが、ゲートウェイアプリケーション4aがサーバアプリケーション5aへ要求を転送するときは既存通信手順を利用する。既存通信手順では、汎用コンピュータの通信あて先を直接利用するので、すぐに、目的のコンピュータとの通信処理を開始することができる。これにより、ゲートウェイアプリケーション4aとサーバアプリケーション5aとの間の通信処理については、ネーミングサービスを搭載したコンピュータとの通信が必要なくなるので処理時間がORB機構に比べ半減するのとともに、汎用コンピュータ上にORB機構を作成する必要がなくなる。
【0024】
【発明の実施の形態】
まず、本発明の概略について図面を参照して説明する。
図1は本発明の通信連携情報生成装置および3階層クライアント/サーバシステムの構成を示す図である。図1において、その上部には、分散オブジェクト環境にあるクライアント/サーバシステムと非分散オブジェクト環境の汎用コンピュータとを連携させる情報を生成する通信連携情報生成装置が示されている。クライアント/サーバシステムと汎用コンピュータとの3者間の通信連携情報は一つのアプリケーション定義体1に定義されている。このアプリケーション定義体1には、オブジェクト情報と、汎用コンピュータをネットワーク上で識別することができる通信連携情報である通信あて先と、クライアントアプリケーションとゲートウェイアプリケーションとサーバアプリケーションとの間のインタフェース情報とが記述されている。通信連携情報生成装置2は、アプリケーション定義体1を読み込む入力手段2aと、そのアプリケーション定義体1を解析する解析手段2bと、アプリケーション定義体1からクライアント/サーバシステムのためのインタフェース定義言語(IDL)ソースを作成するインタフェース定義言語ソース作成手段2cと、アプリケーション定義体1からサーバシステムのゲートウェイアプリケーションのソースコードを生成するソースコード生成手段2dと、アプリケーション定義体1から汎用コンピュータのサーバアプリケーションのためのインタフェース情報ファイルを生成するインタフェース情報ファイル生成手段2eとを備えている。
【0025】
この通信連携情報生成装置2によれば、入力手段2aがアプリケーション定義体1を読み込み、解析手段2bがその内容を解析する。その解析結果はインタフェース定義言語ソース作成手段2cと、ソースコード生成手段2dと、インタフェース情報ファイル生成手段2eとに振り分けられる。インタフェース定義言語ソース作成手段2cはクライアントのクライアントアプリケーションに組み込まれるスタブおよびサーバシステムのゲートウェイアプリケーションに組み込まれるスケルトンのためのソースを生成する。ソースコード生成手段2dは汎用コンピュータの通信あて先を考慮したゲートウェイアプリケーションのソースコードを出力する。インタフェース情報ファイル生成手段2eは汎用コンピュータのサーバアプリケーションに組み込まれる、ゲートウェイアプリケーションとのインタフェース情報のファイルを出力する。これにより、通信連携情報生成装置2がゲートウェイアプリケーションのソースコードと汎用コンピュータ用のインタフェース情報ファイルを生成するようにしたことによりゲートウェイアプリケーションのコーディングが不要となる。
【0026】
また、図1の下部には、汎用コンピュータを含む3階層クライアント/サーバシステムが示されているが、これは、クライアント3と、サーバシステム4と、汎用コンピュータ5とから構成されている。クライアント3はクライアントアプリケーション3aを搭載し、このクライアントアプリケーション3aには、インタフェース定義言語ソース作成手段2cの出力したソースをもとに作られスタブ3bが組み込まれている。サーバシステム4はゲートウェイの位置付けとして動作し、分散オブジェクト指向技術を持たない大型の汎用コンピュータ5上のアプリケーションと連携処理を行うゲートウェイアプリケーション4aを搭載し、このゲートウェイアプリケーション4aはソースコード生成手段2dからのソースコードをもとに作成される。そのとき、インタフェース定義言語ソース作成手段2cの出力したソースをもとに作られスケルトン4bがゲートウェイアプリケーション4aに組み込まれる。そして、汎用コンピュータ5はサーバアプリケーション5aを搭載している。
【0027】
ここで、クライアントアプリケーション3aとゲートウェイアプリケーション4aとが、分散オブジェクト指向技術(CORBA)を利用して通信処理を行う。一方、ゲートウェイアプリケーション4aと分散オブジェクト指向技術を持たない汎用コンピュータのサーバアプリケーション5aとの通信処理は既存通信手順を利用する。既存通信手順では、汎用コンピュータを特定するための情報として、通信あて先を利用する。
【0028】
ゲートウェイアプリケーション4aはクライアントアプリケーション3aからの要求を汎用コンピュータ5のサーバアプリケーション5aヘ通知し、サーバアプリケーション5aの処理結果をクライアントアプリケーションに応答として通知する。これにより、クライアントアプリケーション3aは、分散オブジェクト環境から、汎用コンピュータ5上のサーバアプリケーション5aを利用することができるようになる。このとき、クライアントアプリケーション3aがゲートウェイアプリケーション4aに要求を出すときは、そのインタフェース情報をネーミングサービスを利用して取得するが、ゲートウェイアプリケーション4aがサーバアプリケーション5aへ要求を転送するときは既存通信手順を利用する。既存通信手順では、汎用コンピュータの通信あて先を直接利用するので、すぐに、目的のコンピュータとの通信処理を開始することができる。これにより、ゲートウェイアプリケーション4aとサーバアプリケーション5aとの間の通信処理については、ネーミングサービスを搭載したコンピュータとの通信が必要なくなるので処理時間がORB機構に比べ半減するのとともに、汎用コンピュータ上にORB機構を作成する必要がなくなる。
【0029】
次に、本発明の実施の形態について説明するが、まず、分散オブジェクト環境にあるクライアント/サーバシステムと非分散オブジェクト環境の汎用コンピュータとで3階層システムを構成するときの3者間の通信連携情報の生成手順について説明する。
【0030】
図2は3階層クライアント/サーバシステムの通信情報連携処理を説明した図である。クライアントとゲートウェイとして機能させるサーバシステムと汎用コンピュータとの3者間の通信連携情報は、アプリケーション定義体11と呼ぶ一つの定義体に定義される。このアプリケーション定義体11では、クライアントアプリケーションとゲートウェイ、さらにサーバアプリケーションとの関連付けを行う必要があるが、CORBAのIDL定義上では、クライアント対サーバという1対1のインタフェース情報の共有とIIOPプロトコルの使用とを前提に定義するものであるため、汎用コンピュータとの通信のための通信アドレスを記述することはできない。したがって、3者間のインタフェース情報の定義を、IDL定義を一階層上げたアプリケーション定義体11によって定義することにしている。このとき、アプリケーション定義体11では、クライアントアプリケーション・ゲートウェイ・サーバアプリケーション間のインタフェース情報と、ゲートウェイとサーバアプリケーションとの間の通信情報とをたとえば次のように定義する。
【0031】
図3はアプリケーション定義の一例を示す図である。アプリケーション定義体11では、アプリケーション定義はほぼIDL記述に似た記述になっていて、オブジェクト(オペレーション)の情報と、通信あて先と、インタフェース情報との繰り返しによって記述される。ここで、通信あて先はゲートウェイから見た汎用コンピュータ上の通信あて先であり、その通信あて先には、ネットワーク上の各汎用コンピュータを識別するホスト名や、汎用コンピュータ上のアプリケーション名が指定される。
【0032】
図2に戻って、インタフェース情報および通信あて先が以上のように定義されたアプリケーション定義体11は定義体コンパイラ12に入力される。定義体コンパイラ12では、アプリケーション定義体11を解析し、クライアントアプリケーションとゲートウェイアプリケーションのためのIDLソースファイル13を作成し、汎用コンピュータ上のサーバアプリケーションがゲートウェイアプリケーションと通信するためのインタフェース情報を含むインタフェース情報ファイル14と、ゲートウェイアプリケーションのソースコードファイル15を生成する。
【0033】
IDLソースファイル13では、CORBA規約で定められた文法に従ったインタフェース情報の定義がなされているので、IDLのコンパイルにはORB準拠の標準的なIDLコンパイラ16が使用される。IDLコンパイラ16からは、クライアントアプリケーションに組み込まれるべきインタフェース情報ファイル(スタブ)17と、ゲートウェイアプリケーションに組み込まれるべきインタフェース情報ファイル(スケルトン)18とが生成される。これらインタフェース情報ファイル17,18は、たとえばC言語ではヘッダファイルに相当するもので、アプリケーションのソースをコンパイルするときにそのアプリケーションに組み込まれる。インタフェース情報ファイル14は、CORBAでのスケルトンファイルに相当するもので、サーバアプリケーションのソースをコンパイルするときにそのサーバアプリケーションに組み込まれる。
【0034】
ゲートウェイアプリケーションのためのソースコードファイル15は、アプリケーション定義体11から抽出された、汎用コンピュータの通信アドレスを含んでおり、このソースをコンパイルしてロードモジュールを作成することにより、自動的に通信処理が組み込まれる。ゲートウェイアプリケーションがパススルー処理しか行わない場合は、アプリケーション作成者はこのゲートウェイソースを追加インプリメントする必要はない。
【0035】
このような定義により、クライアントアプリケーションおよびゲートウェイアプリケーションの各オブジェクトと、汎用コンピュータおよびその上のサーバアプリケーションとが一意に関係付けられることができる。また、上記のような定義によると、分散オブジェクト環境下にあるオブジェクトをネットワーク上の複数の汎用コンピュータ各々と関係付けることができる。
【0036】
図4は3階層クライアント/サーバシステムの連携処理のためのフローチャートである。まず、アプリケーション定義体11にインタフェース情報と汎用コンピュータの通信アドレスを定義する(ステップS1)。次に、定義体コンパイラ12でアプリケーション定義体11をコンパイルし、IDLソースファイル13、インタフェース情報ファイル14、ソースコードファイル15を生成する(ステップS2)。
【0037】
ここで、IDLソースファイル13については、IDLコンパイラ16でコンパイルされ(ステップS3)、これから生成されたインタフェース情報ファイル17、すなわち、スタブファイルを利用したクライアントアプリケーションを作成する(ステップS4)。また、ステップS2で生成されたソースコードファイル15と、ステップS3でのコンパイルの結果、生成されたインタフェース情報ファイル18、すなわち、スケルトンファイルを使用してゲートウェイアプリケーションのオブジェクトを作成する(ステップS5)。さらに、ステップS2で生成されたインタフェース情報ファイル14を利用してサーバアプリケーションを作成する(ステップS6)。そして、各アプリケーションをクライアント、サーバ、汎用コンピュータに搭載することで3者間の連携処理を行うことになる(ステップS7)。
【0038】
図5は連携処理された3階層クライアント/サーバシステムの構成を示す説明図である。図5において、クライアントアプリケーション20があり、このクライアントアプリケーション20にはIDLコンパイラ16でコンパイルされたインタフェース情報ファイル17が組み込まれている。また、ゲートウェイアプリケーション21は、IDLコンパイラ16でコンパイルされたインタフェース情報ファイル18と、オブジェクト22と、サーバアプリケーション24との連携処理を行う連携処理部23とで構成される。サーバアプリケーション24は連携処理部25と、定義体コンパイラ12によって生成されたインタフェース情報ファイル14と、たとえばデータベース処理を含むサーバ処理の部分からなる、たとえばCOBOL(common business oriented language)のアプリケーションである。インタフェース情報ファイル14はたとえばCOBOLでのライブラリ関数ファイルである。
【0039】
クライアントアプリケーション20はクライアント処理、すなわち、サーバアプリケーション24の呼び出しと処理結果の受信を行う。ゲートウェイアプリケーション21のオブジェクト22は汎用コンピュータのサーバアプリケーション24との間で既存通信手順を利用するための通信あて先の情報(たとえば、通信あて先=S1)を有しており、ゲートウェイ処理を行う。サーバアプリケーション24はたとえば通信あて先=S1を有し、オブジェクト22の転送先と同じ通信アドレスを有しているものとする。
【0040】
次に、この3階層クライアント/サーバシステムの動作について説明する。
図6は3階層クライアント/サーバシステムの動作の流れを示すフローチャートである。まず、クライアントアプリケーション20がインタフェース情報ファイル(スタブ)17を利用してゲートウェイアプリケーション21のオブジェクト22を呼び出す(ステップS11)。オブジェクト22はクライアントアプリケーション20からの要求内容を既存通信手順に変換し、既存通信手順を使ってサーバアプリケーション24に送信する(ステップS12)。サーバアプリケーション24が既存通信手順によって受けたクライアントアプリケーション20からの要求内容に従ってデータベースを更新し、既存通信手順でオブジェクト22に返信する(ステップS13)。オブジェクト22は既存通信手順によって受けた返信内容をインタフェース情報ファイル(スケルトン)18を利用してクライアントアプリケーション20に返信する(ステップS14)。クライアントアプリケーション20はその返信内容によってデータベースの更新結果を受信する(ステップS15)。
【0041】
【発明の効果】
以上説明したように本発明では、一つのアプリケーション定義体より3階層システム間の通信連携情報を得るように構成した。このため、分散オブジェクト環境(ORB機構)を持たない汎用コンピュータ上のアプリケーションと分散オブジェクト環境上のクライアントアプリケーションとの通信連携処理を行うために必要であったサーバアプリケーションと汎用コンピュータ上のアプリケーションとの通信処理およびインタフェース情報のインプリメントの必要がない。
ゲートウェイと汎用コンピュータとの間の通信処理を既存通信手順を利用したことによりネーミングサービスを利用しない分、通信処理時間が半減され、クライアントアプリケーションに対し処理性能を向上することができる。
【0042】
クライアントアプリケーションは、分散オブジェクト環境外である汎用コンピュータ上のアプリケーションとの連携を意識する必要がなくなり、あたかも汎用コンピュータ上のアプリケーションの処理を、ローカルシステムでのプログラム呼び出しのイメージで行うことができる。
【0043】
クライアントアプリケーション・サーバアプリケーション間のインタフェースはOMG準拠のIDL記述であるため、そのソースファイルのコンパイルに一般的なIDLコンパイラを利用することができ、クライアント側の標準性を保つことができる。
【0044】
インタフェース情報が保証されたゲートウェイのソースコードが生成されるため、ゲートウェイのコーディングが不要であり、アプリケーション開発者の作業負担を軽減することかできる。
【図面の簡単な説明】
【図1】本発明の通信連携情報生成装置および3階層クライアント/サーバシステムの構成を示す図である。
【図2】3階層クライアント/サーバシステムの通信情報連携処理を説明した図である。
【図3】アプリケーション定義の一例を示す図である。
【図4】3階層クライアント/サーバシステムの連携処理のためのフローチャートである。
【図5】連携処理された3階層クライアント/サーバシステムの構成を示す説明図である。
【図6】3階層クライアント/サーバシステムの動作の流れを示すフローチャートである。
【図7】3階層システムの構築例を示す図である。
【符号の説明】
1 アプリケーション定義体
2 通信連携情報生成装置
2a 入力手段
2b 解析手段
2c インタフェース定義言語(IDL)ソース作成手段
2d ソースコード生成手段
2e インタフェース情報ファイル生成手段
3 クライアント
3a クライアントアプリケーション
3b スタブ
4 サーバシステム
4a ゲートウェイアプリケーション
4b スケルトン
5 汎用コンピュータ
5a サーバアプリケーション

Claims (7)

  1. 分散オブジェクト環境にあるクライアントアプリケーションおよびゲートウェイアプリケーションと分散オブジェクト環境下にない汎用コンピュータ上のサーバアプリケーションとで構成される3階層クライアント/サーバシステムの通信連携情報を生成する通信連携情報生成装置において、
    オブジェクト情報、ネットワーク上の前記汎用コンピュータを識別するための通信あて先、および前記クライアントアプリケーションと前記ゲートウェイアプリケーションと前記サーバアプリケーションとの間のインタフェース情報を定義したアプリケーション定義体を読み込む入力手段と、
    読み込んだ前記アプリケーション定義体を解析する解析手段と、
    前記アプリケーション定義体から前記クライアントアプリケーションと前記ゲートウェイアプリケーションとの通信のためのインタフェース情報を定義したインタフェース定義言語ソースを作成するインタフェース定義言語ソース作成手段と、
    前記アプリケーション定義体から前記汎用コンピュータの前記通信あて先を含んだ前記ゲートウェイアプリケーション自体のソースコードを生成するソースコード生成手段と、
    前記アプリケーション定義体から前記サーバアプリケーションが前記ゲートウェイアプリケーションと通信処理を行うためのインタフェース情報ファイルを生成するインタフェース情報ファイル生成手段と、
    を備えていることを特徴とする通信連携情報生成装置。
  2. 前記インタフェース定義言語ソース作成手段により作成されるインタフェース定義言語ソースは、これをコンパイルすることによって前記クライアントアプリケーションに組み込まれるスタブおよび前記ゲートウェイアプリケーションに組み込まれるスケルトンが生成されるソースであることを特徴とする請求項1記載の通信連携情報生成装置。
  3. 前記ソースコード生成手段により生成されるソースコードは、前記クライアントアプリケーションのオブジェクトから呼び出されたときに指定された汎用コンピュータにパススルーの処理をするオブジェクトのソースコードであることを特徴とする請求項1記載の通信連携情報生成装置。
  4. 前記インタフェース情報ファイル生成手段により生成されるインタフェース情報ファイルは、前記サーバアプリケーションのプログラムのコンパイル時に前記サーバアプリケーションに組み込まれるライブラリ関数のファイルであることを特徴とする請求項1記載の通信連携情報生成装置。
  5. 分散オブジェクト環境のクライアントおよびサーバシステムに分散オブジェクト環境下にない汎用コンピュータを接続して構成される3階層クライアント/サーバシステムにおいて、
    一つのアプリケーション定義体から生成したインタフェース定義言語ソースをコンパイルすることによって作られたインタフェース情報が組み込まれたクライアントアプリケーションが配置されているクライアントと、
    前記クライアントアプリケーションとは分散オブジェクト指向技術を利用して通信するよう前記アプリケーション定義体から生成したインタフェース定義言語ソースをコンパイルすることによって作られたインタフェース情報が組み込まれかつ前記アプリケーション定義体から生成した汎用コンピュータとの通信連携情報が組み込まれたゲートウェイアプリケーションが配置されているサーバシステムと、
    前記ゲートウェイアプリケーションとは前記分散オブジェクト指向技術を利用しない通信手順により通信するよう前記アプリケーション定義体から生成したインタフェース情報を組み込んだサーバアプリケーションが配置されている汎用コンピュータと、
    を備え、
    前記ゲートウェイアプリケーションの前記汎用コンピュータとの通信連携情報は、前記サーバシステムと前記汎用コンピュータとを接続しているネットワーク上の前記汎用コンピュータを一意に識別する通信あて先を含んでいることを特徴とする3階層クライアント /サーバシステム。
  6. 前記クライアントアプリケーションおよび前記ゲートウェイアプリケーションのオブジェクトは、分散オブジェクト環境内での位置透過性がネーミングサービスによって保持されていることを特徴とする請求項5記載の3階層クライアント/サーバシステム。
  7. 分散オブジェクト環境にあるクライアントアプリケーションおよびゲートウェイアプリケーションと分散オブジェクト環境下にない汎用コンピュータ上のサーバアプリケーションとで構成される3階層クライアント/サーバシステムの通信連携情報を生成するプログラムを記録したコンピュータ読み取り可能な媒体において、オブジェクト情報、ネットワーク上の前記汎用コンピュータを識別するための通信あて先、および前記クライアントアプリケーションと前記ゲートウェイアプリケーションと前記サーバアプリケーションとの間のインタフェース情報が定義されたアプリケーション定義体を解析する手段、前記クライアントアプリケーションと前記ゲートウェイアプリケーションとの間の通信のためのインタフェース情報を定義したインタフェース定義言語ソースを作成する手段、前記汎用コンピュータの前記通信あて先を含んだ前記ゲートウェイアプリケーションのソースコードを生成する手段、および前記サーバアプリケーションが前記ゲートウェイアプリケーションと通信処理を行うためのインタフェース情報ファイルを生成する手段としてコンピュータを機能させるためのプログラムを記録した媒体。
JP28664397A 1997-10-20 1997-10-20 通信連携情報生成装置、3階層クライアント/サーバシステムおよび通信連携情報生成プログラムを記録した媒体 Expired - Fee Related JP3597356B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP28664397A JP3597356B2 (ja) 1997-10-20 1997-10-20 通信連携情報生成装置、3階層クライアント/サーバシステムおよび通信連携情報生成プログラムを記録した媒体
US09/042,801 US6343332B1 (en) 1997-10-20 1998-03-17 Communication link information generating device, a three-tier client/server system, and a medium storing a communication link information generator program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28664397A JP3597356B2 (ja) 1997-10-20 1997-10-20 通信連携情報生成装置、3階層クライアント/サーバシステムおよび通信連携情報生成プログラムを記録した媒体

Publications (2)

Publication Number Publication Date
JPH11119986A JPH11119986A (ja) 1999-04-30
JP3597356B2 true JP3597356B2 (ja) 2004-12-08

Family

ID=17707087

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28664397A Expired - Fee Related JP3597356B2 (ja) 1997-10-20 1997-10-20 通信連携情報生成装置、3階層クライアント/サーバシステムおよび通信連携情報生成プログラムを記録した媒体

Country Status (2)

Country Link
US (1) US6343332B1 (ja)
JP (1) JP3597356B2 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6385661B1 (en) * 1998-10-19 2002-05-07 Recursion Software, Inc. System and method for dynamic generation of remote proxies
IES20000434A2 (en) * 1999-06-01 2001-02-21 Markport Ltd An interface module for mobile telecommunication systems
MXPA02001489A (es) 1999-08-13 2002-07-02 Bellsouth Intellect Pty Corp Sistemas y metodos para la calificacion del circutio adsl.
US6678743B1 (en) 1999-11-30 2004-01-13 Recursion Software, Inc. Method for moving objects in a distributed computing environment
US6931455B1 (en) * 1999-11-30 2005-08-16 Recursion Software, Inc. System and method for communications between a CORBA object request broker and a non-CORBA object request broker
US6947965B2 (en) 1999-11-30 2005-09-20 Recursion Software, Inc. System and method for communications in a distributed computing environment
DE10018288A1 (de) * 2000-04-13 2001-10-18 Deutsche Telekom Ag Verfahren zur Analyse gesendeter Protokolldateneinheiten
US6813770B1 (en) 2000-04-21 2004-11-02 Sun Microsystems, Inc. Abstract syntax notation to interface definition language converter framework for network management
US7478403B1 (en) * 2000-04-21 2009-01-13 Sun Microsystems, Inc. Secure access to managed network objects using a configurable platform-independent gateway providing individual object-level access control
US7010586B1 (en) 2000-04-21 2006-03-07 Sun Microsystems, Inc. System and method for event subscriptions for CORBA gateway
US6915324B1 (en) 2000-04-21 2005-07-05 Sun Microsystems, Inc. Generic and dynamic mapping of abstract syntax notation (ASN1) to and from interface definition language for network management
US7783720B1 (en) 2000-04-21 2010-08-24 Oracle America, Inc. CORBA metadata gateway to telecommunications management network
US7228346B1 (en) 2000-04-21 2007-06-05 Sun Microsystems, Inc. IDL event and request formatting for corba gateway
US6839748B1 (en) 2000-04-21 2005-01-04 Sun Microsystems, Inc. Synchronous task scheduler for corba gateway
US6950935B1 (en) 2000-04-21 2005-09-27 Sun Microsystems, Inc. Pluggable authentication modules for telecommunications management network
US7206843B1 (en) 2000-04-21 2007-04-17 Sun Microsystems, Inc. Thread-safe portable management interface
US6973657B1 (en) * 2001-01-30 2005-12-06 Sprint Communications Company L.P. Method for middle-tier optimization in CORBA OTS
US7493391B2 (en) 2001-02-12 2009-02-17 International Business Machines Corporation System for automated session resource clean-up by determining whether server resources have been held by client longer than preset thresholds
US8195738B2 (en) * 2001-03-20 2012-06-05 Verizon Business Global Llc Systems and methods for communicating from an integration platform to a profile management server
US7599351B2 (en) * 2001-03-20 2009-10-06 Verizon Business Global Llc Recursive query for communications network data
US20050002383A1 (en) * 2002-10-04 2005-01-06 Bellsouth Intellectual Property Corporation ADSL loop qualification systems and methods
US7610288B2 (en) * 2003-01-07 2009-10-27 At&T Intellectual Property I, L.P. Performance management system and method
US7577965B2 (en) * 2003-01-15 2009-08-18 Alcatel Push-based object request broker
US20050131720A1 (en) * 2003-12-15 2005-06-16 Andrews Robert T. Methods and systems of span design
JP2007536634A (ja) * 2004-05-04 2007-12-13 フィッシャー−ローズマウント・システムズ・インコーポレーテッド プロセス制御システムのためのサービス指向型アーキテクチャ
FR2877116B1 (fr) * 2004-10-27 2012-04-27 Thales Sa Systeme d'appel de services locaux d'au moins une application locale a architecture de messagerie classique a partir d'au moins une application distante a architecture de messagerie classique
JP2006268686A (ja) * 2005-03-25 2006-10-05 Fujitsu Ltd サーバ連携資源定義プロブラム及び方法及びシステム
JP5292670B2 (ja) * 2006-02-22 2013-09-18 富士通株式会社 開発支援プログラム、開発支援方法、及び開発支援装置
US8127304B2 (en) * 2006-05-31 2012-02-28 Rocket Software, Inc. Mapping and communicating data from a user interface to an application program
EP2088506A1 (en) * 2008-02-06 2009-08-12 Software AG Method and system for calling services from a remote client
US9749428B2 (en) * 2014-10-21 2017-08-29 Twilio, Inc. System and method for providing a network discovery service platform
JPWO2018116933A1 (ja) * 2016-12-22 2019-04-25 日本電信電話株式会社 Rpc変換処理システムおよびrpc変換方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6041365A (en) * 1985-10-29 2000-03-21 Kleinerman; Aurel Apparatus and method for high performance remote application gateway servers
AU681433B2 (en) * 1993-08-03 1997-08-28 Sun Microsystems, Inc. Flexible multi-platform partitioning for computer applications

Also Published As

Publication number Publication date
JPH11119986A (ja) 1999-04-30
US6343332B1 (en) 2002-01-29

Similar Documents

Publication Publication Date Title
JP3597356B2 (ja) 通信連携情報生成装置、3階層クライアント/サーバシステムおよび通信連携情報生成プログラムを記録した媒体
Volter et al. Remoting patterns
US6408342B1 (en) Communications framework for supporting multiple simultaneous communications protocols in a distributed object environment
US6757899B2 (en) Dynamic CORBA gateway for CORBA and non-CORBA clients and services
US20030009539A1 (en) Distributed object middleware connection method
US6839897B2 (en) Stub search loading system and method, server apparatus, client apparatus, and computer-readable recording medium
US7904111B2 (en) Mobile exchange infrastructure
JP2011501854A (ja) モデル・ベースのコンポジット・アプリケーション・プラットフォーム
US7934218B2 (en) Interprocess communication management using a socket layer
CN103902283B (zh) 在corba中利用模型转换实现实时异步通信的方法
US20020029297A1 (en) Method and apparatus for efficient representation of variable length identifiers in a distributed object system
CN113645251A (zh) 适用于跨区域服务的数据传输方法及装置
KR101190597B1 (ko) 로봇 소프트웨어 컴포넌트를 위한 메소드 포트 장치 및 구성 방법
JP4835313B2 (ja) ソフトウエアモジュール連携システム
Lüer et al. The evolution of software evolvability
US9361266B2 (en) System and method for distributed computing
JP2002342078A (ja) プログラム開発システム及び方法
Liu A distributed data flow model for composing software services
JP2001337935A (ja) 分散オブジェクト環境におけるアプリケーションのラッピング方法、その通信管理装置及び記録媒体
JP4363752B2 (ja) リバースプロキシーシステム
Eide et al. Flexible IDL compilation for complex communication patterns
KR100579130B1 (ko) 라우터 이중화 실현을 위한 라우팅 엔트리 정보 이중화 방법
De et al. A Semantic Analysis of Interface Description Models of Heterogeneous Vehicle Application Frameworks: An Approach Towards Synergy Exploration.
JPH10171657A (ja) 第1のオブジェクトの生成をサポートするための方法、第1のオブジェクトを生成するための方法、第1のオブジェクトの削除のための方法、プログラムモジュール、およびコンピュータユニット
JP2000311094A (ja) 遠隔オブジェクト間の通信方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040309

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040908

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080917

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090917

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090917

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100917

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100917

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110917

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120917

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120917

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130917

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees