JPH08255141A - Computer network and its operating method - Google Patents

Computer network and its operating method

Info

Publication number
JPH08255141A
JPH08255141A JP7296011A JP29601195A JPH08255141A JP H08255141 A JPH08255141 A JP H08255141A JP 7296011 A JP7296011 A JP 7296011A JP 29601195 A JP29601195 A JP 29601195A JP H08255141 A JPH08255141 A JP H08255141A
Authority
JP
Japan
Prior art keywords
service
computer
location
server
name
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.)
Pending
Application number
JP7296011A
Other languages
Japanese (ja)
Inventor
Katyayan Keith David
カテャヤン キース ディビッド
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.)
NCR International Inc
Original Assignee
NCR International Inc
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 NCR International Inc filed Critical NCR International Inc
Publication of JPH08255141A publication Critical patent/JPH08255141A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a system for tracking a service object inside a computer and the realization method. SOLUTION: Service object location services 28-32 are provided inside first and second computers inside a computer network domain 12. The first computer executes a client application and the second computer executes a service application. The service object location service of the first computer maps the service object to a location inside the second computer by a name. The service object location service inside the first computer also connects a substituting object inside the first computer with a target object by using a remote method activation process and the location of the service object on the second computer provided by the service object location service of the first computer.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、コンピュータ内の
オブジェクト指向プログラミング方法に関し、特に、コ
ンピュータネットワーク内でサービスオブジェクトを配
置(追跡)するシステム及びその実現方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an object-oriented programming method in a computer, and more particularly to a system for arranging (tracking) service objects in a computer network and a method for implementing the system.

【0002】[0002]

【従来の技術】コンピュータネットワークは、組織的に
配置された複数個のコンピュータを有している。コンピ
ュータネットワークを機能させるためには、ネットワー
ク内の各々のコンピュータに関してネットワークオペレ
ーティングシステム及びコンピュータオペレーティング
システムが必要である。UNIX及びウィンドウズNT
は、公知のオペレーティングシステムの例である。これ
らのオペレーティングシステムには、ネットワーク機能
を実現するバージョンとスタンドアロンコンピュータ上
で実行されるバージョンとがある。TCP/IPなどの
ネットワークプロトコルは、オペレーティングシステム
間のインターフェースを実現する。
2. Description of the Related Art A computer network has a plurality of computers arranged in an organized manner. In order for a computer network to work, a network operating system and a computer operating system are required for each computer in the network. UNIX and Windows NT
Is an example of a known operating system. These operating systems include versions that implement network functions and versions that run on stand-alone computers. Network protocols such as TCP / IP implement the interface between operating systems.

【0003】オブジェクト指向プログラミング技法は、
コンピュータシステムに対するアプリケーションプログ
ラムを構成するための基礎を提供する。オブジェクト
は、特定の機能あるいはサービスを実行するコードパケ
ットと関連するデータとして規定される。オブジェクト
は組み合わせられてアプリケーションプログラムが形成
される。AT&T社製のコーオペラティブフレームワー
ク(COOPERATIVE FRAMEWORKS)
は、アプリケーションプログラムを容易に開発するため
の、オブジェクトが形成される源となるクラスのライブ
ラリを提供する。
Object-oriented programming techniques are
It provides the basis for configuring application programs for computer systems. An object is defined as data associated with a code packet that performs a particular function or service. Objects are combined to form an application program. AT & T Cooperative Framework (COOPERATIVE FRAMEWORKS)
Provides a library of classes from which objects are created to facilitate the development of application programs.

【0004】分散処理フレームワーククラスライブラリ
は、リモートメソッド起動(RMI)機能を提供するこ
とによって、AT&Tコーオペラティブフレームワーク
プログラマに、クアイアント−サーバ及びピア−ツー−
ピアシステムを構成するためのオブジェクト指向メカニ
ズムを提供する。RMIは、あるアプリケーションが、
リモートシステムあるいは別のプロセス内のオブジェク
トのメソッドあるいは機能を、あたかもそのオブジェク
トが呼び出し側アプリケーションローカルのものである
かのように起動することを可能にする。RMIを実現す
るために用いられる基本的なメカニズムは、代理(サロ
ゲート)とターゲットとして知られているオブジェクト
ペアである。これらのオブジェクトは、それぞれ、分散
オブジェクトにおけるクライアント部及びサーバ部を表
現している。サロゲート及びターゲットは、コーオペラ
ティブフレームワークのCfSurrogate及びC
fTargetベースクラスから新たなクラスを派生さ
せることによって実現されるオブジェクトの分散的性質
には、開始側であるサロゲートオブジェクトと、対応す
るオブジェクトであるターゲットとが含まれている。タ
ーゲットオブジェクトは、利用可能なサービスを表わす
CfServiceオブジェクト内に存在する。
The distributed processing framework class library provides remote method invocation (RMI) functionality to AT & T cooperative framework programmers for client-server and peer-to-peer.
It provides an object-oriented mechanism for configuring peer systems. RMI is an application
Allows a method or function of an object in a remote system or another process to be invoked as if the object were local to the calling application. The basic mechanism used to implement RMI is an object pair known as a surrogate and target. These objects respectively represent the client part and the server part in the distributed object. Surrogates and targets are co-operative frameworks CfSurrogate and C
The decentralized nature of an object realized by deriving a new class from the fTarget base class includes a surrogate object that is the initiator and a target that is the corresponding object. The target object resides in the CfService object that represents the available services.

【0005】RMIプロセスは、CORBA1.0アー
キテクチャ標準の一部としての”NCR提案:オブジェ
クトマネージメントグループによるオブジェクトリクエ
ストブローカー”(第1巻、1991年2月25日)に
おいて説明されている。
The RMI process is described in "NCR Proposal: Object Request Brokers by the Object Management Group," Volume 1, February 25, 1991, as part of the CORBA 1.0 architecture standard.

