A case study on event dissemination in an active overlay network environment
Summary (5 min read)
1. INTRODUCTION
- Distributed application design is closely tied to the problem of the quality of service offered by the support communication channels.
- In general, for a given problem, a too weak quality of service tends to put an excessive burden on the application, which has to overcome the communication infrastructure shortfalls on its own.
- Ideally, one should strive for a balanced compromise between the two, aiming at simpler applications backed by communication support with the “right” quality of service.
- The authors work in the context of distributed event dissemination tackles this precise challenge of designing a flexible, generic event dissemination framework, capable of providing the means to easily and incrementally build communication support channels with just the “right” quality service needed in each situation.
- The authors have addressed this problem by creating a solution based on pluggable QoS templates that leverages its overlay-network oriented architecture to achieve those goals.
2. CASE STUDY APPLICATION
- The case study JAVA application is a barebones group-conference tool suite, comprising videoconference, moderator and chat tools.
- A moderator tool is included to help the audio coordination of videoconference sessions involving multiple participants.
- The desktop provides an updated view of the status of the users enlisted in the current session.
- To test the aforementioned claim, the entire communication requirements posed by this tool suite have been strictly fulfilled by the amenities of the event dissemination framework, by developing framework plug-ins with the appropriate QoS classes, as required by each application component.
- Therefore, the authors must Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full cit ation on the first page.
3. DEVELOPMENT FRAMEWORK
- The tool suite is built on top of a JAVA-based event dissemination platform named DEEDS.
- The guiding goals of the framework are the extensibility and configurability of existing features, as a way of satisfying the requirements of largescale, heterogeneity and mobility in specific contexts.
- DEEDS advocates a general-purpose solution in the sense that it can be easily adapted to particular problems, or greatly eases the creation of custom solutions using existing features as guiding blueprints.
- A small set of simple and intuitive concepts have been deliberately used to foster an incremental approach towards problem solving that capitalizes on existing experience.
3.1 Event Dissemination Model
- DEEDS implements the well-known publish/subscribe paradigm, enhanced with a feedback operation allowing event consumers and event sources to engage in one-to-one event exchange dialogs.
- These operations are supported over active event channels that designate named instances of particular QoS templates.
- These QoS templates correspond to system-level plugins that execute in the nodes of the event dissemination overlay network and provide the routing logic needed to direct the event stream produced by the publish and feedback operations.
- The event dissemination model offered is also protocol transparent, meaning that there are no references to specific communication protocols at either the application level or within the QoS templates themselves.
- Actual protocol bindings are relegated to the deployment phase and subjected to the administrative policies of each particular site.
3.2 Platform Architecture
- The event dissemination model summarized above is matched by a distributed architecture designed with large-scale and heterogeneity support in mind.
- The first tier of this logical network is known as the backbone and its server nodes typically handle the more demanding routing operations.
- In every node, regardless of type but, with different contexts, instances of the QoS template plug-ins are executed to handle event forwarding.
- The remaining of the registry is globally reachable (on demand) and is replicated among all server nodes.
- This is the place where DEEDS stores persistent information that is relevant to every node, such as the event channel directory that lists the names of known channels and their bindings to the QoS templates.
3.2.1 Node architecture
- The primary job of a DEEDS node is to provide the execution environment for the event channel QoS template instances.
- Event routing within a QoS plug-in typically involves accepting incoming events and control messages, updating the state of the node, and sending event and control messages to other nodes over the appropriate transports.
- These services exchange information with their counterparts on other nodes to perform housekeeping functions and provide a monitored view of the status of the dissemination network.
- One of these services, for instance, is responsible for maintaining the node’s system registry replica.
- An explanation of the most relevant services comes next.
3.3 Programming Model
- DEEDS programming model is expressed in the JAVA programming language and assumes execution in a standard JAVA environment.
- The programming library consists of a set of user-level programming interfaces intended for the development of applications.
- Data overlap between the two is not restricted in any way but is wasteful and should be avoided.
- The envelope can be a rough description of the main event payload, to assist QoS templates in optimizing event dissemination based on aggressive event filtering practices.
- The event model also includes the notion of receipt objects, whose purpose is to aggregate and return system-generated information associated with an event, such as event-source identifiers, sequence numbers and subscription “handbacks”.
3.3.1 Application Programming Interfaces
- The basis of the programming interfaces is the EventChannel class, which provides the access points to the event dissemination operations according to the publish/subscribe/feedback model.
- References to these objects are obtained by performing a lookup operation on a global event channel directory.
- Creation of a new event channel is accomplished with the clone operation, which takes the intended name for the new channel and the name of the QoS template plug-in, in which the new channel will be based upon.
- Having obtained a reference to an EventChannel object, the application can follow the expected programming pattern of the publish/subscribe paradigm.
- For clarity and brevity, only partial argument lists are shown.
3.3.2 QoS Template Development
- Extending the framework capabilities is in great part tied to the development of new QoS template plug-ins.
- To achieve this purpose, the plug-in can also format any appropriate control messages it needs and exchange them with other nodes.
- This information is made accessible through the system registry and is presented in the form of dynamic objects that other processes keep updated and store in named containers.
- This scheme allows QoS plug-ins to synchronize their state (a privately computed routing table, for example) in reaction to changes in the containers they monitor.
- The framework already provides a number of these containers such as, a list of known backbone nodes and the transports available to reach them, a list of local subscribers for each event channel, a current view of the overlay network links, a low-cost spanning tree covering the backbone nodes and the associated broadcast and unicast routing tables.
4. CASE STUDY DEVELOPMENT
- In this section the authors describe the most relevant aspects that guided the development of each of the applications that make up this case study.
- The authors recall that the challenge they have undertaken has been to show that a combination of the right quality of service in communication can lead to simple (peer-oriented) applications that address elaborate problems.
- Furthermore, the authors want to verify that, with an acceptable effort, the desired QoS is feasible within plug-in model of the DEEDS framework.
- In any way, the authors want to advocate here that this is the best way to solve these problems but that it is a good, promising way; a viable alternative to more popular approaches such as the centralized client-server model.
4.1.2 The Desktop
- The desktop is the main application that glues everything together.
- During the course of its operation, the desktop uses its event channel to publish a periodic heartbeat that informs other desktops in the same session about the presence of this participant.
- Moreover, the UnreliableMulticast QoS template is essentially an extension of the single-source version developed earlier.
- The changes made consisted in also having the nodes with sources join the multicast tree, in addition to the nodes with subscribers, and always choosing the rendezvous node as the root of the multicast tree.
- The source advances the queue in step with the lowest sequence numbered ACK received and drops any node that fails to advance its sequence number for too long.
4.1.3 Moderator Tool
- The purpose of this tool is to help coordinate an ongoing videoconference session by muting the audio streams of selected participants, while keeping the video going.
- This tool is rather simple in its approach; it manages a queue of enrolled participants, monitoring changes to the queue and only allowing the participant at the head of the queue to talk, keeping the others silent.
- The actual muting and enabling of the audio streams is done indirectly by publishing appropriate events to another event channel shared with the all the tools running on the same desktop, videoconference ones included.
- This simple approach to the moderator tool was thought viable on the assumption that a suitable QoS template could be developed easily enough to not completely offset what would be gained in the first place.
- The reliability mechanism already used in the event stream also applies to these new control messages thus avoiding any gaps in the total order sequence numbers.
4.1.4 Chat Tool
- It follows a similar approach to the one used in the moderator by having all the instances of the tool share exactly the same role.
- Basically, it only needs to publish the text input by the user into a dedicated event channel that every chat tool also subscribes to receive what the other users are saying.
- To dress up the chat tool, and by taking further advantage of the HTML rendering capabilities of the JAVA environment, the authors opted for presenting each message side by side with the icon image associated with its author.
- To keep the changes in line with the overall philosophy, the authors would like to accomplish this without modifying the application code.
- Specifically, the goal is to replace the event channel type, currently in use, with a new type also advertising a persistency quality.
5. TRIAL EXPERIMENTS
- The group conference tool suite described in the preceding sections has been tested on a limited scenario in terms of the number of backbone nodes used.
- For this task, the authors used the framework’s built-in simulator to run the unchanged QoS templates in random networks with up to 100 backbone nodes during several hours of virtual time.
- Reliable channels were set to use TCP across the entire network, while unreliable ones were set to use UDP between the two backbone nodes (with a 200 ms imposed delay) and IP multicast among the clients of the same backbone node and itself.
- Informal testing with the network configuration described above, conducted with a group of up to four participants, has shown that the tools behave in an acceptable way despite their prototypal nature.
- Conferencing using audio alone worked particularly well but video suffered a noticeable frame drop.
8. CONCLUSIONS
- The design and implementation of this case study has been very helpful in their work on the development of DEEDS, a programmable and extensible event dissemination framework.
- It has strengthened their belief in the soundness of their goals and in the design decisions made so far.
- It confirms the viability of the programming model advocated in the framework, which claims that simple, yet, effective eventaware distributed applications can be built on top of an overlay network communication infrastructure, provided the most natural or straightforward requirements in quality of service are met.
- The active networking inspired plugin model represents great versatility because it encourages the use of tweaked variants of the same plug-in as a form of optimization for specific requisites, instead of having to settle with an overall best one.
- It showed that there are obvious advantages in supporting protocol heterogeneity in a independent manner to the programming of new applications and template plug-ins.
Did you find this useful? Give us your feedback
Citations
1 citations
Additional excerpts
...Previousresearch[8 ][3][6][4] hasoverlookedthissourceof events....
[...]
1 citations
Cites background from "A case study on event dissemination..."
...DEEDS helps networked participants conference between remote sites [18]....
[...]
References
7,183 citations
2,372 citations
1,217 citations
975 citations
754 citations
"A case study on event dissemination..." refers background in this paper
...Keywords Case study, event dissemination, quality of service (QoS), multicasting, overlay networks, active networks....
[...]
Related Papers (5)
Frequently Asked Questions (2)
Q2. What have the authors stated for future works in "A case study on event dissemination in an active overlay network environment" ?
Overall, it was made clear that the adoption of protocol heterogeneity will offer a more diverse and richer realm of deployment possibilities. Finally, the authors feel the results obtained so far encourage us to continue the validation process of the dissemination framework by tackling other areas of the distributed event dissemination problem along the lines exposed in the future work section above.