Conference Paper

The Design and Performance of a Real-Time Notification Service

Authors:
To read the full-text of this research, you can request a copy directly from the authors.

Abstract

Many distributed real-time and embedded (DRE) applications require a scalable event-driven communication model that decouples suppliers from consumers and simultaneously supports advanced quality of service (QoS) properties and event filtering mechanisms. The CORBA notification service provides publisher/subscriber capabilities designed to support scalable event-driven communication by routing events efficiently between suppliers and consumers, enforcing QoS properties (such as reliability, priority, ordering, and timeliness), and filtering events at multiple points in a distributed system. The standard CORBA notification service is insufficient, however, to enforce predictable communication needed by DRE applications and does not leverage real-time CORBA capabilities, such as end-to-end priority assignment or scheduling services. We make three contributions to the study of scalable real-time notification services for DRE applications. First, we describe the requirements of the OMG request for proposals (RFP) on real-time notification, which seeks solutions to the problem of enforcing real-time properties by enhancing the standard CORBA notification service. Second, we explain how we have addressed key design challenges faced when implementing a real-time notification service for TAO, which is our CORBA-compliant real-time object request broker (ORB). We discuss how we integrate real-time CORBA features (such as thread pools, thread lanes, and priority models) to provide real-time event communication. Finally, we analyze the results of empirical benchmarks of the performance and predictability of TAO's real-time notification service. These results show that the static real-time assurances provided by real-time CORBA are maintained within the more flexible context of TAO's real-time notification service.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the authors.