【0006】[0006]

【発明が解決しようとする課題】オブジェクトの組み合
わせから構成されたプログラムは、スタンドアロンのコ
ンピュータ上で、あるいはコンピュータネットワーク内
のコンピュータによって、実行されるように指定され
る。この種のアプリケーションプログラムがコンピュー
タネットワーク内で実行される場合には、このアプリケ
ーションプログラムによって実現されるサービスに対す
る複数個の同時アクセスが可能であることが望ましい。
アクセスを行なう場合には、そのサービスが配置されて
いる場所に関する知識、すなわち、そのサービスオブジ
ェクトの名前を表すネットワークロケーションに変換す
る手段、が必要になる。
A program composed of a combination of objects is designated to be executed on a stand-alone computer or by a computer in a computer network. When this kind of application program is executed in a computer network, it is desirable that a plurality of simultaneous accesses to the services realized by this application program are possible.
Access requires knowledge of where the service is located, that is, a means of translating into a network location that represents the name of the service object.

【0007】別のシステムにおいては、名前付けすなわ
ちロケーションサービスは、ネットワークトランスポー
トメカニズムから分離されており、サービス名をロケー
ションに変換する名前付けサービスを最初に起動してそ
の後にそのサービスを与えられたロケーションに結び付
ける目的でトランスポートメカニズムを個別にコールす
るアプリケーションプログラムに依存している。他の名
前付けサービスの例としては、X.500ディレクト
リ、及びDCE(分散コンピューティング環境)セルデ
ィレクトリサービスなどが挙げられる。アプリケーショ
ンが個別のディレクトリサービス(すなわち名前付けサ
ービス)を利用する場合には、アプリケーションそれ自
体が名前によるロケーティングサービスに対応していな
ければならない。ロケート(追跡)されたサービスが利
用不可能となった場合には、クライアントアプリケーシ
ョンに対して通知がなされ、クライアントアプリケーシ
ョンは名前付けサービスを利用して必要とするサービス
を実現する別のロケーションを見い出し、この新たなロ
ケーションと接続する。
In another system, the naming or location service is separate from the network transport mechanism, and the naming service that translates the service name into a location is first invoked and then given that service. It relies on the application program to call the transport mechanism individually to bind to the location. Examples of other naming services include X. 500 directory, and DCE (Distributed Computing Environment) cell directory service. If the application uses a separate directory service (ie, naming service), the application itself must support name-based locating services. If the located service becomes unavailable, the client application is notified, and the client application uses the naming service to find another location that provides the desired service, Connect with this new location.

【0008】よって、オブジェクトトランスポートメカ
ニズムと密接に統合されていて、アプリケーションによ
って提供されるサービスを追跡する複雑さをなくし、さ
らに、突然利用不可能となったサービスと同一のサービ
スが存在する別の場所へ自動的に切り替えることによっ
てシステムに対して、高度な信頼性を与えるような、サ
ービスオブジェクトロケートシステム及びその実現方法
が必要とされている。
Thus, it is tightly integrated with the object transport mechanism, eliminating the complexity of tracking the services offered by an application, and yet another service in which the same service as the one that suddenly becomes unavailable is present. There is a need for a service object locating system and a method of implementing the same that provides a high degree of reliability to the system by automatically switching to a location.

【0009】[0009]

【課題を解決するための手段】本発明に従って、コンピ
ュータネットワーク内でサービスオブジェクトを追跡
(ロケート)するシステム及び方法が提供される。本発
明に係るシステムは、コンピュータネットワークドメイ
ンにおける第一及び第二コンピュータ内のサービスオブ
ジェクトロケーションサービスを有している。第一コン
ピュータのサービスオブジェクトロケーションサービス
は、サービスオブジェクトを第二コンピュータ内のロケ
ーションへ名前によってマッピングするネームサービス
を有している。第一コンピュータのサービスオブジェク
トロケーションサービスは、第一コンピュータのサービ
スオブジェクトロケーションサービスによって提供され
る、第二コンピュータ上のサービスオブジェクトのロケ
ーションに関してリモートメソッド起動プロセスを利用
することによって、第一コンピュータ内の代理オブジェ
クトをサービスオブジェクト内に存在するターゲットオ
ブジェクトに接続する。
In accordance with the present invention, there is provided a system and method for tracking (locating) service objects within a computer network. The system according to the invention comprises service object location services in first and second computers in a computer network domain. The service object location service of the first computer has a name service that maps service objects by location to locations in the second computer. The service object location service of the first computer is a proxy object in the first computer by utilizing a remote method invocation process for the location of the service object on the second computer provided by the service object location service of the first computer. To the target object that exists in the service object.

【0010】第一コンピュータは、クライアントオブジ
ェクトを有するクライアントアプリケーションを実行す
る。クアイアントオブジェクトは代理オブジェクトを含
んでいる。第二コンピュータはサービスオブジェクトを
有するサービスアプリケーションを実行する。サービス
オブジェクトはターゲットオブジェクトを含んでいる。
第一コンピュータのサービスオブジェクトロケーション
サービスは、名前のみによってサービスオブジェクトが
代理オブジェクトから要求された場合に、ロケーション
を提供する。
The first computer executes a client application having a client object. Quarantine objects contain proxy objects. The second computer executes a service application having a service object. The service object contains the target object.
The service object location service of the first computer provides the location when the service object is requested by the proxy object by name only.

