[go: up one dir, main page]

WO1998019239A1 - Interface de logiciel ou machine virtuelles reparties - Google Patents

Interface de logiciel ou machine virtuelles reparties Download PDF

Info

Publication number
WO1998019239A1
WO1998019239A1 PCT/US1997/019304 US9719304W WO9819239A1 WO 1998019239 A1 WO1998019239 A1 WO 1998019239A1 US 9719304 W US9719304 W US 9719304W WO 9819239 A1 WO9819239 A1 WO 9819239A1
Authority
WO
WIPO (PCT)
Prior art keywords
distributed
computers
software layer
objects
architecture
Prior art date
Application number
PCT/US1997/019304
Other languages
English (en)
Inventor
Christopher J. Thompson
Phillippe Kruchten
Original Assignee
Raytheon Systems Canada Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Raytheon Systems Canada Ltd. filed Critical Raytheon Systems Canada Ltd.
Publication of WO1998019239A1 publication Critical patent/WO1998019239A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems

Definitions

  • the present invention relates generally to distributed, fault tolerant computer systems, and more particularly, to a distributed virtual software interface or machine that interfaces between computers, operating systems and applications that run on the computers of a distributed, multi-computer fault tolerant computer system.
  • Computers that are used in distributed, fault tolerant computer systems for example, have an operaung system that embodies primitive instructional codes that implement various services. Such primitive instructional codes route data to and from storage devices, write data to display devices, send data to a printer or modem, and transmit data across a network to other computers, for example.
  • conventional computers and computer operating systems inherently limit the development of large, distributed, fault tolerant computer systems, such as air traffic control systems, and the like.
  • the present invention provides for a distnaded virtual software interface that provides a reusable framework for building large, dist ⁇ ubbed fault tolerant Ada applications
  • Ada is a registered trademark of the U.S. government.
  • Ada Joint Program Office The framework, referred to as a dist ⁇ ubbed virtual macmne or ⁇ istnubbed virtual software interface, provides a portable suite of integrated services for building a wide va ⁇ ety of dist ⁇ ubbed. fault tolerant computer systems
  • the dist ⁇ ubbed virtual software interface specifically provides a foundation for a family of automated air traffic control systems currently under development by the assignee of the present invenuon.
  • the dist ⁇ ubbed virtual software interface provides for an object-o ⁇ ented software architecture that is implemented in a dist ⁇ ubbed computer system having a plurality of computers that are interconnected by way of a network
  • Each computer has an operating system that implements pnmitive operating system instructions such as networ communications, data storage, data display, and the like
  • the arcnitecture comp ⁇ ses a dist ⁇ ubbed intermediate software layer that is dist ⁇ ubbed among the plurality of computers and interfaces with the operating system of the computer on which it is disposed and that generates intermediate instructions that cause the operating system to implement pnmitive operaung system instructions in response thereto.
  • a dist ⁇ ubbed object-o ⁇ ented software layer is distributed among the plurality of computers providing communication between computers using objects that are instances of object classes that are defined by att ⁇ butes of objects, operations on objects and associations between objects
  • the dist ⁇ ubbed object-o ⁇ ented software layer comp ⁇ ses instructions that distribute objects of the same class to computers that are linked by the att ⁇ butes, operauons and associations between the objects within the ciass in response to the creation of a new object on one of the computers.
  • Communicauon between computers is provided using predefined communication protocols.
  • At least one software application is disposed on each computer that interfaces with the distributed object-o ⁇ ented software layer disposed on the respective computer and processes objects distributed to it.
  • the architecture of the dist ⁇ ubbed virtual software interface supports a dist ⁇ ubbed computing system where there is direct cooperation between processes required to perform specified system functions, including client/server relationships.
  • dist ⁇ ubbed computer systems employing the dist ⁇ ubbed virtual software interface may also be reconfigured on demand or in resDonse to detected faults so that the system provides continuous uninterrupted service.
  • the architecture of the distributed virtual software interface provides a robust architectural framework for building large dist ⁇ ubbed Ada-based computer systems.
  • the architecture of the dist ⁇ ubbed virtual software interface provides a framework for building similar fault tolerant applications through large scale reuse of previously developed blocks of code. Large blocks of the distributed virtual software interface may be reused within an array of computer systems, thus minimizing development costs of additional systems.
  • FIG. 1 illustrates a conventional software architecture known in the prior art
  • Fig. 2 is a diagram showing an object-oriented software architecture implemented in a distributed computer system in accordance with the p ⁇ nciples of the present invention
  • Fig. 3 shows a static view of a typical software architecture built using the object-oriented software architecture of Fig. 2;
  • Fig. 5 shows an illustration of an example object scenario based on the class diagram of Fig. 4, using additional operation annotations; 239
  • Fig. 6 shows the same sequence of operations depicted in the scenario view of Fig. 5. but showing an actual distribution of the resulting software;
  • Fig. 2 shows an improved dist ⁇ ubbed object-o ⁇ ented architecture 20 that forms a dist ⁇ ubbed virtual software interface or machine in accordance with the p ⁇ nciples of the present invention.
  • the architecture 20 includes a dist ⁇ ubbed intermediate software layer 21 that is dist ⁇ ubbed among the plurality of computers 31. At least a portion of the distributed 9239
  • Fig 3 shows that large scale reuse is achieved by systematically supporting va ⁇ ability in an underlying commercial off-the-shelf (COTS) and hardware environment that includes the dist ⁇ ubbed middleware layer 21 (such as the Universal Network Architecture Services (UNAS) software) available from TRW Data Technologies Division as well as in the application specific functionality, which provides the ability to add new functionality or tailor existing functionality
  • the separauon of the functional concerns from those of building a reliable dist ⁇ ubbed system is achieved by embodying resources that route data (dist ⁇ bute objects) in the dist ⁇ ubbed virtual software interface 22 and providing a the simple, powerful interface 22 that permits apphcauon development
  • the dist ⁇ ubbed virtual software interface 22 has been designed with a number of architectural objectives including portability, support of an object-oriented design, support for the distribution of objects, support for event driven solutions, support for late binding of application processes to the actual physical architecture (virtual node - physical node mapping), and support for fault tolerance 239
  • the dist ⁇ aded virtual machine 22 also supports large scale reuse of the software through its support for event-d ⁇ ven invocation (implicit invocation). Event- d ⁇ ven invocation reduces coupling between cooperating objects and helps build software architectures that are more resilient to changes
  • the dist ⁇ ubbed virtual machine 22 supports the addition of new classes and customer specific functionality on top of core application classes via implicit invocation based on cnanges in the dist ⁇ ubbed state of the core application classes This is accomplished through registration, using a notification (NOTI) protocol, that allow classes to register to be noufied ' of changes to the dist ⁇ ubbed application state Once registered, these classes have their operations implicitly invoked when a specified change in the dist ⁇ ubbed state occurs This allows new application classes to be added on top of a core application without modification (or changes in compilauon dependencies) to the core application
  • the dist ⁇ downloaded virtual machine 22 permits design decisions as to how dist ⁇ ubbed applications are ultimately partitioned into independent processes (execuung Ada programs) and how those processes are allocated to the available dis
  • Fig. 4 shows a static view of a typical software architecture 20 built using the distnubbed virtual machine 22.
  • the architecture 20 is divided into layers 51-54 where each layer only depends on the layers 51-54 below it, in that all compilation dependencies are downward only).
  • the distnubbed virtual machine 22 sits at the bottom of the developed software hierarchy in terms of dependencies.
  • the dist ⁇ ubbed virtual machine 22 depends on a POSLX interface to the operating system 1 1. a small numoer of operating system services outside of the POSLX interface, and the UNAS sortware layer 21 (Fig. 2)
  • the distributed virtual machine 22 provides a simple, but complete interface to classes of applications 24 that directly make use of it.
  • An important property of the distnaded object services 60 of the distnaded virtual machine 22 is that inter-process communication within the architecture 20 is between instances of the same class. This is because the architecture of the distnaded virtual machine 22 allows dist ⁇ aded classes to encapsulate, behind their interfaces, details of any physical dist ⁇ bution of objects that occurs.
  • a client 71-73 (such as the air traffic client 71 , the airline regulatory client 72, or the electronic flight stnp client 73) or client class simply invokes a particular class operation using either synchronous or asynchronous semantics (this is a client decision), while the details of how and where the operation is actually executed is not visible to the client 71-73.
  • An AMC protocol is used by classes implementing some ad-hoc communication protocol.
  • a broadcast protocol is used to distribute messages to multiple receivers.
  • the broadcast protocol enables a class to broadcast a message to multiple destinations by sending only one physical message over the network.
  • Class instances can act as transmitters or can subscribe to the broadcast service, in which case they will receive all subsequent broadcast messages of the class.
  • the distributed object service 60 allows applications to access objects of a class without concern for where the objects are actually located within the distributed system 20. It provide its users with features including uniform access, an application-oriented cache, data consistency, notification, failure recovery, time management, notices, recording services, data extraction services, and tactical configuration.
  • Fig. 8 illustrates independent processing elements or components that comp ⁇ se a class implemented using dist ⁇ ubbed object services of the dist ⁇ ubbed virtual machine 22.
  • the components include class instances providing service interface behavior, class instances providing server role behavior, and central object storage/data consistency/availability assurance.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

