JP2002543518A - Distributed software development environment - Google Patents

Distributed software development environment


Publication number
JP2002543518A JP2000615895A JP2000615895A JP2002543518A JP 2002543518 A JP2002543518 A JP 2002543518A JP 2000615895 A JP2000615895 A JP 2000615895A JP 2000615895 A JP2000615895 A JP 2000615895A JP 2002543518 A JP2002543518 A JP 2002543518A
Prior art keywords
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.)
Application number
Other languages
Japanese (ja)
Original Assignee
ルトガーズ ユニバーシティ
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
Priority to US13150699P priority Critical
Priority to US60/131,506 priority
Application filed by スルヤナラヤナ,マンジュナス,エム., ルトガーズ ユニバーシティ filed Critical スルヤナラヤナ,マンジュナス,エム.
Priority to PCT/US2000/011428 priority patent/WO2000067121A1/en
Publication of JP2002543518A publication Critical patent/JP2002543518A/en
Application status is Withdrawn legal-status Critical



    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design


(57)【要約】 本発明は、分散型オブジェクト指向ソフトウェア開発環境に関する。 (57) Abstract: The present invention relates to a distributed object-oriented software development environments. 関連したインタフェースが互換性のある場合、オブジェクト操作を実行するためのオブジェクトは相互に通信することができる。 If relevant interfaces compatible, the objects to perform object operations can communicate with each other. そのシステム環境は、そのオブジェクトに制御およびデータのシーケンスフローを提供する。 The system environment provides a sequence flow of control and data in the object. オブジェクトの各々のインタフェースは、固有のグローバル識別値を有する。 Each interface object has a unique global identification value. 互換性があるインタフェースは、管理フレームワークを有するインタフェースのグローバル識別およびバージョンを登録することによって決定される。 Interface is compatible is determined by registering the global identification and version of the interface with the management framework. システム環境は、アプリケーションネットワークを確立し、アプリケーションネットワークの整合した即応型のダイナミックアップデートを実行するために使用されることができる。 System establishes an application network, can be used to perform a responsive dynamic updates in alignment of the application network. 該管理フレームワークは、アプリケーションのオブジェクトと関連する管理オブジェクトを含むことができる。 The management framework may include management objects associated with the object of application. 管理オブジェクトは、オブジェクトについての情報を管理人オブジェクトに伝達する。 Management object, to transmit the information about the object to management people object. したがって、管理人オブジェクトは、オブジェクトによる関与なく、アプリケーションネットワークの設定あるいは再構成の間のオブジェクトの処理を制御することができる。 Therefore, curator object, without involvement by the object, it is possible to control the processing of the object during the setting or re-configuration of the application network. デザインステージの間、管理フレームワークは、また、限界がないネゴシエーションを実行するために、ソフトウェア開発者によって使用されることができる。 During the design stage, management framework, also in order to perform a negotiation no limits, can be used by software developers.



【0001】 この出願は、発明の名称「分散型ソフトウェア開発環境」である仮出願番号第60/131,506号に基づく優先権を請求し、この内容の全体がこの出願のなかに引用されて組み込まれている。 [0001] This application is a priority based on provisional application Serial No. 60 / 131,506 which is entitled "Distributed Software Development Environment" of the invention claimed, the entire contents of which are cited Some of this application It has been incorporated.

【0002】 発明の背景 1. [0002] Background of the Invention 1. 発明の技術分野本発明は、ソフトウェア開発、およびメンテナンスのための提供されるソフトウェア環境に関する。 Technical Field of the Invention The present invention, software development, and to the software environment provided for maintenance.

【0003】 2. [0003] 2. 関連技術の説明従来の線型プログラミングコードにおいて、大規模に展開しているソフトウェアシステムのエンジニアリングは、設計し、システムを維持することを必要とする複雑さのためにむずかしい。 In the conventional linear programming code Description of the Related Art Engineering software system that is deployed on a large scale, difficult due to the complexity that needs to be designed to maintain the system. また、ユーザーの要求に応じたソフトウェアの小さな変更は、全プログラムの主要部分を再設計し、書換えを必要とする。 Further, small changes made to the software in response to user requests, and redesign the main part of the total program, require rewriting. オブジェクト指向プログラムの技術は、ソフトウェア開発の複雑さを減らした。 Technology of object-oriented programs, reduced the complexity of software development. 大規模に展開しているソフトウェアのエンジニアリングに関する問題の記述とその問題の解決法の概要が、「OMSOFT:チェンジマネージメントパラダイム」、ネットワーク、アンド、システムマネージメント誌、第6巻、第1号、1998年”OMSOFT:A Change Management Paradigm Overview of the description of the problem related to engineering of software that is deployed on a large scale and its problem-solving method, "OMSOFT: change management paradigm", network, and, system management magazine, Vol. 6, No. 1, 1998 "OMSOFT: A Change Management Paradigm
,” Journal of Network and Systems Ma , "Journal of Network and Systems Ma
nagement,Vol. nagement, Vol. 6, No. 6, No. 1, 1998の中で発明者により開示されている。 Disclosed by the inventors in 1, 1998.

【0004】 オブジェクト指向プログラミングでは、オブジェクトは、一般的に、データと、そのデータ上で実行される操作の組合せとして規定される。 [0004] In object-oriented programming, objects are typically the data is defined as a combination of operations performed on the data. アプリケーションネットワークは、一般に、与えられたタスクを実行するために、オブジェクト( Application network, in general, in order to perform a given task, object (
プログラム)の集まりが共通インタフェースによって相互に連絡される。 Collection of program) are interconnected by a common interface. オブジェクト指向ソフトウェアシステムは、典型的には、オブジェクトモデルと称されるアーキテクチャスペックを提供する。 Object-oriented software systems typically provide termed architecture specification and object model. そして、それは分散型オブジェクトに、 And it is a distributed object,
アプリケーションと一緒に働くことを可能にする。 It makes it possible to work together with the application.

【0005】 オブジェクト・マネジメント・グループ(Object Managemen [0005] Object Management Group (Object Managemen
t Group :OMG)と呼ばれている産業界コンソーシアムは、コモン・ t Group: industry consortium that has been referred to as the OMG), the Common
オブジェクト・リクエスト・ブローカー・アーキテクチャー(Common O Object Request Broker Architecture (Common O
bject Request Broker Architecture:CO bject Request Broker Architecture: CO
RBA)スペックの下に、オブジェクト指向システムのための標準を開発した。 Under the RBA) spec, it has developed a standard for object-oriented systems.
CORBAスペックは、オブジェクトに関して割り当てられたクライアント−サーバシステム環境に、分散型コンピューティング環境を規定する。 CORBA specifications, the client assigned for objects - the server system environments, defines a distributed computing environment. CORBAのオブジェクトブローカーは、オブジェクトまたはほかのアプリケーションが要求することができ、また、システムによって管理されている他のオブジェクトからの応答を受けることができるメカニズムを提供する。 CORBA object broker may object or another application requests, also provides a mechanism capable of receiving a response from the other objects that are managed by the system. CORBAアプローチは、 CORBA approach,
必要に応じて、システムリソースの成長または再配置を提供するために、分散したシステムの様々なコンポーネントと共に、多数のオブジェクトブローカーを利用する。 If necessary, in order to provide a growth or relocation of system resources, along with the various components of the distributed system, utilizing a number of object broker. これら多数のオブジェクトブローカーの各々は、対応するインプリメンテーションとインタフェースリポジトリ内の情報にアクセスすることができる。 Each of a number of these objects broker can access the information in the corresponding implementation and Interface Repository.
オブジェクト要求は、多くのいくつかのコンピューティングデバイス上でオブジェクトオペレーションを実行することができるという点でユーザーからは見えない。 Object request is not visible to the user in that it is possible to perform object operations on many number of computing devices. また、オブジェクトオペレーションを起動する実体は、オブジェクトオペレーションがどこに存在するか、あるいは、実行されるか知っている必要がない。 Furthermore, the entity that starts an object operation, if there where the object operations, or there is no need to know what is executed.
したがって、CORBAアプローチの使用によって、個々のユーザーは、特定のプログラムの存在、またはそれらが実行される場合に、それらの詳細はCORB Therefore, the use of CORBA approach, if the individual user, the presence of a particular program, or they are executed, their details CORB
Aに基づいたシステムの管理人によって扱われるので、管理する責任から解放される。 Since handled by the custodian of the system based on A, it is released from the responsibility to manage. さらに、オペレーションの固定セットの定義によって、CORBAアプローチは、異なるベンダーからのオブジェクトブローカーに互いに通信することを可能とし、システムにより普遍的な互換性をもたらす。 Further, by the definition of a fixed set of operations, CORBA approach allows to communicate with each other to an object broker from different vendors to bring the universal compatibility with the system.

【0006】 新しいオブジェクトは、単に、オブジェクトへ接続する方法についての情報に続いて、それぞれのリポジトリの情報を更新することにより、CORBAに基づいたシステムに加えられ、実行されるオブジェクトは、インタフェースおよびインプリメンテーションリポジトリに含まれている。 [0006] The new object is simply following the information on how to connect to the object, by updating the information of each repository is added to the system based on CORBA, the object to be executed, the interface and imple- It is included in the Plantation repository. このように、CORBAに基礎をおいたシステムは、新しいまたは変更されたオブジェクトを提供するために簡単にアップグレードすることができる。 Thus, system basing on CORBA can be easily upgraded to provide new or changed objects. なぜなら、オブジェクト指向のアプローチは、オブジェクトの操作の実際のインプリメンテーションがユーザーに見えるようにし、既存のアプリケーションをCORBAに基づいたシステムで機能するために、それらのインタフェースを修正することだけを必要とする。 This is because object-oriented approach, to the actual implementation of the operation of the object is visible to the user, to function in a system based on existing applications to CORBA, only it needs to modify their interface to. したがって、現存のアプリケーションを、システムで働かせるために、すべてを書き直す必要はない。 Thus, the existing applications, in order to work with the system, it is not necessary to rewrite all.

【0007】 米国特許第5,838,970号は、CORBAがいくつかの限界を持つことを記述している。 [0007] U.S. Patent No. 5,838,970, describes that CORBA has several limitations. 最初に、CORBAはオブジェクトが作成された後、オブジェクトを移動するためのメカニズムを提供しない。 First, CORBA after the object is created, it does not provide a mechanism for moving the object. 第2に、CORBAは、個々のユーザーの情報をネットワークを介してアクセス可能にしないし、また、システムリソースがユーザーレベルまたはオブジェクトレベルのいずれかに管理されることを容認しない。 To a 2, CORBA is to not the information of individual users accessible via the network, also not tolerate that the system resources are managed by either the user-level or object level. さらに、CORBAは与えられたオブジェクトタイプの複数のバージョンの使用をサポートしない。 Furthermore, do not support the use of multiple versions of object types CORBA is given. CORBAはまた、非常に多く使用されるリソースを複製する有効な手段を備えていない。 CORBA is also not provided with effective means for replicating resources used very much. 上記'970の特許は、処理の方法、オペレーションの進行の間に変更することができる情報を処理または送信する方法におけるオブジェクト指向のコンピュータ環境について記述している。 The above patents' 970 describes a object oriented computing environment in a method of treating or transmitting information that may be changing processing, during the course of operations. この環境は、オブジェクトのライフサイクル中にアクセス可能な多くのリポジトリに格納すること、および、オブジェクト操作を開始するのに必要な情報により管理される。 This environment, storing in the life cycle of the object accessible many repositories, and is managed by the information needed to start the object operation. リポジトリは、格納された情報の分配をコントロールするために優先順位の異なるレベルを割り当てることができる。 Repository may be assigned different levels of priority in order to control the distribution of stored information. 交換可能なリポジトリからオブジェクト操作に影響を及ぼすために取り出された情報を使用することによって、必要に応じて、コンピュータに基づく情報プロセシングは拡張することができる。 By using information derived from the replaceable repository to influence the object manipulation, as necessary, the information processing based on the computer it can be extended. また、ソフトウェアアップグレードは、アプリケーションリポジトリのコンテンツを変更することによって行うことができる。 Furthermore, software upgrades can be done by changing the contents of the application repository. CORBAは、共有変数の選択と解決、互換性をもつアプリケーションシステムの選択、再使用可能なCO CORBA is solved with the selection of the shared variable, the selection of the application system with compatibility, reusable CO
RBAコンポーネントの動的な再構築を提供しないし、また、シングルインタフェースしかサポートしないといった追加の欠点を持っている。 It does not provide a dynamic restructuring of RBA component, also, it has the additional disadvantage that only a single interface does not support.

【0008】 CORBA設備は、それ以前(大きなネットワーク向きのアプリケーションに関する)に、議論されたシステム管理問題に取り組んでいないので、非常に初期の発達段階にある。 [0008] CORBA equipment, it previously (with respect to large network-facing applications), because it does not working on system management issues that have been discussed, is in the very early stages of development. さらに、CORBAがオブジェクトおよびインタラクションモデル上の実際のシステム(ネットワークの管理、ネットワークプロバイダの操作、およびサービスをサポートするシステム)の強い影響を考慮することなく設計されたことは注目される。 Furthermore, CORBA actual system on the object and interaction model (management network, the operation of the network provider, and systems that support services) that are designed without considering the strong influence of is noted. 例えば、CORBAは、受信器がそれを受け取り認識するまで、メッセージの送信器を閉鎖する。 For example, CORBA, the receiver until receiving recognize it, closing the transmitter of the message. これは、分散型アプリケーションの並列処理を歪ませる。 This distorts the parallelism of distributed applications. また、送信器と受取人の間にデッドロックがかかるかもしれない。 In addition, the deadlock might be applied between the transmitter and the recipient. また、CORBAはマルチサイクルトランザクションをサポートせず、オブジェクトとインタフェースのバージョニングをサポートしない。 In addition, CORBA does not support multi-cycle transaction, it does not support versioning of objects and interfaces. 加えて、 in addition,
CORBAは非同期通信に関連するバッファロスについて扱わない。 CORBA is not treated for the buffer loss associated with asynchronous communication. したがって、プログラマは、オブジェクトインタフェースの複雑さを増加させて、共有されるインタフェースにこのように関連した構造およびプロトコルの一部として可能なバッファロスを扱わなければならない。 Thus, the programmer is to increase the complexity of the object interface, must deal with buffer loss possible as part of the thus related structure and protocol to the interface to be shared. また、これは、CORBA IDLを使用している非同期CORBAコンポーネントのインタフェース記述を非常に複雑にする。 This also very complicate the interface description of the asynchronous CORBA components using the CORBA IDL.

【0009】 ソフトウェアアプリケーションに、オブジェクトまたはインタフェースのより新しいバージョンをインストールする従来の方法は、アプリケーションをシャットダウンして、より新しいバージョンをインストールする。 [0009] in the software application, the conventional method to install a newer version of the object or interface, shut down the application, to install a newer version. この方法は、ソフトウェアのユーザーによりアプリケーションが否定されている間、承諾しがたい遅れを招く。 This method, while the application is denied by the user software, leading to consent hard to delay. 管理人は、それらが互換性をもつかどうか決めるためにバージョンをチェックすることができる。 Management people, that they can check the version in order to decide whether or not compatible with. オブジェクトの非互換性は、インタフェースを非互換にするオブジェクトのインタフェースの少なくとも1つの修正に起因する。 Incompatibility object is due to at least one modification of the interface for an object that the interface incompatible. 管理人は、手動で互換性のあるシステムを見いだして、どれを実行するべきであるか決めることができる。 Management people, can decide to find a system that manual is compatible with, should be issuing any. マニュアル技術は、ラケシュ アグラウェイ(Rake Manual technology, Rakeshu Agra Way (Rake
sh Agraway)、および、H. sh Agraway), and, H. V. V. ジャガディシュ(H.V.Jaga Jagadishu (H.V.Jaga
dish)による「バージョンされたオブジェクトを正確に形成することについて(On Correctly Configuring Versioned According to dish) about to accurately form a "version object (On Correctly Configuring Versioned
Objects)」1989年、VLDBsにおける第15回インターナショナルカンファレンスの会報(Proc. of the 15th.Intl. Objects) "1989, Proceedings of the 15th International Conference in VLDBs (Proc. Of the 15th.Intl.
Conf. Conf. on VLDBs, 1989. on VLDBs, 1989. )において開示された。 Disclosed in). しかしながら、オブジェクトに多数のバージョンがある場合、管理人が互換性のあるオブジェクトを決定することはむずかしい。 However, when there are many versions object, it is difficult to determine the object janitor compatible.

【0010】 従来の自動技術は、互換性をもつアプリケーションシステムを維持する規則に基づいたアプローチを使用する。 [0010] Conventional automatic technique using an approach based on rules to maintain the application system with compatibility. 例えばR. For example, R. H. H. カッツ(R.H. Katz) Katz (R.H. Katz)
、および、E. , And, E. チャン(E. Chang)「コンピュータ支援設計データ・ベースの変化の管理(Managing Change in a Comp−A Chan (E. Chang) "management of computer-aided design data-based change (Managing Change in a Comp-A
ided Design Database)」1987年、VLDBの第13 ided Design Database) "in 1987, the first 13 of the VLDB
回カンファレンスの手続き(Proc. of the 13th VLDB Proceedings of times Conference (Proc. Of the 13th VLDB
Conf. Conf. , 1987. , 1987. )を参照。 See). しかしながら、大きいネットワークアプリケーションの構成、および異なるインタフェース上のプロトコルは、複雑で、かつルールで表すことが難しい。 However, construction of large network applications, and on different interface protocols, it is difficult to represent in complex and rules. したがって、アプリケーションのより新しいバージョンに動的に更新すること、互換性をもつシステムを動的にメンテナンスすること、および、アプリケーションが実行されている間に動的に再構築すること、 Therefore, it is dynamically updated to a newer version of the application to dynamically maintain a system with compatibility, and, dynamically re-established between the application is running,
をサポートしているオブジェクト指向のソフトウェア開発環境を提供することが望ましい。 That is desirable to provide an object-oriented software development environments that support.

【0011】 発明の要約本発明は、分散型オブジェクト指向のソフトウェア開発環境に関する。 [0011] Summary of the Invention The present invention relates to a software development environment of distributed object-oriented. 関連するインタフェースが互換性をもつ場合、オブジェクトオペレーションを実行するためのオブジェクトは互いに通信することができる。 If the associated interface is compatible, objects to perform object operations can communicate with each other. その環境は、オブジェクトにコントロールとデータのシーケンシャルフローを供給する。 The environment provides the sequential flow of control and data to the object.

【0012】 オブジェクトの各インタフェースは、固有のグローバル識別値を持つ。 [0012] Each interface of the object has a unique global identification value. 互換性があるインタフェースは、管理フレームワークを有するインタフェースのグローバルな識別番号、およびバージョンを登録することによって決定される。 Interface is compatible is determined by registering the global identification number, and the version of the interface having a management framework. 好ましくは、管理フレームワークはオブジェクトバージョン、およびインタフェースバージョンを増加させる方法で割り当てる。 Preferably, management framework allocates a way of increasing the object version, and interface version. 分散型選択方法は、管理フレームワークによって全ての固有の互換性があるインタフェースアプリケーションシステムの部分的な命令を生成するために使用されることができる。 Distributed selection process can be used to generate the partial instruction has all the specific compatibility interface application system by the management framework.

【0013】 修正CORBA IDLフレームワークは、オブジェクト同調問題に依存しない、意味が明確な、および有意義なオブジェクトインタフェースによって、設計プロセスを基本的に変える。 [0013] fix CORBA IDL framework does not depend on the object tuning problem, meaning is clear, and by meaningful object interface, basically changing the design process. この環境は、ネットワーク向きのアプリケーション内で、依存し/独立したトランザクションの複合体の記述を単純化する。 The environment, in a network facing applications, to simplify the description of the complex of the dependent / independent transaction. 管理人のためにサポートされた機能は、オブジェクトの状態を読み取り(read)/ Supported features for managing people, reading the state of an object (read) /
書き込み(write)し、オブジェクトの状態をゲット(get)/セット( And writing (write), get the state of the object (get) / set (
set)する能力や、コンポーネントの協同なく外部からクロックの状態をゲット(get)/セット(set)する能力や、修正CORBA IDL記述からタイプの詳細を得て、それから修正CORBA IDLフレームワークを使用するトランザクションに有意義な記述を置くことにより生データを有意義なデータに変換する能力のように、アプリケーションの外部監視、および制御を容易にする。 set) ability and to, and the ability to get the state of the clock from the outside without cooperation of the component (get) / set (set), to obtain the type of details from the modified CORBA IDL description, and then to use a modified CORBA IDL framework as the ability to convert raw data into meaningful data by placing a meaningful description in the transaction, the external monitor applications, and to facilitate control.

【0014】 システム環境は、アプリケーションネットワークを確立し、矛盾がなく、透過的で動的な該アプリケーションネットワークのアップデートを実行するために使用することができる。 [0014] System may establish an application network, contradiction not be used to perform the update of the transmission and dynamic the application network. 管理フレームワークは、アプリケーションのオブジェクトと関連する管理オブジェクトを含むことができる。 Management framework may include management objects associated with the object of application. 管理オブジェクトは、管理人オブジェクトに、オブジェクトに関する情報を伝える。 Management object to the management who object, convey information about the object. 管理人オブジェクトは、 Janitor object,
オブジェクトによる協同のないアプリケーションネットワークの設立あるいは再構築中にオブジェクトのトランザクションをコントロールすることができる。 It is possible to control the transaction of establishment or object in the reconstruction of no cooperation by the object application network. 設計段階において、管理フレームワークはまた、限界のないネゴシエーションを実行するために、ソフトウェア開発者によって使用されることができる。 In the design phase, management framework can also be used to perform the negotiation without limitation, it can be used by software developers.

【0015】 発明は、以下の図面を参照することでより十分に記述される。 [0015] invention will be more fully described by reference to the following drawings.

【0016】 詳細な記述発明の好ましい実施例を、添付図面に図示されている実施例によって詳しく言及する。 [0016] The preferred embodiment of the DETAILED DESCRIPTION invention, examples in detail referring depicted in the accompanying drawings. 可能なところは、同じ参照番号が、図面および記述の全体にわたって使用される。 Where possible, it is, like reference numbers are used throughout the drawings and the description.

【0017】 図1は、本発明の教示による、分散型ソフトウェア開発環境10を簡単に示したアーキテクチャ図である。 [0017] Figure 1, in accordance with the teachings of the present invention is an architecture diagram simply showing a distributed software development environment 10. この開発環境10は、複数のフレームワークを含んでいる。 The development environment 10 includes a plurality of frameworks. 各フレームワークは、設計、インプリメント、管理、およびネットワーク向きのアプリケーション12の態様を実現して、それぞれ独立して作用することができるか、または一つ以上のフレームワークと相互に作用することができる。 Each framework design, implement, manage, and by implementing aspects of the application 12 of the network-facing, or can act independently, or can interact with one or more of the framework . 分散型ネットワークフレームワーク14は、オブジェクトを動的に設定するとともに、複数のオブジェクト間を接続する。 Distributed network framework 14 is adapted to dynamically set the objects, connecting a plurality of objects. トランザクションフレームワーク1 Transaction framework 1
5は、オブジェクト間のトランザクションの制御を提供する。 5 provides control of transactions between objects. インタラクションフレームワーク16は、オブジェクト間の対話の制御を提供する。 Interaction Framework 16 provides control of the interaction between objects. 修正COBR Modify COBR
A IDLフレームワーク18は、オブジェクトインタフェースを規定するためのオブジェクト指向の操作と、インタフェース記述言語(interface A IDL framework 18, the operation and object-oriented for defining object interfaces, interface description language (interface
description language:IDL)を提供する。 description language: IDL) to provide. 管理フレームワーク19は、オブジェクトインタフェースとオブジェクトの情報の集中化した管理を提供する。 Management framework 19 provides management with centralized information object interface and object. ライフサイクルフレームワーク20は、ソフトウェア開発の異なるステージを規定する。 Life cycle framework 20, to define the different stages of software development. ヒューマンディメンションフレームワーク21は、 Human Dimension framework 21,
ライフサイクルフレームワーク20とともに人間の対話を規定する。 To define the human interaction with life cycle framework 20.

【0018】 分散型ネットワーク14のフレームワークは、互換性をもつインタフェースによって接続されたオブジェクトのインタラクションネットワークを含む。 The framework of a distributed network 14 includes a interaction network of connected objects by interface compatible. オブジェクトは、非同期の処理実体であり、他のオブジェクトにトランザクション要求を始めること、および接続されている他のオブジェクトからのトランザクション要求を受けてサービスすることができる。 Object is the asynchronous processing entity can service by receiving transaction requests from other objects that are to start a transaction request to other objects, and connections. オブジェクトは、データ構造の集まり、およびデータ構造上の操作方法のセットとしてインプリメントされることができる。 Object, a collection of data structures, and may be implemented as set of data structures on the operation method. オブジェクトは、オブジェクトポートを通して他のオブジェクトとそのインタフェースを共有する。 Objects share through objects ports other objects and their interfaces. 互換性があるインタフェースでは、データ構造は同じものであり、また、プロトコルはそのインタフェースに接続している全てのオブジェクトポートによって、適切に理解される。 In compatible interface, the data structure is the same, also, the protocol by all objects port connected to that interface are properly understood. オブジェクトポートは、オブジェクトによって動的に生成されることができる。 Object port may be dynamically generated by the object. あらゆるオブジェクトは状態を持つ。 Every object has a state. その状態は、オブジェクトおよびそのランタイム動作を全体的に特徴づける状態変数として指定された1セットの変数の値を集めたものである。 That state is a collection of objects and values ​​of the run-time behavior of the overall set designated as a state variable characterizing variables. オブジェクトによって始められたトランザクションは、オブジェクトを受け取ってそれに対応する状態に達する。 Transactions initiated by the object reaches the state corresponding to it receiving the object. 各オブジェクトは、複数のオブジェクトポートと対応付けすることができる。 Each object may be associated with multiple objects ports. 分散型ネットワークの状態は、構成するオブジェクトの内部状態、およびオブジェクト間のインタフェースの状態で構成される。 State of the distributed network, the internal state of the object that constitutes, and a state of the interface between objects.

【0019】 図2Aは、オブジェクト30aがオブジェクトポート32aを含んでいる分散型ネットワークフレームワーク14のコンポーネントを示す図である。 [0019] Figure 2A is a diagram showing the components of a distributed network framework 14 object 30a contains objects port 32a. インタフェース34aは、オブジェクトポート32aへ接続する。 Interface 34a is connected to the object port 32a. インタフェース34a Interface 34a
も、オブジェクト30cのオブジェクトポート32cに接続する。 Also, to connect to object port 32c of the object 30c. オブジェクト30cのオブジェクトポート32dはインタフェース34bに接続する。 Object port 32d of the object 30c is connected to the interface 34b. インタフェース34bも、オブジェクト30bのオブジェクトポート32bに接続する。 Interface 34b also connects to an object port 32b of the object 30b. したがって、オブジェクト30aはオブジェクト30cを通してオブジェクト30bに接続される。 Accordingly, the object 30a is connected to the object 30b through the object 30c. 例えば、オブジェクト30aは、トランザクションを始めるクライアントまたはイニシエータオブジェクトである。 For example, object 30a is a client or initiator object begin transaction. オブジェクト30cは、オブジェクト30aからのトランザクションの手順およびコンテンツを受ける受信器またはサーバである。 Object 30c is a receiver or server receives the instructions and the content of the transaction from the object 30a. オブジェクト30cは、受信したコンテンツを変更することができる。 Object 30c, it is possible to change the received content.

【0020】 トランザクションフレームワーク15は、動的な外部記録、および処理フェーズを使用している制御を提供する。 The transaction framework 15 provides a control that uses a dynamic external recording and processing phase. トランザクションは、2つまたはそれ以上のオブジェクト間の一連のメッセージ交換の手順であり、それらオブジェクトのうちの1つによって始められる。 Transaction is a series of steps of message exchange between two or more objects, initiated by one of their objects. したがって、本発明では、トランザクションは、 Therefore, in the present invention, a transaction,
1つ以上の動的に変化する数のレシーバーオブジェクトとメッセージを交換するイニシエータオブジェクトを含む。 Containing initiator object to replace the one or more dynamically changing the number of the receiver object and message. トランザクションは、イニシエータオブジェクトにおいて完了する。 The transaction, completed in initiator object. トランザクションが有限の時間で終わり、トランザクションのイニシエータオブジェクトが、トランザクションの完了を認識しているとみなされる。 Transaction ends with a finite time, the initiator object of the transaction is deemed to be aware of the completion of the transaction. 各オブジェクトポートは、そのインタフェースのためのトランザクションを実行する構成とプロトコルを有する。 Each object port has a structure and protocol for executing transactions for that interface. 依存しているトランザクションは、該トランザクションの完了が他のトランザクションに依存するトランザクションである。 Transaction relies is a transaction completion of the transaction is dependent on other transactions. 独立したトランザクションは、他のトランザクションに依存することなく、独力で完成するトランザクションである。 A separate transaction, without having to depend on other transactions, is a transaction to be completed on its own. すべてのオブジェクトポートは同時に多数の独立しているか依存するトランザクションを始めてサービスすることができる。 All of the objects port can be service for the first time a transaction that depends on whether you are a large number of independent at the same time.

【0021】 トランザクションは、一つ以上のトランザクションサイクルを含むことができる。 [0021] The transaction can include one or more of the transaction cycle. トランザクションフェーズは、トランザクションサイクルに割り当てられる。 Transaction phase is assigned to the transaction cycle. 各トランザクションフェーズは、値を割り当てられる。 Each transaction phase is assigned a value. トランザクションフェーズの数は、ネットワーク向きのアプリケーションに特有である。 The number of transaction phase is specific to the network-facing applications. オブジェクトポートの動的に変化する数は、トランザクションフェーズと対応付けすることができる。 The number of dynamically changing objects ports can be associated with the transaction phase. 直接より高いトランザクションフェーズに同調されたオブジェクトポートは、より低いフェーズに同調されたオブジェクトポートによって協同することなく、より低いトランザクションフェーズに同調されたオブジェクトポートを監視し、制御することができる。 Objects ports tuned directly from the high transaction phase, without cooperating with the object ports tuned to a lower phase, monitoring the object ports tuned to a lower transaction phase can be controlled. トランザクションのコンテンツは、データがメール・バッグで運ばれるメール配信システムに対応するデータバッグとして参照されることができる。 Content transaction, the data can be referred to as data bag corresponding to the mail delivery system carried in the mail bag. 低いトランザクションフェーズおよび制御のデータバッグは、直接高いフェーズに通される。 Low transaction phase and control data bags is passed directly to a high phase. 一旦現在の最も高いフェーズが最も高いフェーズトランザクションのデータバッグを獲得すると、制御は直接最も低いフェーズのオブジェクトポートに戻される。 Once the current highest phase acquiring data bags highest phase transactions, control is returned to the object port of the direct lowest phase.