【0011】第二コンピュータのサービスオブジェクト
ロケーションサービスは、そのコンピュータドメイン内
のサービスのリストを第一コンピュータのサービスオブ
ジェクトロケーションサービスと共有する。第一コンピ
ュータがプライマリサーバである場合には、そのサービ
スオブジェクトロケーションサービスは他のドメイン内
のサービスのリストも有している。
The service object location service of the second computer shares a list of services in its computer domain with the service object location service of the first computer. If the first computer is the primary server, its service object location service also has a list of services in other domains.

【0012】従って、本発明の一つの目的は、コンピュ
ータネットワーク内でサービスオブジェクトをロケート
するシステム及びその方法を提供することである。
Accordingly, one object of the present invention is to provide a system and method for locating service objects within a computer network.

【0013】本発明の他の目的は、高度にフォールトト
レラントな(すなわち信頼性の高い)、サービスオブジ
ェクトロケートシステム及びその方法を提供することで
ある。
Another object of the present invention is to provide a service object locating system and method that is highly fault tolerant (ie, reliable).

【0014】本発明の別の目的は、既存のオブジェクト
トランスポートメカニズム(例えばAT&Tコーオペラ
ティブフレームワークの分散処理フレームワークなど)
と統合することが可能であってサービス検索のためにア
プリケーションによって起動されなければならない個別
の関数ではないような、コンピュータネットワーク内の
サービスオブジェクトをロケートするシステム及びその
方法を提供することである。
Another object of the present invention is the existing object transport mechanism (eg, the distributed processing framework of the AT & T Cooperative Framework).
It is an object of the present invention to provide a system and method for locating a service object in a computer network that can be integrated with and is not a separate function that must be invoked by an application to retrieve a service.

【0015】[0015]

【発明の実施の形態】図1に示されているように、本発
明に係るネットワーク単位10は、ドメイン12,14
を含む、相互に接続された複数個のドメインを有してい
る。ドメインは、サーバ及びサービスのクラスタとして
規定されるものであり、ローカルエリアネットワーク
(LAN)あるいは他のネットワークアーキテクチャに
制限されているものではない。ドメイン12及び14
は、それぞれプライマリサーバ16及び18と補助すな
わちバックアップサーバ20−22及び24−16を有
している。ネットワーク単位10は、UNIXあるいは
ウィンドウズNT、及びTCP/IP等のネットワーク
オペレーティングシステムを利用していることが望まし
い。TCP/IPは、ネットワークの構造的な制限を取
り除くために用いられる。
BEST MODE FOR CARRYING OUT THE INVENTION As shown in FIG. 1, a network unit 10 according to the present invention includes domains 12, 14
, And has a plurality of domains connected to each other. A domain is defined as a cluster of servers and services and is not restricted to local area networks (LANs) or other network architectures. Domains 12 and 14
Has primary servers 16 and 18 and auxiliary or backup servers 20-22 and 24-16, respectively. The network unit 10 preferably uses a network operating system such as UNIX or Windows NT and TCP / IP. TCP / IP is used to remove the structural limitation of the network.

【0016】サーバ16−26は、対応するそれぞれの
サーバのランダムアクセスメモリ(RAM)内でサービ
スオブジェクトロケーションサービス(SOLS)28
−38を実行する。SOLS28−38は、全体として
サーバ16−26間のSOLSを実現する。
The servers 16-26 each have a Service Object Location Service (SOLS) 28 within the random access memory (RAM) of their respective servers.
Execute -38. The SOLS 28-38 implements SOLS between the servers 16-26 as a whole.

【0017】SOLS28−38の主たる目的は、サー
ビスロケーション情報を迅速に提供することである。性
能上の理由により、サービス情報は現時点ではRAM4
0−50にストアされている。SOLS28−38は、
サービス名及びそれぞれ対応するドメイン12及び14
に登録されているそれぞれのロケーションとを含むサー
ビスレジストリ64−74を管理している。加えて、プ
ライマリサーバ16及び18のレジストリ64及び70
は、ネットワーク単位10の全てのドメインに関するサ
ービス情報を管理している。よって、特定のサービスの
ロケーションは、その対応するサービスレジストリを検
索し、次いでそのドメイン内のプライマリサーバのサー
ビスレジストリを検索することによって、SOLS28
−38のうちのいずれかによって見い出され得る。
The primary purpose of SOLS 28-38 is to provide service location information quickly. For performance reasons, the service information is currently RAM4
Stored at 0-50. SOLS 28-38
Service name and corresponding domain 12 and 14 respectively
Manages service registries 64-74, including the respective locations registered with. In addition, the registries 64 and 70 of the primary servers 16 and 18
Manages service information regarding all domains of the network unit 10. Thus, the location of a particular service is SOLS 28 by searching its corresponding service registry and then the service registry of the primary server in its domain.
Can be found by any of -38.

【0018】サービスが、サービスレジストリ64−7
4内のマッピングによって、そのロケーションではなく
名前によってアクセスされることは、本発明の特徴の一
つである。このマッピングは、サービスの名前を、ネッ
トワークアドレスとしてアクセスされる物理的なロケー
ションに対応させるものである。
The service is the service registry 64-7.
It is one of the features of the invention that the mapping in 4 allows access by name rather than its location. This mapping maps the name of the service to a physical location accessed as a network address.

【0019】複数個のサービス主体が相異なったサーバ
上で実行させられているということは、本発明の別の特
徴の一つである。この特徴により、フォールトトレラン
トな(すなわち信頼性の高い)システムが実現される。
サービスは移動させられうるものであり、このことによ
ってサーバ管理に関するフレキシビリティが実現され
る。サービスへのアクセスは、サーバがメンテナンスを
受けている間も失われない。
The fact that a plurality of service subjects are executed on different servers is another feature of the present invention. This feature provides a fault tolerant (ie reliable) system.
Services can be moved, which allows flexibility in server management. Access to services is not lost while the server is undergoing maintenance.