... As an example for the former, consider a robot such as TU Berlin's autonomous helicopter Marvin (Musial et al., 2006): its GPS receiver updates the current position estimate 20 times per second, and the latest position estimate is read at various rates by a flight controller and by image acquisition, camera targeting, and communication modules. An example of rarely-changing shared data occurs in work of Gore et al. (Gore et al., 2004), who employed RW locks to optimize latency in a real-time notification service. In their system, every incoming event must be matched against a shared subscription lookup table to determine the set of subscribing clients. ...
... Since events occur very frequently and changes to the table occur only very rarely, the use of a regular mutex lock " can unnecessarily reduce [concurrency] in the critical path of event propagation. " (Gore et al., 2004) In practice, RW locks are in wide-spread use since they are supported by all POSIX-compliant real-time operating systems. However, to the best of our knowledge, such locks have not been analyzed in the context of multiprocessor real-time systems from a schedulability perspective. ...
Article
Reader preference, writer preference, and task-fair reader-writer locks are shown to cause undue blocking in multiprocessor real-time systems. Phase-fair reader writer locks, a new class of reader-writer locks, are proposed as an alternative. Three local-spin phase-fair lock algorithms, one with constant remote-memory-reference complexity, are presented and demonstrated to be efficiently implementable on common hardware platforms. Both task- and phase-fair locks are evaluated and contrasted to mutex locks in terms of hard and soft real-time schedulability—each under both global and partitioned scheduling—under consideration of runtime overheads on a multicore Sun “Niagara” UltraSPARC T1 processor. Formal bounds on worst-case blocking are derived for all considered lock types. KeywordsReader-writer synchronization-Real-time-Multiprocessor
... As an example for the former, consider a robot such as TU Berlin's autonomous helicopter Marvin [29] : its GPS receiver updates the current position estimate 20 times per second , and the latest position estimate is read at various rates by a flight controller and by image acquisition, camera targeting, and communication modules. An example of rarely-changing shared data occurs in work of Gore et al. [21], who employed RW locks to optimize latency in a real-time notification service . In their system, every incoming event must be matched against a shared subscription lookup table to determine the set of subscribing clients. ...
... Since events occur very frequently and changes to the table occur only very rarely, the use of a regu-lar mutex lock " can unnecessarily reduce [concurrency] in the critical path of event propagation. " [21] In practice, RW locks are in wide-spread use since they are supported by all POSIX-compliant real-time operating systems . However, to the best of our knowledge, such locks have not been analyzed in the context of multiprocessor real-time systems from a schedulability perspective. ...
Conference Paper
Reader preference, writer preference, and task-fair reader- writer locks are shown to cause undue blocking in multipro- cessor real-time systems. A new phase-fair reader-writer lock is proposed as an alternative that significantly reduces worst- case blocking for readers and an efficient local-spin imple- mentation is provided. Both task- and phase-fair locks are evaluated and contrasted to mutex locks in terms of hard and soft real-time schedulability under consideration of runtime overheads on a multicore computer.
... For example, the CORBA Event Service [10] introduces a standard object model consisting of an event channel that acts as a broker between anonymous event suppliers and consumers connected to the event channel via proxy objects. Likewise, the CORBA Notification Service [2] is an extension to the CORBA Event Service that provides (1) greater scalability via event filters, (2) simplified administration via standard event channel factory support, shared subscription information, and the ability to navigate the event channel object hierarchy, (3) resource management via QoS properties for reliability, event priority, and internal ordering/discarding of events, and (4) improved usability via support for three different types of events (CORBA Anys, structured events, and batch events) and a constraint language (ETCL) for specifying filters. ...
... In contrast to a centralised Notification Service [2], we choose a distributed approach. With the centralised Notification Service, event data would have to cross the rather slow network twice, when supplier, consumer and Notification Service are not collocated, but reside all on different nodes. ...
Conference Paper
Full-text available
Many distributed real-time and embedded (DRE) applications require a scalable event-driven communication model that decouples suppliers from consumers and simultaneously supports advanced quality of service (QoS) properties. This article focuses on the design of such a service complying with the OMG Notification Service standard. It is optimized for the CAN bus, a widely used interconnect, where real-time characteristics are a requirement. A new protocol for the efficient distribution of events in a CAN-based distributed control system is presented, a protocol which is tailored to the CAN bus and produces very low overhead by utilizing CAN-specific features.
... It is a rather weighty protocol, but it not only supports type checking through the use of IDL-defined data structures and the type-safety of the CORBA type code system, it also supports the specifications of QoS requirements like event timeouts or asynchronous message processing. It can also be extended to meet end-to-end quality of service requirements such as OS thread priorities to meet the requirements of the RT-CORBA specification [40]. Miro uses the notification service for providing the push model of sensor-driven processing. ...
... One possibility is to switch to inplace processing of filters, if the filter and the filter graph configuration allow it. The other direction is to connect the priorization of the image processing tasks with the real-time capabilities of the underlying distributed systems middleware (RT-CORBA), to ensure end to end quality of service between sensory and actuatory processes, especially in combination with a real-time enabled notification service configuration as discussed in [40]. ...
Article
Full-text available
Software-Entwicklung in der Robotik wird durch verschiedene Randbedingungen erschwert. So sind z.B. verschiedene Roboterplattformen mit extrem heterogener Sensorik und Aktorik ausgestattet und die sensorischen sowie aktorischen Aufgaben sind mit den physischen Eigenschaften des Roboters und dessen Umgebung eng verknüpft. Dies macht die Entwicklung von Software für autonome mobile Roboter zu einem aufwendigen und fehleranfälligen Prozess, was sowohl die Forschung in der Robotik als auch die Kommerzialisierung von Lösungen aus diesem Gebiet behindert. Die Arbeit hat die Identifizierung, Umsetzung und Evaluierung von Softwarekonzepten und -technologien zum Ziel, die insbesondere die spezifischen Probleme der Roboter-Software adressieren. Die Ergebnisse dieser Forschungen spiegeln sich in der Roboter-Software-Architektur Miro wider. In der Dissertation werden die Probleme und die identifizierten Lösungen vorgestellt. Anhand ausgewählter Beispiele aus der Miro-Architektur wie Team-Kommunikation, Sensor/Aktuator-Dienste und Softwarerahmen zur Verhaltensmodellierung wird dabei die konkrete Umsetzung illustriert.
... D'autres implémentations commerciales CORBA fournissent des implémentations de Service de Notification avec divers niveaux de sophistication (par exemple, certains fournissent des multidiffusions UDP comme un protocole sous-jacent). Une implémentation CORBA de pointe consacrée aux applications en temps réel est présentée dans [GSGP04]. ...
Thesis
Les systèmes de modélisation collaborative sont encore rares dans la plupart des domaines techniques, surtout dans les géosciences, parce que leur développement implique beaucoup de questions techniques et organisationnelles et généralement demande une nouvelle conception majeure des applications mono-utilisateur déjà opérationnelles. Dans cette thèse, nous proposons une architecture permettant la transformation d'une application existante dans un système coopératif, exclusivement au moyen de la composition dynamique de modules d'extension de temps d'exécution (run-time plugins). Celle-ci tient compte des demandes de modélisation et visualisation dans les géosciences et supporte l'intégration dans l'application de base de services de coopération, de communication multimédia et d'un schéma de coordination simple et extensible basé sur les rôles, fournissant des mécanismes intégrés de diffusion et de contrôle d'utilisation (floor control) pour les canaux de collaboration présentés. Nous envisageons aussi un modèle de travail dans lequel des sessions de collaboration peuvent impliquer l'utilisation d'interfaces d'utilisateurs hétérogènes (ordinateur de bureau et réalité virtuelle) par les participants à distance et nous analysons l'application du système dans des cas de figure opérationnels
... This specification that has been standardized by the OMG is an extension of CORBA Event Service [24] that in addition to using publish-subscribe mechanism, provides capabilities such as advanced events filtering mechanism and QoS properties support in different levels [22,23]. An event channel is the first object created within the Notification Service process that is created by EventChannelFactory interface. ...
Article
Full-text available
Nowadays distributed real-time systems are very common in different areas and have many applications. Increasing need to exchange information among distributed and heterogeneous applications, the need for faster development, simplicity of design and implementation, software reuse and coordination problems are the major factors that lead to the design and implementation of middleware architectures in this field. For this purpose, different Quality of Service parameters such as reliability, extendibility, low latency, etc. must be considered. The current survey shows the state of the art of the various researches in this domain by providing and discussing the architecture and the features of major middlewares for distributed real-time systems.
... Gore et al. designed a real-time notification service based on CORBA in order to obtain a scalable event-driven communication [16]. ...
Article
Full-text available
Alert notification is a feature recently implemented by modern operating systems and web browsers. However, these implementations lack of alerting about events happening outside their domain, such as changes in certain web pages. Most of the realised features in the web browsers concern email reception, and notification about conversation or push messages, while the operating systems can customise the system events that can generate alert notifications, such as calendar events, clock reminders or system messages. There is no evidence about any attempt to realise alert notification about certain change in a particular web page, or change of information associated to a certain keyword. Our idea presents an attempt to realise a web service that realises a push service on standard web sites, without modification on its code, which is beneficial to both the customers and providers. We present details on system functionalities, architecture model, design, and integration of essential modules into a fully working system as a service. This paper presents cloud-based architecture of alert notification, including relevant specification of a scalable architecture, interoperability issues and cloud deployment. The overall solution realising this new idea about alert notification as a service uses intelligent agents, and deployment of an elastic cloud architecture.
... Since many distributed real-time applications require a scalable event-driven communication Gore et al. [9] present a design for real-time notification service based on CORBA. ...
Conference Paper
The newly proposed Alert Notification Service (ANS) represents a web service that automatically visits all requested web sites selected by a certain user and alerts the user when a certain keyword phrase has been changed. This saves users’ time and effort by reducing the repeatedly visiting multiple web sites looking for some specific information or keywords. In comparison with other systems of the same kind, the ANS has a more intuitive user interface, and does not use only RSS for news feeds. It targets users who need to be notified for a certain change or appearance, as well as cloud service providers who would want to build a push functionality for standard web sites that do not support this technology. In this paper we present a new model of Internet-based transactions. It involves an automated intelligent agent in the communication between the user and server, which performs certain frequent user activities by visiting web pages on Internet. We also discuss the benefits of building and using such a system fully working as a service.
... DyKnow is implemented as a CORBA middleware service. It uses the CORBA event notification service [8] to implement streams and to decouple knowledge processes from clients subscribing to their output. See [3] for the details. ...
Article
Full-text available
The information available to modern autonomous systems is often in the form of streams. As the number of sensors and other stream sources increases there is a growing need for incremental reasoning about the incomplete content of sets of streams in order to draw relevant conclusions and react to new situa-tions as quickly as possible. To act rationally, autonomous agents often depend on high level reasoning components that require crisp, symbolic knowledge about the environment. Extensive processing at many levels of abstraction is required to generate such knowledge from noisy, incomplete and quantitative sensor data. We define knowledge processing middleware as a systematic approach to inte-grating and organizing such processing, and argue that connecting processing components with streams provides essential support for steady and timely flows of information. DyKnow is a concrete and implemented instantiation of such middleware, providing support for stream reasoning at several levels. First, the formal KPL language allows the specification of streams connecting knowledge processes and the required properties of such streams. Second, chronicle recogni-tion incrementally detects complex events from streams of more primitive events. Third, complex metric temporal formulas can be incrementally evaluated over streams of states. DyKnow and the stream reasoning techniques are described and motivated in the context of a UAV traffic monitoring application.
... Some widely used real-time publish/subscribe services for DRE systems based on object-oriented middleware include CORBA Real-Time Event Service (RTES)[35], CORBA Real-Time Notification Service (RTNS)[32] and OMG's Data Distribution Service (DDS)[73].For example, the CORBA RTES is based on OMG's Real-Time CORBA[83] and provides low-latency/jitter event dispatching, support for periodic processing, dynamic client connection management, centralized event filtering, and efficient use of network and computational resources, which are well-suited for DRE systems with stringent QoS requirements. DDS exploits topic-based anonymous publish/subscribe mechanisms for DRE systems running in a dynamic environment. ...
... Since many distributed real-time applications require a scalable event-driven communication Gore et al. [9] present a design for real-time notification service based on CORBA. ...
Conference Paper
Digital revolution offers instant information on millions of web sites. In plenty of available data, customers are interested to find information in context of appearance of an object or a certain property as soon as it is published by a given site. Some sites offer push notification to customers if they are subscribed to such a service. However, not all sites implement push service, and in these cases customers frequently visit the web site and wait for an occurrence, such as sport result, rank list, etc. In this paper we present how an intelligent software agent can realise this task instead of users that are manually visiting the web site and send information as if the web site has implemented a push service. This novel idea is good for both customers and web site providers. Customers would subscribe to get the information as soon as it is available, and web site providers would like to enable push service without changes in the web site software, that might be very costly. Provision of this kind of notification can be realised via sophisticated mobile phone alerts, text messages, twitter or Facebook notification, or even supported by new operating systems like Maveriks OS or web sites such as Google notifications. In this paper we present details and benefits of a such system.
... Agents responsible for collecting and collating data from attached sensors can publish noteworthy data to one of its event ports. The CCM middleware, using a pub/sub middleware such as the OMG Data Distribution Service (DDS) [11] or CORBA Real-time Notification Service [4], will transmit the data to clients connected by the DnC infrastructure. Should the global planning agent detect a failure of a data mirror, it can direct the DnC infrastructure to connect a different sink in the failed nodes instead, which shields the agents from where their mirror is located and enables seamless failover in response to faults. ...
Article
Sensor networks are distributed real-time embedded (DRE) systems that often operate in open environments where operating conditions, workload, resource availability, and connectivity cannot be accurately characterized a priori. As with other open DRE systems, they must perform sequences of heterogeneous data collection, manipulation, and coordination tasks to meet specified system objectives. The South East Alaska MOnitoring Network for Science, Telecommunications, Education, and Research (SEAMONSTER) project illustrates many common system management and dynamic operation challenges in a representative sensor network, including adapting to changes in network topology, effective reaction to local environmental changes, and power management through system sleep/wake cycles. This paper discusses a case study for applying middleware and autonomous agent technologies from the Multi-agent Architecture for Coordinated Responsive Observations (MACRO) to these challenges in the SEAMONSTER sensor network. I.
... DyKnow is implemented as a CORBA middleware service. It uses the CORBA event notification service [7] to implement streams and to decouple knowledge processes from clients subscribing to their output. See [2] for the details. ...
Article
Full-text available
The information available to modern autonomous systems is often in the form of streams. As the number of sensors and other stream sources increases there is a growing need for incremental reasoning about the incomplete content of sets of streams in order to draw relevant conclusions and react to new situa- tions as quickly as possible. To act rationally, autonomous agents often depend on high level reasoning components that require crisp, symbolic knowledge about the environment. Extensive processing at many levels of abstraction is required to generate such knowledge from noisy, incomplete and quantitative sensor data. We define knowledge processing middleware as a systematic approach to inte- grating and organizing such processing, and argue that connecting processing components with streams provides essential support for steady and timely flows of information. DyKnow is a concrete and implemented instantiation of such middleware, providing support for stream reasoning at several levels. First, the formal KPL language allows the specification of streams connecting knowledge processes and the required properties of such streams. Second, chronicle recogni- tion incrementally detects complex events from streams of more primitive events. Third, complex metric temporal formulas can be incrementally evaluated over streams of states. DyKnow and the stream reasoning techniques are described and motivated in the context of a UAV traffic monitoring application.
... To support emerging DRE information management systems, pub/sub middleware in general, and DDS in particular, have attracted an increasing number of research efforts (such as COBEA [20] and Siena [12]) and commercial products and standards (such as JMS [10], WS_NOTIFICATION [13], and the CORBA Event and Notification services [17]). This section describes several projects that are related to the work presented in this paper. ...
Article
Recent trends in distributed real-time and embed- ded (DRE) systems motivate the development of infor- mation management capabilities that ensure the right information is delivered to the right place at the right time to satisfy quality of service (QoS) requirements in heterogeneous environments. A promising approach to building and evolving large-scale and long-lived DRE information management systems are standards-based QoS-enabled publish/subscribe (pub/sub) platforms that enable participants to communicate by publishing information they have and subscribing to information they need in a timely manner. Since there is little exist- ing evaluation of how well these platforms meet the performance needs of DRE information management, this paper provides two contributions: (1) it describes three common architectures for the OMG Data Distri- bution Service (DDS), which is a QoS-enabled pub/sub platform standard, and (2) it evaluates implementa- tions of these architectures to investigate their design tradeoffs and compare their performance with each other and with other pub/sub middleware. Our results show that DDS implementations perform significantly better than non-DDS alternatives and are well-suited for certain classes of data-critical DRE information management systems.
... To support emerging tactical information management systems, pub/sub middleware in general, and DDS in particular, have attracted an increasing number of research efforts (such as COBEA [20] and Siena [12]) and commercial products and standards (such as JMS [10], WS_NOTIFICATION [13], and the CORBA Event and Notification services [17]). This section describes several projects that are related to the work presented in this paper. ...
Article
Recent trends in distributed real-time and embedded (DRE) systems motivate the development of tactical information management capabilities that ensure the right information is delivered to the right place at the right time to satisfy quality of service (QoS) requirements in heterogeneous environments. A promising approach to building and evolving large-scale and long-lived tactical information management systems are standards-based QoS-enabled publish/subscribe (pub/sub) platforms that enable applications to communicate by publishing information they have and subscribing to information they need in a timely manner. Since there is little existing evaluation of how well these platforms meet the performance needs of tactical information management, this paper provides two contributions: (1) it describes three common architectures for the OMG Data Distribution Service (DDS), which is a QoS-enabled pub/sub platform standard, and (2) it evaluates three implementations of these architectures to investigate their design tradeoffs and to compare their performance. Our results show that DDS implementations perform well in general and are well-suited for certain classes of data-critical tactical information management systems.
... Although the communication mechanisms provided by EQAL are applicable to many types of event-based systems, with the evolution in a domain and new technologies emerging, other event communication mechanisms may be needed. For example, TAO's Federated Notification Service (Gore et al., 2004 ) is desired in certain DRE systems to address scalability and reliability concerns because it takes advantage of the underlying reliable multicast transport protocol in a scalable manner. Likewise, the OMG's Data Distribution Service (DDS) (OMG, 2004) is often desired when low latency and advanced QoS capabilities are key product variant concerns. ...
Article
Full-text available
This chapter describes our approach to model-driven engineering (MDE)-based product line architectures (PLAs) and presents a solution to address the domain evolution problem. We use a case study of a representative software-intensive system from the distributed real-time embedded (DRE) systems domain to describe key challenges when facing domain evolution and how we can evolve PLAs systematically and minimize human intervention. The approach uses a mature metamodeling tool to define a modeling language in the representative DRE domain, and applies a model transformation tool to specify modelto-model transformation rules that precisely define metamodel and domain model changes. Our approach automates many tedious, time consuming, and error-prone tasks of model-to-model transformation, thus significantly reducing the complexity of PLA evolution.
... To support distributed real-time and embedded systems, the formal DyKnow framework specified in the previous section has been implemented as a CORBA middleware service [13] . The COR- BA event notification service [14] is used to implement streams and to decouple knowledge processes from clients subscribing to their output. This provides an implementation infrastructure for knowledge processing applications. ...
Article
Engineering autonomous agents that display rational and goal-directed behavior in dynamic physical environments requires a steady flow of information from sensors to high-level reasoning components. However, while sensors tend to generate noisy and incomplete quantitative data, reasoning often requires crisp symbolic knowledge. The gap between sensing and reasoning is quite wide, and cannot in general be bridged in a single step. Instead, this task requires a more general approach to integrating and organizing multiple forms of information and knowledge processing on different levels of abstraction in a structured and principled manner.We propose knowledge processing middleware as a systematic approach to organizing such processing. Desirable properties are presented and motivated. We argue that a declarative stream-based system is appropriate for the required functionality and present DyKnow, a concrete implemented instantiation of stream-based knowledge processing middleware with a formal semantics. Several types of knowledge processes are defined and motivated in the context of a UAV traffic monitoring application.In the implemented application, DyKnow is used to incrementally bridge the sense-reasoning gap and generate partial logical models of the environment over which metric temporal logical formulas are evaluated. Using such formulas, hypotheses are formed and validated about the type of vehicles being observed. DyKnow is also used to generate event streams representing for example changes in qualitative spatial relations, which are used to detect traffic violations expressed as declarative chronicles.
... These design principles reduce software dependencies and support the loose coupling requirements of these DRE systems. Some widely used real-time publish/subscribe services for DRE systems based on object-oriented middleware include CORBA Real-time Event Service (RTES) [2], CORBA Real-time Notification Service (RTNS) [3] and OMG's Data Distri-bution Service (DDS) [4]. For example, the CORBA RTES is based on OMG's Real-time CORBA [5] and provides lowlatency/jitter event dispatching, support for periodic processing, dynamic client connection management, centralized event filtering, and efficient use of network and computational resources, which are well suited for DRE systems with stringent QoS requirements. ...
Conference Paper
As quality of service (QoS)-enabled component middleware technologies gain widespread acceptance to build distributed real-time and embedded (DRE) systems, it becomes necessary for these technologies to support real-time publish/subscribe services, which is a key requirement of a large class of DRE systems. To date there have been very limited systematic studies evaluating different approaches to integrating real-time publish/subscribe services in QoS-enabled component middleware. This paper makes three contributions in addressing these key research questions. First, we evaluate the pros and cons of three different design alternatives for integrating publish/subscribe services within QoS-enabled component middleware. Second, we describe how we applied pattern-driven and meta-programming approaches in realizing the most promising choice based on the container programming model. Third, we empirically evaluate the performance of our design and compare it with mature object-oriented real-time publish/subscribe implementations. Our studies reveal that both the performance and scal- ability of our design and implementation are comparable to its object-oriented counterpart, which provides a key guidance to the suitability of component technologies for DRE systems.
... A component architecture is a specification of a set of interfaces and rules of interaction that govern the communication among components. Most component architectures represent a case of tight coupling [8]. For instance, in CORBA (a component-based architecture), there is a tight coupling between the client and the server as both must share the same interface with a stub on the client-side and the corresponding skeleton on the server side. ...
Article
Full-text available
Understanding the philosophy behind components and services is necessary before choosing a solution to deal with change in software design.
... TAO's Real-Time Event Service [10] provides anonymous message delivery and allows applications to specify QoS requirements explicitly, so events can be scheduled and delivered to their destinations with rigorous QoS assurances. The Real-Time Notification Service [9] extends the Real-Time Event Service with structured events. ...
Conference Paper
Developing distributed real-time and embedded (DRE) systems in which multiple quality-of-service (QoS) dimensions must be managed is an important and challenging problem. This paper makes three contributions to research on multi-dimensional QoS for DRE systems. First, it describes the design and implementation of a fault-tolerant real-time CORBA event service for the ACE ORB (TAO). Second, it describes our enhancements and extensions to features in TAO, to integrate real-time and fault tolerance properties. Third, it presents an empirical evaluation of our approach. Our results show that with some refinements, real-time and fault-tolerance features can be integrated effectively and efficiently in a CORBA event service.
... The DyKnow framework is designed for a distributed, real-time and embedded environment [17,18] and is developed on top of an existing middleware platform, realtime CORBA [19], using the real-time event channel [12], the notification [11] and the forthcoming real-time notification [9] services. One of the purposes for this work is in the creation of a knowledge processing middleware capability, i.e. a framework for interconnecting different knowledge representation and reasoning services, grounding knowledge in sensor data and providing uniform interfaces for processing and management of generated knowledge and object structures. ...
Article
Full-text available
Any autonomous system embedded in a dynamic and changing environment must be able to create qualitative knowledge and object structures representing aspects of its environment on the fly from raw or preprocessed sensor data in order to reason qualitatively about the environment. These structures must be managed and made accessible to deliberative and reactive functionalities which are dependent on being situationally aware of the changes in both the robotic agent's embedding and internal environment. DyKnow is a software framework which provides a set of functionalities for contextually accessing, storing, creating and processing such structures. The system is implemented and has been deployed in a deliberative /reactive architecture for an autonomous unmanned aerial vehicle. The architecture itself is distributed and uses real-time CORBA as a communications infrastructure. We describe the system and show how it can be used in execution monitoring and chronicle recognition scenarios for UAV applications.
Article
The nodes of wireless sensor networks (WSNs) should execute tasks such as sensor data acquiring, routing, data processing etc, it will cause decrease of the data transmission rate while using single-task framework. In the paper, multitask cooperation of thread pool technology is applied to WSNs. It will no only speeds up the executing efficiency of WSNs, but realizes task decoupling easily, avoids collision and deadlock, and makes extension of tasks expediently.
Chapter
Full-text available
Any autonomous system embedded in a dynamic and changing environment must be able to create qualitative knowledge and object structures representing aspects of its environment on the fly from raw or preprocessed sensor data in order to reason qualitatively about the environment. These structures must be managed and made accessible to deliberative and reactive functionalities which are dependent on being situationally aware of the changes in both the robotic agent’s embedding and internal environment. DyKnow is a software framework which provides a set of functionalities for contextually accessing, storing, creating and processing such structures. The system is implemented and has been deployed in a deliberative/reactive architecture for an autonomous unmanned aerial vehicle. The architecture itself is distributed and uses real-time CORBA as a communications infrastructure. We describe the system and show how it can be used in execution monitoring and chronicle recognition scenarios for UAV applications.
Conference Paper
In this paper, a QoS-Adaptive Notification Service (QANS) scheme is proposed to prevent system overload, in which the Fuzzy-Smith control approach is applied. Different with traditional admission control, QANS adaptively adjusts the QoS level of task to control the service frequency of service provider by real-time monitoring the event channel. As a result, the system load is controlled and the performance of notification service is guaranteed. QANS is independent of the mathematical model of event channel and provides a non-linear control action, which eliminate the control error caused by inaccurate system model and linear assumption. Experimental results show that the proposed QANS scheme outperforms traditional event channel controllers in terms of system load control, response delay, and task miss-rate.
Conference Paper
Full-text available
Distributed real-time and embedded (DRE) applications possess stringent quality of service (QoS) requirements, such as predictability, latency, and throughput constraints. Real-Time CORBA, an open middleware standard, allows DRE applications to allocate, schedule, and control resources to ensure predictable end-to-end QoS. The Real-Time Specification for Java (RTSJ) has been developed to provide extensions to Java so that it can be used for real-time systems, in order to bring Java’s advantages, such as portability and ease of use, to real-time applications. In this paper, we describe RTZen, an implementation of a Real-Time CORBA Object Request Broker (ORB), designed to comply with the restrictions imposed by RTSJ. RTZen is designed to eliminate the unpredictability caused by garbage collection and improper support for thread scheduling through the use of appropriate data structures, threading models, and memory scopes. RTZen’s architecture is also designed to hide the complexities of RTSJ related to distributed programming from the application developer. Empirical results show that RTZen is highly predictable and has acceptable performance. RTZen therefore demonstrates that Real-Time CORBA middleware implemented in real-time Java can meet stringent QoS requirements of DRE applications, while supporting safer, easier, cheaper, and faster development in real-time Java.
Conference Paper
Publish-Subscribe paradigm has been widely employed in Real-Time applications. However, the existing technologies and models only support a simple binary concept of matching: an event either matches a subscription or it does not; for instance, a production monitoring event will either match or not match a subscription for production anomaly. Based on adaptive Quality of Service (QoS) management, we propose a novel publish/subscribe model, which is implemented as a critical service in a real-time database Agilor. We argue that publications have different relevance to a subscription. On the premise of guaranteeing deadline d, a subscriber approximately receives k most relevant publications, where k and d are parameters defined by each subscription. After the architecture of our model is described, we present negotiations between components and scalable strategies for adaptive QoS management. Then, we propose an efficient algorithm to select different strategies adaptively depending on estimation of current QoS. Furthermore, we experimentally evaluate our model on real production data collected from manufacture industry to demonstrate its applicability in practice.
Conference Paper
Full-text available
Nowadays, information management is vital to the efficient global management of operations. In a time of increased spreading of information systems, despite the vast number of options, it was acknowledged that they do not have critical information notification tools. The use of real time notification tools is an efficient way of diminishing the process cycles and information flow increase. This work consists of the study of the best way of notifying the right people in real time, decreasing response time. The research and development of these applications was carried out in one of the production facilities of a multinational pharmaceutical company. Communication and notification applications were developed appealing to the most modern computer science and system tools, like Ethernet communications, SMS notification, integration of several commercial SCADA, etc. The obtained results were very positive. Therefore, the development is being extended to the other facilities generalizing its use to the entire company.
Conference Paper
Notification Service is increasingly being used in a wide variety of distributed computing systems. One problem with Notification Service is that it is sensitive to overload. By analyzing the simulation results of the performance of current Notification Service, we find that the Notification Service needs overload protection. Thus a feedback control based overload protection of Notification Service is presented and designed. Experimental results show that this mechanism can control the load and achieve performance guarantees in the presence of load unpredictability, and it can also ensure allocating and utilizing system resources reasonably and efficiently.
Conference Paper
While the conventional remote method invocation mechanism has been considered for a long time as the primary approach for facilitating interactions among real-time objects, a multicast support mechanism has been recognized in recent years as an attractive supplement, if not a favored approach, in many applications. One highly promising concrete formulation of a multicast mechanism and an associated programming model is the real-time multicast and memory-replication channel (RMMC). This paper presents an API set designed for facilitating easy use of RMMCs and a middleware subsystem devised to support RMMCs. An experimental study performed to validate the RMMC support facility and check the performance of a TMO-structured multimedia application which uses an RMMC, is also discussed.
Conference Paper
Full-text available
Historically, method-oriented middleware, such as Sun RPC, DCE, Java RMI, COM, and CORBA, has provided synchronous method invocation (SMI) models to applications. Although SMI works well for conventional client/server applications, it is not well-suited for high-performance or real-time applications due to its lack of scalability. To address this problem, the OMG has recently standardized an asynchronous method invocation (AMI) model for CORBA. AMI provides CORBA with many of the capabilities associated traditionally with message-oriented middleware, without incurring the key drawbacks of message-oriented middleware. This paper provides two contributions to research on asynchronous invocation models for method-oriented middleware. First, we outline the key design challenges faced when developing the CORBA AMI model and describe how we resolved these challenges in TAO, which is our high-performance, real-time CORBA-compliant ORB. Second, we present the results of empirical benchmarks that demonstrate the performance benefits of AMI compared with alternative CORBA invocation models. In general, AMI based CORBA clients are more scalable than equivalent SMI based designs, with only a moderate increase in programming complexity.
Article
Full-text available
There is increasing demand to extend CORBA middleware to support applications with stringent quality of service (QoS) requirements. However, conventional CORBA middleware does not define standard features to dynamically schedule operations for applications that possess deterministic real-time requirements. This paper presents three contributions to the study of real-time CORBA operation scheduling strategies. First, we document our evolution from static to dynamic scheduling for applications with deterministic real-time requirements. Second, we describe the flexible scheduling service framework in our real-time CORBAimplementation, TAO, which supports core scheduling strategies efficiently. Third, we present results from empirical benchmarks that quantify the behavior of these scheduling strategies and assess the overhead of dynamic scheduling in TAO. Our empirical results using TAO show that dynamic scheduling of CORBA operations can be deterministic and can achieve acceptable latency for operations, even with moderate levels of queueing.
Article
Full-text available
The CORBA Event Service provides a flexible model for asynchronous communication among objects. However, the standard CORBA Event Service specification lacks important features required by real-time applications. For instance, operational flight programs for fighter aircraft have complex realtime processing requirements. This paper describes the design and performance of an object-oriented, real-time implementation of the CORBA Event Service that is designed to meet these requirements. This paper makes three contributions to the design and performance measurement of object-oriented real-time systems. First, it illustrates how to extend the CORBA Event Service so that it is suitable for real-time systems. These extensions support periodic rate-based event processing and efficient event filtering and correlation. Second, it describes how to develop object-oriented event dispatching and scheduling mechanisms that can provide real-time guarantees. Finally, the paper presents benchmarks that demonstrate the performance tradeoffs of alternative concurrent dispatching mechanisms for real-time Event Services. 1
Conference Paper
Full-text available
Distributed object systems typically support synchronous requests from one distributed object to another. Often, a more decoupled style of communication among distributed objects is appropriate. We describe an object service called event channel that decouples distributed object communication. We describe SunSoft's implementation of the event channel and illustrate its use in a stock trading application. Keywords: distributed object-oriented systems, communication, events, OMG, CORBA, CORBA Services 1.0 Introduction Distributed object systems[2][5] are emerging to support applications that access objects across distributed, possibly heterogeneous, system boundaries. Such systems define a distributed object model that is mapped appropriately to native concepts in a wide variety of systems. Communication in distributed object systems typically consists of synchronous requests. A request is made by a requestor to a single target object. A request results in the synchronous execution of...
Article
Full-text available
Events are an emerging paradigm for composing applications in an open, heterogeneous distributed world. In Cambridge we have developed scalable event handling based on a publish-register-notify model with event object classes and server-side filtering based on parameter templates. After experience in using this approach in a home-built RPC system we have extended CORBA, an open standard for distributed object computing, to handle events in this way. In this paper, we present the design of COBEA - a COrba-Based Event Architecture. A service that is the source of (parameterised) events publishes in a Trader the events it is prepared to notify, along with its normal interface specification. For scalability, a client must register interest (by invoking a register method with appropriate parameters or wild cards) at the service, at which point an access control check is carried out. Subsequently, whenever a matching event occurs, the client is notified. We outline the requirements on the...
Article
Many real-time application domains can benefit from flexible and open distributed architectures, such as those defined by the CORBA specification. CORBA is an architecture for distributed object computing being standardized by the OMG. Although CORBA is well-suited for conventional request/response applications, CORBA implementations are not yet suited for real-time applications due to the lack of key quality of service (QoS) features and performance optimizations.This paper makes three contributions to the design of real-time CORBA systems. First, the paper describes the design of TAO, which is our high-performance, real-time CORBA 2.0-compliant implementation that runs on a range of OS platforms with real-time features including VxWorks, Chorus, Solaris 2.x, and Windows NT. Second, it presents TAO's real-time scheduling service that can provide QoS guarantees for deterministic real-time CORBA applications. Finally, the paper presents performance measurements that demonstrate the effects of priority inversion and non-determinism in conventional CORBA implementations and how these hazards are avoided in TAO.
Conference Paper
Many distributed applications require a scalable event-driven communication model that decouples suppliers from consumers and simultaneously supports advanced quality of service (QoS) properties and event filtering mechanisms. The CORBA Notification Service provides a publish/subscribe mechanism that is designed to support scalable event-driven communication by routing events efficiently between many suppliers and consumers, enforcing various QoS properties (such as reliability, priority, ordering, and timeliness), and filtering events at multiple points in a distributed system.This paper provides several contributions to research on scalable notification services. First, we present the CORBA Notification Service architecture and illustrate how it addresses limitations with the earlier CORBA Event Service. Second, we explain how we addressed key design challenges faced when implementing the Notification Service in TAO, which is our high-performance, real-time ORB. We discuss the optimizations used to improve the scalability of TAO's Notification Service. Finally, we present empirical results of the performance of our implementation.
Article
Abstract Advanced distributed interactive simulations have stringent quality of service (QoS) requirements for throughput, latency, and scalability, as well as requirements for a flexible com - munication infrastructure to reduce software lifecycle costs The CORBA Event Service provides a flexible model for asyn - chronous communication among distributed and collocated objects However, the standard CORBA Event Service spec - ification lacks important features and QoS optimizations re - quired by distributed interactive simulation systems This paper makes five contributions to the design, imple - mentation, and performance measurement of distributed inter - active simulation systems First, it describes how the CORBA Event Service can be implemented to support key QoS fea - tures Second, it illustrates how to extend the CORBA Event Service so that it is better suited for distributed interactive simulations, such as the next - generation Run Time Infrastruc - ture (RTI - NG) implementation for the Defense Modeling and Simulation Organization's (DMSO) High Level Architecture (HLA) Third, it describes how to develop efficient event dis - patching and scheduling mechanisms that can sustain high throughput Fourth, it describes how to use multicast protocols to reduce network traffic transparently and to improve system scalability Finally, it illustrates how an Event Service frame - work can be strategized to support configurations that facil - itate high throughput, predictable bounded latency, or some combination of each
Article
This paper makes four contributions to the design and evaluation of publisher/subscriber architectures for distributed real-time and embedded (DRE) applications. First, it illustrates how a flexible publisher/subscriber architecture can be implemented using standard CORBA middleware. Second, it shows how to extend the standard CORBA publisher/subscriber architecture so it is suitable for DRE applications that require low latency and jitter, periodic rate-based event processing, and event filtering and correlation. Third, it explains how to address key performance-related design challenges faced when implementing a publisher/subscriber architecture suitable for DRE applications. Finally, the paper presents benchmarks that empirically demonstrate the predictability, latency, and utilization of a widely used real-time CORBA publisher/subscriber architecture. Our results demonstrate that it is possible to strike an effective balance between architectural flexibility and real-time quality of service for important classes of DRE applications.
Article
End-to-end predictability of remote operations is essential for many fixed-priority distributed real-time and embedded (DRE) applications, such as command and control systems, manufacturing process control systems, large-scale distributed interactive simulations, and testbeam data acquisition systems. To enhance predictability, the Real-time CORBA specification defines standard middleware features that allow applications to allocate, schedule, and control key CPU, memory, and networking resources necessary to ensure end-to-end quality of service support. This paper provides two contributions to the study of Real-time CORBA middleware for DRE applications. First, we identify potential problems with ensuring predictable behavior in conventional middleware by examining the end-to-end critical code path of a remote invocation and identifying sources of unbounded priority inversions. Experimental results then illustrate how the problems we identify can yield unpredictable behavior in conventional middleware platforms. Second, we present design techniques for ensuring real-time quality of service in middleware. We show how middleware can be redesigned to use nonmultiplexed resources to eliminate sources of unbounded priority inversion. The empirical results in this paper are conducted using TAO, which is widely used and open-source DRE middleware compliant with the Real-time CORBA specification.
Article
Increasingly complex requirements, coupled with tighter economic and organizational constraints, are making it hard to build complex distributed real-time embedded (DRE) systems entirely from scratch. Therefore, the proportion of DRE systems made up of commercial-off-the-shelf (COTS) hardware and software is increasing significantly. There are relatively few systematic empirical studies, however, that illustrate how suitable COTS-based hardware and software have become for mission-critical DRE systems. This paper provides the following contributions to the study of real-time quality-of-service (QoS) assurance and performance in COTS-based DRE systems: it presents evidence that flexible configuration of COTS middleware mechanisms, and the operating system (OS) settings they use, allows DRE systems to meet critical QoS requirements over a wider range of load and jitter conditions than statically configured systems; it shows that in addition to making critical QoS assurances, noncritical QoS performance can be improved through flexible support for alternative scheduling strategies; and it presents an empirical study of three canonical scheduling strategies; specifically the conditions that predict success of a strategy for a production-quality DRE avionics mission computing system. Our results show that applying a flexible scheduling framework to COTS hardware, OSs, and middleware improves real-time QoS assurance and performance for mission-critical DRE systems.
Article
z<z<XF:XIts| z<>z_>VI@:IP<<>wa@hFF_}> 0Hz<>z_>0Ya@s:s|aIK>Y|hF K>DK:Ft PKzDw_NI>H< PKYs:>tzs>8<I@:s zzPIjtFtY_ > VtDFtzXF>FFgwXFDzK0t.Dd-U sz dKsz_>FtYztV>Y_sFPg@ I8KF<@DzK HsPz#sF NI_K8>:>F 0H\\_ Kszz>FV>:zzsFFzy_@XF_ K@zKF0>KYs| _Ft K>DK:FtVFYt>V@zs58><_>H>NxtDFFz_F5XK:t> V@ _aF_ zz8dN<_><_zY>xaFta>zz#@ NFK}@>dwXFta FFzsDwz |h:zz1>tz Y_sFetFFVsDK>z DU_VFtKVt#tKsw s@hsz d<>z_>tF<Y_<FFdz FtYzt$>xtH_XIYzHI_ : _#ss IFKtF z0__>z_>j_5D1KF XF >z_>j_5D1KF I<n#K<|w>:>ssIFKtK 21580-36300 8660-37340 ts<KDFg|hFFzzsDsz Ksz_>NF<Y_<1zHd Hztz>Hah:wDFzFt0><<gIIsw}zz#d-UPz<@:K :t|zz^@sz_>D#:tI_zgNx> sw}zz#d-UP _zI5a sz dKsz_>1NF<Y_ z 8dNVFFFdFgNz<_Ks:IFK:wzgV :nDFzt>t0><0V: g|hFF_sz_N 1.
Notification Service Specification, OMG Doc
  • Object Mgmt
  • Group