L'invention a trait à une interface logiciel virtuelle répartie (20) fournissant une structure réutilisable aux fins de la construction d'applications ADA importantes, réparties et insensibles aux défaillances. L'architecture logiciel (20) est mise en oeuvre dans un système informatique réparti (30) comportant plusieurs ordinateurs (31) connectés dans un réseau (13) et pourvus, chacun, d'un système d'exploitation. L'architecture (20) comporte une couche logiciel intermédiaire (21) répartie entre les différents ordinateurs (31) et faisant fonction d'interface avec le système d'exploitation (11) de l'ordinateur (31) sur lequel elle se trouve. La couche logiciel intermédiaire répartie (21) produit des instructions intermédiaires faisant que le système d'exploitation (11) met en oeuvre des instructions primitives de système d'exploitation. L'interface logiciel virtuelle répartie (20)est pourvue d'une couche logiciel orientée objet répartie (22) répartie entre les différents ordinateurs (31) établissant une communication entre les ordinateurs (31) utilisant des objets. La couche logiciel orientée objet répartie (22) renferme des instructions répartissant des objets de la même classe entre des ordinateurs (31) liés par des attributs, des opérations et des associations entre objets à l'intérieur d'une classe en réponse à la création d'un nouvel objet sur l'un des ordinateurs (31). La communication entre ordinateurs (31) s'effectue à l'aide d'un certain nombre de protocoles de communication préétablis. La couche logiciel orientée objet répartie (22) fait fonction d'interface pour la couche logiciel moyenne répartie (21) se trouvant dans chaque ordinateur (31) et produit les instructions intermédiaires. Chaque ordinateur (31) comporte au moins un logiciel d'application faisant fonction d'interface avec la couche logiciel orientée objet répartie (22) et traite les objets qu'on lui achemine.
PCT/US1997/019304 1996-10-25 1997-10-24 Interface de logiciel ou machine virtuelles reparties WO1998019239A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US740,285 1991-08-05
US74028596A 1996-10-25 1996-10-25