【0020】ドメイン情報は、サーバ16−26の各々
において、望ましくは固定ディスクドライブ52−62
内の、ドメインコンフィグレーションファイルに保持さ
れている。各々のドメインコンフィグレーションファイ
ルは、ドメイン及びそのドメインに属するメンバーを規
定する。
The domain information is preferably fixed disk drives 52-62 at each of the servers 16-26.
It is maintained in the domain configuration file in. Each domain configuration file defines a domain and the members that belong to that domain.

【0021】ドメインコンフィグレーションファイル5
2−62は、標準的なマイクロソフトウィンドウズ初期
化ファイル(.ini)フォーマットを有しており、ド
メイン名及びドメイン12及び14に属しているサーバ
のリストを含んでいる。ドメイン12及び14の各々の
サーバのリストは順序が付けられている。例えば、ドメ
イン12内の最初のサーバはプライマリサーバ16であ
り、その後に補助サーバ20及び22が続いている。補
助サーバ20及び22の順序は、プライマリサーバ16
が故障した場合に、サーバ20及び22のいずれがプラ
イマリサーバを引き継ぐかを規定している。補助サーバ
がプライマリサーバを引き継ぐと、その役割は、他のド
メイン上の他のプライマリサーバと周期的に通信するこ
とによって、ネットワーク単位内の全てのドメインに係
るサービス情報を管理することとなる。
Domain configuration file 5
2-62 has a standard Microsoft Windows initialization file (.ini) format and contains a domain name and a list of servers belonging to domains 12 and 14. The list of servers in each of domains 12 and 14 is ordered. For example, the first server in domain 12 is primary server 16, followed by auxiliary servers 20 and 22. The order of the auxiliary servers 20 and 22 is the primary server 16
Defines which of the servers 20 and 22 will take over the primary server in the event of a failure. When the auxiliary server takes over the primary server, its role is to manage service information for all domains in the network unit by periodically communicating with other primary servers on other domains.

【0022】ドメインコンフィグレーションファイル5
2−62のフォーマットは以下のようなものである: [Domains] Domains=domain1, domain2 domain1=server1, server2 domain2=server3, server4, server5
Domain configuration file 5
The format of 2-62 is as follows: [Domains] Domains = domain1, domain2 domain1 = server1, server2 domain2 = server3, server4, server5

【0023】ここで、"server1"は"domain1"(ドメイン
12)に関するプライマリサーバであり、"server3"は"
domain2"(ドメイン14)に関するプライマリサーバで
ある。server3が落ちた場合には、domain2内でserver4
及びserver5がその順序でプライマリサーバを引き受け
る。
Here, "server1" is the primary server for "domain1" (domain 12), and "server3" is "
It is the primary server for domain2 "(domain 14). If server3 goes down, server4 in domain2
And server5 takes over the primary server in that order.

【0024】プライマリサーバ16及び18は、互いに
周期的にサービスロケーションをダウンロードする。補
助サーバ20−22及び24−26は、より高い信頼性
及びデータの無撞着性が必要とされる場合には、それぞ
れの属するドメインのプライマリサーバから周期的にサ
ービスロケーションをダウンロードするように配置され
る。補助サーバ20−22及び24−26は、プライマ
リサーバ16及び18が機能しているか否かを決定する
目的で、それぞれのプライマリサーバ16及び18に対
して"ping"を行なう。プライマリサーバが機能していな
かった場合には、サーバ20−22及び24−26は、
それぞれ対応するコンフィグレーションファイル52−
62にリストされている補助サーバにpingを行なう。ダ
ウンロードの間隔のデフォールト値はスタートアップ時
には15分毎であることが望ましいが、システム初期化
ファイルを用いて調節され得る。
The primary servers 16 and 18 periodically download service locations from each other. The auxiliary servers 20-22 and 24-26 are arranged to periodically download the service location from the primary server of their respective domain if higher reliability and data inconsistency are required. It The auxiliary servers 20-22 and 24-26 "ping" their respective primary servers 16 and 18 for the purpose of determining whether the primary servers 16 and 18 are functioning. If the primary server was not working, the servers 20-22 and 24-26 would
Corresponding configuration file 52-
Ping the auxiliary server listed at 62. The default value for the download interval is preferably every 15 minutes at startup, but can be adjusted using the system initialization file.

【0025】以下、図3及び図4に従って、プログラマ
の視点から、SOLS28−38の動作が記述される。
説明を簡潔にする目的から、2つのサーバ16及び20
とそれぞれのSOLS28及び30のみが図示されてい
る。
The operation of the SOLS 28-38 will now be described from the programmer's point of view according to FIGS. 3 and 4.
For the sake of brevity, the two servers 16 and 20
And only the respective SOLS 28 and 30 are shown.

【0026】図3はSTART80から開始される。ス
テップ82においては、SOLS28がサーバ16のレ
ジストリ64内にサービスオブジェクト100を登録す
る(図4)。
FIG. 3 starts with START 80. In step 82, SOLS 28 registers service object 100 in registry 64 of server 16 (FIG. 4).

【0027】サービスアプリケーション112内のサー
ビスオブジェクトは、AT&T製コーオペラティブフレ
ームワークの分散処理フレームワークに係る以下のフォ
ーマットを用いて構成されている: CfService::CfService(const char *name, DWORD stack
=32768,WORD usrVar=0); CfService::CfService(const char *name, SERVICESTAT
E state,DWORD stack=32768, WORD usrVar=0);
The service objects in the service application 112 are constructed using the following format related to the distributed processing framework of the AT & T Cooperative Framework: CfService :: CfService (const char * name, DWORD stack
= 32768, WORD usrVar = 0); CfService :: CfService (const char * name, SERVICESTAT
E state, DWORD stack = 32768, WORD usrVar = 0);