Object Mgmt. Group, Notification Service Specification, OMG Doc. telecom/99-07-01 ed., July 1999.
Real-time CORBA Joint Revised Submission, OMG Doc
  • Object Mgmt
  • Group
Object Mgmt. Group, Real-time CORBA Joint Revised Submission, OMG Doc. orbos/99-02-12 ed., Mar 1999.
Real-time Notification: Request For Proposals, OMG Document
  • Management Object
  • Group
Object Management Group, Real-time Notification: Request For Proposals, OMG Document: ORBOS/00-06-10, June, 2000.
Real-time CORBA Joint Revised Submission, OMG Document orbos
  • Management Object
  • Group
Object Management Group, Real-time CORBA Joint Revised Submission, OMG Document orbos/99-02-12 ed., Mar 1999.
The Common Object Request Broker: Architecture and Specification
  • Management Object
  • Group
Object Management Group, The Common Object Request Broker: Architecture and Specification, 2.4 ed., Oct. 2000.
Event Service Specification Version 1.1, OMG Document formal/01-03-01 edition
  • Management Object
  • Group
Object Management Group, Event Service Specification Version 1.1, OMG Document formal/01-03-01 edition, 2001.
CORBA Messaging Specification, OMG Document orbos/98-05-05 edition, Object Management Group
  • Management Object
  • Group