Publications (1)

Publication Number Publication Date
WO1998019239A1 true WO1998019239A1 (fr) 1998-05-07

Family

ID=24975850

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1997/019304 WO1998019239A1 (fr) 1996-10-25 1997-10-24 Interface de logiciel ou machine virtuelles reparties

Country Status (1)

Country Link
WO (1) WO1998019239A1 (fr)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999063437A2 (fr) 1998-06-01 1999-12-09 Sri International Procede et appareil pour la mise a jour d'informations dans un systeme oriente objet client/serveur a bande passante etroite
FR2841999A1 (fr) * 2002-07-05 2004-01-09 Thales Sa Systeme de mise en reseau oriente objet d'equipements aeronautiques embarques
US7043636B2 (en) 2000-09-26 2006-05-09 Telefonaktiebolaget Lm Ericsson (Publ) Data integrity mechanisms for static and dynamic data
US7149510B2 (en) 2002-09-23 2006-12-12 Telefonaktiebolaget Lm Ericsson (Publ) Security access manager in middleware
US7240830B2 (en) 2002-02-15 2007-07-10 Telefonaktiebolaget Lm Ericsson (Publ) Layered SIM card and security function
US7286823B2 (en) 2002-02-15 2007-10-23 Telefonaktiebolaget Lm Ericsson (Publ) Mobile multimedia engine
EP1857932A1 (fr) * 2006-05-17 2007-11-21 Vodafone Holding GmbH Procédé d'utilisation au-delà de l'application d'objets dans un terminal électronique, modèle de niveau terminal tout comme terminal électronique
US7350211B2 (en) 2002-09-23 2008-03-25 Telefonaktiebolaget Lm Ericsson (Publ) Middleware application environment
US7363033B2 (en) 2002-02-15 2008-04-22 Telefonaktiebolaget Lm Ericsson (Publ) Method of and system for testing equipment during manufacturing
US7415270B2 (en) 2002-02-15 2008-08-19 Telefonaktiebolaget L M Ericsson (Publ) Middleware services layer for platform system for mobile terminals
US7478395B2 (en) 2002-09-23 2009-01-13 Telefonaktiebolaget L M Ericsson (Publ) Middleware application message/event model
US7536181B2 (en) 2002-02-15 2009-05-19 Telefonaktiebolaget L M Ericsson (Publ) Platform system for mobile terminals
US8079015B2 (en) 2002-02-15 2011-12-13 Telefonaktiebolaget L M Ericsson (Publ) Layered architecture for mobile terminals
CN115002189A (zh) * 2022-04-21 2022-09-02 上海蓝箭鸿擎科技有限公司 一种面向航天器的高分离度分布式系统软件架构

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0524077A1 (fr) * 1991-07-16 1993-01-20 Alcatel N.V. Structure de logiciel pour système de traitement d'informations

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0524077A1 (fr) * 1991-07-16 1993-01-20 Alcatel N.V. Structure de logiciel pour système de traitement d'informations

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"MODEL AND ARCHITECTURE FOR DIAGNOSTIC REQUESTS IN A HETEROGENEOUS DISTRIBUTED ENVIRONMENT", IBM TECHNICAL DISCLOSURE BULLETIN, vol. 34, no. 5, 1 October 1991 (1991-10-01), pages 451 - 455, XP000189819 *
LEA R ET AL: "COOL-2: an object oriented support platform built above the Chorus micro-kernel", PROCEEDINGS. 1991 INTERNATIONAL WORKSHOP ON OBJECT ORIENTATION IN OPERATING SYSTEMS (CAT. NO.91TH0392-1), PALO ALTO, CA, USA, 17-18 OCT. 1991, ISBN 0-8186-2265-2, 1991, LOS ALAMITOS, CA, USA, IEEE COMPUT. SOC. PRESS, USA, pages 68 - 72, XP002054687 *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999063437A3 (fr) * 1998-06-01 2000-03-02 Stanford Res Inst Int Procede et appareil pour la mise a jour d'informations dans un systeme oriente objet client/serveur a bande passante etroite
US6263360B1 (en) 1998-06-01 2001-07-17 Sri International System uses filter tree and feed handler for updating objects in a client from a server object list
WO1999063437A2 (fr) 1998-06-01 1999-12-09 Sri International Procede et appareil pour la mise a jour d'informations dans un systeme oriente objet client/serveur a bande passante etroite
US7043636B2 (en) 2000-09-26 2006-05-09 Telefonaktiebolaget Lm Ericsson (Publ) Data integrity mechanisms for static and dynamic data
US7415270B2 (en) 2002-02-15 2008-08-19 Telefonaktiebolaget L M Ericsson (Publ) Middleware services layer for platform system for mobile terminals
US7363033B2 (en) 2002-02-15 2008-04-22 Telefonaktiebolaget Lm Ericsson (Publ) Method of and system for testing equipment during manufacturing
US8079015B2 (en) 2002-02-15 2011-12-13 Telefonaktiebolaget L M Ericsson (Publ) Layered architecture for mobile terminals
US7240830B2 (en) 2002-02-15 2007-07-10 Telefonaktiebolaget Lm Ericsson (Publ) Layered SIM card and security function
US7286823B2 (en) 2002-02-15 2007-10-23 Telefonaktiebolaget Lm Ericsson (Publ) Mobile multimedia engine
US7536181B2 (en) 2002-02-15 2009-05-19 Telefonaktiebolaget L M Ericsson (Publ) Platform system for mobile terminals
WO2004006096A3 (fr) * 2002-07-05 2004-04-15 Thales Sa Systeme de mise en reseau oriente objet d'equipements aeronautiques embarques
FR2841999A1 (fr) * 2002-07-05 2004-01-09 Thales Sa Systeme de mise en reseau oriente objet d'equipements aeronautiques embarques
US7350211B2 (en) 2002-09-23 2008-03-25 Telefonaktiebolaget Lm Ericsson (Publ) Middleware application environment
US7478395B2 (en) 2002-09-23 2009-01-13 Telefonaktiebolaget L M Ericsson (Publ) Middleware application message/event model
US7584471B2 (en) 2002-09-23 2009-09-01 Telefonaktiebolaget L M Ericsson (Publ) Plug-in model
US7149510B2 (en) 2002-09-23 2006-12-12 Telefonaktiebolaget Lm Ericsson (Publ) Security access manager in middleware
EP1857932A1 (fr) * 2006-05-17 2007-11-21 Vodafone Holding GmbH Procédé d'utilisation au-delà de l'application d'objets dans un terminal électronique, modèle de niveau terminal tout comme terminal électronique
CN115002189A (zh) * 2022-04-21 2022-09-02 上海蓝箭鸿擎科技有限公司 一种面向航天器的高分离度分布式系统软件架构