【0028】CfServiceオブジェクトを構成することに
より、そのサービスに接続するために必要とされるロケ
ーション情報と共にエントリがレジストリ64に追加さ
れる。レジストリ64は、この情報をドメイン内の他の
サーバに分配する方法を知っている。ターゲット名はレ
ジストリ64中には登録されない。これは、そのサービ
スオブジェクトと接続するために必要とはされない。サ
ービスのロケーションのみが必要とされる。このことに
より、SOLS28−38の性能に影響を与えずに、非
常に多くの数のターゲットオブジェクトを登録すること
が可能になる。
By constructing a CfService object, an entry is added to the registry 64 with the location information needed to connect to that service. The registry 64 knows how to distribute this information to other servers in the domain. The target name is not registered in the registry 64. It is not needed to connect with that Service Object. Only the location of the service is needed. This allows a very large number of target objects to be registered without affecting the performance of SOLS 28-38.

【0029】CfServiceオブジェクトが破棄された場合
には、登録情報はサーバ16−26から削除される。S
OLS28は、サービスオブジェクトの異常終了(クラ
ッシュ)を扱い、ネットワーク単位からそのCfService
オブジェクトを自動的に削除する。
When the CfService object is destroyed, the registration information is deleted from the server 16-26. S
The OLS 28 handles the abnormal termination (crash) of the service object, and handles the CfService from the network unit.
Delete objects automatically.

【0030】ステップ86においては、サーバ18上の
SOLS34(図2)がサーバ16上のSOLS28に
(通常の時間間隔の後に)検索した場合、SOLS28
がドメイン14のサーバ18内のSOLS34に、登録
されたサービスオブジェクトがサーバ16から利用可能
であることを通知する。
In step 86, if SOLS 34 (FIG. 2) on server 18 has searched SOLS 28 on server 16 (after the normal time interval), SOLS 28.
Notifies the SOLS 34 in the server 18 of the domain 14 that the registered service object is available from the server 16.

【0031】ステップ88においては、より高い信頼性
及びデータの無撞着性を実現するために周期的にローカ
ルドメインサービス情報をダウンロードするようにスタ
ートアップ時に配置されている場合には、SOLS30
が、サーバ16から利用可能なサービスオブジェクトを
含むために、レジストリ66を更新する。
In step 88, if the SOLS 30 is arranged at start-up to periodically download the local domain service information in order to achieve higher reliability and data consistency.
Updates registry 66 to include the service objects available from server 16.

【0032】ステップ90においては、クライアントオ
ブジェクト104が、サーバ20上で実行されているク
ライアントアプリケーション110(図4)からの名前
によるサービス100に対する要求を受信する。
In step 90, client object 104 receives a request for service 100 by name from client application 110 (FIG. 4) running on server 20.

【0033】ステップ92においては、クライアントア
プリケーション110のクライアントオブジェクト10
4が、名前のみによって要求されたサービスへの代理オ
ブジェクト106を構成する(図4)。
In step 92, the client object 10 of the client application 110 is
4 constructs a proxy object 106 to the service requested by name only (FIG. 4).

【0034】名前付けがなされているサービス及びその
ターゲットオブジェクトに対する、代理オブジェクト1
06のロケーションの規定無しの構成により、SOLS
30がそのサービスオブジェクト(ここではサービスオ
ブジェクト100)のロケーションの検索を開始する。
Proxy object 1 for the named service and its target object
Due to the unspecified configuration of 06 location, SOLS
30 initiates a search for the location of its service object (here service object 100).

【0035】ステップ93において、ロケーションの決
定には、クライアントオブジェクト104による別の代
理オブジェクト108の構成、及びステップ94におけ
る代理オブジェクト108とSOLS30との間のリモ
ートメソッド起動(RMI)プロセスへの指示が含まれ
ている。この第二の代理オブジェクト108は、名前付
けがなされたサービスオブジェクトのロケーションを解
決する目的で、AT&T製コーオペラティブフレームワ
ークの分散処理フレームワークによって自動的に構成さ
れる。ユーザが代理オブジェクトをSOLSに直接接続
する必要は全くない。以下の構成機能が代理オブジェク
トを生成するために用いられる: CfSurrogate::CfSurrogate(const char *target, const
char*svc, const char *mach = (char*)NULL, const c
har *dom =(char*)NULL, WORD usrVar = 0);
In step 93, determining the location includes configuring another proxy object 108 by the client object 104 and instructing a remote method invocation (RMI) process between the proxy object 108 and the SOLS 30 in step 94. Has been. This second proxy object 108 is automatically configured by the distributed processing framework of the AT & T Cooperative Framework for the purpose of resolving the location of named service objects. There is no need for the user to connect the proxy object directly to SOLS. The following configuration functions are used to create a proxy object: CfSurrogate :: CfSurrogate (const char * target, const
char * svc, const char * mach = (char *) NULL, const c
har * dom = (char *) NULL, WORD usrVar = 0);

【0036】SOLSへの通話にトリガをかける目的で
は、ユーザは、serverName "mach"の代わりにNULL引数
を用いたCfSurrogate構成コールを生成すればよい。例
えば、あるドメインのあるサーバ上のターゲットに接続
するためには、 CfSurrogate(targetName, svcName, /*mach*/ (char*)N
ULL)
For the purpose of triggering a call to SOLS, the user may generate a CfSurrogate configuration call with a NULL argument instead of serverName "mach". For example, to connect to a target on a server in a domain, CfSurrogate (targetName, svcName, / * mach * / (char *) N
ULL)