【0022】 図2Bを参照する。 [0022] Referring to FIG. 2B. トランザクションフレームワーク15の実例として、オブジェクト30a、オブジェクト30b、およびオブジェクト30cは、円形の通信経路36に接続されている。 Illustrative of transaction framework 15, object 30a, objects 30b and object 30c, is connected to the circular communication path 36. オブジェクト30aおよび30bは、フェーズ0 Objects 30a and 30b, Phase 0
によって表示される低いフェーズに配置されている。 They are arranged in a lower phase that is displayed by the. オブジェクト30cは、フェーズ1によって表示される高いフェーズに配置されている。 Object 30c is disposed at a higher phase displayed by phase 1. オブジェクト30 Object 30
cは、データバッグ35を受信するとともに、オブジェクト30aとオブジェクト30bから制御する。 c is configured to receive data bags 35, to control the objects 30a and object 30b. オブジェクト30cは、データバッグ35を変更できるとともに、データバッグ35をオブジェクト30aとオブジェクト30bに返信することができる。 Object 30c is, it is possible to change the data bag 35, it is possible to send the data back bag 35 to the object 30a and object 30b. 例えば、オブジェクト30cは、低いフェーズトランザクションのコンテンツを知る必要があるテスタまたは管理オブジェクトブローカーである。 For example, the object 30c is a tester or management object broker needs to know the content of the low-phase transactions. テスタは、テストフェーズの間、オブジェクトへの入力を変更することができる。 Tester during the test phase, it is possible to change the input to the object. 管理オブジェクトブローカーは、トランザクションの失敗および回復をサポートするために、低いフェーズトランザクションのコンテンツを使用することができる。 Managed object broker to support failure and recovery of transactions, can use the content of the low-phase transactions.

【0023】 インタラクションフレームワーク16は、2つ以上のオブジェクトポート間の接続またはコミュニケーションパスを提供するステップにインタラクションが進んだグループインタラクションメカニズムである。 [0023] Interaction Framework 16 is a group interaction mechanism has advanced interaction to the step of providing a connection or communication path between two or more objects ports. たとえば、インタラクションフレームワーク16は、S. For example, interaction framework 16, S. ダースら(S. Das et al.)の「オブジェクト中の一致の根拠」、COMPCON(1991年2月)、P. Dozen et al (S. Das et al.) Of the "basis of agreement in the object", COMPCON (2 January 1991), P. バッチャリヤら(Bhattacharya et al. )の「無線の情報ネットワーク用マイクロカーネル」、クルワー アカデミック(Kluwer Acad Batchariya et al. (Bhattacharya et al.) "Wireless information network for micro-kernel" of, Kluwer Academic (Kluwer Acad
emic)(春1993年)に記述されており、その教示はこれらを参照することによって、すべての目的のためのこの出願のなかに組み入れられている。 EMIC) (it is described in the spring 1993), the teachings by referring to these, which is incorporated within this application for all purposes. インタラクションフレームワーク16は、トランザクションに含まれる全てのオブジェクトの分配された情報の選択と解決をサポートする。 Interaction Framework 16 supports resolution selection and distribution information of all the objects contained in the transaction. オブジェクトのあらゆるインタフェースは、インタラクションポートクロックと関連し、接続されたオブジェクトポートとの間の全てのトランザクションは、オブジェクトポートとインタラクションポートクロックを使用して実現される。 Objects every interface, associated with interaction port clock, all transactions between the connected objects ports are implemented using object port interact port clock. インタラクションフレームワーク16は、上記の通りのリング状をしており、円形の通信経路を持っているインタラクションネットワークによって表すことができる。 Interaction Framework 16 has a ring-shaped as described above, may be represented by Interaction Network that has a circular communication path. オブジェクトは、オブジェクトポートを介してリングに接続されることができる。 Objects can be connected to the ring through an object port. 上述のデータバッグは、リングの周りを一つの方向で回って、接続されたオブジェクトのグループ間を移動する。 Data bags described above, moving around the ring in one direction, to move between a group of connected objects. 各オブジェクトポートは、リングと関連するクロックフェーズに同調されることができる。 Each object ports can be tuned to the clock phase associated with the ring. 特定のクロックフェーズに接続されているオブジェクトポートの数は、動的に変化することができる。 The number of objects ports connected to a particular clock phase can vary dynamically. クロックフェーズは、また、クロックポートと呼ばれている。 Clock phase, also, has been referred to as the clock port.

【0024】 各オブジェクトポートから、クロックポートは、データ、および、2つの(非同期)制御信号を受ける。 [0024] From each object port, clock port, data, and subjected to two (asynchronous) control signal. その制御信号は、リリース(そのフェーズのためにステップの終了を示す)、およびトリガー(そのフェーズのために他の接続されたオブジェクトポートの直接の意思を示す)である。 The control signal is released (indicating the end of the step for that phase), and a trigger (showing the direct intention of other connected object ports for that phase). 一度すべてのポートがリリースされ、少なくとも1つがトリガーとなれば、クロックポートは、リングに沿って存在する次のクロックポートへ、集めたデータバッグと同様に進行命令(アドバンス)信号を送信する。 Once all the ports are released, if at least one trigger, the clock port, the next clock ports present along the ring, and transmits the progression instruction (Advance) signal similar to the collected data bags. この信号を受ける次のクロックポートは、そのクロックポートに同調された全てのオブジェクトポートに、それを送信する。 Next clock port for receiving this signal, all the objects ports tuned to the clock port, and transmits it. より高いフェーズが存在しない場合、クロックポートは、同じフェーズに接続されたオブジェクトポートへ進行命令を送り戻す。 If a higher phase is not present, the clock port sends back the progress command to the object port connected to the same phase.

【0025】 インタラクションがセットされたすべてのオブジェクトポートセットは、ステップで進行する。 [0025] of all interaction has been set object port set proceeds in step. 各ステップは、前のフェーズ中のオブジェクトポートからのリリースおよび/またはトリガー信号の受取の後に、インタラクションクロックからの進行命令の受取とともに開始し、現在のフェーズのリリース/トリガー信号で終わる。 Each step, after the receipt of the release and / or trigger signal from object port in the previous phase, begins with receipt of the progress instruction from interaction clock, ends with release / trigger signal current phase. アプリケーションインタラクションの状態は、要素オブジェクト、およびそれらをリンクするクロックポートの中で共有される。 Application state interactions, element object, and is shared among the clock port that links them. 任意の数のクロックポートは、アプリケーションの要求に応じて、生成および/または除去されることができる。 Clock port of any number can be according to application requirements, are generated and / or removal. 除去の前に、全てのオブジェクトポートは、離調される。 Prior to removal, all objects ports are detuned. オブジェクトポートがアプリケーションで使用される場合、それは特定のフェーズに接続され、それはクロックポートのそのフェーズに同調されているとして参照される。 If the object port used by the application, it is connected to a particular phase, it is referred to as being tuned to that phase of the clock port. 特定のフェーズへの同調に成功した後、オブジェクトポートは、クロックポートから進行命令およびデータバッグを受けることができる。 After a successful tuning to a specific phase, the object port, it is possible to receive a progress instruction and data bag from the clock port. 活動的なフェーズに同調されたオブジェクトポートが現在進行命令を受け取り、フェーズのステップが完了していないので、フェーズが非活動的になった後に、オブジェクトポートは、そのフェーズに単に同調される。 Receive active phases tuned object port is currently in progress command, the step phase is not complete, phase after becoming inactive, the object port simply is tuned to that phase. オブジェクトポートがリングから切り離される場合、それはクロックポートの特定のフェーズから離調されることと呼ばれる。 If the object port is disconnected from the ring, it is referred to as being detuned from a particular phase of the clock port. 一旦離調されると、オブジェクトポートはデータバッグまたは進行命令をそのオブジェクトポートでは受信しない。 Once detuned, the object port does not receive the data bag or progression instructions that object port.

【0026】 図3Aおよび3Bは、インタラクションネットワーク39を形成するインタラクションフレームワーク16のインプリメンテーションの例を示す図面である。 [0026] Figures 3A and 3B are diagrams showing an example of implementation of the interaction framework 16 to form the Interaction Network 39.
インタラクションネットワーク39は、リング36に沿って配置されるオブジェクト30a〜30dを含む。 Interaction Network 39 includes an object 30a~30d disposed along the ring 36. 各オブジェクト30a〜dは、オブジェクトID値によって識別される。 Each object 30a~d is identified by the object ID value. 各々のオブジェクトポート32a〜dは、固有のポートI Each of the object port 32a~d is unique port I
D値によって識別される。 It identified by D value. クロックリング36は、1のバッファーサイズを持つ。 Clock ring 36 has a buffer size. 各オブジェクトポート32a〜bは、クロックリング36のクロックポート3 Each object port 32a~b, the clock port 3 of the clock ring 36
8a(フェーズ0またはベースフェーズ)に同調される。 It is tuned to 8a (Phase 0 or base phase). 同様に、オブジェクトポート32c〜dは、クロックリング36のクロックポート38b(フェーズ1 Similarly, the object port 32C~d, clock port 38b of the clock ring 36 (Phase 1
)に同調される。 ) It is tuned to. 全てのこれらのオブジェクト30a〜dは、同じインタフェース34を共有する。 All these objects 30a~d share the same interface 34. 本実施例では、オブジェクト30aは、オブジェクトID1 In this embodiment, an object 30a includes an object ID1
、ポートID500、インタフェースID9を持ち、フェーズ0に同調される。 , Port ID500, has an interface ID9, is tuned to the Phase 0.
オブジェクト30bは、オブジェクトID1、ポートID600、インタフェースID9を持ち、フェーズ0に同調される。 Object 30b, the object ID1, port ID 600, has an interface ID9, tuned to phase 0. オブジェクト30cは、オブジェクトID3,ポートID700,インタフェースID9を持ち、フェーズ1に同調される。 Object 30c, Object ID3, port ID 700, has an interface ID9, tuned to phase 1. オブジェクト30dは、オブジェクトID4、ポートID800、インタフェースID9を持ち、フェーズ1に同調される。 Object 30d, Object ID4, port ID 800, has an interface ID9, tuned to phase 1.

【0027】 クロックリング36が生成されるときに、ベースフェーズ0は自動的に生成される。 [0027] When the clock ring 36 is generated, based Phase 0 is automatically generated. 図3Bに示すように、フェーズ0はステップ1、ステップ2、ステップ3 As shown in FIG. 3B, phase 0 Step 1, Step 2, Step 3
、およびステップnまで持つ。 , And have up to step n. フェーズ1は、ポート32aまたは32bがフェーズ0リリースに同調されるとき、およびポート32aまたは32bの少なくとも一つがトリガーとなるとき、ステップ1進む。 Phase 1, when the port 32a or 32b is tuned to phase 0 release, and when at least one of the ports 32a or 32b is triggered, the process proceeds Step 1. フェーズ0でのクロックリング36は、データバッグ35を集めて、それから集められたデータバッグ35と進行命令をフェーズ1に同調されるオブジェクトポート32cおよび32dに送信する。 Clock ring 36 at phase zero, collects data bag 35, and transmits the data bags 35 collected therefrom progress command to the object port 32c and 32d are tuned to phase 1. フェーズ1に同調されるオブジェクトポート32cおよび32dは、受信データバッグ35を読み取り、変更することができる。 Objects ports 32c and 32d are tuned to Phase 1 reads the reception data bag 35 can be changed. オブジェクトポート32 Object port 32
cおよび32dが読み取り/書き込み操作を終えるときに、オブジェクトポート32cおよび32dはフェーズ1にリリースおよびトリガーして、再びフェーズ1でのクロックリング36はデータバッグ35を集めて、集めたデータバッグ3 When c and 32d completes a read / write operations, the object port 32c and 32d are released and trigger the phase 1, the clock ring 36 in Phase 1 again collects data bags 35, data collected bag 3
5と進行命令をフェーズ2に同調された全てのポートに送信する。 5 and transmits the traveling command to all ports tuned to Phase 2. 図3Aでは、 In Figure 3A,
フェーズ2に同調されたポート、またはより高いフェーズへ同調されたポートがないので、クロックリング36は、集められたデータバッグ35と進行命令をクロックリング36に沿って送信し、ベースフェーズに同調されたすべてのオブジェクトポートは、ベースフェーズの次のステップで進行命令およびデータバッグ35を得る。 Since Phase 2 to a tuning port or no ports are tuned to a higher phase, the clock ring 36, a data bags 35 collected advanced instruction was transmitted along with the clock ring 36 is tuned to the base phase and all objects ports, obtain progress instruction and data bags 35 in the next step of the base phase. したがって、フェーズ0のためのステップ1が終了し、それに同調されたオブジェクトポートがある場合、フェーズ1が開始する。 Therefore, Phase Step 1 is finished for 0, when there is a tuned object ports to it, phase 1 begins. 同様に、フェーズ1のためのステップ1が終了したときに、フェーズ2のためのステップ1は開始する。 Similarly, when the step 1 for Phase 1 is completed, Step 1 for Phase 2 starts. どれもフェーズ2に同調されない場合、そこからはベースフェーズのステップ2が始まる。 If none are tuned to the Phase 2, Step 2 starts of the base phase from there. 全トランザクションが完了するまで、これが繰り返される。 Until all transactions are completed, it is repeated.

【0028】 一般に、進行命令の到着は、トランザクション中のすべての受取人にすべてのオブジェクトポートが配達されたことによる、前のステップで書き込まれたすべてのオブジェクトポートのそれぞれに対する応答を示す。 [0028] Generally, the arrival of the progression order is by all objects ports has been delivered to all recipients in the transaction, indicating a response to each of all objects ports written in the previous step. データは他のパーティーがそれにアクセスするまで保持されるから、クロックリングはデータへの持続を提供する。 Since data is held until another party to access it, the clock ring provides sustained to the data. 特定のオブジェクトポートのために、進行命令が次のステップのために配信されない場合、それは前のステップデータがまだ配信されていないことを示す。 For a particular object port, if the progress instruction is not delivered because the next step, it indicates that the previous step data has not yet been delivered. オブジェクトは、他の手段によっていかなる不良についても通知される。 Object is notified for any failure by other means. 一つのバッファーサイズは理解の複雑さを最小限にするためにクロックリングによって、任意のフェーズの中のステップ間の各オブジェクト・ポートに供給され、それがオブジェクト不良、クロック不良、外部トランザクションリカバリ、 One buffer size by the clock ring to minimize the complexity of understanding, are supplied to each object port between steps in any phases, it is an object failure, clock failure, external transaction recovery,
および、内部トランザクションリカバリのような欠点を扱うために必要である。 And is necessary in order to deal with drawbacks of internal transaction recovery.

【0029】 あらゆるオブジェクトポートは、そのフェーズのための現在ステップのその完了を示している復旧信号を送信する。 [0029] Every object port, and transmits the current recovery signal indicating the completion of step for that phase. このリリースは、有限の時間にトランザクションの継続した進行を確実にするために作られなければならない。 This release must be made in order to ensure the continued progress of the transaction to a finite time. このステップの間、オブジェクトポートは、前のステップから集められたデータ、集め進めることが望まれた書き込みデータ(これは多数の書き込みを含んでもよい)を有し、または、何もせず、直ちにリリースの信号を送る。 During this step, the object port, before the data gathered from the step has collected advancing it writes was desired data (which may include multiple write), or do nothing, immediately release It sends a signal. どんな場合も、一度オブジェクトは、リリースの信号を送ると、もはやデータバッグから読み込んだり、 In any case, once the object, and send the release of the signal, or read from the longer data bag,
それに書き込んだりすることはない。 It is not able to write to it. 特別のインタラクションネットワークに同調されたオブジェクトポートのリリースは、イベントである。 Release of the tuned object port to a particular interaction network is an event. それは、非同期オブジェクトによって生成され、より高いフェーズの中で進むすべてのコミュニケーションによってオブジェクトの状態が少しも影響されないこと、クロックからのそのフェーズのための次の進行命令の最新の受取りを示している。 It is generated by the asynchronous object, the higher the state of an object by all communication proceeds in the phase is not also affected slightly, indicating receipt of the latest next progression instruction for that phase of the clock. リリースは、動的な再構築、静止、健全、オブジェクトのポイントを示し、そして、オブジェクト状態は、そのフェーズのための次の進行命令の最新の受取まで、そのインタラクションに関して安定している。 Release, dynamic reconstruction, still, health, shows the point of the object, and, object state, until the latest of receipt of the next progression instruction for that phase, are stable with respect to the interaction.

【0030】 オブジェクトポートトリガーは、次に高いフェーズでクロックリングに同調された他のオブジェクトポートに対する即時の意思を示す。 The object port trigger, shows the intention of immediately at the next higher phase for the other objects port that is tuned to the clock ring. 次のステップに進むために、時間をモデル化するために意思を示すオブジェクトポートから少なくとも一つのトリガーがクロックリングによって受け取られなくてはならない。 To proceed to the next step must be at least one trigger from the object port indicating the intention to model the time is received by the clock ring. この単一の意思信号は現在のステップの終わりに、すぐ次の進行命令としてすべてのオブジェクトポートへ配信される。 This single decision signals the end of the current step, it is distributed to all of the objects port as soon as the next progression instruction. クロックリングは、オブジェクトポートではなく、どれだけのオブジェクトポートが各フェーズに同調されたかのトラックを維持する。 Clock ring, not the object port, how much object port to maintain the track if it had been tuned to each phase. それが全てのリリース、および少なくとも一つのトリガーをそれらのオブジェクトポートから受けるとすぐに、データバッグを作るために個々のエレメントを集め、それから、データバッグおよび進行命令を次に高いフェーズに同調される全てのオブジェクトポートに送信する。 As soon as it receives all the releases, and at least one trigger from those objects ports, collect individual elements to make the data bag, then, it is tuned to the next higher phase data bags and traveling instructions to send to all of the object port. したがって、クロックは外側からの同期を提供している。 Thus, the clock provides a synchronization from the outside. それは、異なるフェーズに同期されたオブジェクトポートの変化する数のトラックを保持し、それから、最後に一つの進行命令およびデータバッグを次に高いフェーズに送る。 It different phases holds the number of tracks of varying object port synchronized to, then, finally sent to the next higher Phase one progression instructions and data bags. これは、各オブジェクトポートがたった一つのイベント、前進信号の到着、および、低いフェーズに同調された各オブジェクトポートからの全てではない各イベントを獲得するので、高いフェーズに同調されたオブジェクトポートの複雑さを減少し、これにより限界のない協同を提供する。 This means that each object port only one event, the arrival of the forward signal, and, since acquiring the event not all from the object ports tuned to a lower phase, complexity of tuned objects ports to a higher phase reduce of, thereby providing a limit-free cooperation.

【0031】 テーブル1は、下記のように、適切なサイズおよび数のオブジェクトポートを作り、管理フレームワーク19を備えたオブジェクトポートを登録するためのソースコードのインプリメンテーションを示す。 [0031] Table 1, as described below, make a suitable size and number of objects ports, illustrates an implementation of source code for registering the object port with management framework 19.

【0032】 [0032]

【表1】 [Table 1]

【0033】 [0033]

【0034】 修正CORBA IDLフレームワーク18は、環境10によってサポートされるソフトウェア開発におけるオブジェクト指向技術である。 The modified CORBA IDL framework 18 is an object-oriented technology in software development to be supported by the environment 10. 修正CORBA Modify CORBA
IDLフレームワーク18は、OMG(Object Management IDL framework 18, OMG (Object Management
Group)によって1992年に発行された「コモン オブジェクト リクエスト ブローカ: アーキテクチャおよびスペック」(”The Common Was issued in 1992 by the Group) "Common Object Request Broker: Architecture and specifications" ( "The Common
Object Request Broker: Architecture Object Request Broker: Architecture
and Specification”)(以下、CORBAスペックと称する)という名称の文献に記述されているようなCORBA標準を含み、その教示は、本願明細書にすべての目的に対して引用したものとする。しかしながら、本発明の機能は、オブジェクト指向システムの異なるインプリメンテーションに適用され得ると理解されるであろう。CORBAスペックは、オブジェクトが分散型環境において要求および応答を透過的に生成および受け取りできるように、オブジェクト・リクエスト・ブローカ(Object Request Brok and Specification ") (hereinafter, including the CORBA standard as described in the literature entitled CORBA specification hereinafter), the teachings which are incorporated for all purposes herein. However, features of the present invention, different implementations .CORBA would to be understood may be applied to specs of object-oriented systems, such object can transparently generate and receive requests and responses in a distributed environment, object request broker (object request Brok
er (ORB))を規定する。 To define the er (ORB)). オブジェクトサービスは、CORBAサービス:コモン・オブジェクト・サービス・スペック(Common Object Object services, CORBA services: Common Object Services specification (Common Object
Service Specification)において記述されるように、オブジェクトを使用およびインプリメントすることによって基本的な機能をサポートするインタフェースおよびオブジェクトをインプリメントする一まとまりのサービスである。 As described in Service Specification), which is a collection of services that implement the interface and object that supports basic functions by use and implement objects. コモンファシリティーズは、CORBAファシリティーズ:コモン・オブジェクト・ファシリティーズ・スペックにおいて記述されるように、オブジェクトサービスよりも基本的でないアプリケーションが分担する一まとまりのサービスである。 Common FACILITIES is, CORBA FACILITIES: as described in the Common Object FACILITIES specifications, which is a collection of services that do not fundamentally than object service application sharing.

【0035】 クライアントは、要求(リクエスト)を発行することによってサービスを要求する。 The client requests a service by issuing a request (request). 要求は、たとえば特定時に起こるもののような事象である。 Request, for example, events such as those occurring in particular during. 要求と関連する情報は、オペレーション、ターゲットオブジェクト、ゼロ(0)またはそれよりも大きい(実際の)パラメータ、およびオプションの要求コンテクストから構成されている。 Request and related information, operation, and is configured target object, zero (0) or greater than (actual) parameters, and the optional request context. オブジェクトリファレンスは、特定のオブジェクトを信頼可能に示すオブジェクト名である。 Object reference is an object name indicating possible trust a particular object. 特に、オブジェクトリファレンスは、リファレンスが要求に使用されるごとに、同じオブジェクトを識別する。 In particular, object reference, each time the reference is used for the request, identify the same object. オブジェクトは、複数の異なったオブジェクトリファレンスによって示される。 Object is represented by a plurality of different object reference. 要求は、データをターゲットオブジェクトに渡すのに使用されるパラメータを有していてもよく、それはまた、要求についての追加情報を提供する要求コンテクストを有していてもよい。 Request data may a have a parameter which is used to pass the target object, it may also have a request context which provides additional information about the request. 結果および例外(もしあるなら)がクライアントに戻される。 Result and exceptions (if any) is returned to the client.

【0036】 オブジェクトは、生成され、および除去され得る。 The object is generated, and can be removed. オブジェクト生成の結果は、新しいオブジェクトを示すオブジェクトリファレンスの形で、クライアントに明らかにされる。 Result object creation in the form of object reference indicating a new object, is revealed to the client. タイプは、バリュー上で規定される関連したプレディケイト( Type was associated are defined on the value predicates (
ブール結果をともなう単一引数の数学関数)を備えた識別可能なエンティティーである。 Is identifiable entity having a mathematical function) of a single argument with a Boolean result. プレディケイトがバリューに対して真である場合、バリューはタイプを満足する。 If predicate is true for Value, Value satisfies the type. 満足するバリューは、当該タイプのメンバーと呼ばれる。 Satisfactory value is referred to as a member of the type. CORBA CORBA
標準には、2つの基本的なデータのタイプ:整数、浮動小数点数、キャラクタ、 The standard, two basic types of data: integer, floating point numbers, characters,
ブール、計数、および列を含む基本的なタイプと、レコード、区別されたユニオン、シーケンス、配列、およびインタフェースを含む構造的なタイプとが規定されている。 Boolean, counting, and the basic types, including string, records, distinguished union, sequence, sequence, and the structural type containing the interface is defined.

【0037】 インタフェースは、クライアントがオブジェクトに要求し得る一組の可能なオペレーションの記述である。 The interface is a client a description of a set of possible operations that may require the object. オブジェクトがインタフェースによって記述される各々の可能性のある要求においてターゲットオブジェクトとして特定され得る場合、オブジェクトはインタフェースを満足する。 If an object can be identified as the target object in the request that may each be described by the interface, the object satisfies an interface. インタフェースタイプは、特定のインタフェースを満足する任意のオブジェクトによって満足されるタイプである。 Interface Type is the type that is satisfied by any object that satisfies a particular interface. インタフェースおよびオペレーションは、修正CORBA IDLに規定される。 Interface and operations are defined in modified CORBA IDL. インタフェースのオブジェクトに対する定義は、2つの方法で規定され得る。 Definitions for the interface of an object can be defined in two ways. インタフェースは、修正CORBA IDLにおいて静的に規定され得る。 Interface may be statically defined in the modified CORBA IDL.
この言語は、その上で実行され得るオペレーションとそれらのオペレーションに対するパラメータにしたがって、オブジェクトのタイプを規定する。 This language, according to the parameters for operations and those operations that may be performed on it, to define the type of object. 代替的に、 Alternatively,
または付加的に、インタフェースは、CORBAインタフェースリポジトリサービスに加えられ得る。 Or additionally, the interface may be added to the CORBA interface repository services.

【0038】 CORBAスペックに規定されているように、ORBによって、クライアントはオブジェクトに対して要求を送る。 [0038] As defined in the CORBA specification, by the ORB, the client sends a request to the object. クライアントは、オブジェクト上でオペレーションを実行することを望むエンティティーであり、オブジェクトインプリメンテーションは、実際にオブジェクトをインプリメントするコードおよびデータである。 The client is an entity that wishes to perform an operation on an object, object implementation, the code and data that implements the actual object. ORBは、要求のためのオブジェクトインプリメンテーションを見いだすために必要とされるメカニズムのすべてに対して責任を引き受け、要求を受けるためにオブジェクトインプリメンテーションを準備し、および要求を構成するデータを通信する。 The ORB assumed responsibility for all the mechanisms that are required to find the object implementation for the request, to prepare the object implementation to receive the request, and communicate the data constituting the requested to. クライアントが参照するインタフェースは、オブジェクトがどこに配置されているか、どのプログラミング言語がインプリメントされているか、あるいは他のどのアスペクトもオブジェクトのインタフェースに反映されていないか、ということと完全に独立している。 Interface for the client to see, whether it is located where the object is, what programming language has been implemented, or whether any other aspect also not been reflected in the object's interface, it is completely independent and that.

【0039】 要求を作成するために、クライアントは、CORBAダイナミックインボケイションインタフェース、またはCORBA IDLスタブを使用することができる。 [0039] To create the request, the client may use the CORBA Dynamic Invocation silicic Deployment interface or CORBA IDL stubs. クライアントはまた、いくらかの機能に関してORBと直接相互に作用することができる。 The client may also interact directly with the ORB respect some functions. オブジェクトインプリメンテーションは、CORBA IDLによって作り出されたスケルトン、またはダイナミックスケルトンを通して、呼び出しとして要求を受ける。 Object implementation, skeletons created by CORBA IDL or through dynamic skeleton, receives a request as a call. 要求の処理の間、または他の時に、オブジェクトインプリメンテーションは、オブジェクトアダプタ、およびORBを呼び出すことができる。 During the processing of the request or at other times, object implementations may call an object adapter, and ORB. クライアントは、オブジェクトについてのオブジェクトリファレンスにアクセスすること、およびオブジェクトと実行される所望の操作とのタイプを知ることによって、要求を実行する。 Clients accessing the object reference for object, and by knowing the type of the desired operation of the object to be executed, it executes the request.

【0040】 CORBAアーキテクチャでは、ORBは、単一のコンポーネントとしてインプリメントされるのに必要とされず、むしろそのインタフェースによって規定される。 [0040] In CORBA architecture, ORB is not required to be implemented as a single component, it is defined rather by the interface. 適切なインタフェースを提供するどのORBインプリメンテーションでも、許容される。 Any ORB implementation that provides an appropriate interface, is acceptable. インタフェースは、3つのカテゴリ、すなわち、すべてのORB Interface, three categories, namely, all of the ORB
インプリメンテーションに対して同じである操作、オブジェクトの特定タイプに特有である操作、およびオブジェクトインプリメンテーションの特定スタイルに特有である操作に組織される。 Same as a operation on implementation, operations are specific to a particular type of object, and are organized in the operation which is specific to a particular style of object implementation. ORBインタフェースは、ORBに直接通じており、すべてのORBに対して同じであって、オブジェクトのインタフェースまたはオブジェクトアダプタに依存しないインタフェースである。 ORB interface is in direct communication the ORB, be the same for all ORB, an interface that is independent of the interface or object adapter object.

【0041】 修正CORBA IDLフレームワーク18もまた、本発明で使用されるインプリメンテーションを記述する以下の点を含む。 The modified CORBA IDL framework 18 also includes the following points describing the implementation used in the present invention. 修正CORBA IDLフレームワーク18は、発呼側および被呼側が非同期である非同期コンポーネント用に設計される。 Fixed CORBA IDL framework 18, the calling and the called side is designed for asynchronous component are asynchronous. すべての機能の記述は、キー作業「非同期」と関連しており、非同期動作を示している。 Description of all of the function is associated with a key work "asynchronous", it shows the asynchronous operation. したがって、送信側は、受信側から承認を受けるまで、遮断される必要はない。 Accordingly, the transmission side from the reception side to approval need not be interrupted. さらに、オブジェクトはインタラクションフレームワーク16を使用して相互に作用するので、設計者は、バッファロスについて関わる必要がない。 Furthermore, since the objects interact using an interaction framework 16, the designer, there is no need to involve the buffer loss.

【0042】 修正CORBA IDLフレームワーク18は、トランザクションのマルチサイクルステップを規定する。 [0042] fix CORBA IDL framework 18, to define a multi-cycle step of the transaction. 以下は、インタラクションフレームワーク16を使用するマルチサイクルのトランザクションの修正CORBA IDLフレームワーク18におけるスケルトンスペックである。 The following is a skeleton specification in the modified CORBA IDL framework 18 of the multi-cycle transactions using an interaction framework 16.

【0043】 [0043]

【表2】 [Table 2]

【0044】 インタフェース34は、修正CORBA IDLフレームワーク18を使用してインプリメントされ得る。 The interface 34 may be implemented using a modified CORBA IDL framework 18. システム全体に固有のグローバルハンドルが、リファレンス、オブジェクトID、ポートID、インタフェースID、クロックリング36、およびクロックフェーズ38a、38bを含むオブジェクト30に提供される。 Global handle specific system-wide, reference, object ID, port ID, interface ID, clock ring 36, and the clock phase 38a, is provided to the object 30 including 38b. グローバルハンドルは、それらがどこに配置されるか、およびそれらがどんなプログラミング言語でインプリメントされるかということから独立している。 Global handle if they are placed where, and they are independent from the fact of whether implemented in any programming language.