Similar Documents

Publication Publication Date Title
Kalbarczyk et al. Chameleon: A software infrastructure for adaptive fault tolerance
US5748882A (en) Apparatus and method for fault-tolerant computing
US7827438B2 (en) Distributed testing system and techniques
US8788569B2 (en) Server computer system running versions of an application simultaneously
US6907547B2 (en) Test tool and methods for testing a computer function employing a multi-system testcase
US8095823B2 (en) Server computer component
US20090320045A1 (en) Server computer component
WO1998019239A1 (fr) Interface de logiciel ou machine virtuelles reparties
Spector et al. Camelot: A distributed transaction facility for Mach and the Internet-an interim report
Nguyen-Tuong Integrating fault-tolerance techniques in grid applications
Miller et al. The guardian model and primitives for exception handling in distributed systems
Cmelik et al. Fault Tolerant Concurrent C: A tool for writing fault tolerant distributed programs
Florio et al. A survey of linguistic structures for application-level fault tolerance
Felber et al. Replication of CORBA objects
Thompson et al. DVM: an object-oriented framework for building large distributed Ada systems
Wood Fault-tolerant management of distributed applications using the reactive system architecture
Miller et al. The guardian model for exception handling in distributed systems
Keller et al. Towards a CIM schema for runtime application management
Buskens et al. Model-centric development of highly available software systems
US6981264B1 (en) Method for handling multiple program exceptions across heterogeneous systems
Zhu et al. A Domain-Specific Language for Reconfigurable, Distributed Software
Chen A pilot study of cross-system failures
Das Dependability modelling of layered systems
Murray et al. Somersault: Enabling Fault-Tolerant Distributed Software Systems
Tam et al. Towards a Fault-Tolerant Linda Scheme: Issues and Current Status

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA JP KR NO

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: CA