【0037】最良のサービス検索アルゴリズムが、ター
ゲットオブジェクトのロケーションを見い出すために用
いられる。SOLS30は、まずローカルサーバ20上
で一致するサービスを見い出すことを試み、次いでロー
カルドメイン12内のサーバ16及び22のいずれか上
で一致するサービスを見い出すことを試み、最後にリモ
ートドメイン14内のサーバ18、24、及び26のい
ずれか上で一致するサービスを見い出すことを試みる。
しかしながら、SOLSは最大2つのレジストリにコン
タクトするのみである。すなわち、ローカルサーバ20
上のレジストリ66、及び、リモートドメインのサーバ
上のサービスオブジェクトロケーションが必要とされる
場合に、プライマリサーバ16上のレジストリ64であ
る。
The best service search algorithm is used to find the location of the target object. SOLS 30 first attempts to find a matching service on local server 20, then attempts to find a matching service on any of servers 16 and 22 in local domain 12, and finally a server in remote domain 14. Attempt to find a matching service on any of 18, 24, and 26.
However, SOLS only contacts up to two registries. That is, the local server 20
The above registry 66 and the registry 64 on the primary server 16 if a service object location on the server in the remote domain is required.

【0038】特定されたドメインのあらゆるサーバ上で
ターゲットオブジェクトを構成するためには、以下のコ
マンドが用いられる: CfSurrogate(targetName, svcName, /*mach*/ (char*)N
ULL,domainName);
To configure the target object on any server in the specified domain, the following command is used: CfSurrogate (targetName, svcName, / * mach * / (char *) N
ULL, domainName);

【0039】SOLS30は、このターゲット及びサー
ビスを規定されたドメインのみで見い出そうと試みる。
SOLS 30 attempts to find this target and service only in the defined domain.

【0040】特定されたドメインの特定されたサーバ上
でサービスに係る多くの登録された主体のうちの一つと
接続するためには、以下のコマンドが用いられる: CfSurrogate(targetName, serverName, svcName, domai
nName);
To connect to one of the many registered principals for a service on a specified server in a specified domain, the following command is used: CfSurrogate (targetName, serverName, svcName, domai
nName);

【0041】要求されたオブジェクトのサーバ名及びド
メイン名の双方が規定された場合には、ローカルSOL
Sではなく、特定されたドメイン及びサーバ上のSOL
Sがコンタクトされる。このことにより、ローカルSO
LSレジストリ内のロケーションが未だ更新されていな
いサービスに対する接続の拒絶が防止される。第二の代
理オブジェクト108は、要求されたサービスが存在す
るサーバ上のSOLSにRMIプロセスを指示し、そこ
からそのサーバ上の名前付けがなされたサービスオブジ
ェクトに係るいくつかの可能な登録済み主体のうちのひ
とつのネットワークアドレスを獲得する。その後、最初
の代理オブジェクト106が、RMIに、規定されたド
メイン及びサーバ上の要求されたサービス及びターゲッ
トオブジェクトを指示する。
If both the server name and domain name of the requested object are specified, the local SOL
SOL on the specified domain and server, not S
S is contacted. This allows the local SO
The rejection of connections for services whose location in the LS registry has not yet been updated is prevented. The second proxy object 108 directs the RMI process to the SOLS on the server where the requested service resides, from which of some possible registered principals for the named service object on that server. Get a network address for one of them. The first proxy object 106 then directs the RMI to the requested service and target objects on the defined domain and server.

【0042】SOLS30は、CfSurrogateオブジェク
ト106を構成するために必要とされるロケーション情
報を返す。SOLS30が一致するサービスオブジェク
ト及びターゲットオブジェクトの検索に失敗した場合に
は、CfSurrogateオブジェクトは無効状態になる。その
後、ユーザは、SOLS30がロケーションを見い出す
ことが可能であったこと及びCfSurrogateオブジェクト
106が適切なターゲットオブジェクトに対して適切に
結び付けられていることを確認する目的で、"CfSurroga
te::connected()"メソッドをコールしなければならな
い。
SOLS 30 returns the location information needed to construct the CfSurrogate object 106. When the SOLS 30 fails to search for the matching service object and target object, the CfSurrogate object becomes invalid. The user can then use "CfSurroga" to verify that SOLS 30 was able to find the location and that CfSurrogate object 106 was properly bound to the appropriate target object.
You must call the te :: connected () "method.

【0043】同一の手続きが、CfSurrogate::connect()
メソッドを用いる際に適用される: void CfSurrogate::connect(const char *target, cons
t char*svc, const char *mach = (const char*)NULL,
const char *dom= (const char*)NULL);
The same procedure uses CfSurrogate :: connect ()
Applied when using the method: void CfSurrogate :: connect (const char * target, cons
t char * svc, const char * mach = (const char *) NULL,
const char * dom = (const char *) NULL);

【0044】ここで、"mach"の位置はNULLにされてお
り、このことによって、CfSurrogate構成機能と正確に
同一の、適切なターゲットオブジェクトを見い出すよう
にSOLS30にトリガがかけられる。
Here, the "mach" position has been nulled, which triggers the SOLS 30 to find an appropriate target object that is exactly the same as the CfSurrogate configuration function.

【0045】CfSurrogateオブジェクト106を生成す
ることは、代理オブジェクト106とターゲットオブジ
ェクト102との間のセッションを直接設定することで
はない。これら2つのオブジェクトは接続されているの
みである。CfExchange(マシン間のオブジェクトストリ
ームシーケンス)が最初に生成された時点で、ターゲッ
トオブジェクト102へのデータ送出の試みがなされ
る。サーバ16が到達不可能であることを示す、データ
伝送中のエラーが発生した場合には、SOLS30はレ
ジストリ66から別のロケーションを返すように試み
る。
Creating the CfSurrogate object 106 is not directly setting up a session between the proxy object 106 and the target object 102. These two objects are only connected. When CfExchange (a machine-to-machine object stream sequence) is first created, an attempt is made to send data to the target object 102. In the event of an error in data transmission indicating that the server 16 is unreachable, SOLS 30 attempts to return another location from the registry 66.