Object Management Group, CORBA Messaging Specification, OMG Document orbos/98-05-05 edition, Object Management Group, 1998.
Techniques for Enhancing Real-time CORBA Quality of Service, the IEEE Proceedings Special Issue on Real-time Systems
  • Irfan Pyarali
  • Douglas C Schmidt
  • Ron Cytron
Irfan Pyarali, Douglas C. Schmidt, and Ron Cytron, Techniques for Enhancing Real-time CORBA Quality of Service, the IEEE Proceedings Special Issue on Real-time Systems, co-editors Yann-Hang Lee and C. M. Krishna, Volume 91, Number 7, July 2003.
Real-time Notification Service, Initial Submission In Response to OMG RFP orbos
  • Objective Interface Systems
  • Inc
Objective Interface Systems, Inc., Real-time Notification Service, Initial Submission In Response to OMG RFP orbos/00-06-10, 2002.
RT Notification, Initial Submission to Real-time Notification RFP
Highlander Engineering Inc., RT Notification, Initial Submission to Real-time Notification RFP, 2002.
Real-time CORBA Joint Revised Submission
  • Object Mgmt Group
Real-time CORBA 2.0: Dynamic Scheduling Joint Final Submission, OMG Document orbos
  • Management Object
  • Group
Object Management Group, Real-time CORBA 2.0: Dynamic Scheduling Joint Final Submission, OMG Document orbos/2001-06-09, June 2001.