【0045】 図4は、管理フレームワーク19のインプリメンテーションを、分散型管理ネットワーク40として示す。 [0045] Figure 4, an implementation of the management framework 19, shown as a distributed management network 40. オブジェクト30およびインタフェース34(図示せず)は、管理オブジェクト42によって管理される。 Objects 30 and interface 34 (not shown) is managed by the managed object 42. オブジェクト30のオブジェクトバージョンは、管理オブジェクト42に分配される。 Object version of the object 30 is distributed to the managed object 42. 管理オブジェクト42は、連結されたオブジェクト30についての情報の集中管理の役を務める。 Managed object 42, act as a centralized management of information about the object 30 connected.
管理オブジェクト42は、ネットワーク発展のためのインタフェース(INE) Management object 42, interface for network development (INE)
インタフェース45を通して、管理人オブジェクト44に情報を送信する。 Through the interface 45, and transmits the information to the manager object 44. 管理人オブジェクト44は、管理オブジェクト42から受けた情報に基づいて、インタフェース発展上で決定を行う。 Janitor object 44, based on information received from the managed object 42, make decisions on the interface development. 管理人オブジェクト44は、管理オブジェクト42によって提供される情報を結合する。 Janitor object 44 couples the information provided by the managed object 42. 各管理オブジェクト42における複雑さは、O(TNLog(N)である。管理オブジェクト42がない場合、MxT Complexity of each managed object 42 is O (TNLog (N). If there is no management object 42, MXT
は、アプリケーションにおけるオブジェクト30の合計数である。 Is the total number of objects 30 in the application. 互換性のあるシステムの分散型選択の複雑さは、O((T+M)NLog(N))である。 The complexity of distributed selection of compatible system is O ((T + M) NLog (N)). したがって、TおよびNが定数である場合、互換性のあるシステムの分散型選択の複雑さは、N Log (N)である。 Thus, if T and N are constant, the complexity of distributed selection of compatible system is N Log (N). 管理人オブジェクト44は、アプリケーションの発展を形成およびコントロールするために、グラフィカル・ユーザ・インタフェース(GUI)をサポートしており、管理人47が管理オブジェクト4 Janitor object 44 in order to form and control the development of applications, supports a graphical user interface (GUI), custodian 47 managed objects 4
2を通して相互作用的にオブジェクトを管理するのを許容する。 Allowing to manage interactively object through 2. オブジェクト3 Objects 3
0の設計は、アプリケーションに特有である。 0 of design is specific to the application.

【0046】 図5は、ライフサイクルフレームワーク20のステージのインプリメンテーションを示す。 [0046] Figure 5 illustrates an implementation of a stage of the life cycle framework 20. 要求ステージ50は、たとえばコスト、期限、信頼性、またはオブジェクトコードのサイズなどの制約を決定する。 Request stage 50, for example, to determine the cost, time limit, constraints such as the size of reliability or object code. プロジェクト管理計画ステージ51は、プロジェクト管理計画を提供するために、配送可能性、マイルストーン、および予算などのソフトウェア開発の重要コンポーネントを決定する。 Project management plan stage 51, in order to provide the project management plan, delivery potential, to determine the key components of software development, such as milestones, and budget. スペックおよびオブジェクト指向分析ステージ52は、スペックを生成するために、要求ステージ50で開発された要求を、インタフェース34を有する一組のオブジェクト30に分割する。 Spec and object-oriented analysis stage 52, to produce a specification, a request that is developed in the request stage 50 is divided into a set of objects 30 having an interface 34. 要求の分割は、プロジェクト管理計画ステージ51で開発されたプロジェクト管理計画、およびオブジェクトの望ましいレベルの再使用可能性に依存し得る。 Dividing the requested project management plan developed in the project management plan stage 51, and may depend on the desired level reusability of objects. オブジェクトの再使用可能性は、オブジェクトが全体的または部分的に一致する、インタフェース34およびオブジェクト30をチェックすることによって決定され得る。 Reusability of objects, object entirely or partially match, it may be determined by checking the interface 34 and the object 30. 完全に一致するオブジェクト30は、全体的に再利用され得る。 Object 30 that exactly matches can be entirely recycled. 部分的に一致するオブジェクト30は、新しい要求を満足するように現存の機能性を拡張するために、開発者に割り当てられ得る。 Objects partially matched 30, the new request to extend the functionality of existing to satisfy, may be assigned to the developer.

【0047】 設計ステージ53は、スペックおよびオブジェクト指向分析ステージ52で開発されたスペックに基づいて、オブジェクト30およびインタフェース34を決定する。 The design stage 53 is based on specifications developed by the specification and object-oriented analysis stage 52 to determine the object 30 and the interface 34. 複数の開発者は、相互に作用するオブジェクト30を開発している開発者間でのネゴシエーションを用いて、オブジェクト30を決定することができる。 A plurality of developers, by using a negotiation between developers who are developing an object 30 which interact, can be determined object 30. 開発者は、インタフェース34のための構造(ストラクチャ)およびプロトコルについて交渉する。 Developers negotiate structures (structures) and protocols for the interface 34.

【0048】 インプリメンテーションステージ54は、オブジェクト30およびインタフェース34のインプリメンテーションを決定する。 The implementation stage 54 determines the implementation of the object 30 and the interface 34. 単一ユニットテストは、自動単一ユニットテストステージ55において第三者によって実行され得る。 Single unit testing can be performed by a third party in an automatic single unit test stage 55. 成功したテストの後、インプリメンテーションは、下記のように、管理フレームワーク1 After successful testing, implementation, as described below, management framework 1
9とともに、登録され得る。 With 9, it may be registered. 互換性のあるシステムは、互換性のあるシステム検出ステージ56において決定される。 Compatible systems is determined in the system detection stage 56 compatible.

【0049】 ネットワーク指向ソースコードウォークスルーステージ57の間、オブジェクト30およびインタフェース34のインプリメンテーション上でテストが実行される。 [0049] During the network-oriented source code walkthroughs stage 57, the test on the implementation of the object 30 and the interface 34 is executed. テスト結果は、関係する開発者および管理人に結果を送る管理フレームワーク19に送られる。 Test results are sent to the management framework 19 to send the results to the developers and management people involved.

【0050】 ネットワーク指向統合テストステージ58は、スペックおよびオブジェクト指向分析ステージ52で決定されたスペックを満足するプロダクトを供給するようにオブジェクト30が正しく結合されているかをチェックするために、オブジェクト30の統合をテストする。 The network-oriented integration testing stage 58, in order to check that the object 30 to provide a product that satisfies the specification determined in specifications and object-oriented analysis stage 52 is properly attached, the integration of the object 30 to test. オブジェクト30のインタフェース入出力は、テストされ得る。 Interface output object 30 may be tested. テスト結果は、関係する開発者および管理人に結果を送る管理フレームワーク19に送られる。 Test results are sent to the management framework 19 to send the results to the developers and management people involved.

【0051】 メンテナンスステージ59は、受け取り後、ステージ50〜58で開発されたソフトウェアに対する変更のためのサポートを提供する。 The maintenance stage 59, to provide support for changes to the software that was developed after receipt, stage 50 to 58. メンテナンスの間、オブジェクト30のテストされたバージョンは、動的に更新され得る。 During maintenance, the tested version of the object 30 may be dynamically updated. メンテナンスステージ59は、要求ステージ50、プロジェクト管理計画ステージ51、スペックおよびオブジェクト指向分析ステージ52、設計ステージ53、インプリメンテーションステージ54、ネットワーク指向ソースコードウォークスルーステージ57、またはネットワーク指向分散型意味テストステージ58に戻ることができる。 Maintenance stage 59, the request stage 50, project management planning stage 51, Spec and object-oriented analysis stage 52, the design stage 53, the implementation stage 54, the network-oriented source code walkthroughs stage 57 or network-oriented distributed sense test stage, it is possible to return to the 58.

【0052】 ヒューマンディメンジョンフレームワーク21は、ライフサイクルフレームワーク20において説明したようなライフサイクルステージの間、関連活動をソフトウェア開発チームメンバーに割り当てる。 [0052] human dimension framework 21, during the life cycle stage as described in the life cycle framework 20, assign the related activities in software development team members. ヒューマンディメンジョンフレームワーク21による割り当てのインプリメンテーションは、テーブル2に示される。 Implementation of the allocation by the human dimension framework 21 are shown in table 2.

【0053】 [0053]

【表3】 [Table 3]

【0054】 [0054]

【0055】 スペックおよびオブジェクト指向分析ステージ52では、開発者は、初期のオブジェクト30およびインタフェース34を記述する各オブジェクト30についての全体のスペックを得る。 [0055] In Spec and object-oriented analysis stage 52, the developer, to obtain an overall specification for each object 30 describes the initial object 30 and the interface 34. その後、開発者は、新しい要求を満足するように、 Then, developers, so as to satisfy the new request,
既に利用可能なオブジェクト30の特定のバージョンを強化するように依頼されるかもしれないし、あるいは、インタフェースの各々についてのいかなるストラクチャおよびプロトコルも無しに、オブジェクト30についてのインタフェースIDのみが与えられるかもしれない。 Already It may be asked to enhance a specific version of available objects 30, or without any structures and protocols for each of the interfaces, it may only interface ID for the object 30 is given . 第2のケースでは、開発者は、新しいオブジェクト30を完全に設計しなければならない。 In the second case, the developer must completely design a new object 30.

【0056】 設計ステージ53では、開発者は、他の開発者とのネゴシエーションプロセスを使用することができる。 [0056] In the design stage 53, the developer, it is possible to use the negotiation process with other developers. たとえば、開発者は、ネゴシエーションの各ステップにおいて、各々のインタフェース34について、修正CORBA IDLでネゴシエーションスクリプトを書くことができる。 For example, a developer, at each step of the negotiation for each interface 34, it is possible to write a negotiation script Fixed CORBA IDL. ネゴシエーションスクリプトは、 Negotiation script,
管理フレームワーク19とともに登録される。 It is registered with the management framework 19. 開発者は、他の関係のある開発者から、修正CORBA IDL記述として書かれたネゴシエーションスクリプトを受け取る。 Developers, from developers who other relationship, receives a negotiation script, which was written as a modified CORBA IDL description. 開発者は、ネゴシエーションスクリプトを修正するために、その特定のインタフェースのためのストラクチャおよびプロトコルについての他開発者の見解を表す受け取り情報を使用することができる。 Developers to modify the negotiation script can be used to receive information representative of the other developer views on structure and protocol for that particular interface. すべてのインタフェースのネゴシエーションが完了した後、開発者は、修正CORBA IDLでオブジェクトインタフェース記述を書き、そのオブジェクトインタフェース記述を管理フレームワーク19とともに登録する。 After the negotiation of all of the interface has been completed, developers, write object interface described in the modification CORBA IDL, to register the object interface description together with the management framework 19. 管理フレームワーク19は、修正CORB Management framework 19, the correction CORB
A IDL記述から作り出されたコードを、開発者まで戻す。 The code that was created from A IDL description, return to the developer. 好ましいネゴシエーションプロセスのインプリメンテーションは、以下においてより詳細に説明される。 Implementation of the preferred negotiation process is described in more detail below.

【0057】 インプリメンテーションステージ54では、開発者はインプリメンテーションを完成して、単一ユニットテストを実行する。 [0057] In the implementation stage 54, the developer to complete the implementation, to run a single unit test. 開発者は、インプリメントされたオブジェクト30を、管理フレームワーク19とともに登録し、たとえば、オブジェクトバージョンは、テストの後、修正の結果として増加され得る。 Developers object 30 that is implemented, to register with management framework 19, for example, object version, after testing, may be increased as a result of the modification. 互換性のあるアプリケーションシステムの検出56は、互換性のあるアプリケーションシステムを作り上げる。 Detection of compatible application system 56, make up the application system compatible. 開発者は、ネットワーク指向ソースコードウォークスルーステージ57、および分散型意味テストステージ58の結果に基づいて、必要な行動をとる。 Developers, on the basis of the result of the network-oriented source code walk-through stage 57, and distributed means test stage 58, take the necessary action.

【0058】 ネットワーク指向統合テストステージ58では、分散型意味テストは、スペックを満足するプロダクトを達成するためにオブジェクト30が正しく結合されていることをチェックするために実行される。 [0058] In the network-oriented integration testing stage 58, distributed means test is performed in order to check that the object 30 in order to achieve a product that satisfies the specifications are properly coupled. ネットワーク指向統合テストステージ58の間、インタフェース34が慎重にテストされる。 During the network-oriented integration testing stage 58, the interface 34 is tested carefully. 試験者が、オブジェクトに対するインタフェース、ステータス、および、入力/出力をテストするのに用いられ得る。 Tester interface for an object, status, and can be used to test the input / output. 試験者は、いかなる障害も識別して、それらを分類し、障害を修正しないで管理フレームワーク19に結果を入力する。 Tester, any failure be identified, classify them, and inputs the result to the management framework 19 without correcting the problem.

【0059】 メンテナンスステージ59の間、メンテナンス管理人は、故障レポートまたは現存のオブジェクト30を強化するためのスペックを配信することによって、メンテナンスプログラマに通知する。 [0059] During the maintenance stage 59, maintenance management people, by delivering the spec to strengthen the failure report or existing object 30, to notify the maintenance programmer. メンテナンスプログラマは、上記したステージ50〜59を使用して開発されたソフトウェアの中でバグを発見して修正するために、矯正的で適応性のあるメンテナンス変更を提供し、試験者と開発者の結合としての役目を務める。 Maintenance programmer, in order to find and fix bugs in the software that has been developed using the stage 50 to 59 as described above, to provide maintenance changes that corrective and adaptable, testers and developers serve the role as a binding.

【0060】 以下は、ライフサイクルフレームワーク20を使用する分散型ソフトウェア開発環境10における、ネットワークアプリケーションの開発の一例である。 [0060] The following is the distributed software development environment 10 using a lifecycle framework 20, which is an example of a development of network applications. 要求ステージ50の間、ネットワークアプリケーションについての情報は、エンドユーザまたはクライアントから集められる。 During the request stage 50, information about the network applications are collected from the end user or client. 図6は、要求ステージ50によって作り出されるネットワークアプリケーション60を示す。 Figure 6 shows the network application 60 created by the request stage 50. ネットワークアプリケーション60は、オブジェクトID01を持つオブジェクト30a(以下、オブジェクト01と称する)、オブジェクトID02を持つオブジェクト30b(以下、オブジェクト02と称する)、およびオブジェクトID03を持つオブジェクト30c(以下、オブジェクト03と称する)を有している。 Network application 60, the object 30a with an object ID01 (hereinafter, referred to as object 01), object 30b with an object ID 02 (hereinafter, referred to as object 02), and object 30c with the object ID03 (hereinafter, referred to as object 03) have. 各オブジェクト3 Each object 3
0a〜cは、各オブジェクト30の状態をセットないし受信できるそれぞれの状態オブジェクトポート61a〜cを有している。 0a~c have respective state object port 61a~c state can be set to receive for each object 30. 各オブジェクト30a〜30c Each object 30a~30c
は、状態インタフェースID1、2、3としてそれぞれ割り当てられる状態インタフェース63a〜63cを有している。 Has a state interface 63a~63c assigned respectively as a state interface ID1,2,3. 状態インタフェースID1、2、3は、それぞれオブジェクト01、オブジェクト02、オブジェクト03に割り当てられる。 State interface ID1,2,3 each object 01, object 02 is assigned to the object 03. 各オブジェクト30a〜cは、それぞれ、各オブジェクト30が要求を送信または受信するときに通る基本サービスオブジェクトポート62a〜cを有しており、要求を処理して、上記したようなオブジェクトポート32であり得る基本サービスオブジェクトポート62を通してレスポンスを送り返す。 Each object 30a~c each have a basic service object port 62a~c through which the object 30 to send or receive request, processes the request, be object port 32 as described above send back a response through the basic service object port 62 to obtain. 基本サービスインタフェース64は、各オブジェクト01、オブジェクト02、オブジェクト03の基本サービスオブジェクトポート62を接続する。 The basic service interface 64, each object 01, object 02, to connect the basic service object port 62 of the object 03. インタフェース6 Interface 6
4は、インタフェースID4が割り当てられる。 4, the interface ID4 is assigned. 状態オブジェクトポート61a State object port 61a
〜cと基本サービスオペレーションポート62a〜cとはオブジェクトポート3 ~c and object port 3 and the basic service operation port 62a~c
2を有し、状態インタフェース63と基本サービスインタフェース64とはインタフェース34を有することは理解されるであろう。 Having 2, the state interface 63 and base service interface 64 will be understood to have the interface 34.

【0061】 ネットワークアプリケーション60では、2乗操作(square oper [0061] In the network application 60, the square operation (square oper
ation)を実行するために、オブジェクト01は、基本サービスインタフェース64を介してオブジェクト02に、要求メッセージを送る。 To perform the ation), the object 01, the object 02 via a basic service interface 64 sends a request message. オブジェクト0 Object 0
1は、オブジェクト02から、基本サービスインタフェース64を介して、2乗された数を受ける。 1, from the object 02, via a basic service interface 64 receives the number that has been squared. オブジェクト01は、和算オペレーション(summati Object 01, summing operation (summati
on operation)を実行するために、基本サービスインタフェース6 In order to execute on operation), the basic service interface 6
4を介してオブジェクト03に、要求メッセージを送る。 4 to the object 03 via the send request message. Summation( Summation (
n)は、n、n‐1、…、1を加え、結果的にn(n+1)/2となることによって実行される。 n) is, n, n-1, ..., 1 is added, is performed by a result in n (n + 1) / 2. オブジェクト01は、オブジェクト03から、基本サービスインタフェース64を介して、和算された数を受ける。 Object 01, from the object 03, via the basic service interface 64, receive a number that has been summing. 整数が、オブジェクト01 Integer, object 01
、オブジェクト02、およびオブジェクト03の間を通過すると思われる。 Appears to pass between the object 02 and the object 03. したがって、オブジェクト02およびオブジェクト03は、サービスを提供するのみで、何ら要求を生成しない。 Thus, the object 02 and the object 03, only provide services do not produce any request.

【0062】 スペックおよびオブジェクト指向分析ステージ52では、インタフェースID [0062] In the specification and object-oriented analysis stage 52, interface ID
1〜4は、ヌル(空白)にセットされ得る。 1-4 may be set to null (blank). 以下のスペックが決定され得る。 The following specifications can be determined. オブジェクト01は、インタフェースID1、4を持つ2つのインタフェースを有している。 Object 01 has two interfaces with interface ID1,4. インタフェースID1は、ゲットおよびセット状態をサポートし、またセット状態のオペレーションによってオブジェクト01を除去することをサポートする、状態ポート61aのためのインタフェースである。 Interface ID1 supports get and set state, and also supports the removal of the object 01 by the operation of the set state, an interface for status port 61a. 基本サービスオブジェクトポート62aは、スクエアまたは合計要求ペレーションを送信することができ、適切なレスポンスを受け戻すことができる。 Basic Service object port 62a may send a square or total required pair configuration, it can be returned receiving the appropriate response. オブジェクト02は、インタフェースID2、4を持つ2つのインタフェースを有している。 Object 02 has two interfaces with interface ID2,4. インタフェースID2は、ゲットおよびセット状態をサポートし、またセット状態のオペレーションによってオブジェクト02を除去することをサポートする、状態ポート6 Interface ID2 supports get and set state, and also supports the removal of the object 02 by the operation of the set state, state port 6
1bのためのインタフェースである。 1b is an interface for. 基本サービスオブジェクトポート62bは、スクエア要求を受け、計算し、そしてレスポンスを出力する。 Basic Service object port 62b receives Square request, calculated, and outputs the response. オブジェクト0 Object 0
3は、インタフェースID3、4を持つ2つのインタフェースを有している。 3 has two interfaces with interface ID3,4. インタフェースID3は、ゲットおよびセット状態をサポートし、またセット状態のオペレーションによってオブジェクト03を除去することをサポートする、状態ポート61cのためのインタフェースである。 Interface ID3 supports get and set state, and also supports the removal of the object 03 by the operation of the set state, an interface for the state port 61c. オブジェクト03の基本サービスオブジェクトポート62cは、合計要求を受け、計算し、そしてレスポンスを出力する。 Basic service object port 62c of the object 03, received a total request, calculated, and outputs a response. 設計ステージ63では、管理人は、オブジェクト01、オブジェクト02、およびオブジェクト03を設計する仕事を、それぞれD1、D2、およびD3として識別される3人の開発者に割り当てる。 In the design stage 63, curator, an object 01, object 02, and the task of designing the object 03 is assigned to three developers identified respectively as D1, D2, and D3.

【0063】 環境10は、設計ステージ53におけるアプリケーションのソフトウェア開発の間、開発者間のネゴシエーションをインプリメントするのに使用され得る。 [0063] environment 10 during the software development application in the design stage 53 may be used to implement a negotiation between developers. 図7は、本発明の教示にしたがった、限界の無いネゴシエーション方法70のインプリメンテーションを示すフローチャートである。 7, in accordance with the teachings of the present invention, is a flow chart showing the implementation of the no negotiation process 70 of the limit. 限界の無いネゴシエーションは、ステップを進めることによってネゴシエーションを提供する。 No negotiation of limit provides negotiation by advancing step. ブロック72 Block 72
では、管理人オブジェクト44は、オブジェクトを設計およびインプリメントするタスクを開発者に割り当てる。 So janitor object 44 assigns the task of designing and implementing the objects to the developer. ブロック73では、ネゴシエーションネットワークが開発者と管理オブジェクト42との間で設立される。 In block 73, the negotiation network is established between the management object 42 and developers. 図8は、図6に示される類似したアプリケーションネットワーク60に対して使用され得るネゴシエーションネットワーク80のインプリメンテーションである。 Figure 8 is an implementation of negotiation network 80 that may be used for similar application network 60 shown in FIG. ネゴシエーションネットワーク80は、開発者D1、D2、D3を有している。 Negotiation Network 80 includes a developer D1, D2, D3. 開発者D1、D2 Developers D1, D2
、D3は、管理人オブジェクト44によって、オブジェクト01、オブジェクト02、およびオブジェクト03と称されるオブジェクト30を開発するために、 , D3, depending janitor object 44, object 01, in order to develop an object 30 called objects 02, and objects 03,
それぞれ割り当てられる。 Assigned, respectively. ブロック73では、管理人オブジェクト44は、ネゴシエーションネットワーク80を設立する際にパラメータを特定することができる。 In block 73, janitor object 44 can identify the parameter in establishing a negotiation network 80. たとえば、管理人オブジェクト44は、ネゴシエーションネットワーク80 For example, the management people object 44, negotiation network 80
を設立する際に、ログイン名、開発者D1、D2、およびD3の各パスワード、 When you establish a login name, password each of the developers D1, D2, and D3,
オブジェクト01、02、および03に対するオブジェクトID、インタフェース2Dを特定することができる。 Object ID for the object 01, 02, and 03, it is possible to specify the interface 2D. 各開発者D1、D2、およびD3は、オブジェクト30a、オブジェクト30b、およびオブジェクト30cのためのそれぞれの開発者ネゴシエーションオブジェクトポート82a、82b、および82cを生成する。 Each developer D1, D2, and D3, the object 30a, and generates a respective developers negotiation object ports 82a, 82b, and 82c for the objects 30b, and object 30c. 各開発者D1、D2、およびD3は、開発者状態ポートとして、それぞれのオブジェクトポート32a、32b、32cを作成する。 Each developer D1, D2, and D3, as a developer state port, to create each object ports 32a, 32b, a 32c. 開発者ネゴシエーションおよび状態ポートは、管理オブジェクト42とともに登録される。 Developers negotiation and state port is registered together with the management object 42. 開発者は、設計スペック、オブジェクトID、インタフェースID、および開発者がライフサイクルフレームワーク20の一部として必要とする他のサービスを得るために、状態オブジェクトポートを使用する。 Developers design specification, the object ID, to interface ID, and developers obtain other services that require as part of the life cycle framework 20 uses the state object port. インプリメンテーションおよび単一ユニットテストステージ54の終わりに、開発者は、インプリメンテーションとともに、管理オブジェクト42と一緒にオブジェクトをチェックする。 At the end of the implementation and single unit testing stage 54, the developer, along with implementation, checks objects together with the management object 42. 管理オブジェクト42は、開発者にオブジェクトバージョン情報を戻すために、同じインタフェースを使用する。 Managed object 42, to return the object version information to the developer, using the same interface. 各開発者は、ネゴシエーションプロセスの各ステップの終わりに、修正IDLをチェックするためにこのインタフェースを使用する。 Each developer, at the end of each step of the negotiation process, the use of this interface in order to check the modified IDL.
管理人オブジェクト44は、管理オブジェクト42における対応する管理側状態ポートオブジェクト84a〜84c、およびINE管理オブジェクトポート83 Janitor object 44, the corresponding management-side status port object 84a~84c in the management object 42, and INE managed object port 83
を作成する。 To create a. 開発者ネゴシエーションオブジェクトポート85b、および管理人INEポート85aは、管理人オブジェクト44に設立される。 Developers negotiation object port 85b and the caretaker INE port 85a, is established in caretaker object 44.

【0064】 管理人INEポート85a、管理人ネゴシエーションポート85b、管理IN [0064] caretaker INE port 85a, janitor negotiation port 85b, management IN
Eポート83、管理ネゴシエーションポート84a〜cは、管理オブジェクト4 E port 83, management negotiation port 84a~c, the management object 4
2とともに登録される。 It is registered with the 2. 管理人オブジェクト44は、クロックを生成し、そして管理側で、管理人INEポート85aと管理INEポート83とを接続する。 Janitor object 44 generates a clock, and on the management side, connecting the caretaker INE port 85a and the management INE port 83. I
NEインタフェース45を使用することによって、管理人オブジェクト44を使用する管理人47(図示せず)は、全ネゴシエーションプロセスをコントロールする。 By using the NE interface 45, the management person 47 using the Moderator object 44 (not shown), controls the entire negotiation process. 管理人オブジェクト44は、管理オブジェクト42にネゴシエーション関連データを送信する。 Janitor object 44 transmits negotiation related data to the management object 42. 管理オブジェクト42は、開発者状態オブジェクトポート32a〜cと管理オブジェクト42上の管理ネゴシエーションポート84a〜c Management object 42, management of on the developer's state object port 32a~c and management object 42 negotiation port 84a~c
との間の接続を可能にする。 To enable a connection between the. このシナリオ、つまりネットワーク80では、管理人47は、ネゴシエーションプロセスを直接見ることを決定する。 In this scenario, i.e. the network 80, caretaker 47 determines to view the negotiation process directly. ネゴシエーションクロック86は、管理オブジェクト42で生成される。 Negotiation clock 86 is generated by the managed object 42. 管理人オブジェクト44の管理人ネゴシエーションオブジェクトポート85bは、クロック86のベースフェーズに同調される。 Moderator negotiation object port 85b of management who object 44 is tuned to the base phase of the clock 86. ポート85bは進行命令を得る(ゲット)すると、 Port 85b to obtain the progression instruction (get), the
それが保持される。 It is held. 3つの開発者ネゴシエーションオブジェクトポート82a〜 The three developers negotiation object port 82a~
cのすべては、ネゴシエーションクロック86の高いフェーズに同調される。 All of c is tuned to a higher phase of the negotiation clock 86. ポート85bはそれからポートをリリースし、そして、開発者ネゴシエーションオブジェクトポート82a〜cは進行命令信号をゲットする。 Port 85b is released it from the port, and, developers negotiation object port 82a~c to get the progress command signal.

【0065】 ブロック77では、開発者は、すべての開発者がネゴシエーション上で同意するまで互いに交渉する。 [0065] In block 77, developers, all developers to negotiate with each other to agree on a negotiation. たとえば、開発者D1、D2、およびD3は、開発者ネゴシエーションオブジェクトポート82a〜cを通して、上記した進行命令、リリース、およびトリガメカニズムとともに、修正CORBA IDLフレームワーク18および英語で書かれたネゴシエーションスクリプトを送ることによって繰り返し同意し得る。 For example, developers D1, D2, and D3 are sent through a developer negotiation object port 82A~c, advanced instruction described above, release, and along with the trigger mechanism, the negotiation scripts written in modified CORBA IDL framework 18 and English It can be repeatedly agreed by. ネゴシエーションの各ステップの終わりに開発者によって書かれる修正CORBA IDLは、開発者環境においてサポートされるバックエンドIDLコンパイラによって、構文的正当性がチェックされる。 Modify CORBA IDL to be written by the developer at the end of each step of the negotiation, by the back-end IDL compiler, which is supported in the developer environment, syntactic correctness is checked.

【0066】 本実施例では、開発者D1、D2、およびD3は、コモングローバルインタフェース・インタフェースID4であるインタフェースバージョン1.0のインタフェースのための構造およびプロトコル上で同意するために交渉する。 [0066] In this embodiment, the developer D1, D2, and D3, to negotiate in order to agree on the structure and protocol for interfacing the interface version 1.0 is a common global interface interface ID4. どの開発者D1、D2、D3も、個々の設計と整合するインタフェースID=4のためのストラクチャおよびプロトコルの完全な記述について交渉することができる。 What developers D1, D2, D3 can also be negotiated for a full description of the structure and protocol for interface ID = 4 to match the particular design. たとえば、ステップ1では、開発者D2およびD3は、何も提案したくないかもしれない。 For example, in step 1, the developer D2 and D3, might not anything want to propose. したがって、D2およびD3は、ステップ1をリリースして、トリガするかもしれないししないかもしれない。 Therefore, D2 and D3 is released Step 1, may not to might trigger. ステップ1では、開発者D1は、提案を作成する。 In step 1, the developer D1 is, to create a proposal. テーブル3は、開発者D1のネゴシエーションスクリプトの一例である。 Table 3 is an example of a negotiation script developers D1.

【0067】 [0067]

【表4】 [Table 4]

【0068】 開発者D1は、ネゴシエーションスクリプトを、開発者ネゴシエーションオブジェクトポート82aに送り、それから開発者ネゴシエーションオブジェクトポート82aをリリースして、トリガする。 [0068] developers D1 is, the negotiation script, sends it to the developers negotiation object port 82a, and then released a developer negotiation object port 82a, to trigger. トリガは、開発者D1のネゴシエーションスクリプトを交換するために、最も早い可能なときに、開発者D2および開発者D3に送信される。 Trigger, in order to exchange negotiation script developers D1, when it earliest possible, is transmitted to the developer D2 and developer D3. この時点で、開発者D1、D2、およびD3は、リリースして、トリガし、開発者D1のみが開発者ネゴシエーションオブジェクトポート82aに書き込む。 At this point, the developer D1, D2, and D3 are released, triggering, only developers D1 is written to the developer negotiation object port 82a. ネゴシエーションクロック86は、ネゴシエーションスクリプトを集めて、データバッグ35(図示せず)を作り上げる。 Negotiation clock 86, attracted the negotiation script, create a data bag 35 (not shown). この場合、開発者D1のみが現在のステップでネゴシエーションスクリプトを送信したので、一つのネゴシエーション構造エレメントだけがデータバッグ35にある。 In this case, since only the developer D1 sends a negotiation script at the current step, only one negotiation structural elements is in the data bag 35. ネゴシエーションクロック86は、データバッグ35、および異なるフェーズ0に同調される管理人ネゴシエーションオブジェクトポート85bへの進行命令を配信する。 Negotiation clock 86, to deliver a progress instruction to the management's negotiation object port 85b, which is tuned to the data bag 35 and the different phases 0,. 進行命令を受けると、管理人オブジェクト44は、データ、および受け取ったネゴシエーションスクリプトを調査することができ、グループネゴシエーションステップ1のやり方を理解することができる。 Upon receiving a progress instruction, janitor object 44, data, and received negotiation script can examine, it is possible to understand the way the group negotiation step 1. 管理人オブジェクト44は、開発者D1が変更を提案したことを理解する。 Janitor object 44, to understand that the developers D1 proposed changes. 検査を完了した後、管理人オブジェクト44は、管理人ネゴシエーションオブジェクトポート85bにデータを書き戻し、それで、管理人ネゴシエーションオブジェクトポート85bによって受け取ったエレメントは、除去ないし修正されることがなく、異なるフェーズ1に接続されている開発者D2およびD3に配信され得る。 After completing the test, janitor object 44 writes back the data to the janitor negotiation object port 85b, so the element received by the janitor negotiation object port 85b is not to be removed or modified, the different phases 1 It may be distributed to developers D2 and D3 are connected to. 管理人オブジェクト44は、 Janitor object 44,
ベースフェーズのために、管理人ネゴシエーションオブジェクトポート85bをリリースして、トリガする。 For the base phase, it released a janitor negotiation object port 85b, to trigger. ネゴシエーションクロック86は、この新しいフェーズデータを集めて、データバッグ35を作り上げる。 Negotiation clock 86, to collect this new phase data, make up the data bag 35. ネゴシエーションクロック86は、データバッグ35、およびフェーズ1に同調される開発者ネゴシエーションオブジェクトポート82a〜cへの進行命令を配信する。 Negotiation clock 86, to deliver a progress instruction to the developers negotiation object port 82a~c that are tuned to the data bag 35, and phase 1. 進行命令を受けると、開発者D1は、このステップ2で何も行わないかもしれない。 Upon receipt of the progress instruction, developers D1 may not nothing in this step 2. 開発者D1 Developers D1
はリリースして、トリガするかもしれないししないかもしれない。 Is released, it may not do not might trigger. 開発者D2および開発者D3は、開発者D1からの提案された変更を読み取って理解し、そして、構造およびプロトコルの個々の部分に対して不同意、または完全に同意することができる。 Developer D2 and developer D3 can read the proposed change from the developer D1 understand and disagreements for each part of the structure and protocol, or completely agree. 両方の開発者D2および開発者D3が同意する場合、ネゴシエーションは完了される。 If both developers D2 and developer D3 agree, negotiation is completed. あるいは、ネゴシエーションは、すべての開発者D1、D Alternatively, negotiation, all developers D1, D
2、およびD3が同意するまで繰り返される。 2, and D3 is repeated until the agreement. テーブル4は、ステップ2についての開発者のネゴシエーションスクリプトの一例である。 Table 4 is an example of a developer negotiation script for Step 2.

【0069】 [0069]

【表5】 [Table 5]

【0070】 テーブル5は、ステップ2による開発者D3のネゴシエーションスクリプトの例である。 [0070] table 5 is an example of a negotiation script developers D3 by step 2.

【0071】 [0071]

【表6】 [Table 6]

【0072】 開発者D2および開発者D3の両者は、それぞれ個別に受諾可能なステートメントを、修正COMRA IDLおよび英語により、各自の開発者ネゴシエーションオブジェクトポート82bおよび82cに書き込み、各自の開発者ネゴシエーションオブジェクトポート82bおよび82cをリリースし、トリガーをかける。 [0072] Both the developers D2 and developers D3 is, each individually an acceptable statement, by modification COMRA IDL and English, writing to their developers negotiation object port 82b, and 82c, each of the developers negotiation object port released 82b and 82c, triggering. ネゴシエーションクロック86は、修正されたデータバッグ35bを再び引き渡し、管理人オブジェクト44へ進行命令を与える。 Negotiation clock 86, again passes the modified data bag 35b, gives a progress instruction to the management who object 44. 管理人オブジェクト44 Moderator object 44
は、開発者D2および開発者D3がすでに同意していることを確認する。 It is, to make sure that the developers D2 and D3 developers have already agreed. したがって、管理人オブジェクト44は、競合を避けるために、このステップにおいては、干渉しない。 Therefore, janitor object 44, in order to avoid conflicts, in this step, do not interfere. 管理人オブジェクト44は、受け取ったエレメントについて、 Janitor object 44, for the received element,
何らの変更を加えることなく管理人ネゴシエーションオブジェクトポート85b Moderator negotiation object port 85b without making any changes
に書き込むとともに、リリースおよびトリガーを管理人ネゴシエーションオブジェクトポート85bへ送る。 Writes to, send a release and trigger to the caretaker negotiation object port 85b. ネゴシエーションクロック86は、この新たなデータバッグ35bを引き渡し、開発者オブジェクトポート32a〜32cへ進行命令を与える。 Negotiation clock 86, handed over the new data bag 35b, gives a progress instruction to developers object port 32a~32c. 開発者D2および開発者D3は、何も行う必要はない。 Developers D2 and D3 developers do not need to do anything. 開発者D1 Developers D1
は、開発者D2および開発者D3がすでに同意しており、それはインタフェースID=4、インタフェースバージョン=1.0についての構造体およびプロトコルであることを理解する。 Is agreed developer D2 and developer D3 already, it understands that the interface ID = 4, structures and protocols for the interface version = 1.0.

【0073】 ブロック78において、複数の開発者D1、D2、およびD3は、インタフェースID=4、インタフェースバージョン=1.0を含む彼らの個別のオブジェクトバージョンについてのインプリメンテーションステージ54において、インプリメンテーションを完了する。 [0073] In block 78, a plurality of developers D1, D2, and D3, interface ID = 4, in the implementation stage 54 about their individual object versions, including interface version 1.0, implementation to complete. 各開発者D1、D2、およびD3は、インプリメンテーションの完了メッセージとリリース/トリガーとを彼らのネゴシエーションポートに書き込む。 Each developer D1, D2, and D3, writes the complete message and releases / trigger implementation of their negotiation port. 管理人ネゴシエーションオブジェクトポート85bが進行命令を得て、そのコンテンツを調査するとき、管理人オブジェクト44は、開発者がインプリメンテーションを完了したことを理解する。 And management's negotiation object port 85b is obtained the progress instruction, when investigating the content, management people object 44, to understand that the developer has to complete the implementation. 管理人オブジェクト44は、管理人ネゴシエーションオブジェクトポート85bに書き込み、リリース/トリガーをかける。 Janitor object 44, writing to management's negotiation object port 85b, multiplying the release / trigger. オブジェクトポート32a〜32cは、第4ステップへの進行命令を得る。 Object port 32a~32c obtains the progression instruction to the fourth step. 複数の開発者D1、D2、およびD3のすべては、インプリメンテーションが完了するとともにこの時点においてインタフェースID=4、 All of the plurality of developers D1, D2, and D3, the interface ID = 4 in this point as well as the implementation is completed,
インタフェースバージョン=1.0についてのネゴシエーションのトランザクションが完了したことを知る。 We know that the negotiation of the transaction for the interface version = 1.0 has been completed. この時点から、新たな開発者オブジェクトポート3 From this point on, a new developer object port 3
0がこのネゴシエーションプロセスに加わることができ、また、新たなトランザクションが、更新された構成において開発者により開始される。 0 can join this negotiation process, also, a new transaction is initiated by the developer in the updated configuration.

【0074】 上述したように、管理人オブジェクト44は、アプリケーション中ですべてのネゴシエーションプロシーディングへと同調するとともに、透過的に観測し、ネゴシエーションプロセスを制御する。 [0074] As described above, janitor object 44 is configured to tune to all the negotiation proceedings in applications transparently observed, controls the negotiation process. 大規模なネットワークアプリケーションにおいては、何百もの活動中の異なるネゴシエーショングループが存在する場合もある。 In the large-scale network applications, there may be different negotiation group exists of in hundreds of activities. 管理人オブジェクト44は、外部から観測し制御するために数百のポートを必要とするかもしれない。 Janitor object 44, may require hundreds of ports in order to observe from outside control. 管理人オブジェクト44が(管理人オブジェクトにおいてポートを作成することによって)直接的にすべてのネゴシエーションプロシーディングへと同調する代わりに、管理人オブジェクト44が、アプリケーション中のすべてのクロックへ既に同調されている管理ネゴシエーションオブジェクトをもった複数の管理オブジェクト42を、使用することができ、この結果、 Janitor object 44 (by creating a port in the management who object) instead tuned to direct all of the negotiation proceedings, the janitor object 44, has already been tuned to all of the clocks in the application a plurality of managed objects 42 having a management negotiation objects, can be used, as a result,
すべての情報(ネゴシエーションプロシーディング)を取得する。 To get all of the information (negotiation proceedings). このアプローチは、複数のコマンドを複数の管理オブジェクト42へと送る管理人オブジェクト44を含むものの、管理人オブジェクト44におけるポートの数を削減するものであり、元のアプローチは、管理人オブジェクト44と管理オブジェクト42 This approach, although includes a janitor object 44 to send multiple commands to the plurality of managed objects 42, which reduces the number of ports in the janitor object 44, the original approach, an administrator object 44 Administration object 42
との間の要求メッセージの数を減らすものである。 It is intended to reduce the number of request messages between. 使用するアプローチは、ネットワークアプリケーションに基づいて選択することができる。 Approach to be used can be selected based on the network application.

【0075】 一般的には、進行命令は、開発者自身ではなく、ネゴシエーションクロック8 [0075] In general, progress instruction, rather than the developers themselves, negotiation clock 8
6により送られるので、(進行命令が到着した場合の)新たな各ステップの開始時においてのみ、開発者の思考が、デザインについての本質的な課題からそらされるのみであり、上記の複数の要因の独立性によって、断絶のない交渉(共同開発)となる。 Since sent by 6, only at the beginning of each new step (progress instruction when arrived), the developer of thinking, is only diverted from the essential issue for the design, the plurality of the factors by independence, a break with no negotiations (joint development). 上述した交渉において、異なるフェーズにおける管理人オブジェクト42の状況は、全体的には複数の開発者に対して透過的である。 In negotiations described above, the status of administrator object 42 in different phases is entirely transparent to the plurality of developers to. 管理人オブジェクトが、基本フェーズにおいて進行命令を取得した場合、それによって、より高いフェーズにおいては、開発者ネゴシエーションポートは、すでに自動的にリリースされ、複数の開発者は、そのデータが行き交う場所については無知でよい。 If the janitor object has acquired the progression instruction in basic phases, by it, at a higher phase, developers negotiation port is already automatically release, multiple developers, about where the data is coming and going is it may be ignorance. 管理人オブジェクトポートは、一つの進行命令と、各ステップにおいて複数の開発者のグループ全体によって修正されたバッグとを取得し、この結果、管理人の生産性が向上し、複雑性が減少する。 Janitor object port acquires and one advanced instructions and bags that have been modified by the entire group of a plurality of developers at each step, as a result, improves the janitor productivity, complexity is reduced. また、開発者は、ネゴシエーション処理に接続している開発者の人数、開発者が位置付けられている場所、かれらが作業している時期について、知る必要がない。 In addition, developers, developers of the number of people that are connected to the negotiation process, where the developers are located, for the time when they are working, there is no need to know. これは、開発者の生産性を向上させることができる。 This is, it is possible to improve developer productivity. 各開発者は、進行命令が次回のステップについてのネゴシエーションポートに来るのを待っており、そしてそれは、上述したエレメントの独立性ということである。 Each developer, progress instruction are waiting to come to the negotiation port for the next step, and it is that the independence of the elements described above. 進行命令に伴って受信されるバッグにおけるエレメントの数は、関係している開発者の人数を示しており、それは動的なものであり、さらに、クロックによってセットされる。 The number of elements in the bag which is received with the progress instruction indicates the number of developers who are concerned, it is dynamic, and is further set by a clock. 異なるフェーズに同調された全てのポートへの進行命令の到着は、クロックによって制御されるとともに、クロックに対して同調されて動的に変化する開発者の人数に依存する。 Arrival of progression instruction to all ports tuned to different phases, while being controlled by a clock, depending on the number of developers dynamically changing is tuned to the clock.

【0076】 テーブル6は、修正CORBA IDLにおいて停止された交渉の終了のデザインである。 [0076] table 6 is the end of the design of the stop negotiations in the modified CORBA IDL.

【0077】 テーブル6ステップ1:オブジェクトポートがステップ1に進む場合、D1のオブジェクト01は、基本サービスオブジェクトポートに適切なメッセージを書き込んでトランザクションを初期化する。 [0077] Table 6 Step 1: If the object port proceeds to step 1, the object 01 of D1 initializes the transaction writes an appropriate message to the basic service object port. ユーザの選択に応じて、2乗要求(square reque Depending on the user's selection, the square request (square reque
st)の実行、または和算要求(summation request)のどちらも実行することができる。 Performing st), or neither summing request (summation request) can be executed. ユーザにより入力されたデータは、適切なメッセージ型で構造体上に複写される。 Data entered by the user is copied onto the structure by an appropriate message type. それから、オブジェクト01は、ステップ1の基本サービスオブジェクトポートについてリリースし、トリガーをかける。 Then, the object 01 is to release the basic service object port of step 1, triggering. オブジェクト02およびオブジェクト03は、ステップS1の進行命令を受けた場合に、リリースしトリガーをかける。 Object 02 and the object 03, when receiving a progress instruction of step S1, applying a release trigger.

【0078】 ステップ2:オブジェクトポートがステップ2に進んだ場合、オブジェクト0 [0078] Step 2: If the object port has proceeded to step 2, object 0
1は、リリースおよびトリガー以外は、実行しない。 1, except release and trigger does not perform. オブジェクト02およびオブジェクト03は、データを読み込み、それを解釈する。 Object 02 and the object 03, data is read, and interpret it. 2乗要求(スクエア要求)である場合、オブジェクト02は、2乗を計算し、その応答を適切なメッセージ型で出力構造体上に複写する。 If the square request (Square request), the object 02, the square is calculated and copied onto the output structure of the response with the appropriate message type. オブジェクト02は、その出力構造体を基本サービスオブジェクトポートへ書き込み、そのポートをリリースし、トリガーをかける。 Object 02, writes the output structure to the basic service object port, to release the port, triggering. オブジェクト03は、リリースおよびトリガー以外は、実行しない。 Object 03, other than the release and trigger does not perform. 和算要求(サメイション要求)である場合には、オブジェクト03は、その応答を計算し、それをサービスオブジェクトポートに書き込み。 If a summing request (Sumation request), the object 03 calculates the response, writes it to the service object port. オブジェクト03およびオブジェクト02は、それらの基本サービスオブジェクトポートをリリースし、トリガーをかける。 Object 03 and the object 02, to release them of basic services object port, triggering.

【0079】 ステップ3:オブジェクトポートがステップ3に進んだ場合、オブジェクト0 [0079] Step 3: If the object port has proceeded to step 3, the object 0
1は、着信するデータを読み込み、それを解釈して、最終的な出力が既に受信されたことを理解する。 1 reads the incoming data, interprets it, the final output is already understood that it has been received. このことは、イニシエータ(オブジェクト01)におけるトランザクションの終了を示す。 This indicates the end of the transaction in the initiator (object 01). オブジェクト02およびオブジェクト03は、 Object 02 and the object 03,
何かを書き込むことなく、オブジェクトポートをリリースしトリガーをかける。 Without writing anything, apply to the release trigger the object port.
オブジェクト01は、直ちに他のトランザクションサイクルを開始するか、または、そのポートに何かを書き込みことなく、単に、リリースしトリガーをかける。 Object 01, immediately to start the other transaction cycle, or, without writing anything to the port, simply, place a release trigger.

【0080】 インプリメンテーション段階54においては、ある開発者は、図6に示されるネットワークアプリケーション60をインプリメントするために、図9に示されるステップに従うことができる。 [0080] In the implementation stage 54, is a developer, to implement the network application 60 shown in FIG. 6, it is possible to follow the steps shown in FIG. ブロック90において、オブジェクトの30a In block 90, 30a of the object
〜cの状態が決定され、それぞれの状態インタフェース63a〜cは、オブジェクト30a〜cのセット(set)状態またはゲット(get)状態をサポートし、オブジェクト30a〜cを廃棄するためにインプリメントされる。 ~c state is determined, each state interface 63a~c supports a set (set) state or target (The get) state of an object 30A - 30C, is implemented in order to discard the object 30A - 30C. たとえば、状態は、対応する整数として選択され、この整数は、ネットワークアプリケーション60におけるトランザクションに対応する。 For example, state is selected as the corresponding integer, the integer corresponding to the transaction in the network application 60. ネットワークアプリケーション60において、各状態ポート61a〜61cは、2つのフィールドを持つように定義されている:第1のフィールドは、オペレーションのセット(set)オペレーションまたはゲット(get)オペレーションを示すメッセージ型フィールドであり、第2のフィールドは、オブジェクト30a〜cの状態を含む状態値フィールドである。 In a network application 60, the status port 61a~61c is defined to have two fields: the first field is the message type field indicating the operation of the set (set) operation or Get (The get) Operation There, the second field is the status value field containing the state of the object 30A - 30C. 開発者D1は、オブジェクト01の初期状態が0となるように選択する。 Developers D1 is selected to be the initial state is 0 of the object 01. したがって、オブジェクト01が1つのサービスのための1つの要求を送信するときはいつでも、その状態は、1に変化する。 Thus, whenever an object 01 sends one request for one service, the state is changed to 1. 応答を受け取ると、 Upon receipt of the response,
オブジェクト01の状態は、0に変化させられる。 The state of the object 01 is varied to 0. 同様に、開発者D2および開発者D3は、それぞれに対応するオブジェクト02およびオブジェクト03のオブジェクト状態を0に初期設定する。 Similarly, developer D2 and developer D3 is an object state of an object 02 and object 03 corresponding to the respective initially set to zero. オブジェクト02またはオブジェクト03 Object 02 or object 03
がオブジェクト01から要求を受信するときに、その状態は、1に変化する。 There when receiving a request from the object 01, the state is changed to 1. 応答が同じステップに進められると、直ちに、その状態は0へ戻るように変化する。 When the response is advanced in the same step, immediately, its state changes back to zero. たとえば、状態メッセージ型は以下に定義するように割り当てられることができる:1はセット(set)を示し、2はゲット(get)を示し、3はセットについての応答(ack)を示し、4はゲットについての応答(get_ack For example, status message type may be assigned as defined below: 1 represents a set (The set), 2 denotes a target (The get), 3 represents the response for a set (ack), 4 response for the target (get_ack
)を示し、5は消滅(die)の要求を示し、6は受信され更新された消滅を示す。 ) Indicates, 5 denotes a request for annihilation (die), shows the disappearance of the 6 were received updated. 本発明の教示するところによれば、これらのメッセージ番号および状態の型は、複数のオブジェクト間で変更可能であり、それは開発者によって決定されるが、全体のサポートは、オブジェクト毎に、対応する開発者によって提供されなければならない。 According to the teachings of the present invention, the type of message numbers and state can be changed between a plurality of objects, but it is determined by the developer, the whole support, for each object, the corresponding It must be provided by the developer.

【0081】 ブロック92においては、オブジェクトポートは、その複数のオブジェクトについての各オブジェクトインタフェースに関連づけられる。 [0081] In block 92, the object port, associated with each object interface for the plurality of objects. したがって、状態ポート61a〜61cは、それぞれの状態インタフェース63a〜63cに関係づけられ、基本サービスオブジェクトポート62a〜62cは、基本サービスインタフェース64に関連づけられる。 Therefore, the state port 61a~61c is implicated in each state interface 63 a to 63 c, the basic service objects ports 62 a - 62 c, associated with the basic service interface 64. ブロック94においては、トランザクション(処理)が、処理する要求および着信するメッセージについて決定される。 In block 94, the transaction (processing) is determined for the request and incoming messages for processing. ブロック96においては、インタフェースを、修正CORBA IDLを用いて記述することが可能である。 In block 96, the interface can be described using a modified CORBA IDL. 個々の修正CORBA IDLの記述内容は、各オブジェクトインタフェースについて決定される。 Description contents of the individual modifications CORBA IDL is determined for each object interface. 修正CORBA IDLの記述として、たとえば、インタフェースID(インタフェース識別)、インタフェースバージョン、およびイニシエータ/レシーバ情報(Initiator/Rece As modifications CORBA IDL description, for example, the interface ID (interface identification), interface version, and initiator / receiver information (Initiator / Rece
iver Information)を含む、オブジェクトインタフェースの構造体およびトランザクションを記述する。 Including iver Information), which describes the structure and transaction object interface. ネットワークアプリケーション60では、開発者D1は、オブジェクト01においてインタフェースID1および4を持つ2つのインタフェースのために2つの個別の修正CORBA IDLを書き込む。 In the network applications 60 developers D1 writes two separate modifications CORBA IDL for two interfaces with interface ID1 and 4 in the object 01. オブジェクト01のインタフェースID1のための修正CORBA ID Modify CORBA ID for the interface ID1 of the object 01
Lの記述のインプリメンテーションは、テーブル7に示される。 Implementation of L description is shown in table 7.

【0082】 [0082]

【表7】 [Table 7]

【0083】 [0083]

【0084】 オブジェクト01、インタフェースID4のための修正CORBA IDLの記述のインプリメンテーションは、テーブル8に示される。 [0084] Objects 01, modify the implementation of the CORBA IDL description for interface ID4 are shown in Table 8.

【0085】 [0085]

【表8】 [Table 8]

【0086】 [0086]

【0087】 オブジェクト02、インタフェースID4のための修正CORBA IDLの記述のインプリメンテーションは、テーブル9に示される。 [0087] Objects 02, modify the implementation of the CORBA IDL description for interface ID4 are shown in Table 9. インタフェースID Interface ID
=2についての開発者D2のIDL記述、および開発者D3の修正CORBA = 2 IDL description of the developer D2 for, and modifications CORBA developers D3
IDL記述は、同様に決定される。 IDL description is similarly determined.

【0088】 [0088]

【表9】 [Table 9]

【0089】 [0089]

【0090】 ブロック97においては、決定された各オブジェクトインタフェースは、分離したソースファイルとしてインプリメントされる。 [0090] In block 97, each object interface determined is implemented as the source files separated. 分離した複数のソースファイルは、ネットワークアプリケーション60についての全体のオブジェクトコードを決定する。 A plurality of source files separated determines the overall object code for network applications 60. たとえば、オブジェクト01についてのソースコードは、2つのポート、すなわち、適当なサイズを持つ、状態ポートIDを有する状態オブジェクトポート61aと、サービスポートIDを有するベーシックサービスポート62 For example, the source code for the object 01, basic service port 62 having two ports, namely, having a suitable size, and state object port 61a having a state port ID, the service port ID
aと、を含む。 Includes a, a. ポートIDは、2つのポートサービスが異なること、およびそれらがアプリケーションシステムにおいて一意的に識別されること、を示している。 The port ID, the two ports services are different, and they have shown that, to be uniquely identified in the application system. これらのポートによって提供されるサービスにアクセスするために、管理人は、対応するポートIDを知らなければならない。 To access the services provided by these ports, curator, you must know the corresponding port ID. ポートIDまたはサービスポートIDは、管理人がそのサービスを利用するためにオブジェクトから取得しておかなければならないオブジェクトの特性と同様なものである。 Port ID or service port ID is janitor is those similar to the characteristics of the object that must be obtained from the object in order to use the service.

【0091】 ソースコードを生成するために使用される関数の例およびそれらの説明を以下に示す。 [0091] illustrates an example of a function used to generate the source code and their description below.

【0092】 OMF_CreatePort(PortID, PortSize): [0092] OMF_CreatePort (PortID, PortSize):
この方法は、オブジェクト30に、サイズがポートサイズ(PortSize This method, the object 30, the size of the port size (PortSize
)であるポートを生成させる。 ) Port to generate a. オブジェクト30は、このオブジェクトポートを通じてデータを受けて送る。 Object 30 sends receives data through this object port. ポートIDは、全体のアプリケーションシステムのうちからオブジェクトサービスを一意的に識別する整数である。 Port ID is an integer that uniquely identifies the object service from among the entire application system. たとえば、オブジェクトポートは、オブジェクトポート32、状態オブジェクトポート61、または基本サービスオブジェクトポート62である。 For example, the object port, object port 32, a state object port 61 or the basic service objects ports 62,.

【0093】 OMF_Registration (PortID): この方法は、 [0093] OMF_Registration (PortID): This method is,
オブジェクト30に、ポートIDを有するポートの管理部へ登録させることによって、管理人がオブジェクトのサービスへアクセスすることを許可する。 The object 30, by registering to the management of the port with port ID, and allow the administrator to access the service object.

【0094】 OMF_Advanced (PortID): この方法は、オブジェクト30に、ポートIDを有するオブジェクトポートが進行命令をだしたかどうか確認させる。 [0094] OMF_Advanced (PortID): In this method, the object 30, object port having a port ID to confirm whether or not issued a progress instruction. 進行命令がでていれば再び同調処理へ戻る、そうでなければ、誤りとする。 If out the progress instruction return again to the tuning process, otherwise, it is an error.

【0095】 OMF_ReadData (PortID): この方法は、読み込むべきバッグに1以上のエレメントが存在するか否かを、ポートIDを有するオブジェクトポートに確認させる。 [0095] OMF_ReadData (PortID): This method, whether one or more of the elements in the bag to be read is present, to confirm the object port having a port ID. 正しければ、ゼロでない状態へ戻る。 If it is correct, return to the state it is not zero.

【0096】 OMF_LoadData (PortID, PortSize, I [0096] OMF_LoadData (PortID, PortSize, I
nputStructure): この方法は、ポートIDを有するオブジェクトポートから入力構造体(InputStructure)へポートサイズ(P nputStructure): This method is the port from the object port having a port ID to the input structure (InputStructure) Size (P
ortSize)バイトをロードすることを可能とする。 It makes it possible to load the ortSize) bytes.

【0097】 OMF_WriteData (PortID, PortSize, [0097] OMF_WriteData (PortID, PortSize,
OutputStructure): この方法は、出力構造体(Output OutputStructure): This method is output structure (Output
Structure)から、ポートIDを有するオブジェクトポートへポートサイズバイトを書き込むことを可能とする。 From Structure), it makes it possible to write the port size bytes to the object port having a port ID.

【0098】 OMF_Release (PortID): この方法は、ポートID [0098] OMF_Release (PortID): This method is, port ID
を有するポートをリリースすることを可能とする。 It makes it possible to release the port with. オブジェクトポートの保持部は、管理人によって(管理オブジェクトを通じて)要求された場合に、オブジェクトの安定的な状態を送出するために、これを用いる。 Holding portion of the object port by Moderator (through the management object) if requested, in order to deliver a stable state of the object, using the same.

【0099】 OMF_Trigger (PortID): この方法は、ポートID [0099] OMF_Trigger (PortID): This method is, port ID
を有するオブジェクトポートにトリガーをかけることを可能とする。 It makes it possible to apply a trigger to object port with.

【0100】 オブジェクト01のインプリメンテーションとして開発されたソースコードの例がテーブル10に示される。 [0100] Examples of source code developed as implementation of the object 01 is shown in table 10.

【0101】 [0101]

【表10】 [Table 10]

【0102】 [0102]

【0103】 [0103]

【0104】 [0104]

【0105】 ブロック98においては、インプリメントされた各オブジェクト30は、オブジェクトバージョンナンバを返す管理フレームワーク19へ登録される。 [0105] In block 98, each object 30 that was implemented, is registered in the management framework 19 that returns an object version number. オブジェクトのテストが、ステージ57を通じてのネットワーク指向ソースコードワークおよびネットワーク指向統合テストステージ58において指定されて、実行されてもよい。 Test objects, designated in the network-oriented source code workpiece and network-oriented integration testing stage 58 through the stage 57, may be executed. 開発者は、そのオブジェクトを管理フレームワーク19に登録する。 Developers, to register the object to the management framework 19. たとえば、開発者D1は、テーブル11に示されるような情報を入力することができる。 For example, developers D1 can enter the information as shown in Table 11.

【0106】 [0106]

【表11】 [Table 11]

【0107】 管理フレームワーク19は、適切なオブジェクトバージョンナンバを返す。 [0107] The management framework 19, returns the appropriate object version number. この場合には、バージョン1.0を開発者D1へ返す。 In this case, it returns the version 1.0 to developers D1. 同様に、開発者D2およびD3も、かれらの夫々のオブジェクトの情報を登録する。 Similarly, developers D2 and D3 also, to register the information of their respective objects. 両者のために、管理オブジェクトは、オブジェクトバージョンナンバとして1.0を返す。 For both managed object, it returns 1.0 as an object version number.

【0108】 複数のオブジェクトと複数のインタフェースは、ネットワークアプリケーションの開発の間、徐々に発展することができる。 [0108] A plurality of objects and multiple interfaces, during the development of network applications, gradually can be developed. 開発の期間において、オブジェクトのバージョンは以下の理由により互換性がなくなることもある。 In the period of development, version of the object is also compatible eliminated for the following reasons. すなわち、この理由としては、インタフェースのバージョンが適合しない、オブジェクト30 That is, The reason for this interface versions are not compatible, the object 30
の管理フレームワーク19への登録が異なる時刻に生じる、または元のバージョンのオブジェクト30が消去される、などの理由がある。 Occur registration different times to the management framework 19, or the original version of the object 30 is erased, a reason such as. 図10は、環境10において互換性のあるアプリケーション100を決定するための方法のフローチャートである。 Figure 10 is a flow chart of a method for determining an application 100 that is compatible with the environment 10. ブロック101において、オブジェクトバージョンとインタフェースバージョンとを結びつけるためのオブジェクトテーブルが決定される。 In block 101, the object table for linking the object version and interface version is determined. 欄名は、オブジェクトID、オブジェクトバージョン、および インタフェースID( Column name, object ID, object version, and the interface ID (
たとえば、1、2、3、4)である。 For example, a 1, 2, 3, 4). 欄に関連づけられた値は、個々のインタフェースと関連づけられたインタフェースバージョンである。 The value associated with the field is an interface version associated with each interface. オブジェクトバージョン欄は、オブジェクトバージョンを示す。 Object version field indicates the object version. 好ましい実施の形態によれば、m個のインプリメンテーションが一つのブロックとして互いに存続し、オブジェクトバージョンナンバのみが増加していくように、オブジェクト30はオブジェクトテーブルに挿入され、この結果、複数のインタフェースバージョンの一意的なすべての組み合わせ<I 1・・・I m >を得るためにM番目までのすべてのインプリメンテーションが配置される。 According to a preferred embodiment, m pieces of implementation persist together as a single block, so that only the object version number is gradually increased, the object 30 is inserted into the object table, the result, a plurality of interfaces all implementations to M th is arranged to obtain all combinations versions unique in <I 1 ··· I m>.

【0109】 好適な実施の形態によれば、複数のオブジェクトテーブルが作成され、このテーブルが増加する。 [0109] According to a preferred embodiment, a plurality of object table is created, this table is increased. したがって、インタフェースの一意的な各バージョンに対して、オブジェクトバージョンは増加しつづける。 Thus, for unique versions of the interface, the object version continues to increase. 固定された新しいインタフェースのバージョンが作成されると、それらは、テーブルが増加するように維持するために、オブジェクトテーブルへ挿入される。 When fixed new interface versions were are created, they are in order to maintain such a table is increased, it is inserted into the object table.

【0110】 オブジェクトテーブルのすべては、Tで表示されているオブジェクトテーブルの番号によってソートされる。 [0110] All of the objects table, are sorted by number of the object table that is displayed in T. アプリケーションにおけるインタフェースの番号は、Iで表示される。 Number of the interface in the application is displayed in I. オブジェクト30は、複数のインタフェースを有しており、1つのオブジェクトにおけるインタフェースの最大の数は、Oimaxで表される。 Object 30 has a plurality of interfaces, the maximum number of interfaces in one object is represented by Oimax. ネットワークアプリケーション60におけるインタフェース34、1〜4 Interface in the network application 60 34,1~4
、および63a〜cのすべてが、徐々に発展していくことが仮定される。 , And all of 63a~c is, it is assumed that gradually developed. アプリケーションが徐々に発展するにしたがって、(アプリケーションにおける他のインタフェースと比較した場合)長期間にわたって変化しないまま残るインタフェースはない。 According to the application is gradually developed, there is no interface remains unchanged over a long period of time (when compared to other interfaces in the application). この仮定はレコードの数を限定するために、後述するように、結合したオペレーションの中間段階において用いられる。 This assumption in order to limit the number of records, as will be described later, is used in an intermediate stage of the bound operation. Nはオブジェクトテーブルにおけるオブジェクトバージョンについての可変な数である。 N is a variable number of object versions in the object table. データテーブル選択方法の複雑度は、NlogNとなる。 Complexity of the data table selection method becomes NlogN.

【0111】 テーブル12は、図6に示される、アプリケーションネットワーク60のオブジェクトテーブルのインプリメンテーションを示している。 [0111] Table 12 is illustrated in FIG. 6 illustrates an implementation of the object table of application network 60. たとえば、オブジェクト01のバージョン1.0は、インタフェース1および4をインプリメントしており、各インタフェースは、インタフェースバージョン1.0を持つ。 For example, version 1.0 of the object 01 is to implement the interface 1 and 4, each interface has an interface version 1.0.

【0112】 [0112]

【表12】 [Table 12]

【0113】 たとえば、オブジェクト1は、テーブル12に示されるように二つのオブジェクトバージョン1.0および1.1を含む。 [0113] For example, the object 1 comprises two object versions 1.0 and 1.1 as shown in Table 12. 新たなバージョンは、インタフェースID4、インタフェースバージョン1.0、およびインタフェースID1、インタフェースVer1.0用に作成され、オブジェクトVer1.0およびオブジェクトVer1.1の間に挿入される。 New version, interface ID4, interface version 1.0, and the interface ID1, is created for the interface Ver1.0, it is inserted between the objects Ver1.0 and object Ver1.1. この新しいオブジェクトバージョンは、たとえば、オブジェクトVer1.01のように、オブジェクトVer1.0 This new object version, for example, like an object Ver1.01, object Ver1.0
およびオブジェクトVer1.1の間のオブジェクトバージョンであることを示すように選定される。 And is selected to indicate that an object version between the object Ver1.1.

【0114】 ブロック102において、テーブル全体は、オブジェクトバージョンに関してソートされる。 [0114] In block 102, the entire table is sorted with respect to the object version. インタフェースバージョンの一意的なそれぞれの組み合わせについて取得可能な新たなインプリメンテーションが複数存在すれば、その組み合わせについて最も新しいバージョンが、そのソートされたテーブルにおいて使用される。 If Interface Version new implementation can be obtained for unique each combination of them plurality of the most recent version for that combination is used in the sorted table. たとえば、オブジェクト2は、オブジェクトバージョン1.0および1. For example, object 2, object version 1.0 and 1.
1を有しており、これらはテーブル10に示されるように、インタフェースバージョン2および4と同様な組み合わせを有している。 It has a 1, which as shown in table 10, have the same combination as the Interface Version 2 and 4. オブジェクトバージョン1 Object version 1
. 1が、複数のインタフェースバージョンの組み合わせについての最新のバージョン、M番目のバージョンである。 1, the latest version, M th version for the combination of a plurality of interfaces versions. オブジェクトバージョン1.1は、インタフェースバージョンを変更することなく、バッグを固定したのちに決定される。 Object version 1.1, without changing the interface version, is determined after fixing the bag. この新たなオブジェクトバージョン1.1は、複数のブロックが結合した複数のインプリメンテーションを保持するために、ソートされたテーブルに挿入される。 The new object version 1.1, in order to hold a plurality of implementations in which a plurality of blocks are bonded, are inserted into the sorted table.

【0115】 [0115]

【表13】 [Table 13]

【0116】 ブロック103において、最初の二つのオブジェクトテーブルは、共通する複数のインタフェースIDについてソートされる。 [0116] In block 103, the first two of the object tables are sorted for multiple interface ID in common. たとえば、オブジェクト01およびオブジェクト02は、共通のインタフェースID4を有する。 For example, objects 01 and object 02 have a common interface ID4.

【0117】 テーブル14は、オブジェクト01およびオブジェクト02に対するインタフェースID4についてのソートを示している。 [0117] table 14 shows the sort of the interface ID4 on the object 01 and the object 02.

【0118】 [0118]

【表14】 [Table 14]

【0119】 ブロック104においては、最初の二つのオブジェクトテーブルが、アプリケーション60の共通基本サービスインタフェース64のすべてに関して結合され、テーブル15に示されるような中間段階としての結合結果を作成する。 [0119] In block 104, the first two object table is coupled with respect to all the common basic service interface 64 of the application 60, to create a join result as an intermediate stage, as shown in table 15. オブジェクトテーブル間に複数の共通するインタフェースが存在する場合、共通インタフェースのインタフェースバージョンのそれぞれが一致するときには、AND条件によって決定された一対のオブジェクトバージョンが出力される。 If an interface common multiple between the object table exists, when the respective interface version of the common interface are matched, pair of object version determined by AND condition is outputted.

【0120】 [0120]

【表15】 [Table 15]

【0121】 ブロック105においては、次のオブジェクトのオブジェクトテーブルが、共通インタフェースIDに関して、直前の結果を利用してソートされる。 [0121] In block 105, the object table of the following objects, with respect to the common interface ID, a sorted using the result of immediately preceding. オブジェクト03は、一つの共通インタフェースID4をオブジェクト01およびオブジェクト02と共有する。 Object 03, share one common interface ID4 as the object 01 and the object 02. テーブル16は、オブジェクト03インタフェースID Table 16, the object 03 interface ID
4に関してソートした後の出力を示している。 Shows the output after sorted with respect to 4. ブロック103〜105は、すべてのオブジェクトテーブルを処理するために繰り返される。 Block 103 to 105 are repeated to process all the object table.

【0122】 [0122]

【表16】 [Table 16]

【0123】 ブロック106において、先のステップから決定されたソート後の次のオブジェクトについての中間結果を結合することによって最終的な結合が決定される。 [0123] In block 106, the final binding is determined by combining the intermediate results for the next object after sorting determined from the previous step.
テーブル17は、オブジェクト01、02および03の最終的な結合結果を示している。 Table 17 shows the final binding result objects 01, 02 and 03.

【0124】 [0124]

【表17】 [Table 17]

【0125】 図11A〜図11Bは、上述した例の発展を説明する。 [0125] Figure 11A~ Figure 11B illustrates the development of the above-described example. 矩形の箱型の欄は、対応するオブジェクトが、インタフェースバージョンのバッグ固定または変更によって徐々に発展していくことを示している。 Box-shaped column of rectangles, corresponding object, indicating that gradually developed by the bag fixed or changed interface version. 右側にある丸型の欄は、アプリケーションの要求の変化に適合するように、対応するインタフェースが徐々に発展していくことを示してしる。 Column round to the right, as to conform to changes in the application requirements, know indicates that the corresponding interface gradually developed. 接続するエッジは、オブジェクトバージョンによってインプリメントされるインタフェースバージョンを示している。 It edges connecting shows the interface version that is implemented by the object version. 互換性のあるシステムは、図11BにおいてCS−I、CS−II、およびCS−IIIで表示されて”いる。この対応するインタフェースバージョンは、右側に示されている。第1の互換性のあるシステムはCS−Iである。オブジェクト02バージョン1. Compatible systems is CS-I, is displayed in CS-II, and CS-III are "in FIG. 11B. Interface Version The corresponding is shown on the right. The first is compatible system is the CS-I. object 02 version 1.
0における採集によって、新たなオブジェクト02バージョン1.1および第2 By collection in a 0, a new object 02 version 1.1 and the second
の互換性のあるシステムCS−IIが結果として得られる。 System CS-II compatible is obtained as a result. インタフェースID4 Interface ID4
における要求の変化は、インタフェースIDインタフェースバージョン1.0をインタフェースバージョン1.1および第3の互換性のあるシステムCS−III Change requirements in is the interface ID Interface Version 1.0 compatible interface versions 1.1 and third system CS-III
へ変化させる。 To change to.

【0126】 図12は、オブジェクト01、オブジェクト02およびオブジェクト03から分配されたインタフェース情報を得るために、管理フレームワーク19によるブロック103の実行を示す。 [0126] Figure 12, in order to obtain the object 01, interface information distributed from the object 02 and the object 03, indicating the execution of the block 103 by the management framework 19. 各オブジェクトのオブジェクト01、オブジェクト02およびオブジェクト03は、それぞれM1、M2およびM3と呼ばれる複数の管理オブジェクト42に分散される。 Object 01 for each object, object 02 and object 03 are dispersed to a plurality of managed objects 42, called respectively M1, M2 and M3. 各オブジェクトのオブジェクト01、オブジェクト02およびオブジェクト03のために、管理人オブジェクト42は、 Object 01 of each object, for the object 02 and the object 03, janitor object 42,
増加するオブジェクトバージョンナンバを割り当てる。 Assign an object version number to increase. 例えば、テーブル15で示す各オブジェクトテーブルは、分離した管理オブジェクト42の下に管理されることができる。 For example, the object table shown in table 15 can be managed under the management object 42 separated. オブジェクトテーブルにおけるテーブル数は、管理オブジェクト42と照会されたオブジェクトバージョンの数による。 Number of tables in the object table, according to the number of object versions queried the managed object 42. 各管理オブジェクト4 Each managed object 4
2に分散され、記憶されたインタフェースについての情報を管理オブジェクト4 2 is distributed, the management information about the stored interface object 4
2が有するので、管理オブジェクト42はブロック103〜105を実行することができる。 Because 2 has managed object 42 may perform block 103-105. 管理人オブジェクト44は、管理オブジェクト42からのブロック103〜105の結果を考察して、ブロック106および107を実行する。 Janitor object 44 is to consider the results of blocks 103 to 105 from the managed objects 42, executes the block 106 and 107.

【0127】 管理フレームワーク19は、ライフサイクルフレームワーク20と相互に作用することができる。 [0127] The management framework 19, it is possible to interact with the life cycle framework 20. スペックステージ52(specification st Spec stage 52 (specification st
age 52)では、オブジェクト30のインタフェースIDは、管理人オブジェクト44によって指定されており、管理オブジェクト42によって開発者に送られる。 In age 52), the interface ID of the object 30 is specified by the administrator object 44, it is sent to the developer by the managed object 42. 開発者は、実行ステージ54を完了し、それから単一ユニットテストを実行する。 Developers completes execution stage 54, and then run a single unit test. 実行されたオブジェクトは、管理オブジェクト42に登録される。 The executed object is registered in the management object 42. インタフェースIDと、関連するインタフェースバージョンナンバと、登録されたオブジェクト30に関連するソースおよびIDLファイルとは、管理オブジェクト42に送られる。 An interface ID, the associated interface version number, and the source and IDL files related to the object 30 that is registered and sent to the managed object 42. 例えば、テーブル18に示すように、2つのインタフェースID1および4を有するオブジェクト01は、下に続く情報を管理オブジェクト42に送る。 For example, as shown in table 18, the object 01 having two interfaces ID1 and 4 sends information that follows below into managed object 42.

【0128】 [0128]

【表18】 [Table 18]

【0129】 管理オブジェクト42は、適切なオブジェクトバージョンナンバを返す。 [0129] The management object 42, returns the appropriate object version number. 管理オブジェクト42は、以下のトラックを保持する:例えば、オブジェクト30が登録されるための現在のバージョンがすでに登録されており、この現在の登録がインタフェースバージョンの同じ組合せにとって新しいインプリメンテーションである場合、管理オブジェクト42はすぐ次のオブジェクトバージョンナンバを返す。 Managed object 42 keeps track of the following: For example, the current version is already registered for the object 30 is registered, if the current registration is a new implementation for the same combination of Interface Version , management object 42 immediately return the next object version number. オブジェクトバージョンナンバは、インタフェースバージョンのその組合せのためのベースオブジェクトバージョンから始まる。 Object version number is, starting at the base object version for the combination of the interface version. オブジェクト30のための現在バージョンがまだ登録されておらず、管理人オブジェクト44がそのインタフェースバージョンの組合せのためのいかなる増加するナンバも特定しなかった場合、インタフェースバージョンの新しい組合せのために、管理オブジェクト42は、その組合せのための全く新しいオブジェクトバージョンを戻す。 Current version is not yet registered for the object 30, when the janitor object 44 was not identified even number to any increase for combination of the interface version, for new combinations of Interface Version, managed object 42, return an entirely new object version for that combination. 他に、 other,
管理オブジェクト42は、管理人オブジェクト44によって割り当てられたナンバを返す。 Managed object 42, returns the number allocated by the administrator object 44. 登録プロセスの不良は、開発者に登録を再試行させる結果となる。 The failure of the registration process, the result of re-attempt to register to the developer.

【0130】 スペックおよびオブジェクト指向の解析ステージ52の初めに、各オブジェクト30のためのグローバルインタフェースIDは、管理オブジェクト42に指定されている。 [0130] At the beginning of the analysis stage 52 specifications and object-oriented, global interface ID for each object 30 is specified in the management object 42. 同開発者は、始めに、管理オブジェクト42からこの情報を得る。 The developers, at the beginning, get this information from the management object 42.
各オブジェクト30のために、管理人オブジェクト44は、オブジェクトIDと関連するインタフェースIDとしてのコラム名を有する管理オブジェクト42において、最近バージョンの(MRV)オブジェクトIDテーブルを生成することができる。 For each object 30, janitor object 44, the management object 42 having a column name as the interface ID associated with the object ID, recently it is possible to produce a version of (MRV) object ID table. コラムと関連する値の範囲は、そのインタフェースと関連するインタフェースバージョンナンバである。 Range of values ​​associated with the column is an interface version number associated with that interface. 登録が成功するたびに、MRVオブジェクトIDテーブルは更新される。 Each time the registration is successful, MRV object ID table is updated. インタフェースバージョンのあらゆる固有の組合せのために、管理オブジェクト42は、このテーブルに最近のインプリメンテーションだけを保持する。 For every unique combination of interface version, the managed object 42 holds only the most recent implementation of this table. このテーブルは、管理人オブジェクト44によって、全ての分配されたインタフェース上で結合(join)操作を実行するために、ブロック106を行うために使用される。 This table, by administrator object 44, to perform the join (join) operation on all of the distributed interface is used to perform the block 106. オブジェクト30の管理人オブジェクト4 Object 30 janitor object 4
4によって生成されるあらゆるテーブルのために、管理オブジェクト42は、オブジェクトIDに関連するALLVERSIONSオブジェクトIDテーブルと称される他のテーブルを生成し、その中のオブジェクトに関連する全てのオブジェクトバージョンを保有する。 For every table generated by 4, the managed object 42 generates a ALLVERSIONS object ID table called other tables associated with the object ID, reserves all object versions associated with an object in it . このテーブルは、管理人オブジェクト44には知られない。 This table is not known to management who object 44. 増加するオブジェクトバージョンナンバポリシーを使用する場合、管理人オブジェクト44は、インタフェースバージョンの各固有の組合せのためにオブジェクトバージョンナンバを増加させることを管理オブジェクトに指示する。 When using the increased object version number policy manager object 44 instructs the managed object to increase an object version number for each unique combination of interface version. 管理オブジェクト42は、MRVオブジェクトIDテーブルにこの情報をアップデートする。 Management object 42, to update this information to MRV object ID table. したがって、スターティン(始めの)グオブジェクトバージョンナンバのために、管理人オブジェクト44の全てのインタフェースバージョンおよび選択は、MRVオブジェクトIDテーブルに入力される。 Thus, for the star ting (the beginning) grayed object version number, all interface versions and selection curator object 44 is input to the MRV object ID table.

【0131】 好ましくは、インタフェースバージョンの新しい組合せを有するあらゆる登録のために、管理オブジェクト42は、オブジェクトバージョンとして、連続する1、2、3、4、5…nの中から次の数を返す。 [0131] Preferably, for every registered with a new combination of interface version management object 42 as object version, and returns the next number from the consecutive 1,2,3,4,5 ... n. 返されるその次の数は、管理オブジェクト42によってMRVオブジェクトIDテーブルから見つけ出される。 The number of the next to be returned, are found from MRV object ID table by managed objects 42.
例えば、管理オブジェクト42は、入力されたインタフェースバージョンの第1 For example, managed object 42 has a first input interface version
の固有の組合せのために、1.0を返す。 Because of the inherent combination of, return 1.0. 続いて起こるインタフェースバージョンの同じ組合せの実行には、管理オブジェクト42は、1.1、1.2、1.3 Subsequently interface version that occur in the execution of the same combination, the management object 42, 1.1, 1.2, 1.3
…1. ... 1. nを順次に返す。 Sequentially return the n. インタフェースバージョンの第2の固有の組合せが入力されるときに、管理オブジェクト42は、2.0を返す。 When the second unique combination of interface version is entered, the managed object 42 returns 2.0.

【0132】 MRVの記録がない場合、それはインタフェースバージョンの全く新しい組合せであり、管理人オブジェクト44は、いかなるスターティングオブジェクトバージョンナンバも指定していないことを意味する。 [0132] If there is no record of MRV, it is a completely new combination of interface version, janitor object 44, which means that you do not specify any starting object version number. その組合せのために、管理オブジェクト42は、1.0から(MRVオブジェクトIDテーブルから)始まるどのナンバがすでに使用されているかを見つけ出すことによって、連続する1、 For the combination, the management object 42, by finding whether what number from 1.0 starting (from MRV object ID table) is already in use, successive 1,
2…の中からその次の数を返す。 2 ... Returns the number of the next from the. 管理オブジェクト42は、MRVオブジェクトIDテーブルおよびALLVERSIONSオブジェクトIDテーブルをアップデートする。 Management Objects 42 updating the MRV object ID table and ALLVERSIONS object ID table.

【0133】 最近のバージョンが存在し、MRVオブジェクトIDテーブル中のMRVオブジェクトバージョンが‐1である場合、それはインタフェースバージョンの全く新しい組合せであるが、管理人オブジェクト44は、その組合せのためにスターティングオブジェクトバージョンナンバを指定している。 [0133] recent version exists, if MRV object version of MRV object ID table is -1, but it is a completely new combination of interface version, janitor object 44, starting because of its combination It specifies the object version number. (MRVオブジェクトバージョンは、バージョンが今までのところ存在しないこと示すために−1とされる)。 (MRV object version is -1 to indicate that no version far). この場合、管理オブジェクト42は、管理人オブジェクト44によって開発者に指定されたナンバを返す。 In this case, the management object 42, returns a number that is specified in the developer by the management who object 44. 管理オブジェクト42は、MRVオブジェクトIDテーブルタプルMRV_オブジェクトバージョン(old is −1) Managed object 42, MRV object ID table tuple MRV_ object version (old is -1)
を、管理人44に指定されたナンバ(第1の最新バージョンナンバを示すナンバ)に変更する。 The changes to the designated management person 44 number (first number indicating the latest version number). その後は、ALLVERSIONSオブジェクトIDテーブルは、オブジェクトバージョン情報を含む新しいタプルについて更新される。 Thereafter, ALLVERSIONS object ID table is updated for the new tuple that contains the object version information.

【0134】 最近のバージョンが存在せず、MRVオブジェクトバージョンが‐1でない場合、それはインタフェースバージョンの繰り返された組合せである。 [0134] without recent version exists, if MRV object version is not -1, it is a combination that has been repeated the interface version. この組合せのために、MRVオブジェクトIDテーブル中のオブジェクトバージョンを見つけ出すためにルックアップが実行される。 For this combination, the lookup is performed to find the object version in the MRV object ID table. そのルックアップは、オブジェクトバージョンの最新バージョンナンバを返す。 The look-up returns the latest version number of the object version. 例えば、それは、1.0または1.1 For example, it is 1.0 or 1.1
または1.2などのように、バージョンナンバに与えられた数に0.1を加えたものである。 Or such as 1.2, it is obtained by adding 0.1 to the number given to the version number. MRVオブジェクトIDテーブルへのMRVオブジェクトバージョンの入力は、得られる新しいバージョンナンバを返すために変更される。 Input of MRV object version to MRV object ID table is modified to return a new version number obtained. ALL ALL
VERSIONSオブジェクトIDテーブルも、より新しいバージョンナンバに更新される。 VERSIONS object ID table is also updated to a newer version number. バージョンナンバは、管理オブジェクト42によって開発者に返される。 Version number is returned to the developer by the management object 42.

【0135】 全てのオブジェクトバージョンがあるインタフェースに関連する同じインタフェースバージョンナンバを有する場合、それら一組のオブジェクトバージョンは「互換性があるインタフェース」である。 [0135] When having the same interface version number associated with all objects versions are interface object version thereof set is a "interface is compatible." 分配された各インタフェースに関して、その接続された一組のオブジェクトバージョンが互換性のあるインタフェースである場合、一組のオブジェクトバージョンは、「互換性があるアプリケーション」を形成する。 Respect dispensed each interface, when the connected set of the object version is compatible interface, a set object versions form the "Compatible Applications". 全ての固有の互換性のあるシステム(部分的なオーダー)に通用するために、同じインタフェースIDを有する全てのコラムが等しく、関連するオブジェクトバージョンおよびインタフェースバージョンが設計される(出力中にコラムのナンバは、アプリケーションにおけるオブジェクトのナンバにインタフェースのナンバに加えたものに等しい)ときはいつでも、全てのMRVオブジェクトIDテーブルは結合される。 To-class all unique compatible systems (partial order), equal for all of the column with the same interface ID, number of associated object version and interface version is designed (column in the output at any time is equal to) the time plus the number of interface number of objects in the application, all MRV object ID table are combined. したがって、行われる内部の結合は、複数の分配されたインタフェースに関するAND状態である。 Thus, coupling of the inner performed is an AND condition related to a plurality of distributed interfaces. 管理人オブジェクト4 Moderator object 4
4は、同じもののためのSQL照会をメークアップすることができて、管理オブジェクト42にそれを送信することができる。 4, the SQL query for the same to be able to make-up, it is possible to send it to the management object 42. 管理オブジェクト42は、それを実行して、管理人オブジェクト44に全てのタプルを返す。 Management object 42, run it, return all of the tuples in the management who object 44. 全てのコンパチブルシステムの部分的なオーダーから、管理人は、展開(deployment)のためのコンパチブルシステムを適宜選択することができる。 From partial order of all compatible systems, curator, it can be appropriately selected compatible system for deployment (deployment).

【0136】 分散管理ネットワークのインプリメンテーションでは、管理人オブジェクト4 [0136] In the implementation of distributed management network, janitor object 4
4は、各管理オブジェクト42のドメインのために分離したSQLストリングを書き込む。 4 writes the SQL string separated for domains of each managed object 42. 各SQLストリングは、ローカルなオブジェクトしか含まない、しかし、管理人オブジェクト44は、ローカルなものと同様に分配されたインタフェースの両方に通用する。 Each SQL string, contains only local object, however, janitor object 44-class both interfaces distributed similarly to the local ones. 各管理オブジェクト42は、その発信インタフェースについて完全な決定をできない。 Each managed object 42 can not complete decisions for the outgoing interface. 各管理オブジェクト42は、SQLストリングを実行し、管理人オブジェクト44に結果を戻す。 Each managed object 42, run the SQL string, and returns the result to the management who object 44. 全ての管理オブジェクト42からの応答を得た後、対応するオブジェクトおよびインタフェースバージョンを得る全ての分配されたインタフェースに関して、管理人オブジェクト44は、全ての中間結果の高水準の結合を行う。 After obtaining responses from all the managed objects 42, for all of the distributed interface to obtain the corresponding object and interface version, janitor object 44 performs a high level of binding of all intermediate results. 割り当てられた選択アルゴリズムの複雑さは、NLog(N)であり、ここで、Nは、オブジェクトバージョン(特有のインタフェースバージョン値のための選択性は、定数によって制限される)のナンバである。 The complexity of the assigned selection algorithm is NLog (N), where, N is the object version (selectivity for specific interface version value is limited by a constant) is a number of.

【0137】 以下、管理人オブジェクト44に対してサポートされるコマンドの実例を記述する。 [0137] The following describes the examples of commands that are supported for management who object 44.

【0138】 1. [0138] 1. CreateObject/DestroyObject:管理人オブジェクト44は、このコマンドをオブジェクトID、オブジェクトバージョン、および、StartPortIDとともに管理オブジェクト42に送信する。 CreateObject / DestroyObject: janitor object 44 transmits the command object ID, an object version, and the management object 42 with StartPortID. オブジェクトIDおよびオブジェクトバージョンは、実行するためのオブジェクト3 Object ID and object version, the object 3 to perform
0のプログラムを独自に識別する。 Uniquely identifies the 0 of the program. 管理オブジェクト42は、どこにオブジェクトIDおよびオブジェクトバージョンについての情報を保存したか、自身のデータベースを調査する。 Management object 42, where it was to save the information about the object ID and object version, to investigate its own database. 管理オブジェクト42は、開発者がチェックインに成功したときにこのデータベースの情報を更新する。 Management object 42, to update the information in this database when the developer has succeeded in check-in. 管理オブジェクト42は、実行可能な情報および引数を取り出し、適切なディレクトリに全てのDLLファイル( Managed object 42 takes out the executable information and arguments, all DLL files to the appropriate directory (
あるとして)をコピーする。 To copy a certain as). OS‐レベルのシステムコマンドを使用することによって、オブジェクト30はコマンド行引数とともに実行される。 By using OS- level system commands, objects 30 is performed with the command line arguments. 最初の2つの引数は:クロックサーバが駆動しているホスト名、および、親クロックが子接続のためにポーリングしているソケットIDである。 The first two arguments: hostname clock server is driven, and a socket ID of the parent clock is polled for the child connection. 3つ目の引数は、アプリケーションネットワーク全体におけるオブジェクト30のポート名空間(port The third argument, port name space of an object 30 in the whole application network (port
name space)を表示するStartPortIDである。 name space) is a StartPortID be displayed. 異なるオブジェクト30は、同じポート名空間を持たない。 Different objects 30, does not have the same port name space. 低いレベルのシステムからオブジェクト30の生成の成功を受けると、管理オブジェクト42は、管理人44に成功した旨のメッセージを返す。 Upon receiving the successful production of the object 30 from the lower level of the system, the management object 42 returns a message indicating success to the management person 44. 一方で、それは失敗した旨も返す。 On the other hand, it also returns indicating a failure. オブジェクトの除去は、状態ポートを介してkill/dieプロトコルを使用して(適切なセット操作を使用して)達成される 2. 2 removal of objects that use the kill / die protocol via state ports (with the appropriate set of operations) is achieved. CreatePort/DestroyPort:このコマンドは、アプリケーションの異なるインタラクションに対して動的にオブジェクトポート32 CreatePort / DestroyPort: This command is dynamically objects ports for different interactions with applications 32
を同調するために、管理オブジェクトにおいて(管理オブジェクトによって)、 To tune the in managed objects (by the management object),
オブジェクトポート32を生成するために使用される。 It is used to generate an object port 32. オブジェクトポート32 Object port 32
は、オブジェクト30およびクロックの状態を得るために使用される。 It is used to obtain the state of the object 30 and the clock. 管理オブジェクト42のポート32は、外部から透過的にインタラクションを不能/可能にするために使用されることができる。 Port 32 of the managed object 42 can be used to disable / enable transparently interaction from outside. インタラクションを不能/可能にすることは、後述するHoldClock/Releaseコマンドを使用することによって達成される。 To disable / enable interaction is achieved by the use of which will be described later HoldClock / Release Command. 管理人オブジェクト44は、生成されるPortID、インタフェースIDおよびインタフェースバージョンを送信する。 Janitor object 44 transmits PortID generated, the interface ID and the interface version. 前文の最後の2つの値は、インタフェースバージョンに関連するIDL記述と、構成において異なるエレメントのサイズおよびオフセットを生成するIDLバックエンド(Bac The last two values ​​of preamble, and IDL description associated with the interface version, IDL backend to generate the size and offset of the different elements in the structure (Bac
kend)とを使用して、オブジェクトポート32のサイズを抽出するために使用される。 kend) Use and is used to extract the size of the object port 32. CreatePort方法は、2つのパラメータを有する:Serv CreatePort method has two parameters: Serv
iceIDを表示するPortIDと、オブジェクトポート32のサイズである。 And PortID to display the iceID, is the size of the object port 32. オブジェクトポート32のサイズは、インタフェースID、インタフェースバージョンおよびアーキテクチャに依存する。 Size of the object port 32, interface ID, and depends on the interface version and architecture. 人間の管理人44がポートIDをホールドすることによってオブジェクトポート32のサービスにアクセスすることができるので、生成されたオブジェクトポート32は管理オブジェクト42に登録される。 Since the human caretaker 44 can access the service object port 32 by holding the port ID, the object port 32 thus generated is registered in the management object 42. 同じラインでは、オブジェクトポート32は、それらのサービスがネットワークアプリケーションにもはや必要でない場合、除去されることができる。 In the same line, the object port 32, if those services are no longer required for network applications, can be removed.

【0139】 3. [0139] 3. CreateClock/DestroyClock:このコマンドは、 CreateClock / DestroyClock: This command,
管理オブジェクト42にクロックを生成するために使用される。 It is used to generate a clock to the management object 42. これはパラメータを一つだけ有する:システム環境10において固有でなければならないClo It has only one parameter: should be unique in the system environment 10 Clo
ckIDである。 Is ckID. 一度、ClockIDを有するクロックが生成されると、それは、そのサービスにアクセスするために管理システムに登録される。 Once the clock having a ClockID is generated, it is registered in the management system in order to access the service. クロックが生成されるとき、それは、ベースフェーズと共に現れる。 When the clock is generated, it appears with the base phase. そのフェーズに同調されるいかなるオブジェクトポート32も、直ちに最初の進行命令を得る。 Any object port 32 to be tuned to that phase also obtained immediately the first progress instructions. 第1の進行命令を得た後に、あるものは、付加的なフェーズを生成し、より多くのオブジェクトポート32(アプリケーション特有である)を同調する。 After obtaining the first progress instructions, some, to generate additional phase, it tunes more objects port 32 (application specific is). そのサービスがアプリケーションによってもはや必要でない場合、そのクロックもまた除去されることができる。 If the service is no longer needed by the application, it is possible that clock also removed.

【0140】 4. [0140] 4. AddPhase/DestroyClockPhase:このコマンドは、クロックのベースフェーズに関する改良されたフェーズを動的に生成する。 AddPhase / DestroyClockPhase: This command dynamically generate been phase improved relative to the base phase of the clock.
それから、オブジェクトポート32は、その改良されたフェーズに同調される。 Then, the object port 32 is tuned to the improved phase.
アプリケーションの行動は、観察および制御のために、より新しいフェーズを加えることによって変化する。 Behavior of applications, for observation and control, changes by adding more new phase. 同様に、クロックフェーズは、除去されることができる。 Similarly, the clock phase can be removed. フェーズを加える方法は、2つのパラメータを有する:BaseCloc Method of applying phase has two parameters: BaseCloc
kIDと、RefinedClockIDである。 And kID, is RefinedClockID. クロックの各フェーズはクロックによって提供される分離したサービスであり、管理人オブジェクト44は要求に従い別々にそれらにアクセスする。 Each phase of the clock is a service separated is provided by the clock, curator object 44 to access them separately as required.

【0141】 5. [0141] 5. Tune/Detune Port:このコマンドは、異なるオブジェクトポート32をアプリケーションにおいて異なるクロックの異なるフェーズに同調(接続)するために使用される。 Tune / Detune Port: This command is used to tune (connection) different objects port 32 in different phases of different clock in the application. これは、特定のアプリケーションであり、3 This is a specific application, 3
つのパラメータを必要とする:PortID、ClockID、PhaseHa One of the necessary parameters: PortID, ClockID, PhaseHa
ndle(ベースフェーズはClockIDを意味し、RefinedCloc ndle (base phase means ClockID, RefinedCloc
kIDを使用する他のどのフェーズにも上記のように指定される)である。 In any other phase of using kID is above is specified as). 複数のオブジェクトポート32は、異なるインタラクションの一部としてそれらの役目が完了されるときに、離調(detune)されることができる。 Multiple objects ports 32, when their role is completed as part of a different interaction may be detuned (detune).

【0142】 6. [0142] 6. Set/Get State of object:オブジェクト30の状態のセット/ゲットのために、管理人44は、まず、状態インタフェースID Set / Get State of object: for a set / get the state of the object 30, the management person 44, first, state interface ID
およびインタフェースバージョンを識別しなければならない。 And it must identify the interface version. オブジェクトの状態インタフェースのためにIDL記述を得た後、管理人オブジェクト44はそれをIDL Backendに与える。 After obtaining the IDL description for object state interface, janitor object 44 give it to IDL Backend. そのバックエンドIDLのコンパイラは、 The back-end IDL compiler,
全てのインタフェース構造の各エレメントのために、FieldNumber、 For each element of every interface structure, fieldnumber,
FieldType、FieldOffsetおよびFieldSizeを生成する。 FieldType, to generate a FieldOffset and FieldSize. それは、また、オブジェクトポート32の実際のサイズも生成する。 It also generates the actual size of the object port 32. 管理人47は、データバッグ35およびその状態の個々のエレメントを理解する必要がある。 Moderators 47, it is necessary to understand the individual elements of the data bag 35 and its state. この機能は、インタラクションへの透過的なアクセスを可能とするために必要である。 This feature is necessary in order to allow transparent access to interaction. 例えば、インタフェースID=1、2、3のために、IDLバックエンドは下記のとおりに出力する: For example, for the interface ID = 1, 2, 3, IDL backend outputs as follows:

【0143】 [0143]

【表19】 [Table 19]

【0144】 状態をセットするために、管理人オブジェクト44は、MessageTyp [0144] In order to set the state, janitor object 44, MessageTyp
e1のDataフィールドに書き込むことができる。 It can be written in the Data field of e1. それから、管理人オブジェクト44は、StateValueを書く。 Then, janitor object 44, write the StateValue. 1、0などについての情報は、状態のIDLから得られる。 Information about such as 1,0 is obtained from the state of IDL. このように、管理人オブジェクト44は、上記の生バイト(上記の実例では情報の4バイト)を用意する。 Thus, janitor object 44 prepares the raw bytes (4 bytes of information in the above example). それから、セット(Set) Then, set (Set)
コマンドは、生バイトデータおよび生バイトのサイズとともに、オブジェクトの状態インタフェースに接続される管理オブジェクト42に送信される。 Command, with the size of the raw byte data and raw bytes, are transmitted to the management object 42 which is connected to the state interface object. 管理オブジェクト32は、また、オブジェクトの状態インタフェースIDおよびインタフェースバージョンを受信することによって、生バイトのサイズを得ることもできる。 Managed object 32 also by receiving a status interface ID and interface version of the object, it can be obtained size of raw bytes. 一度セットコマンドを受けると、管理オブジェクトポート32は、それのオブジェクトポート32を介して、そのことをオブジェクト30に先立って書き込む。 Once receiving the set command, the management object port 32, through which the object port 32, is written in advance that the object 30. それがオブジェクト30から応答を受けた場合、管理オブジェクト42は、 If it has received a response from the object 30, the management object 42,
管理人オブジェクト44へ応答を返信する。 It returns a response to the management who object 44.

【0145】 状態を得るために、管理人オブジェクト44は、MessageType2のData分野に書き込むことができる。 [0145] In order to obtain the state, janitor object 44, can be written to the Data field of MessageType2. 2についての情報は、状態のIDLから得られる。 Information about 2 is obtained from the state of IDL. 状態をセットするために、同様のステップが実行される。 To set the state, similar steps are performed. 加えて、管理人オブジェクト44は、管理オブジェクト42から受信した生の4バイトを適当な意味のあるデータに分割するために先の技術を使用する。 In addition, manager object 44 uses a previous technique to divide the raw 4 bytes received from the management object 42 in data with appropriate means. 管理人47が意味のあるデータを参照する方法はサポートされている。 How to manage people 47 to see meaningful data are supported. 例えば、管理人47は、以下のことを参照することができる: For example, the management person 47 is able to refer to the following:

【0146】 [0146]

【表20】 [Table 20]

【0147】 7. [0147] 7. SetState/GetState of Clocks (link SetState / GetState of Clocks (link
s) (CollectBag, WriteBag):オブジェクト30の状態インタフェースと関連する構成の代わりに、異なるインタラクションと関連するIDL構成を使用する。 s) (CollectBag, WriteBag): instead of the configuration associated with the state interface object 30, using the IDL structure associated with a different interaction. 例えば、インタフェースID=4、インタフェースバージョン=1.0を使用する。 For example, the interface ID = 4, using the interface version = 1.0. IDL Backendは、以下を生成する: IDL Backend generates the following:

【0148】 [0148]

【表21】 [Table 21]

【0149】 8. [0149] 8. Hold/Release Clock:HoldClockコマンドは、管理人オブジェクト44によって通知されるまで、指定されたオブジェクトポート32で次の進行命令をホールドすることを管理オブジェクト42に伝える。 Hold / Release Clock: HoldClock command, until notified by the caretaker object 44 conveys an object port 32 specified in the managed object 42 to hold the next progress instruction.
管理人オブジェクト44によって通知される場合を除き、管理オブジェクト42 Except for the case to be notified by the management who object 44, the managed object 42
はオブジェクトポート32をリリースしない。 It does not release the object port 32. 同じクロック内で他の異なるフェーズに接続されるオブジェクトポート32は、進行通知を得ず、それゆえ、静止した安定状態のままである。 Object port 32 connected to other different phases within the same clock, without the progress notification, therefore, remain stationary stable state. 管理人オブジェクト44は、アプリケーション状態を分析するために、必要なだけ進行信号をホールドすることができる。 Janitor object 44, in order to analyze the application state, it is possible to hold the progress signal as necessary. そのホールドは、管理人オブジェクト44からの特有のリリースクロックコマンドによってリリースされる。 The hold is released by specific release clock command from the management who object 44. 管理オブジェクト42がそのポートオブジェクト32に沿ってリリースを送信する場合にだけ、次のより高いまたはより低いフェーズに同調される複数のオブジェクトポート32は、相互に通信が可能とされる。 Only if the managed object 42 sends a release along the port object 32, a plurality of objects ports 32 which is tuned to the next higher or lower phase is made possible mutual communication.

【0150】 9. [0150] 9. GetIDLs of Interfaces:このコマンドを使用することによって、管理人オブジェクト44は、異なるインタフェースと関連するオブジェクト30のIDL記述を得ることができる。 GetIDLs of Interfaces: By using this command, janitor object 44 can be obtained IDL description of the object 30 to be associated with a different interface. 管理人オブジェクト44が管理オブジェクト42からIDL記述を受ける場合、それらのIDL記述はローカルデータベースへのコピーである。 If the manager object 44 receives the IDL description from managed objects 42, their IDL description is copied to the local database. この機能は、管理人47が望むときにIDL IDL when this feature, the management person 47 wants
を見ることを可能にする。 It makes it possible to see the.

【0151】 10. [0151] 10. Register/Deregister ports:これらのコマンドは、オブジェクト30内に生成されるオブジェクトポート32が管理オブジェクト42に登録されることを可能とする。 Register / Deregister ports: These commands make it possible to object ports 32 that are generated in the object 30 is registered in the management object 42. ただそれから、管理人オブジェクト44は、そのサービスにアクセスすることができる。 But from it, janitor object 44, it is possible to access the service. 管理人オブジェクト44は、アプリケーションシステムにおける各オブジェクト30のためのポートネーム空間を規定する。 Janitor object 44 defines a port name space for each object 30 in the application system. アプリケーションによってもはや必要でないときに、ポートサービスは、登録が削除されることができる。 When no longer needed by the application, the port service can registration is deleted.

【0152】 管理フレームワーク19は、矛盾なく、透過的にアプリケーションをセットアップするために使用されることができる。 [0152] management framework 19 can be used to set up consistently, transparently application. 図12は、管理人オブジェクト44によってセットアップされたネットワークアプリケーションの実例を示す。 Figure 12 shows an illustrative network application set up by janitor object 44. 管理人オブジェクト44は、ネットワークアプリケーション109をセットアップして、初期条件を指定して、発展の変更および分析を開始および制御する。 Janitor object 44 is to set up the network application 109, and specify the initial conditions, to initiate and control the change of the development and analysis. 管理人オブジェクト44は、オブジェクト01、02および03の状態を決定し、状態オブジェクトポート61a〜cおよび基本サービスオブジェクトポート62a〜c Janitor object 44, to determine the state of the object 01, 02 and 03, state objects port 61a~c and basic services object port 62a~c
をそれぞれのオブジェクト01、02および03に関連させる。 The be associated with each object 01, 02 and 03. 管理人オブジェクト44は、オブジェクト01、02および03のインタフェースのために全てのIDL記述を受信する。 Janitor object 44 receives all the IDL description to interface objects 01, 02 and 03. バックエンドIDLコンパイラは、受信された修正C Backend IDL compiler, the received modified C
ORBA IDLの意味のある説明を提供することができる。 ORBA may provide certain description meaningful IDL. 図13は、トランザクションネットワーク110をセットアップする方法のフローチャートである。 Figure 13 is a flow chart of a method for setting up a transaction network 110. ブロック111に示すように、そのネットワークアプリケーションのセットアップの前に、そのINEは、活動的(アクティブ)にされる。 As shown in block 111, prior to the setting up of the network application, the INE is in active (active). 図12を参照して、INEインタフェース45は作動される。 Referring to FIG. 12, INE interface 45 is actuated. 管理人オブジェクト44および管理オブジェクト42は、それぞれのINEポートを生成し、登録するための以下の方法を実行できる。 Janitor object 44 and the managed object 42 generates a respective INE port, able to perform the following method for registering.

【0153】 [0153]

【表22】 [Table 22]

【0154】 図13のブロック112を参照して、クロックは、管理人オブジェクト44および管理オブジェクト42に生成され、登録される。 [0154] Referring to block 112 of FIG. 13, the clock is generated in the administrator object 44 and the managed object 42 is registered. 図12に示すように、クロック86mは、管理人オブジェクト44によって生成されて、管理人オブジェクト44および管理オブジェクト42に登録される。 As shown in FIG. 12, the clock 86m is generated by curator object 44, is registered in the manager objects 44 and managing objects 42. 例えば、ClockID=5 For example, ClockID = 5
0を有するクロックは、コマンドOMF_CreateClock(Clock Clock having a 0, commands OMF_CreateClock (Clock
ID)とともに生成される。 ID) is generated with. INEポート85aは、以下のコマンドを使用して、クロック86mのベースフェーズに同調される: INE port 85a, use the following command, it is tuned to the base phase of the clock 86m:

【0155】 [0155]

【表23】 [Table 23]

【0156】 ブロック113では、管理人オブジェクト44は、管理オブジェクト42に各インタフェースのためにポートを生成するように指示する。 [0156] At block 113, janitor object 44 instructs to generate the port management object 42 for each interface. 例えば、ネットワークアプリケーション109では、4つのポートが生成されること、各々がインタフェースID1、2、3および4に関連させられる。 For example, the network application 109, the four ports are created, each of which is then associated with the interface ID1,2,3 and 4. 管理人オブジェクト44は、インタフェースIDおよびインタフェースバージョンを送信する。 Janitor object 44 transmits the interface ID and interface version. 管理オブジェクトポートは、ポート2、ポート3、ポート4、および、ポート5が割り当てられる。 Managed object port, port 2, port 3, port 4, and the port 5 is assigned. 管理オブジェクトポート2〜5のサイズは、管理人オブジェクト44によって確立される。 The size of the managed object port 2-5, is established by the management who object 44. 例えば、管理オブジェクトポート2〜5は、それぞれ4バイトのサイズを有し、この値はアプリケーションに特有である。 For example, managed object ports 2-5 each have a size of 4 bytes, this value is unique to the application.

【0157】 ブロック114では、管理人オブジェクト44は、管理オブジェクト42にオブジェクトを生成するように指示する。 [0157] At block 114, janitor object 44 instructs to generate an object management object 42. 例えば、管理人オブジェクト44は、3 For example, the management people object 44, 3
つのオブジェクト(:オブジェクトIDは1、オブジェクトVerは1.0;オブジェクトIDは2、オブジェクトVerは1.0;オブジェクトIDは3、オブジェクトVerは1.0である)を生成するためにメッセージを管理オブジェクト42に送信する。 One of the objects (: Object ID is 1, the object Ver 1.0; object ID 3, object Ver is 1.0; object ID 2, object Ver 1.0) manage messages in order to generate to send to the object 42. 3つのオブジェクトは、それぞれ、それらに対応する状態オブジェクトポート61a〜cおよび基本サービスオブジェクトポート62a〜 Three objects, each state object port 61a~c their corresponding and basic service objects ports 62a~
cを生成し、登録する。 To generate c, to register.

【0158】 ブロック115では、管理オブジェクト42は、各オブジェクト状態ポート6 [0158] At block 115, the management object 42, the object state port 6
1a〜cを管理オブジェクト状態ポート2〜4に接続するために、クロックを生成する。 To connect the 1a~c the managed object state ports 2-4, to generate the clock. 例えば、ClockID=1は、オブジェクト01の状態ポートと、オブジェクト01のために生成された管理状態ポート2とを接続するために生成される。 For example, clockid = 1 is generated in order to connect the status port of the object 01, and a management status port 2 generated for the object 01. ClockID=2は、オブジェクト02の状態ポートと、オブジェクト02のために生成された管理状態ポート3とを接続するために生成される。 Clockid = 2 is generated to connect the status port of the object 02, and a management status port 3 that is generated for the object 02. Cl Cl
ockID=3は、オブジェクト03の状態ポートと、オブジェクト03のために生成された管理状態ポートPort4とを接続するために生成される。 ockID = 3 is generated in order to connect the status port of the object 03, and a management status port Port4 generated for an object 03. ClockID=4は、インタフェースID=4のための管理状態ポート5をベースフェーズに接続するために生成される。 Clockid = 4 is generated to connect the management status port 5 for interfacing ID = 4 to the base phase.

【0159】 ブロック116では、管理人オブジェクト44は、オブジェクト状態ポートおよび管理状態ポート2〜4を同調する。 [0159] In block 116, janitor object 44 tunes the object state port and manage state port 2-4. 例えば、オブジェクト01の状態ポートおよび管理状態ポートPort2は、ClockID=1のベースフェーズに同調される。 For example, state ports and the management status port Port2 object 01 is tuned to the base phase of clockid = 1. オブジェクト02の状態および管理状態ポートPort3は、Clo State and administrative state port Port3 of the object 02, Clo
ckID=2のベースフェーズに同調される。 It is tuned to ckID = 2 of the base phase. オブジェクト03の状態ポートおよび管理状態ポートPort4は、ClockID=3のベースフェーズに町長される。 Status Port and administrative state port Port4 object 03 is mayor in clockid = 3 of the base phase. 管理状態ポートPort5は、ClockID=4のベースフェーズに同調される。 Administrative state port Port5 is tuned to the base phase of clockid = 4.

【0160】 ブロック117では、管理人44は、オブジェクト30の状態を初期化する。 [0160] In block 117, the management person 44, to initialize the state of the object 30.
例えば、管理人44は、オブジェクト30の状態を始めに0にセットするために、(IDL出力を使用する)4バイトの生データを取りまとめ、INEインタフェース45を介して管理オブジェクト42に送信する。 For example, the management person 44 in order to set to 0 at the beginning of the state of the object 30 (using IDL output) 4 summarized the bytes of raw data, to the management object 42 via the INE interface 45. 管理オブジェクト42は、対応する管理状態ポートに接続されている適切なポートにその4バイトを書き込む。 Managed object 42 writes the 4-byte to the appropriate port connected to a corresponding management status port. 管理オブジェクト42が受け取った応答は、INE45を介して、管理人オブジェクト44に返信される。 Response by the management objects 42 received via the INE45, is returned to the manager object 44. 全てのオブジェクトの状態について、同じことが繰り返される。 The state of all objects, the same is repeated.

【0161】 管理人オブジェクト44は、管理オブジェクト42の管理状態ポート5に関連するクロックのホールドを指示する。 [0161] management who object 44 indicates the hold of the clock associated with managing state port 5 of the managed object 42. すぐ次の進行命令で、そのクロックは、管理オブジェクト42によってホールドされる。 Immediately following the progress instruction, the clock is held by the management object 42. それは、現在のステップをリリースしない。 It does not release the current step. それは、管理人オブジェクト44に応答を送信する。 It sends a response to the janitor object 44. その後は、管理人オブジェクト44は、フェーズを加えることができ、3つのアプリケーションサービスポート62a〜cをクロックの新しいフェーズに動的に同調することができる。 Thereafter, janitor object 44, the phase can be added, it is possible to dynamically tune the three application service ports 62a~c the new phase of the clock. 管理人オブジェクト44は、管理オブジェクト42にクロックをリリースするように指示する。 Janitor object 44, an instruction to release the clock to the management object 42. 管理オブジェクト42が管理人オブジェクト44からのコマンドを実行した後、アプリケーションサービスポートは、進行命令および空バッグを第一に得る。 After the management object 42 executes the commands from the manager object 44, the application service port, obtain a progress instruction and an empty bag to the first. この時、オブジェクト01は、他のどのオブジェクト02 At this time, the object 01, any other object 02
、03にもあらゆる要求(リクエスト)を送信することができる。 , It is possible also to send any request (request) to 03. ベースフェーズに同調されたオブジェクトは、管理人オブジェクト44によるクロックをホールドする旨の要求がある場合を除き、データを転送し、リリースされたポートをホールドしなくてはならない。 Objects that are tuned to the base phase, unless there is a that a request of that hold the clock by the management who object 44, to transfer the data, must be hold a port that has been released. これにより、この時間でのアプリケーションの連続した進行を確保する。 Thus, to ensure a continuous progress of the application of this time. アプリケーションのセットアップは完了する。 The application of the setup is completed. 管理人オブジェクト44は、オブジェクト状態およびクロックの状態をモニターし続けることができる。 Janitor object 44, can continue to monitor the state of the object state and the clock. 管理オブジェクトポート42は、下記のように動的な再構成が必要となるまで、動的にアプリケーションから離調(detune)されることができる。 Managed object port 42 until it is necessary to dynamically reconfigure as described below can be detuned (detune) from dynamic application.

【0162】 ネットワークアプリケーションの動的な再構成は、現存のオブジェクトのサービスをシャットダウンすることなく、アプリケーションネットワークのオブジェクト状態およびサービスポートに新しいオブジェクトバージョンを追加および削除するインプリメントを含む。 [0162] dynamic reconfiguration of network applications, without having to shut down the service of existing objects, including the implement to add and delete the new object version to the object state and the service port of the application network. 例えば、バグの解決はより新しいバージョンの結果となる。 For example, resolution of the bug is the newer version of the results. 例えば、独立のトランザクションが完了または途中である場合、オブジェクトポートは、同調または離調されることができる。 For example, if the separate transaction is completed or during, the object port can be tuned or detuned. 本発明の方法では、動的な再構成はアプリケーションの静止ポイントに発生する。 In the method of the present invention, dynamic reconfiguration occurs in applications stationary point. 静止ポイントは、全てのオブジェクトポートベースがリリースされ、少なくとも一つのポートが開始されたときだけ中の管理オブジェクト42が進行命令を受けるインタラクションフレームワーク16に従うことによって、管理オブジェクト42によって確立される。 Stationary points are all objects port-based release, managed object 42 in only when at least one of the ports has been started by following the interaction framework 16 for receiving a progress instruction is established by the management object 42. 管理オブジェクト42による進行命令の受け取りは、静止ポイントである。 Receipt of progression instructions by a managed object 42 is a stationary point. したがって、あらゆる変更が組み込まれる前に、オブジェクトに任意にメッセージを送信することを許し、クロックによってメッセージを収集し管理オブジェクトへ送信し、および、クロックから進行命令を得るために管理を待つ静止状態を強制することなく、静止は自動的に達成される。 Therefore, before any changes are incorporated, allowing it to send messages to any object, it collects the message transmitted to the management object by a clock, and, a stationary state of waiting for management in order to obtain a progressive instruction from the clock without forcing, still it is automatically achieved.

【0163】 図12Bは、静止を達成するための分裂(disruption)の最小化を図示する。 [0163] Figure 12B illustrates the minimization of disruption to achieve static (disruption). アプリケーションオブジェクトは、静止状態になることを強制されない。 Application object is not forced to become stationary. オブジェクト01、02および03は、自発的に応答を送信する。 Objects 01, 02 and 03, to send a spontaneously response. クロックは、データを集めて、管理にそれを送信する。 Clock, collect the data, and sends it to the management. 管理は、クロックからの進行命令を待つ。 Management, wait for the progress instruction from the clock. これは、管理の複雑さを低減する。 This reduces the complexity of management. 管理が進行命令を得て、コントロールを有する場合にだけ、管理人は、変更を組み込むことができる。 Management is to obtain the progress instruction, only if they have the control, management people, it is possible to incorporate the change. ホールドすることは、進行命令の受信にだけ行われる。 To hold is performed only on the reception of the progression instruction. 管理人は、外側から、独立したトランザクションの完了を透過的に理解する。 Curator, from the outside, to understand the complete independent transaction transparently.

【0164】 図14は、オブジェクトの新しいバージョンが動的にインプリメントされるネットワークアプリケーション109の概要図である。 [0164] Figure 14 is a schematic diagram of a network application 109 that a new version of the object is dynamically implemented. 現存のオブジェクト02は、状態インタフェース2、および、BasicServicePortインタフェース4という2つの活動的なインタフェースを有する。 Object 02 Existing state interface 2, and has two active interface called BasicServicePort interface 4. オブジェクト02は、 Object 02,
それぞれのクロックフェーズから離調する前は、これらの両方のインタフェースに関して非活動でなくてはならない。 Prior to detuning from respective clock phases must be inactive with respect to both these interfaces. 最初に、管理人オブジェクト44は、インタフェースID=4メッセージに関連するホールドクロックを管理オブジェクト42に送信する。 First, janitor object 44 transmits a hold clock associated with the interface ID = 4 messages to the management object 42. インタフェースID=4に接続される管理ポートPort5のすぐ次の進行命令では、そのクロックは、管理オブジェクト42によってホールドされる。 The very next progression instruction management port Port5 connected to the interface ID = 4, the clock is held by the managed object 42. 管理人オブジェクト44は、クロックホールドについての通知を得る。 Janitor object 44, get notified of the clock hold. その通知では、管理人オブジェクト44は、データバッグ35(図示せず)を得る。 In the notification, curator object 44 obtains data bag 35 (not shown). サイズ、タイプおよびオフセットを生成されたIDLバックエンドコンパイラから、管理人オブジェクト44は、データバッグ35内の構成エレメントがわかる。 Size, type and the IDL backend compiler generated an offset, janitor object 44 is seen construction elements of the data bag 35. 管理人オブジェクト44によって得られた情報は、クロックの初期条件である。 Information obtained by the janitor object 44 is the initial condition of the clock. この点で、管理オブジェクト42はインタフェースID=4に関連するそのクロックの進行命令をホールドしているので、オブジェクト01、02および03は、すでに前のステップのためにリリース、および、少なくとも一つのトリガーを自発的に送り、次に最も早く来る進行命令を待つ。 In this regard, since the managed object 42 is holding the progression instruction of the clock associated with the interface ID = 4, the object 01, 02 and 03 are released for the already previous step and, at least one trigger the feed voluntarily, then wait for the most quickly come progress instruction. この点で、オブジェクト状態01、02および03はこのインタフェースに関して安定している。 In this respect, the object state 01, 02 and 03 are stable with respect to this interface. オブジェクト01、02および03は、ステップ間でメッセージがだれにわたっているのかわからず、むしろ、データ、リリース、および、トリガー(必要なら) Objects 01, 02 and 03, does not know what the message is over everyone in between steps, but rather, data, release, and (if necessary) trigger
を自発的に配り、情報を含む管理は作用するオブジェクトに透過的である。 The distribute spontaneously, management including information is transparent to the object acting. 管理人オブジェクト44は、IDL Backendを使用している分配されたインタフェースID=4に関する管理オブジェクト42から受信した生バイトをデコードすることができる。 Janitor object 44 can decode the raw bytes received from the management object 42 relates interface ID = 4 distributed using IDL Backend. 例えば、出力は以下のうちの1つとなる: For example, the output is one of the following:

【0165】 [0165]

【表24】 [Table 24]

【0166】 目的は、オブジェクト02 バージョン1.0をオブジェクト02 バージョン1.1に置き換えることである。 [0166] The purpose is to replace the object 02 version 1.0 object 02 version 1.1. 状況によって、管理人オブジェクト44は、 Depending on the situation, janitor object 44,
現在作動しているバージョンに関連するIDL記述に状況をマップし、トランザクションがどのように進行し、いつがこのポイントかを理解しなくてはならない。 To map the situation in the IDL description related to the version that you are currently working, the transaction is how to proceed, when should not have to understand what this point. 管理人オブジェクト44は、入力がオブジェクトの状態に影響を及ぼすかどうか見いださなければならない。 Janitor object 44, input must be found whether the impact on the state of the object. オブジェクト02のIDLから、以下のシナリオは、確立されることができる: 1. From IDL object 02, the following scenario can be established: 1. 状況#1の場合、オブジェクト01はちょうどトランザクションを始めた;オブジェクト01の状態は1である;オブジェクト02の状態は0である; For situations # 1, object 01 has just started the transaction; the state of the object 01 is 1; the state of the object 02 is zero;
オブジェクト03の状態は0である;古い、および、新しいオブジェクトバージョンが同一の状態遷移(state transitions)を有する場合、 The state of the object 03 is zero; old, and, if the new object version have the same state transition (state transitions),
古いバージョンは新しいものに置き換えられることができ、オブジェクト02の新しいバージョンは0に初期化されることができる。 The old version is a new one to be that it is the replacement, a new version of the object 02 can be initialized to 0. その後、トランザクションを続けさせることができ、管理人オブジェクト44は、ホールドしたクロックをリリースしなければならない。 After that, it is possible to continue the transaction, janitor object 44 must release a clock hold. 古い、および、新しいオブジェクトバージョンが同一の状態遷移を有さない場合、管理人オブジェクト44は、新しいバージョンの同等の状態を見つけ出し、それを初期化しなくてはならない。 Old, and, if a new object version does not have the same state transition, janitor object 44, finds a new version of the equivalent of the state, it must be initialized. 管理人オブジェクト44が同等の状態を見つけ出すことができない場合、トランザクションをもう一ステップ進行させ、再びホールドする。 The janitor object 44 If you can not find the equivalent of the state, was allowed to proceed another step of the transaction, to hold again. 独立のトランザクションがイニシエータで完了するまで、前のステップを繰り返す。 Until the independence of the transaction is completed in the initiator, repeat the previous step. トランザクションの終わりに、 At the end of the transaction,
必要ならば、全てのオブジェクトは置き換えられることができる。 If necessary, it is possible that all of the objects is replaced.

【0167】 2. [0167] 2. 状況#2または#3または#4の場合、オブジェクト02の状態は0であり、古い、および、新しいオブジェクトバージョンが同一の状態遷移を有する場合、古いバージョンは新しいものに置き換えられることができ、オブジェクト02の新しいバージョンは0に初期化されなければならない。 For situations # 2 or # 3 or # 4, the state of the object 02 is 0, the old, and, if the new object version has the same state transition, it is possible to replace the old version to the new ones, objects the new version of the 02 must be initialized to 0. その後、トランザクションを継続させ、管理人オブジェクトは、ホールドしたクロックをリリースしなければならない。 Then, to continue the transaction, management people object must release a clock hold. 古い、および、新しいオブジェクトバージョンが同一の状態遷移を有さない場合、管理人オブジェクト44は、より新しいバージョンに同等の状態を見つけ出し、それを初期化しなくてはならない。 Old, and, if a new object version does not have the same state transition, janitor object 44, finds the equivalent of the state to a newer version, you must initialize it. 管理人オブジェクト44が同等の状態を見つけ出すことができない場合、トランザクションをもう一つステップ進行させ、再びそれをホールドする。 If the janitor object 44 can not find an equivalent state, it is another step progress transactions, again hold it. イニシエータで独立した処理を完了するまで、前のステップを繰り返す。 To complete the independent processing with the initiator, repeat the previous step. トランザクションの終わりに、必要ならば、全てのオブジェクトは置き換えられることができる。 At the end of the transaction, if necessary, can be all of the objects is replaced.

【0168】 IDL記述への状況のマッピングによって管理人47が描画することができる結果、古いオブジェクト02はトランザクションのいかなるステップでも置き換えられることができる:TRANSAC_NAME_SQUARESUM。 [0168] As a result of it is that the management people 47 depending on the situation of the mapping of the IDL description to draw, old object 02 can be replaced at any step of the transaction: TRANSAC_NAME_SQUARESUM. 管理人オブジェクト44が新しいオブジェクトバージョンにマッピング状態を見つけ出すことができない場合、トランザクションを他のサイクルに行かせ、再度それをホールドする。 If the janitor object 44 can not find a mapping state to a new object version, let go of the transaction to the other cycle, to hold it again. イニシエータでトランザクションが終了するまで、チェックおよびこのプロセスを繰り返す。 Until the transaction at the initiator is finished, repeat the check and this process. また、必要なときに、同等の状態を見つけ出す。 In addition, when necessary, find the equivalent of the state.
本実施例では、管理人オブジェクト44は、入力を注目することによって、オブジェクト01、02および03の状態を完結することができる。 In this embodiment, janitor object 44 by looking for input, it is possible to complete the state of the object 01, 02 and 03. あるいは、管理人オブジェクト44は、オブジェクト30のステータスを決定する前、オブジェクトおよびリンクの状態を必要とする。 Alternatively, manager object 44, before determining the status of the object 30 requires a state of an object and links.

【0169】 それがシナリオ#1である場合、例えば、管理人オブジェクト44は、新しいオブジェクトバージョンが0に初期化されうる状態を有しており、そのふるまいが古いバージョンと同一であることを見いだす。 [0169] If it is Scenario # 1, for example, janitor object 44 has a new state object version may be initialized to 0, we find that the behavior is identical to the old version. 管理人オブジェクト44は、オブジェクト02サービスポートをクロックから離調するために管理オブジェクト42に通知する。 Janitor object 44, to inform the management object 42 in order to detune the object 02 service port from the clock. 管理オブジェクト42は、それを実行する。 Management object 42, to run it. オブジェクト02 Object 02
は、これ以上の進行命令またはデータを交換することができない。 It can not be exchanged any more advanced instruction or data. オブジェクト01およびオブジェクト03も、進行命令またはデータを受けることができず、 Object 01 and the object 03 also, it is impossible to receive a progress instruction or data,
それゆえに、それ以上通信もできない。 Therefore, it can not be more communication. 管理人オブジェクト44は、管理オブジェクト42にオブジェクト02の状態を得るためにメッセージを送信する。 Janitor object 44 sends a message to get the state of the object 02 to the management object 42. 管理オブジェクト42は、オブジェクト02のオブジェクト状態に状態獲得要求を送信する。 Managed object 42 transmits a state acquisition request to the object state of the object 02. オブジェクト02は安定状態を公表し、管理オブジェクト42は、ポート3で受ける。 Object 02 announced a stable state, management object 42 is received by the port 3.

【0170】 管理オブジェクト42は、管理人オブジェクト44にその状態情報を返し、再び管理人オブジェクト44は実際の状態情報を理解する。 [0170] The management object 42, returns the state information to the management who object 44, janitor object 44 again is to understand the actual state information. 管理人オブジェクト4 Moderator object 4
4は、オブジェクト02を除去(destroy)するために除去メッセージを送信する。 4 transmits the removed message in order to remove the object 02 (destroy). その除去メッセージが、オブジェクト02に送信されて、応答が管理オブジェクト42によって受けられる。 Its removal message is transmitted to the object 02, the response is received by the managed object 42. このとき、古いオブジェクト02の状態ポートおよびclockID=2は、02の状態ポートおよび管理オブジェクトポート3の接続を除去される。 At this time, state ports and clockid = 2 the old object 02 is removed the connection status port and managed objects port 3 of 02. このメッセージを受けると、古いオブジェクト0 Upon receiving this message, the old object 0
2は、自身を、更にはBasicサービスポート62bを除去する。 2, itself, further removes the Basic service port 62b. 管理人オブジェクト44は、除去について通知される。 Janitor object 44 is notified about the removal. 管理人オブジェクト44がベースフェーズでさらにClockID=4をホールドしていることは言及される。 That janitor object 44 holds the further clockid = 4 in the base phase is mentioned. 管理オブジェクトポート3は除去される。 Management object port 3 is removed.

【0171】 管理人オブジェクト44は、オブジェクトの新しいバージョン、例えば1.1 [0171] management who object 44, a new version of the object, for example 1.1
を生み出す。 The produce. 管理人オブジェクト44は、管理オブジェクトポート6にポートを生み出し、ClockID=5を有するクロックを生み出し、それから、新しいオブジェクト状態ポート、および、クロックのベースフェーズに生み出される新しい管理ポートPort6を同調する。 Janitor object 44 creates a port to the managed object port 6, produces a clock having a clockid = 5, tunes then, the new object state port, and a new management port Port6 to be generated in the base phase of the clock. 直接の1対1の状態マッピングがある場合、管理人オブジェクト44は、古いオブジェクトから得られる値に、新しいオブジェクト状態をセットし、さもなければ、それは新しいオブジェクトに同等の状態をセットすることができる。 If there is a direct one-to-one state mapping, janitor object 44, the value obtained from the old object, sets the new object state, otherwise it may set a state equivalent to the new object . 後に、新しいオブジェクトのサービスポートは、クロックのフェーズ1に同調される。 Later, the service port of the new object is tuned to the Phase 1 of the clock. クロックのホールドの後直ちに管理人に受け取られたクロックデータは、管理人オブジェクト44によってクロックに書き込まれ、管理人オブジェクト44はクロックをリリースする。 Clock data immediately received caretaker after clock hold is written to the clock by the caretaker object 44, janitor object 44 releases the clock. それから、オブジェクト01、02および03のための全ての3つのオブジェクトポートは、進行信号を得る。 Then, all three objects ports for objects 01, 02 and 03, to obtain a progressive signal. オブジェクト02は、管理人オブジェクト44によってホールドされた通路にあるオブジェクト01からの要求を直ちに受け取る。 Object 02 immediately receives a request from the object 01 in the passage which is held by the janitor object 44. 初期の形態であったように、アプリケーションは継続する。 Early as in the form, the application continues. 隣接したオブジェクト01およびオブジェクト03は、オブジェクト02の置換についてなにもわからない。 Adjacent to the object 01 and the object 03, nothing know about the replacement of the object 02.

【0172】 図15は、インタフェースの新しいバージョンを動的にインプリメントすることを示す概要図である。 [0172] Figure 15 is a schematic diagram showing that dynamically implements a new version of the interface. 例えば、インタフェースID=4は、どのオブジェクトから来たかを示すオブジェクトIDを指示する第三フィールド(third f For example, the interface ID = 4, the third field indicating the object ID that indicates came from which object (Third f
ield)を含むために変更されうる。 Can be modified to include ield). 最初に、管理人オブジェクト44は、インタフェースID=4のメッセージと関連するホールドクロックを管理オブジェクト42に送信する。 First, janitor object 44 transmits a hold clock associated with the interface ID = 4 messages to the management object 42. インタフェースID=4に接続されている管理オブジェクトポート5のすぐ次の進行命令では、クロックは、管理オブジェクト42によってホールドされる。 The very next progression instruction managed object port 5 connected to the interface ID = 4, the clock is held by the managed object 42. 管理人オブジェクト44は、クロックのホールドについての通知を得る。 Janitor object 44, get notified of the hold of the clock. 通知にもとづいて、管理人オブジェクト44は、データバッグ35 Based on the notification, janitor object 44, data bag 35
(図示せず)にデータを得て、それを理解する。 To obtain data (not shown), to understand it. 管理人オブジェクト44によって得られるこの情報は、クロックの初期条件である。 The information obtained by the janitor object 44 is the initial condition of the clock. この点で、インタフェースID=4と関連するクロックの進行命令をホールドしているので、オブジェクト01、02および03は、前のステップのためにすでに全てのリリースおよび、 In this regard, since the holding progression instruction clock associated with the interface ID = 4, the object 01, 02 and 03 are already all release and for the previous step,
少なくとも一つのトリガーを送り、次の進行命令が最も早く来る次の進行命令を待っている。 Send at least one of the trigger, waiting for the next progress instruction to the next progress instruction will come most quickly.

【0173】 上記説明されるように、4つの状況が考えられる。 [0173] As above described, it can be considered four situations. 三つ全て置き換える必要があるので、トランザクションはイニシエータオブジェクト01で完了されなければならならず、または、同等の状態が見いだされなければならない。 It is necessary to replace all three, the transaction has to have to be completed by the initiator object 01, or equivalent conditions must be found. この場合、 in this case,
全てのオブジェクトは除去され、新しいインタフェースバージョンを有する新しいオブジェクトバージョンがシステムに入れられる。 All objects are removed, a new object version having a new interface version is placed in the system. 状況によって、管理人オブジェクト44は、オブジェクト02サービスポートをクロックから離調するために管理オブジェクト42に通知する。 Depending on the situation, janitor object 44, to inform the management object 42 in order to detune the object 02 service port from the clock. 管理オブジェクト42は、それを実行する。 Management object 42, to run it. オブジェクト02は、これ以上の進行命令またはデータを交換することができない。 Object 02 can not be exchanged any more advanced instruction or data. オブジェクト01およびオブジェクト03も、進行命令またはデータを受けることができず、それゆえに、もう通信することができない。 Objects 01 and the object 03 is also not able to receive advanced instruction or data, therefore, can not be longer communicating. 管理人オブジェクト44は、オブジェクト02の状態を得るためのメッセージを管理オブジェクト42に送信する。 Janitor object 44 sends a message for obtaining the state of the object 02 to the management object 42. 管理オブジェクト42は、状態獲得要求をオブジェクト02 Management object 42, the state acquisition request object 02
のオブジェクト状態インタフェースに送る。 And it sends it to the object state interface. オブジェクト02は、安定状態を公表し、管理オブジェクト42はポート3で受ける。 Object 02, it announced a stable state, management object 42 is received by the port 3.

【0174】 同様に、古いオブジェクト01およびオブジェクト03のサービスポートは、 [0174] Similarly, the service port of the old object 01 and the object 03,
クロックから離調される。 It is detuned from the clock. 管理人オブジェクト42は、オブジェクト01およびオブジェクト03の状態を得る。 Janitor object 42, and the state of the object 01 and the object 03. 管理オブジェクト42は、管理人オブジェクト44にその状態情報を返し、再び、管理人オブジェクト44は実際の状態情報を理解する。 Management object 42, returns the state information to the management who object 44, again, janitor object 44 is to understand the actual state information.

【0175】 管理人オブジェクト44は、オブジェクト02を除去するために除去メッセージを送信する。 [0175] management who object 44 transmits a removal message in order to remove the object 02. その除去メッセージは、オブジェクトに送信され、応答が管理オブジェクト42によって受けられる。 Its removal message is transmitted to the object, the response is received by the managed object 42. 古いオブジェクト02の状態ポートは、それから離調される。 State port of the old object 02 is then detuned. オブジェクト02の状態ポートおよびオブジェクト02のために生み出された管理オブジェクトポート3を接続するClockID=2は、 Clockid = 2 to connect the managed object port 3 produced for state ports and the object 02 of the object 02,
除去される。 It is removed. 古いオブジェクト02は、自身を、さらには、このメッセージの受け取りに基づいてベーシックサービスポートを除去する。 Old object 02 itself, further removes the basic service port based on receipt of this message. 管理人オブジェクト4 Moderator object 4
4は、その除去について通知される。 4 is notified of the removal. 同様のステップが、オブジェクト01および03のために繰り返される。 Similar steps are repeated for an object 01 and 03. 管理オブジェクト42がベースフェーズでまだC Still C at the base phase management object 42
lockID=4をホールドしていることは、言及される。 lockID = 4 that you hold is mentioned. 管理ポートPort Management port Port
2、3および4は除去される。 2, 3 and 4 are removed.

【0176】 管理人オブジェクト44は、オブジェクト01のバージョン1.1の新しいバージョンを生み出す。 [0176] management who object 44, create a new version of version 1.1 of the object 01. 管理人オブジェクト44は、管理オブジェクトポート6にポートを生み出し、ClockID=5を有するクロックを生み出し、それから、新しいオブジェクトの状態ポート、および、クロックのベースフェーズに生み出される新しい管理ポートを同調する。 Janitor object 44 creates a port to the managed object port 6, produces a clock having a clockid = 5, tunes therefrom, state port of the new object, and, the new administration port to be generated in the base phase of the clock. 直接1対1の状態がある場合、管理人オブジェクト44は、古いオブジェクトから手に入れられる値に、新しいオブジェクト状態をセットし、さもなければ新しいオブジェクトに同等の状態にセットする。 If there is a state of the direct one-to-one, curator object 44, the value to be put in hand from the old object, sets the new object state, otherwise set to a state equivalent to the new object. 同じことが、オブジェクト02およびオブジェクト03のために繰り返される。 The same is repeated for the object 02 and the object 03. その状態は、適宜管理人オブジェクト44によってセットされる。 Its status is set by an appropriate manager object 44. すぐに、 Immediately,
管理人オブジェクト44は、サイズが6バイトのポート9を生み出す。 Janitor object 44, size produces a port 9 of 6 bytes. 管理人オブジェクト44は、クロックを生み出して、ポート9をそのクロックのベースに同調する。 Janitor object 44, created a clock, tune the port 9 to the base of the clock. 管理人オブジェクト44は、そのクロックをホールドすることを、管理オブジェクト42に指示する。 Janitor object 44, to hold the clock, to instruct the management object 42. 次の進行命令の到着で、管理オブジェクト42 With the arrival of the next progress instruction, management object 42
は、それについて管理人オブジェクト44に通知する。 Notifies the administrator object 44 about it. 管理人オブジェクト44 Moderator object 44
は、クロックにフェーズ1を生み出し、新しいオブジェクトの全ての3つの新しいBasicサービスポートをそのフェーズに同調でき、それからクロックをリリースする。 Is, creating a phase 1 clock, can tune the all three of the new Basic service port of the new object in that phase, and then to release the clock.

【0177】 クロック4をホールドした直後に管理人オブジェクト44が受けたクロックデータは、4バイトの情報だけを有する。 [0177] The clock data received by the management who object 44 immediately after holding the clock 4, has only the information of 4 bytes. しかし、新しいクロックは、6バイトの情報を有する。 However, the new clock has a 6-byte information. アプリケーションを展開することは整合しているので、管理人オブジェクト44は、適宜インタフェースの初期条件を変更しなくてはならない。 Because it is aligned to expand the application, janitor object 44, must change the initial conditions of the appropriate interface.
管理人オブジェクト44は、古いクロックデータを変更することができ、それから、それは管理オブジェクト42を介してクロック8へ書き込まれる。 Janitor object 44 can change the old clock data, then, it is written via the management object 42 to the clock 8. 後に、管理人オブジェクト44は、クロックをリリースする。 Later, janitor object 44, to release the clock. たった今、オブジェクトの全ての3つのポートは進行命令を得て、管理人はデータバッグ35に書いたので、アプリケーションはそれが初めの形態であったように継続する。 Right now, all of the three ports of the object to obtain the progress instruction, because the management who wrote the data bag 35, the application continues as it was the beginning of the form. 古いオブジェクト01、02および03は、どれも、関係しない。 Old objects 01, 02 and 03, none, not related.

【0178】 依存しているトランザクションは、独立のトランザクションが管理人オブジェクト44によって取り扱われるのと同じ方法で取り扱われる。 [0178] is dependent transaction is handled in the same way that an independent transaction is handled by the management who object 44. 管理人オブジェクト44は、管理ポートが進行命令を受けるインタフェースに同調されるまで待機しなくてはならない。 Janitor object 44, must wait until the management port is tuned to the interface to receive a progress instruction. そのインタフェースは、依存するトランザクションをサポートする。 Its interface is, to support the dependent transaction. インタフェースに関する全ての他の依存および/または独立するトランザクションが完了した後にだけ、管理オブジェクトポートは、進行命令を受ける。 Only after all the other dependent and / or independent transactions related interfaces is completed, the management object port receives a progress instruction. 進行命令はなかなか受信されないが、いつか進行命令は受けられるだろう( Although progress instruction is not easily received, it will proceed instruction someday is received (
依存している、および、独立しているトランザクションの両方が限定された時間内にイニシエータで完了するので)。 It depends, and, since both transactions are independent is completed in the initiator in a limited time). 最終的に、上記の管理ポートが進むときに、管理人はそれをホールドし、状態を分析し、それから、適切な変更を行うことができる。 Finally, when the administration port progresses, curator hold it to analyze a state, then, it is possible to make the appropriate changes. 従属グラフ(dependency graph)は、オブジェクトの状態を決定するために使用される。 Dependency graph (dependency `graph) is used to determine the state of the object. 管理人は、従属グラフによって全てのオブジェクトの状態を分析することができる。 Caretaker can analyze the status of all objects by dependency graph. IDL記述では、独立のトランザクションを使用するかわりに、その記述は依存度を示す。 The IDL description, instead of using a separate transaction, the description shows the dependence.

【0179】 上述の実施形態は、本発明の方式のアプリケーションを表す多くの特有の実施形態のうちほんの少しを証明しただけであることがわかる。 [0179] embodiments described above, only it can be seen that only proved a little of the many specific embodiments that represent applications of the method of the present invention. さまざまなおよび改良された他のアレンジが、本発明の技術的範囲から逸脱することなく、当業者によって上記方式に従って容易に発明される。 Various and improved other arrangements without departing from the scope of the present invention are readily invention according to the above method by those skilled in the art.


【図1】 本発明の教示による分散型ソフトウェア開発環境のアーキテクチャ図である。 1 is an architectural diagram of a distributed software development environment in accordance with the teachings of the present invention.

【図2A】 複数のオブジェクトの分散型ネットワークの概要図である。 2A is a schematic diagram of a distributed network of objects.

【図2B】 2つのフェーズトランザクションにおける複数のオブジェクトの分散型ネットワークの概要図である。 It is a schematic diagram of a distributed network of a plurality of objects in Figure 2B two-phase transactions.

【図3A】 インタラクションネットワークとフェーズの概要図である。 FIG. 3A is a schematic diagram of the interaction network and phase.

【図3B】 インタラクションクロック内の異なるフェーズのステップの概要図である。 FIG. 3B is a schematic diagram of the different phases of the step within the interaction clock.

【図4】 分散型管理ネットワークの概要図である。 FIG. 4 is a schematic diagram of a distributed management network.

【図5】 ライフサイクルのステージの概要図である。 FIG. 5 is a schematic diagram of a stage of the life cycle.

【図6】 ネットワークアプリケーションの概要図である。 FIG. 6 is a schematic diagram of a network application.

【図7】 限界のないネゴシエーションの方法のフローチャートである。 7 is a flowchart of the negotiation methods without limitation.

【図8】 ネゴシエーションネットワークの概要図である。 FIG. 8 is a schematic diagram of a negotiation network.

【図9】 ネットワークアプリケーションを実現するためのステップのブロック図である。 9 is a block diagram of steps for implementing the network application.

【図10】 互換性があるアプリケーションを決定する方法のフローチャートである。 10 is a flowchart of a method for determining a compatible application.

【図11A】 展開しているネットワークアプリケーションの概要図である。 FIG. 11A is a schematic diagram of a network application you are deploying.

【図11B】 図11Aに示される展開による複数の互換性があるアプリケーションの概要図である。 It is a schematic diagram of an application with multiple compatible by deployment FIG. 11B shown in FIG. 11A.

【図12A】 人間の管理人によってセットされた整合性があり、透過的なネットワークアプリケーションを示す概要図である。 [Figure 12A] is consistent set by human curator is a schematic diagram showing the transmission network applications.

【図12B】 非活動を達成するために分裂の最小化を示す概要図である。 12B is a schematic diagram illustrating the minimization of disruption to achieve the inactivity.

【図13】 整合性があり、透明なアプリケーションネットワークをセットアップする方法のフローチャートである。 [Figure 13] is consistent, a flowchart of a method for setting up a transparent application network.

【図14】 オブジェクトの置換のための再配置の間、図11に示されたネットワークアプリケーションの概要図である。 [14] During the relocation for the object replacement is a schematic diagram of a network application shown in Figure 11.

【図15】 インタフェースの新しいバージョンを実現するための再配置の間、図11に示されたネットワークアプリケーションの概要図である。 [15] During the relocation to realize a new version of the interface is a schematic diagram of a network application shown in Figure 11.

───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,TZ,UG,ZW ),EA(AM,AZ,BY,KG,KZ,MD,RU, TJ,TM),AE,AL,AM,AT,AU,AZ, BA,BB,BG,BR,BY,CA,CH,CN,C R,CU,CZ,DE,DK,DM,EE,ES,FI ,GB,GD,GE,GH,GM,HR,HU,ID ────────────────────────────────────────────────── ─── of the front page continued (81) designated States EP (AT, BE, CH, CY, DE, DK, ES, FI, FR, GB, GR, IE, I T, LU, MC, NL, PT, SE ), OA (BF, BJ, CF, CG, CI, CM, GA, GN, GW, ML, MR, NE, SN, TD, TG), AP (GH, GM, K E, LS, MW, SD, SL, SZ, TZ, UG, ZW), EA (AM, AZ, BY, KG, KZ, MD, RU, TJ, TM), AE, AL, AM, AT, AU, AZ, BA, BB, BG, BR, BY, CA, CH, CN, C R, CU, CZ, DE, DK, DM, EE, ES, FI, GB, GD, GE, GH, GM, HR, HU, ID , IL,IN,IS,JP,KE,KG,KP,KR,K Z,LC,LK,LR,LS,LT,LU,LV,MA ,MD,MG,MK,MN,MW,MX,NO,NZ, PL,PT,RO,RU,SD,SE,SG,SI,S K,SL,TJ,TM,TR,TT,TZ,UA,UG ,US,UZ,VN,YU,ZA,ZW (72)発明者 スルヤナラヤナ,マンジュナス,エム. , IL, IN, IS, JP, KE, KG, KP, KR, K Z, LC, LK, LR, LS, LT, LU, LV, MA, MD, MG, MK, MN, MW, MX, NO, NZ, PL, PT, RO, RU, SD, SE, SG, SI, S K, SL, TJ, TM, TR, TT, TZ, UA, UG, US, UZ, VN, YU, ZA, ZW (72 ) inventor Suruyanarayana, Manjunasu, Em. アメリカ合衆国,ニュー ジャージー州, ハイランド パーク,シダー レーン 110エイ Fターム(参考) 5B076 AC01 DB00 DC07 DD05 【要約の続き】 御することができる。 United States, New Jersey, Highland Park, Cedar Lane 110 EI F-term (reference) 5B076 AC01 DB00 DC07 DD05 can be [summary of continued] Gosuru. デザインステージの間、管理フレ ームワークは、また、限界がないネゴシエーションを実 行するために、ソフトウェア開発者によって使用される ことができる。 During the design stage, the management framework is also to perform negotiation without limitation, can be used by software developers.

Claims (58)

    【特許請求の範囲】 [The claims]
  1. 【請求項1】 オブジェクト操作を実行するための複数のオブジェクトを有し、 それぞれのオブジェクトはオブジェクトインタフェースを含み、 少なくとも1つのオブジェクトポートは、前記オブジェクトの前記それぞれのオブジェクトインタフェースに接続され、 前記オブジェクトの1つの前記オブジェクトポートを、前記オブジェクトの他の1つの前記オブジェクトポートに接続するインタラクション手段を備え、 前記オブジェクトインタフェースに互換性があって、前記インタラクション手段が、前記互換性のあるインタフェースを持つ前記ポートの動的に変更される設定により、前記オブジェクト操作からの制御とデータのシーケンシャルフローを与える場合、前記オブジェクトの1つは前記オブジェクトの他の1つと通信するこ [Claim 1 further comprising a plurality of objects to perform object operations, each object includes an object interface, at least one object ports are connected to said respective object interfaces of said object, said object one of the objects port comprises interaction means for connecting to other one of said objects ports of said object, if there is compatibility with the object interface, the interaction means, said port having an interface with the compatible the settings that are dynamically changes, when giving the sequential flow of control and data from the object manipulation, one of the objects other one communication child of the object ができる分散オブジェクト指向ソフトウェア開発環境。 Distributed object-oriented software development environment that can.
  2. 【請求項2】 前記インタラクション手段は、円形の通信経路で表現され、 Wherein said interaction means is represented by a circular communication path,
    第1の前記オブジェクトポートは、前記円形の通信経路に接続されている少なくとも第2の前記オブジェクトポートから情報を受信するために前記円形の通信経路に接続されている請求項1の開発環境。 The first of the objects ports, the circular communication paths the connected at least a second of said circular communication paths the connected claim 1 development environment from the object port to receive information.
  3. 【請求項3】 前記インタフェースは、修正CORBAインタフェース記述言語で記述されている請求項1の開発環境。 Wherein the interface is modified CORBA interface description claim 1 in the development environment described in a language.
  4. 【請求項4】 複数の管理オブジェクトを有し、 それぞれの前記管理オブジェクトは前記オブジェクトの少なくとも1つと関連しており、 管理人オブジェクトと、 前記管理オブジェクトを前記管理人オブジェクトに接続するネットワークの発展のためのインタフェースとをさらに含み、 管理人オブジェクトは、前記管理オブジェクトにより前記オブジェクトを管理する請求項1の開発環境。 4. a plurality of managed objects, each of the managed object is associated with at least one of said objects, and caretaker objects, the development of a network connecting the management object to the manager object further comprising an interface for, janitor object development environment according to claim 1 for managing said object by said managed object.
  5. 【請求項5】 前記管理人オブジェクトは、増加するオブジェクトバージョンナンバを前記オブジェクトに割り当てる請求項4の開発環境。 Wherein said manager object, claim 4 of the development environment to allocate an object version number to be increased with the object.
  6. 【請求項6】 前記管理人オブジェクトは、前記オブジェクトインタフェースに単調に増加するインタフェースバージョンを割り当て、 それぞれの前記オブジェクトインタフェースは、前記アプリケーションネットワーク内の唯一のグローバルIDを有する請求項5の開発環境。 Wherein said manager object, assigns the interface version that monotonically increases with the object interface, each of the object's interface, claim 5 of the development environment having a unique global ID in the application network.
  7. 【請求項7】 前記グローバルIDと前記管理オブジェクトを有する前記オブジェクトの前記オブジェクトバージョンナンバとを登録することによって、前記オブジェクトの前記互換性のあるインタフェースを決定するための手段をさらに含む請求項6の開発環境。 By 7. registering with said object version number of the object with the global ID and the managed object, according to claim 6, further comprising means for determining the compatible interface of the object Development environment.
  8. 【請求項8】 前記ネットワークアプリケーションにおける前記オブジェクトの前記オブジェクトバージョンを表現する行と、オブジェクトIDとインタフェースIDを表現するコラムを含むオブジェクトテーブルを決定する手段と、 オブジェクトバージョンに関する前記決定されたオブジェクトテーブルをソートする手段と、 第1の前記オブジェクトのために第1の前記ソートされたオブジェクトテーブルと共通の前記インタフェースIDに関する第2の前記オブジェクトのために第2の前記ソートされたオブジェクトテーブルとをソートする手段と、 前記インタフェースIDに関する前記第1の前記ソートされたオブジェクトテーブルと前記第2の前記ソートされたオブジェクトとを接続する手段と、 前記互換性があるオブジェクトを 8. A line representing said object version of the in the network application object, means for determining an object table including a column representing the object ID and the interface ID, the object table which is the decision regarding the object version sorting means for sorting, and the first second of the sorted object table for the second of said object for common of the interface ID and the sorted object table for the first of said object means and includes means for connecting the first of the sorted object table about the interface ID with the second of said sorted object, an object in said compatible 記オブジェクトテーブルの前記接続から抜き出す手段と、 をさらに含む請求項7の開発環境。 7. Development of serial further comprising means for extracting from the connection of the object tables, the.
  9. 【請求項9】 前記共通の前記インタフェースIDに関する次のオブジェクトテーブルをソートする手段と、 前記接続された第1の前記ソートされたオブジェクトテーブルと前記第2の前記ソートされたオブジェクトテーブルを用いて前記次のオブジェクトテーブルを接続する手段と、 をさらに含む請求項8の開発環境。 9. A means for sorting the next object table for the common of the interface ID, the using the connected first of said sorted the the object table second the sorted object table development of claim 8, further comprising means for connecting the next object table, the.
  10. 【請求項10】 前記オブジェクトと前記インタフェースが規定されているスペックステージ、前記オブジェクトの前記インタフェースが交渉されるデザインステージ、前記オブジェクトの前記交渉されたインタフェースがインプリメントされるインプリメンテーションステージ、および、前記インプリメントされたインタフェースがテストされるテストステージを含んだライフサイクルフレームワークをさらに含む請求項1の開発環境。 10. A specification stage the said object interface is specified, the design stage the interface is negotiated the object implementation stage the negotiated interface of the object is implemented, and the implemented interface further comprises a lifecycle framework including a test stage to be tested claims 1 development environment.
  11. 【請求項11】 a. 11. a. 管理人オブジェクトを決定するステップと、 b. Determining a janitor object, b. 少なくとも1つの管理オブジェクトを決定するステップと、 c. Determining at least one managed object, c. 前記管理人オブジェクトによって、オブジェクト操作実行用の複数のオブジェクトを生成する前記少なくとも1つの管理オブジェクトを有するオブジェクト(それぞれの前記オブジェクトはオブジェクトインタフェースを含む)指示することによって、前記管理人オブジェクトと前記管理オブジェクトとの間のネットワークの発展(INE)のためのインタフェースを決定するステップと、 d. By the caretaker object, said object having at least one managed object to generate a plurality of objects for the object operation execution (the object of each including object interface) by instructing the managed object and the caretaker Objects determining a network interface for development (INE) of between, d. 前記管理オブジェクトに前記少なくとも1つのオブジェクトを接続するインタラクション手段を生成するステップと、 e. And generating an interaction means for connecting said at least one object in the management object, e. 前記管理オブジェクトに関連する少なくとも1つの管理オブジェクトポートを決定するステップと、 f. Determining at least one managed object port associated with the managed object, f. 前記オブジェクトに関連する少なくとも1つのオブジェクトポートを決定するステップと、 g. Determining at least one object ports associated with the object, g. 前記オブジェクトポートから前記管理オブジェクトポートへのネゴシエーションを進めるステップと、 を含むソフトウェア開発の間ネゴシエーションをインプリメントする方法。 How to implement during negotiation of software development, including the steps of advancing the negotiation to the managed object port from the object port.
  12. 【請求項12】 前記管理人オブジェクトから、前記オブジェクトの少なくとも1つに関連する開発者のそれぞれに前記オブジェクトを設計するタスクを割り当てるステップをさらに含む請求項11の方法。 12. The method of claim 11 wherein the janitor object, further comprising the step of assigning the task of designing the object in each of the developers associated with at least one of said objects.
  13. 【請求項13】 開発される前記オブジェクトのそれぞれのために、前記開発者によって開発者ネゴシエーションポートを生成するステップをさらに含む請求項12の方法。 13. For each of the objects to be developed, The method of claim 12, further comprising the step of generating a developer negotiation port by the developer.
  14. 【請求項14】 前記開発者ネゴシエーションポートを前記管理人オブジェクトに登録するステップをさらに含む請求項13の方法。 14. The method of claim 13, further comprising the step of registering the developer negotiation port to the manager object.
  15. 【請求項15】 前記開発者ネゴシエーションポートのそれぞれの1つにそれぞれが関連する前記管理オブジェクトに、管理ネゴシエーションポートを生成することをさらに含む請求項14の方法。 15. to the management objects, each to a respective one of said developer negotiation port related method of claim 14, further comprising generating a management negotiation port.
  16. 【請求項16】 ステップgは、 指示されたオブジェクトに進めるための前記それぞれの管理人ネゴシエーションポートに、前記それぞれの開発者ネゴシエーションポートを介して、前記開発者によって修正CORBA IDLで記述されたネゴシエーションスクリプトを送ることを含む請求項15の方法。 16. Step g is the respective janitor negotiation ports for advancing the indicated object, through the respective developers negotiation port, negotiation scripts written in modified CORBA IDL by the developer the method of claim 15, comprising a letter.
  17. 【請求項17】 前記管理オブジェクトで受けられた修正CORBA ID 17. Fixed CORBA ID that is received by the managed object
    Lで記述された前記スクリプトを前記INEを通して前記管理人オブジェクトに送るステップをさらに含む請求項16の方法。 The method of claim 16, the script written in L further comprises sending to the manager object through the INE.
  18. 【請求項18】 前記管理人オブジェクトで受けられた修正CORBA I 18. A correction was received by the management who object CORBA I
    DLで記述された前記スクリプトを人間が読み出し可能なデータに翻訳するステップをさらに含む請求項17の方法。 The method of claim 17 human the script written in DL further comprising the step of translating in a readable data.
  19. 【請求項19】 ネゴシエーションを進めるステップは、すべての開発者が一致するまで繰り返される請求項11の方法。 19. advancing the negotiation process of claim 11 in which all the developer is repeated until the match.
  20. 【請求項20】 前記ネゴシエーションは、修正CORBA IDLにおいて定義されているオブジェクトインタフェースを決定する請求項19の方法。 20. The negotiation method of claim 19 for determining the object interfaces defined in the modified CORBA IDL.
  21. 【請求項21】 複数のオブジェクトを決定するステップと、 オブジェクトポートをそれぞれの前記オブジェクトに関連させるステップと、 前記オブジェクト間でメッセージを交わすためのトランザクションを決定するステップと、 前記オブジェクトのそれぞれに対するオブジェクトインタフェースを決定するステップと、 それぞれの決定されたオブジェクトインタフェースをインプリメントするステップと、を含み、 前記メッセージが、互換性のある前記オブジェクトインタフェースを持つ前記オブジェクト間でシーケンシャルに交わされる、ネットワークアプリケーションをインプリメントする方法。 21. determining a plurality of objects, comprising the steps of associating an object ports to each of said object, determining a transaction for exchanging messages between the objects, object interface for each of the objects determining includes a step of implementing each object interface that is determined in the method in which the message is exchanged sequentially between the object with the object interface that is compatible, for implementing network applications .
  22. 【請求項22】 前記インプリメントされたオブジェクトと管理フレームワークを有する前記オブジェクトインタフェースを登録するステップをさらに含み、前記管理フレームワークはオブジェクトIDとオブジェクトバージョンIDとインタフェースバージョンIDを戻す請求項21の方法。 22. further comprising the step of registering the object interface having a management framework and the implementation object, the management framework method according to claim 21 to return the object ID and object version ID and Interface Version ID.
  23. 【請求項23】 前記インプリメントステップは、 互換性のある前記オブジェクトバージョンIDを持つネットワークアプリケーションを決定するステップをさらに含む請求項22の方法。 23. The implementation The method of claim 22, further comprising the step of determining a network application with the object version ID compatible.
  24. 【請求項24】 互換性のあるオブジェクトバージョンを持つネットワークアプリケーションを決定する前記ステップは、 a. 24. The step of determining the network application whose object versions are compatible, a. 前記オブジェクトIDと前記オブジェクトバージョンIDを表現する行と、前記インタフェースバージョンIDを表現するコラムとを含んでいるオブジェクトテーブルを決定するステップと、 b. Determining a line representing said object version ID and the object ID, and the object table and a column representing the interface version ID, b. 前記オブジェクトバージョンIDに関して前記決定されたオブジェクトテーブルをソートするステップと、 c. A step of sorting the object table the determined relative to the object version ID, c. 共通の前記インタフェースIDに関して、第1の前記オブジェクトのための第1の前記ソートされたオブジェクトテーブルと第2の前記オブジェクトのための第2の前記ソートされたオブジェクトテーブルとをソートするステップと、 d. Respect common the interface ID, the step of sorting the second of the sorted object table for the first of the sorted object table and a second of said objects for the first of said objects, d . 前記オブジェクトテーブルの接続を形成する前記インタフェースIDに関して、前記第1の前記ソートされたオブジェクトと前記第2の前記ソートされたオブジェクトとを接続するステップと、 e. Wherein with respect to said interface ID to form a connection object table, a step of connecting the first said and said sorted object of the second of the sorted object, e. 前記互換性があるオブジェクトを前記オブジェクトテーブルの前記接続から抜き出すステップと、 前記互換性があるオブジェクトを前記オブジェクトテーブルの前記接続から抜き出すステップと、 をさらに含む請求項23の方法。 Wherein the step of extracting the compatible object from the connection of the object table, The method of claim 23, the object whose the compatible further comprising the steps of: extracting from the connection of the object table.
  25. 【請求項25】 f. 25. f. 前記共通の前記インタフェースIDに関して次のオブジェクトテーブルをソートするステップと、 g. A step of sorting the next object table with respect to the common of the interface ID, g. ステップdの前記接続されたオブジェクトテーブルを用いて前記次のオブジェクトテーブルを接続するステップと、 をさらに含む請求項24の方法。 The method of claim 24, further comprising the steps of: connecting the next object table using the connection object table in step d.
  26. 【請求項26】 前記オブジェクトテーブルは、前記行と前記コラムとで増加する前記オブジェクトバージョンIDと前記インタフェースバージョンIDを得るために生成される請求項24の方法。 26. The object table, The method of claim 24 which is produced in order to obtain the interface version ID and the object version ID that increases between the row and the column.
  27. 【請求項27】 それぞれの前記管理オブジェクトが前記オブジェクトの少なくとも1つと関連する複数の管理オブジェクトを決定するステップと、 管理人オブジェクトを決定するステップと、 前記管理人オブジェクトに前記管理オブジェクトを接続するためにネットワークの発展のためのインタフェースを決定するステップと、 前記管理オブジェクトと相互に作用する前記管理人オブジェクトによって前記オブジェクトを管理するステップと、 をさらに含む請求項21の方法。 A step 27. Each said managed object to determine at least one associated plurality of managed objects of said object, determining a janitor object, for connecting the management object to the manager object step a the method of claim 21, further comprising the steps of: managing the objects by the janitor object acting on the managed object and mutually determining an interface for network development to.
  28. 【請求項28】 前記決定されたオブジェクトを更新するステップと、 前記管理オブジェクトを介して前記更新されたオブジェクトに前記管理人オブジェクトによって増加するオブジェクトバージョンナンバを割り当てるステップと、 をさらに含む請求項27の方法。 A step 28. Update the determined objects, according to claim 27, further comprising the steps of assigning an object version number, a is increased by the manager object to said updated object via said managed object Method.
  29. 【請求項29】 前記オブジェクトインタフェースを更新するステップと、 前記管理オブジェクトを介して前記更新されたオブジェクトに前記管理人オブジェクトによって増加するインタフェースバージョンナンバを割り当てるステップと、 をさらに含む請求項27の方法。 29. and updating the object interface method of claim 27, further comprising the steps of assigning an interface version number, a is increased by the manager object to said updated object through the managed object.
  30. 【請求項30】 a. [Claim 30] a. 管理人オブジェクトを決定するステップと、 b. Determining a janitor object, b. 少なくとも1つの管理オブジェクトを決定するステップと、 c. Determining at least one managed object, c. 前記管理人オブジェクトによって、前記管理人オブジェクトと前記管理オブジェクトとの間のネットワークの発展(INE)のためのインタフェースを決定し、オブジェクト操作実行用の少なくとも1つのオブジェクト(それぞれの前記オブジェクトはオブジェクトインタフェースを含む)を生成する前記管理人オブジェクトによって前記少なくとも1つの管理オブジェクトに指示するステップと、 d. By the caretaker object, the network interface to determine, at least one said object is an object's interface objects (each for object operation executed for the development (INE) of between the caretaker object and said managed object a step by the janitor object that generates including) instructing the at least one managed object, d. 前記管理オブジェクトに前記オブジェクトを接続するための、前記INE For connecting the object to the management object, the INE
    と前記管理人オブジェクトにも接続されているインタラクション手段を生成するステップと、 e. And generating an interaction means wherein is also connected to the manager object and, e. 前記管理オブジェクトを前記初期化された状態に進めるために前記初期化された状態を前記INEによって前記オブジェクトに進め、前記管理オブジェクトを前記管理オブジェクトから前記オブジェクトまで前記初期化された状態に進め、前記オブジェクトの前記管理人オブジェクトでの状態を初期化するステップと、 を含むネットワークアプリケーションをセットアップする方法。 The advancing the initialized state managed objects to advance to the initialized state to the object by the INE, promoting the managed objects state of being the initialization from the managed object to said object, said how to set up the step of initializing the state at the janitor object of the object, the network application comprising a.
  31. 【請求項31】 f. 31. f. 前記管理人オブジェクトのための管理人オブジェクトINEポートを決定するステップと、 g. Determining a janitor object INE port for the caretaker object, g. 前記管理オブジェクトのための管理オブジェクトINEポートを決定するステップと、 h. Determining a managed object INE port for the managed object, h. 前記マネージャーオブジェクトのための前記INEポートと前記管理オブジェクトのための前記INEポートとを前記INEに関連させるステップと、 をステップcの後にさらに含む請求項30の方法。 The INE method of claim 30, further comprising after step and a step c of the port is associated with said INE for the INE port and the managed objects for the manager object.
  32. 【請求項32】 前記管理オブジェクトに関連する少なくとも1つのポートを決定するステップと、 それぞれの前記オブジェクトに関連する少なくとも1つのオブジェクトポートを決定するステップと、 をさらに含む請求項31の方法。 32. determining at least one port associated with the managed object, at least 32. The method of claim 31, further comprising the steps, the determining one object port associated with each of said objects.
  33. 【請求項33】 前記オブジェクトインタフェースは、修正CORBA I 33. The object interface, modified CORBA I
    DLで定義されている請求項30の方法。 The method of claim 30, which is defined by the DL.
  34. 【請求項34】 管理人オブジェクトを決定するステップと、 少なくとも1つの管理オブジェクトを決定するステップと、 前記管理人オブジェクトによって、オブジェクト操作実行用の少なくとも1つのオブジェクトを生成する前記少なくとも1つの管理オブジェクトを有するオブジェクト(それぞれの前記オブジェクトはオブジェクトインタフェースを含み、 Determining a 34. caretaker object, determining at least one managed object, by said manager object, said at least one management object to generate at least one object for object operation executed said object (each having an object includes object interface,
    オリジナル状態を持つ)を指示することによって、前記管理人オブジェクトと前記管理オブジェクトとの間のネットワークの発展(INE)のためのインタフェースを決定するステップと、 前記管理オブジェクトに前記少なくとも1つのオブジェクトを接続するためのインタラクション手段を生成するステップと、 前記管理オブジェクトに関連する少なくとも1つの管理オブジェクトポートを決定するステップと、 前記オブジェクトに関連する少なくとも1つのオブジェクトポートを決定するステップと、 前記管理オブジェクトによって変更される前記オブジェクトのうちの少なくとも1つに静止ポイントを確立するステップと、 を含むネットワークアプリケーションを動的に変更する方法。 Connection by instructing with original state), determining the interface for the development of the network between the manager object and said managed object (INE), the at least one object in the managed object and generating an interaction means for, determining determining at least one managed object port associated with the managed object, at least one object ports associated with said object, change by said managed object how to dynamically change the network application comprising the steps of establishing a stationary point in at least one, the one of the objects to be.
  35. 【請求項35】 前記オブジェクトから前記管理人オブジェクトまで前記少なくとも1つのオブジェクトを更新するためのデータを送るステップをさらに含む請求項34の方法。 35. The method of claim 34, further comprising the step of sending the data for updating the at least one object from said object to said manager object.
  36. 【請求項36】 変更される前記オブジェクトの前記ポートを決定するステップと、 変更される前記ポートを再構成するために前記管理人オブジェクトから除去コマンドを送信するステップと、 前記管理人オブジェクトで変更される前記オブジェクトの新しいバージョンを生成するステップと、 前記オブジェクトの前記新しいバージョンを前記管理オブジェクトに送るステップと、 前記オブジェクトの前記新しいバージョンを持つ新しいオブジェクトを生成するステップと、 前記新しいオブジェクトに関連する新しいオブジェクトポートを決定するステップと、 をさらに含む請求項35の方法。 Determining a 36. The port of the object to be changed, and sending the removed command from said manager object to reconstruct the ports to be modified, changed in the manager object generating a new version of the object that, and sending the new version of the object in the managed object, generating a new object with the new version of the object, a new associated with the new object the method of claim 35, further comprising determining an object port, a.
  37. 【請求項37】 前記オブジェクトの該オリジナル状態が前記オブジェクトの前記新しいバージョンの状態と同じものである場合、管理人オブジェクトで決定するステップと、 前記オリジナルオブジェクトバージョンと前記新しいバージョンが同じ状態を持つ場合、前記オリジナルオブジェクトバージョンを前記新しいバージョンに置き換えるステップと、 前記オリジナルオブジェクトバージョンと前記新しいバージョンが同じ状態を持たない場合、前記管理人オブジェクトで同等の状態を決定して前記オリジナルバージョンを前記新しいバージョンに置き換えるステップと、 をさらに含む請求項36の方法。 37. When the original state of the object is the same as the new version of the state of the object, determining by janitor object, when said original object version and the new version has the same state a step of replacing the original object version to the new version, the if the original object version and the new version does not have the same state, the new version of the original version to determine an equivalent state in the janitor object the method of claim 36, further comprising a step of replacing the.
  38. 【請求項38】 前記オブジェクトの1つから前記管理人オブジェクトまで前記少なくとも1つのインタフェースバージョンを更新するためのデータを進めるステップをさらに含む請求項37の方法。 38. The method of claim 37, further comprising the step of advancing the data for updating said at least one interface versions from one to the janitor object of the object.
  39. 【請求項39】 前記インタフェースバージョンの前記更新のために変更される前記オブジェクトのナンバを決定するステップと、 変更されるオブジェクトの前記ナンバを再構成するために前記管理人から除去コマンド送信するステップと、 前記管理人オブジェクトで変更される前記オブジェクトの各ナンバの新しいバージョンを生成するステップと、 前記管理オブジェクトに前記新しいバージョンを送るステップと、 前記新しいバージョンを持つ新しいオブジェクトに一致するナンバを生成するステップと、 をさらに含む請求項38の方法。 Determining a number of the object 39. is changed for the updating of the interface version, removing command transmitted from the janitor to reconstruct the number of objects to be changed , the step of generating the step of generating a new version of the number of the objects to be changed by the caretaker object, and sending the new version to the management object, a number that matches the new object the with the new version When, further comprising the method of claim 38.
  40. 【請求項40】 前記オブジェクトインタフェースは、修正CORBA I 40. The object interface, modified CORBA I
    DLで定義されている請求項34の方法。 The method of claim 34, which is defined by DL.
  41. 【請求項41】 管理人オブジェクトを決定する手段と、 少なくとも1つの管理オブジェクトを決定する手段と、 前記管理人オブジェクトによって、オブジェクト操作実行用の複数のオブジェクトを生成する前記少なくとも1つの管理オブジェクトを有するオブジェクト( 41. A means for determining a janitor object comprises means for determining at least one managed object, by said manager object, said at least one management object to generate a plurality of objects for object operation executed object(
    それぞれの前記オブジェクトはオブジェクトインタフェースを含む)を指示することによって、前記管理人オブジェクトと前記管理オブジェクトとの間のネットワークの発展(INE)のためのインタフェースを決定するステップと、 前記管理オブジェクトに前記少なくとも1つのオブジェクトを接続するインタラクション手段を生成する手段と、 前記管理オブジェクトに関連する少なくとも1つの管理オブジェクトポートを決定する手段と、 前記オブジェクトに関連する少なくとも1つのオブジェクトポートを決定する手段と、 前記オブジェクトポートから前記管理オブジェクトポートへのネゴシエーションを進める手段と、 を含むソフトウェア開発の間ネゴシエーションをインプリメントするシステム。 By each of the objects to instruct containing) an object interface, determining an interface for network development between the manager object and said managed object (INE), the said managed object at least means for generating an interaction means for connecting one object, and means for determining at least one managed object port associated with the managed object, means for determining at least one object ports associated with said object, said object system that implements during negotiation of software development and means for advancing the negotiation to the managed object port from the port.
  42. 【請求項42】 発展するそれぞれの前記オブジェクトのために前記開発者によって開発者ネゴシエーションポートを生成するための手段をさらに含む請求項41のシステム。 42. The system of claim 41 further comprising means for generating a developer negotiation port by the developer for each of the object to develop.
  43. 【請求項43】 前記管理人オブジェクトを有する前記開発者ネゴシエーションポートを登録するための手段をさらに含む請求項42のシステム。 43. The system of claim 42, further comprising means for registering said developer negotiation port with the janitor object.
  44. 【請求項44】 それぞれが前記開発者ネゴシエーションポートの1つに関連する前記管理オブジェクトで管理ネゴシエーションポートを生成する手段をさらに含む請求項43のシステム。 44. The system of claim 43, each further comprising a means for generating management negotiation port by the management objects associated with one of the developers negotiation port.
  45. 【請求項45】 前記ネゴシエーションは、修正CORBA IDLで書かれる請求項44のシステム。 45. The negotiation system of claim 44, written in modified CORBA IDL.
  46. 【請求項46】 複数のオブジェクトを決定するための手段と、 オブジェクトポートをそれぞれの前記オブジェクトに関連させる手段と、 前記オブジェクト間でメッセージを交わすためのトランザクションを決定する手段と、 前記オブジェクトのそれぞれに対するオブジェクトインタフェースを決定する手段と、 それぞれの決定されたオブジェクトインタフェースをインプリメントするための手段と、を含み、 前記メッセージが、互換性のある前記オブジェクトインタフェースを持つ前記オブジェクト間でシーケンシャルに交わされる、ネットワークアプリケーションをインプリメントするシステム。 Means for determining a 46. plurality of objects, and means for associating objects ports to each of said object, means for determining a transaction for exchanging messages between the objects, for each of the objects comprising means for determining the object interface, and means for implementing an object interface that is each determined, and the message is exchanged sequentially between the object with the object interface that is compatible network application system to implement.
  47. 【請求項47】 前記インプリメントされたオブジェクトと管理フレームワークを有する前記オブジェクトインタフェースを登録する手段をさらに含み、前記管理フレームワークはオブジェクトIDとオブジェクトバージョンIDとインタフェースバージョンIDを戻す請求項46のシステム。 47. further comprising means for registering said object interface having a management framework and the implementation object, the management framework system of claim 46, returning the object ID and object version ID and Interface Version ID.
  48. 【請求項48】 インプリメントするための前記手段は、 前記オブジェクトバージョンIDと互換性のあるネットワークアプリケーションを決定する手段を含む請求項47のシステム。 It said means for 48. implemented system of claim 47 including means for determining a network application that the object version ID compatible.
  49. 【請求項49】 互換性のあるオブジェクトバージョンを持つネットワークアプリケーションを決定する前記手段は、 前記オブジェクトIDと前記オブジェクトバージョンIDを表現する行と、前記インタフェースバージョンIDを表現するコラムとを含んでいるオブジェクトテーブルを決定する手段と、 前記オブジェクトバージョンIDに関して前記決定されたオブジェクトテーブルをソートする手段と、 共通の前記インタフェースIDに関して、第1の前記オブジェクトのための第1の前記ソートされたオブジェクトテーブルと第2の前記オブジェクトのための第2の前記ソートされたオブジェクトテーブルとをソートする手段と、 前記オブジェクトテーブルの接続を形成する前記インタフェースIDに関して、前記第1の前記ソート 49. The means for determining the network application whose object versions are compatible, a line representing said object version ID and the object ID, the object and a column representing the interface version ID means for determining a table, and means for sorting the object table the determined relative to the object version ID, the first of the sorted object table for a common relative to the interface ID, first the object first It means for sorting and a second of said sorted object table for 2 of the object with respect to said interface ID to form the connection of the object table, the first of the sort れたオブジェクトと前記第2の前記ソートされたオブジェクトとを接続する手段と、 前記互換性があるオブジェクトを前記オブジェクトテーブルの前記接続から抜き出す手段と、 を含む請求項48のシステム。 The system of claim 48 comprising been a means for connecting the object and the second of said sorted objects, means for extracting an object in said compatible from the connection of the object table, the.
  50. 【請求項50】 前記オブジェクトインタフェースは、修正CORBA I 50. The object interface, modified CORBA I
    DLで定義されている請求項46のシステム。 The system of claim 46, which is defined by DL.
  51. 【請求項51】 管理人オブジェクトを決定する手段と、 少なくとも1つの管理オブジェクトを決定する手段と、 前記管理人オブジェクトによって、前記管理人オブジェクトと前記管理オブジェクトとの間のネットワークの発展(INE)のためのインタフェースを決定し、オブジェクト操作実行用の少なくとも1つのオブジェクト(それぞれの前記オブジェクトはオブジェクトインタフェースを含む)を生成する前記管理人オブジェクトによって前記少なくとも1つの管理オブジェクトを指示する手段と、 前記管理オブジェクトに前記オブジェクトを接続するための、前記INEと前記管理人オブジェクトにも接続されているインタラクション手段を生成する手段と、 前記管理オブジェクトを前記初期化された状態に進めるために前記初 And 51. A means for determining the caretaker object, means for determining at least one managed object, by said manager objects, the development of the network between the management object and the caretaker objects (INE) at least one object (each of said objects includes an object interface) and means for instructing the at least one managed object by the janitor object generating the said managed object interface to determine, for object operation executed for the first said for connecting objects, and means for generating an interaction means which is also connected to the said INE manager object, in order to advance the managed object to the initialized state 化された状態を前記INEによって前記オブジェクトに進め、前記管理オブジェクトを前記管理オブジェクトから前記オブジェクトまで前記初期化された状態に進め、 Reduction to the state proceeds to the object by the INE was advances the managed objects state of being the initialization from the managed object to said object,
    前記オブジェクトの前記管理人オブジェクトでの状態を初期化する手段と、 を含むネットワークアプリケーションをセットアップするシステム。 System to set up the network application and means for initializing the state at the janitor object of the object.
  52. 【請求項52】 前記管理人オブジェクトのための管理人オブジェクトIN 52. manager object IN for the janitor object
    Eポートを決定する手段と、 前記管理オブジェクトのための管理オブジェクトINEポートを決定する手段と、 前記マネージャーオブジェクトのための前記INEポートと前記管理オブジェクトのための前記INEポートとを前記INEに関連させる手段と、 をさらに含む請求項51のシステム。 Means for determining a E port, means for determining a managed object INE port for the managed objects, and the INE port is associated with said INE for the INE port and the managed objects for the manager object the system of claim 51, further comprising a means.
  53. 【請求項53】 前記管理オブジェクトに関連する少なくとも1つのポートを決定するための手段と、 それぞれの前記オブジェクトに関連する少なくとも1つのオブジェクトポートを決定するための手段と、 をさらに含む請求項52のシステム。 And 53. means for determining at least one port associated with the managed object, according to claim 52 in which at least means for determining the one object port associated with each of said objects, further comprising system.
  54. 【請求項54】 前記オブジェクトインタフェースは、修正CORBA I 54. The object interface, modified CORBA I
    DLで定義されている請求項51のシステム。 The system of claim 51, which is defined by the DL.
  55. 【請求項55】 管理人オブジェクトを決定する手段と、 少なくとも1つの管理オブジェクトを決定する手段と、 前記管理人オブジェクトによって、オブジェクト操作実行用の少なくとも1つのオブジェクトを生成する前記少なくとも1つの管理オブジェクトを有するオブジェクト(それぞれの前記オブジェクトはオブジェクトインタフェースを含み、 And 55. A means for determining the caretaker object, means for determining at least one managed object, by said manager object, said at least one management object to generate at least one object for object operation executed said object (each having an object includes object interface,
    オリジナル状態を持つ)を指示することによって、前記管理人オブジェクトと前記管理オブジェクトとの間のネットワークの発展(INE)のためのインタフェースを決定する手段と、 前記管理オブジェクトに前記少なくとも1つのオブジェクトを接続するためのインタラクション手段を生成する手段と、 前記管理オブジェクトに関連する少なくとも1つの管理オブジェクトポートを決定する手段と、 前記オブジェクトと関連する少なくとも1つのオブジェクトポートを決定する手段と、 前記管理オブジェクトによって変更される前記オブジェクトのうちの少なくとも1つに静止ポイントを確立する手段と、 を含むネットワークアプリケーションを動的に変更するシステム。 Connection by instructing with original state), means for determining an interface for the development of the network between the manager object and said managed object (INE), the at least one object in the managed object means for generating an interaction means for means for determining at least one managed object port associated with the managed object, means for determining at least one object ports associated with said object, change by said managed object system to dynamically change the network application comprising means for establishing a stationary point in at least one, the one of the objects to be.
  56. 【請求項56】 前記オブジェクトから前記管理人オブジェクトまで前記少なくとも1つのオブジェクトを更新するためのデータを進める手段と、 変更される前記オブジェクトの前記ポートを決定する手段と、 変更される前記ポートを除去するために前記管理人オブジェクトから除去コマンド送信する手段と、 前記管理人オブジェクトで変更される前記オブジェクトの新しいバージョンを生成する手段と、 前記オブジェクトの前記新しいバージョンを前記管理オブジェクトに進める手段と、 前記オブジェクトの前記新しいバージョンを持つ新しいオブジェクトを生成する手段と、 前記新しいオブジェクトに関連する新しいオブジェクトポートを決定する手段と、 をさらに含む請求項55のシステム。 And 56. A means for advancing the data for updating the at least one object to the manager object from said object, means for determining the ports of the object to be changed, the port to be changed removed means for the removal command transmitted from the manager object to, means for generating a new version of the object that is changed by the caretaker object, and means for advancing said new version of the object in the managed object, the the system of claim 55, further comprising means for generating a new object with the new version of the object, means for determining a new object port associated with the new object, the.
  57. 【請求項57】 前記オブジェクトのうちの1つから前記管理人オブジェクトまで前記少なくとも1つのインタフェースバージョンを更新するためのデータを進める手段と、 前記インタフェースバージョンの前記更新のために変更される前記オブジェクトのナンバを決定する手段と、 変更される前記オブジェクトのナンバを再構成するために前記管理人から除去コマンド送信する手段と、 前記管理人オブジェクトで変更される前記オブジェクトのナンバのそれぞれの新しいバージョンを生成する手段と、 前記管理オブジェクトに前記新しいバージョンを進める手段と、 前記新しいバージョンを持つ新しいオブジェクトと一致するナンバを生成する手段と、 をさらに含む請求項56のシステム。 57. A means for advancing the data for updating said at least one interface versions from one to the janitor object among the objects of the object to be changed for the updating of the interface version generating means for determining a number, and means for the removal command sent from the management person in order to reconstruct the number of the objects to be changed, each new version of number of the objects to be changed by the administrator object It means a system of claim 56 wherein said means for advancing said new version management object, further including means for generating a number that matches the new object the with the new version of.
  58. 【請求項58】 前記オブジェクトインタフェースは、修正CORBA I 58. The object interface, modified CORBA I
    DLで定義されている請求項55のシステム。 The system of claim 55, which is defined by DL.
JP2000615895A 1999-04-29 2000-04-28 Distributed software development environment Withdrawn JP2002543518A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US13150699P true 1999-04-29 1999-04-29
US60/131,506 1999-04-29
PCT/US2000/011428 WO2000067121A1 (en) 1999-04-29 2000-04-28 Distributed software development environment

Publications (1)

Publication Number Publication Date
JP2002543518A true JP2002543518A (en) 2002-12-17



Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000615895A Withdrawn JP2002543518A (en) 1999-04-29 2000-04-28 Distributed software development environment

Country Status (6)

Country Link
EP (1) EP1222535A4 (en)
JP (1) JP2002543518A (en)
CN (1) CN1349626A (en)
AU (1) AU4674100A (en)
CA (1) CA2371660A1 (en)
WO (1) WO2000067121A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7636172B2 (en) * 2002-07-31 2009-12-22 Ricoh Company, Ltd. Image forming apparatus, information processing apparatus and version check method using an API from an application
US7676785B2 (en) 2004-02-13 2010-03-09 Microsoft Corporation Hosted application as a designer in an integrated development environment
CN100589496C (en) 2004-05-13 2010-02-10 深圳市友邻通讯设备有限公司 Technique for controlling interface of multiple voices/data card
US9753712B2 (en) 2008-03-20 2017-09-05 Microsoft Technology Licensing, Llc Application management within deployable object hierarchy
WO2010076844A1 (en) * 2008-12-30 2010-07-08 彼方株式会社 Information processing system, first information processing device, second information processing device, and third information processing device
CN106610837A (en) * 2016-12-26 2017-05-03 中国建设银行股份有限公司 Application development method and development platform

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5640546A (en) * 1993-02-23 1997-06-17 Network Programs, Inc. Composition of systems of objects by interlocking coordination, projection, and distribution
CA2128387C (en) * 1993-08-23 1999-12-28 Daniel F. Hurley Method and apparatus for configuring computer programs from available subprograms
US5634114A (en) * 1993-11-18 1997-05-27 Intel Corporation Dynamic link library version negotiation
US5485617A (en) * 1993-12-13 1996-01-16 Microsoft Corporation Method and system for dynamically generating object connections
US5884078A (en) * 1997-01-31 1999-03-16 Sun Microsystems, Inc. System, method and article of manufacture for creating an object oriented component having multiple bidirectional ports for use in association with a java application or applet

Also Published As

Publication number Publication date
CA2371660A1 (en) 2000-11-09
AU4674100A (en) 2000-11-17
WO2000067121A1 (en) 2000-11-09
CN1349626A (en) 2002-05-15
EP1222535A4 (en) 2005-02-16
EP1222535A1 (en) 2002-07-17

Similar Documents

Publication Publication Date Title
Miller et al. WebWork: METEOR 2's web-based workflow management system
US6266666B1 (en) Component transaction server for developing and deploying transaction- intensive business applications
EP1019807B1 (en) Method of migrating to a successive level of a software distribution incorporating local modifications
US6094654A (en) Data management system for file and database management
US8230056B2 (en) Enterprise management system
US6016501A (en) Enterprise data movement system and method which performs data load and changed data propagation operations
US5872969A (en) System and method for efficiently synchronizing cache and persistent data in an object oriented transaction processing system
US8122106B2 (en) Integrating design, deployment, and management phases for systems
US6453356B1 (en) Data exchange system and method
CN1906580B (en) Method and system for a grid-enabled virtual machine with movable objects
US7134122B1 (en) One click deployment
US6971001B1 (en) General and reusable components for defining net-centric application program architectures
US5634009A (en) Network data collection method and apparatus
US9256655B2 (en) Dynamic access of data
US6260077B1 (en) Method, apparatus and program product for interfacing a multi-threaded, client-based API to a single-threaded, server-based API
Kalbarczyk et al. Chameleon: A software infrastructure for adaptive fault tolerance
US5724272A (en) Method and apparatus for controlling an instrumentation system
US6523036B1 (en) Internet database system
US7093247B2 (en) Installation of a data processing solution
CN102656557B (en) Automate enterprise-software-development
US5634127A (en) Methods and apparatus for implementing a message driven processor in a client-server environment
US6507875B1 (en) Modular application collaboration including filtering at the source and proxy execution of compensating transactions to conserve server resources
US5806074A (en) Configurable conflict resolution in a computer implemented distributed database
US7370335B1 (en) System and method for providing a public application program interface
US9009116B2 (en) Systems and methods for synchronizing data in a cache and database

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination


Effective date: 20070703