【0046】SOLS30に新たなロケーションを見い
出させるようにさせるために、ユーザが介入することは
必要とされない。前のロケーションがCfExchangeに失敗
した場合の新たなロケーションの検索は、完全に自動化
されたタスクである。
No user intervention is required to cause SOLS 30 to find a new location. Finding a new location if the previous location fails CfExchange is a fully automated task.

【0047】ステップ96では、SOLS30がレジス
トリ66をチェックし、サービスが実行されているサー
バを選択する。ここではSOLS30がサーバ16を選
択することが仮定されているが、同一のサービスを提供
している別のサーバも選択され得る。
In step 96, SOLS 30 checks registry 66 and selects the server on which the service is running. It is assumed here that SOLS 30 selects server 16, but another server offering the same service may also be selected.

【0048】ステップ98では、クライアントオブジェ
クト104が、サーバ16からのサービスをサーバ20
上で実行されているアプリケーションプログラムに提供
させる目的で、代理オブジェクト106とターゲットオ
ブジェクト102との間のRMIプロセスを指示する。
In step 98, the client object 104 receives the service from the server 16 to the server 20.
Directs the RMI process between the proxy object 106 and the target object 102 for provision to the application program executing above.

【0049】以上の説明は、本発明の一実施例に関する
もので,この技術分野の当業者であれば、本発明の種々
の変形例が考え得るが、それらはいずれも本発明の技術
的範囲に包含される。
The above description relates to one embodiment of the present invention, and those skilled in the art can think of various modifications of the present invention, but all of them are within the technical scope of the present invention. Included in.

【0050】[0050]

【発明の効果】以上述べたごとく、本発明によれば、オ
ブジェクトトランスポートメカニズムと密接に統合され
ていて、アプリケーションによって提供されるサービス
をロケートする複雑さをなくし、さらに、突然利用不可
能となったサービスと同一のサービスが存在する別のロ
ケーションへ自動的に切り替えることによってシステム
に対してより高度な信頼性を与えるような、サービスオ
ブジェクトロケートシステム及びその実現方法が提供さ
れる。
As described above, according to the present invention, it is tightly integrated with the object transport mechanism, eliminating the complexity of locating the services provided by an application, and suddenly becoming unavailable. There is provided a service object locating system and a method for realizing the same, which gives a higher reliability to the system by automatically switching to another location where the same service exists.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明に係るシステムにおいて用いられるネッ
トワーク単位を示すブロック図
FIG. 1 is a block diagram showing a network unit used in a system according to the present invention.

【図2】本発明に係るシステムにおいて用いられるネッ
トワーク単位を示すブロック図
FIG. 2 is a block diagram showing a network unit used in the system according to the present invention.

【図3】本発明に係るシステムの動作を示す流れ図FIG. 3 is a flowchart showing the operation of the system according to the present invention.

【図4】クライアントアプリケーションのサービスに対
する接続に関与するコンポーネントを示すブロック図
FIG. 4 is a block diagram showing components involved in connecting a client application to a service.

【符号の説明】[Explanation of symbols]

10 ネットワーク単位 12、14 ドメイン 16、18 プライマリサーバ 20、22、24、26 サーバ 28、30、32、34、36、38 サービスオブジ
ェクトロケーションサービス 40、42、44、46、48、50 RAM 52、54、56、58、60、62 コンフィグレー
ションファイル 64、66、68、70、72、74 レジストリ 100 サービスオブジェクト 102 ターゲットオブジェクト 104 クライアントオブジェクト 106、108 代理オブジェクト 110 クライアントアプリケーション 112 サービスアプリケーション
10 network unit 12, 14 domain 16, 18 primary server 20, 22, 24, 26 server 28, 30, 32, 34, 36, 38 service object location service 40, 42, 44, 46, 48, 50 RAM 52, 54 , 56, 58, 60, 62 Configuration file 64, 66, 68, 70, 72, 74 Registry 100 Service object 102 Target object 104 Client object 106, 108 Proxy object 110 Client application 112 Service application

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 コンピュータネットワークにおいて、 クライアントオブジェクトを有するクライアントアプリ
ケーションを実行し、サービスオブジェクトロケーショ
ンサービスを有する第一のコンピュータと、ここで、前
クライアントオブジェクトは代理オブジェクトを含んで
おり、 サービスオブジェクトを有するサービスオブジェクトを
実行し、前記第一のコンピュータの前記サービスオブジ
ェクトロケーションサービスに接続されたサービスオブ
ジェクトロケーションサービスを有する第二のコンピュ
ータと、ここで、前記サービスオブジェクトはターゲッ
トオブジェクトを含んでおりを有するドメインから構成
されており、 前記第一コンピュータのサービスオブジェクトロケーシ
ョンサービスが、サービスオブジェクトを名前によって
第二コンピュータ内のロケーションにマッピングするネ
ームサービスを含んでおり、前記第一コンピュータの前
記サービスオブジェクトロケーションサービスが前記代
理オブジェクトと前記ターゲットオブジェクトとをリモ
ートメソッド起動プロセスと前記第一コンピュータの前
記サービスオブジェクトロケーションサービスによって
提供された前記第二コンピュータ上の前記サービスオブ
ジェクトのロケーションとによって接続し、 前記ロケーションが、前記サービスオブジェクトが前記
代理オブジェクトによって前記名前のみによって要求さ
れた場合に、前記第一コンピュータの前記サービスオブ
ジェクトロケーションサービスによって提供されること
を特徴とするコンピュータネットワーク。
1. A first computer in a computer network for executing a client application having a client object and having a service object location service, wherein the previous client object includes a proxy object and a service having a service object. A second computer running an object and having a service object location service connected to the service object location service of the first computer, wherein the service object comprises a domain comprising a target object And the service object location service of the first computer stores the service objects by name. A name service that maps to a location in a second computer, the service object location service of the first computer connecting the proxy object and the target object with a remote method invocation process and the service object location of the first computer. Connecting with the location of the service object on the second computer provided by a service, the location being the service of the first computer when the service object is requested only by the name by the proxy object. A computer network characterized by object location services.
【請求項2】 ネットワーク主体においてサービスオブ
ジェクトをロケートする方法において、 (A)ターゲットオブジェクトを含むサービスオブジェ
クトを前記ネットワーク主体内の第一のコンピュータに
ストアする段階と、 (B)前記ネットワーク主体内の第二のコンピュータに
よって前記サービスオブジェクトを前記第一コンピュー
タ内のロケーションへ名前によってマッピングする段階
と、 (C)前記第二コンピュータによってクライアントオブ
ジェクトを含むアプリケーションプログラムを実行する
段階と、 (D)前記第二コンピュータ内のサービスオブジェクト
ロケーションサービスによって前記クライアントオブジ
ェクト内に代理オブジェクトを構成する段階と、 (E)前記代理オブジェクトによって前記サービスオブ
ジェクトを名前のみによって要求する段階と、 (F)前記第二コンピュータ内の前記サービスオブジェ
クトロケーションサービスによって前記サービスオブジ
ェクトのロケーションを前記第二コンピュータ上の前記
代理オブジェクトに提供する段階と、 (G)リモートメソッド起動プロセスと前記第二コンピ
ュータによる前記第一コンピュータ上の前記サービスオ
ブジェクトのロケーションとを用いて前記第二コンピュ
ータ内の前記代理オブジェクトと前記第一コンピュータ
内の前記ターゲットオブジェクトとを接続する段階とを
有することを特徴とするコンピュータネットワーク動作
方法。
2. A method of locating a service object in a network entity, comprising: (A) storing a service object including a target object in a first computer within the network entity; Mapping the service object by name by a second computer to a location in the first computer; (C) executing an application program containing a client object by the second computer; (D) the second computer. Configuring a proxy object in the client object with a service object location service in (E) the service object with the proxy object Requesting only by name, (F) providing the location of the service object to the proxy object on the second computer by the service object location service in the second computer, (G) remote Connecting the proxy object in the second computer with the target object in the first computer using a method invocation process and the location of the service object on the first computer by the second computer. A method for operating a computer network, comprising:
JP7296011A 1994-10-21 1995-10-20 Computer network and its operating method Pending JPH08255141A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US326993 1989-03-22
US32699394A 1994-10-21 1994-10-21

Publications (1)

Publication Number Publication Date
JPH08255141A true JPH08255141A (en) 1996-10-01

Family

ID=23274672

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7296011A Pending JPH08255141A (en) 1994-10-21 1995-10-20 Computer network and its operating method

Country Status (1)

Country Link
JP (1) JPH08255141A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002513192A (en) * 1998-04-23 2002-05-08 トムソン マルチメディア Process and apparatus for managing objects in a communication network

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002513192A (en) * 1998-04-23 2002-05-08 トムソン マルチメディア Process and apparatus for managing objects in a communication network
JP4838935B2 (en) * 1998-04-23 2011-12-14 トムソン マルチメデイア Processing and apparatus for managing objects in a communication network

Similar Documents

Publication Publication Date Title
US6782527B1 (en) System and method for efficient distribution of application services to a plurality of computing appliances organized as subnets
KR100811876B1 (en) A smart stub or enterprise java™ bean in a distributed processing system
KR100673627B1 (en) Clustered enterprise java? having a message passing kernel in a distributed processing system
KR100614266B1 (en) Clustered enterprise java? in a secure distributed processing system
US6055562A (en) Dynamic mobile agents
US6236999B1 (en) Duplicated naming service in a distributed processing system
US6018805A (en) Transparent recovery of distributed-objects using intelligent proxies
US20080140760A1 (en) Service-oriented architecture system and methods supporting dynamic service provider versioning
JP2004512592A (en) Real-time configuration updates and software distribution for active client positions
US11388136B2 (en) Dynamic distributed service location discovery
US20080140857A1 (en) Service-oriented architecture and methods for direct invocation of services utilizing a service requestor invocation framework
US20030009551A1 (en) Method and system for a network management framework with redundant failover methodology
US20030009657A1 (en) Method and system for booting of a target device in a network management system
WO2001025951A1 (en) Virtual endpoint
JP2001005758A (en) Method and system for remotely managing network element
JP2002132739A (en) Stab retrieval loading system and method, server device, client device and computer readable recording medium
US20040143654A1 (en) Node location management in a distributed computer system
WO2001093038A2 (en) Scalable java servers for network server applications
US20040216126A1 (en) Method, system, and article of manufacture for agent processing
US6775833B1 (en) Method of managing a scalable interface communication system
AU775624B2 (en) Method and apparatus for dynamic command extensibility in an intelligent agent
JPH08255141A (en) Computer network and its operating method
CN118051342A (en) Method, system and equipment for creating k8s load balance in local area network environment
CN114945023A (en) Network connection multiplexing method, device, equipment and medium
Ueno et al. WebSphere scalability: WLM and clustering