I am a dynamic figure, often seen scaling walls and crushing ice. I have been known to remodel train stations on my lunch breaks, making them more efficient in the area of heat retention. I translate ethnic slurs for Cuban refugees, I write award-winning operas, I manage time efficiently. Occasionally, I tread water for three days in a row.
I woo women with my sensuous and godlike trombone playing, I can pilot bicycles up severe inclines with unflagging speed, and I cook Thirty-Minute Brownies in twenty minutes. I am an expert in stucco, a veteran in love, and an outlaw in Peru.
Using only a hoe and a large glass of water, I once single-handedly defended a small village in the Amazon Basin from a horde of ferocious army ants. I play bluegrass cello, I was scouted by the Mets, I am the subject of numerous documentaries. When I'm bored, I build large suspension bridges in my yard.
I enjoy urban hang gliding. On Wednesdays, after school, I repair electrical appliances free of charge.
I am an abstract artist, a concrete analyst, a systems thinker and a ruthless bookie. Critics worldwide swoon over my original line of corduroy evening wear. I don't perspire. I am a private citizen, yet I receive fan mail. I have been caller number nine and have won the weekend passes. Last summer I toured New Jersey with a travelling centrifugal-force demonstration. I bat .400. My deft floral arrangements have earned me fame in international botany circles. Children trust me.
I can hurl tennis rackets at small moving objects with deadly accuracy. I once read Paradise Lost, Moby Dick, and David Copperfield in one day and still had time to refurbish an entire dining room that evening. I know the exact location of every food item in the supermarket. I have performed several covert operations for the CIA. I sleep once a week; when I do sleep, I sleep in a chair. While on vacation in Canada, I successfully negotiated with a group of terrorists who had seized a small bakery. The laws of physics do not apply to me.
I balance, I weave, I dodge, I frolic, and my bills are all paid. On weekends, to let off steam, I participate in full-contact origami. Years ago I discovered the meaning of life but forgot to write it down. I have made extraordinary four course meals using only a mouli and a toaster oven. I breed prize winning clams. I have won bullfights in San Juan, cliff-diving competitions in Sri Lanka, and spelling bees at the Kremlin. I have played Hamlet, I have performed open-heart surgery, and I have spoken with Elvis.
But I have not yet gone to college.
*shamelessly stolen from reddit
With the ubiquitous nature of wireless sensor networks, managing networks consisting of tens thousands of nodes can be very challenging if not impossible. It is for this reason that middleware abstractions have been created to simplify the management of sensor networks. Most middleware solutions can be classified into five main groups; virtual machine based, distributed databases, intelligent agents approach, application oriented, and finally message oriented. The design of Normandias draws upon well tested concepts in these five classes.
Virtual Machine (VM) based approaches like Maté based on TinyOS offer a very flexible approach to application development by allowing dynamic code updates using energy efficient code propagation algorithms but suffer from processing overheads when instructions are translated from Mate to TinyOS executable forms. On the other hand, applications built using the specifications of Normandias are written in NesC thus can be directly executed by Motes without the need for additional interpretation. Another major drawback of VM based systems is the need for sensor network programmers to learn yet another VM specific language (typically assembly language) hindering mass adoption.
In the case of Distributed Database approach, sensing nodes are abstracted into storage nodes where intelligent queries incorporating sensing data, spatial data and other parameters can be issued. Although this approach simplifies the task of retrieving data from sensors, it sacrifices the real time requirements of sensor networks and nimbleness of sensing nodes (in sense and react scenarios).TinyDB for instance uses a controlled flooding mechanism to disseminate queries which is generally considered to be inefficient. In Normandias, nodes designated as leaders have access to Query Processing interfaces thus simplifying query processing without removing the real time property of a sensor network. Another drawback of the database approach is the fact that such systems are typically static, that is cannot be changed after deployment. Other issues include ease of integration with other non-database systems and ability to specify QoS parameters which is important since applications can differ by the volume of data generated. For example, an application tracking temperature changes might require less collaboration since changes are slow in occurrence in contrast to a human tracking application.
Normandias based applications have numerous advantages over intelligent agent, application oriented and message based systems. For the sake of brevity, these are not covered in this blog post.
Normandias is a service oriented, ambient aware, and object centered framework specifying a formal interface for constructing a wireless sensor network application. It permits sensor network developers to build “plug and play” applications based on certain specifications thus eliminating the need for an in-depth knowledge of TinyOS or NesC when developing applications. Its plugin based structure guarantees that the latest advances in communication, processing, or collaborative algorithms can be easily incorporated with very little or no change to an application. In the simplest terms, my contribution to sensor networks is the identification of critical services which must be offered in some form across certain classes of sensor applications (environmental monitoring, event detection, and tracking systems) and the abstraction of these services into cohesive interfaces whose sum offers the flexibility and efficiency of node centric programming approaches without its complexity.
The good fellas at the blogs Gizmodo and Engadget go crazy at the thought of getting WiMax and improved Bluetooth specifications. For this reason, I have created a simple picture to compare these standards to other existing ones in the areas of Range and Data Rate.
Its been a year since last winter quarter and once again HA-OSCAR (codenamed: Singularity) is on my projects ‘to do’ list this christmas. Last year, I removed all OSCAR dependencies from HAOSCAR making it a truly standalone high availability solution. This year, conclusion of my google summer of code project for OSCAR I gained a great deal of knowledge in the design of practical and highly modularized software systems that support third party extensibility. With this knowledge, it dawned on me that while HA-OSCAR was a first-rate concept, the way its concept was executed left much to be desired. In its current state, it was inflexible, static and only supported one (1) linux distribution.
With these flaws hampering any chance of wide adoption, I proposed a complete redesign and rewrite of its software. I am happy to say that its redesign was complete on the 30th of October and coding commenced in november. Currently, we are close to achieving milestone one. In this new redesign, a lot of non-standard HA components were replaced most notably ping with Linux-HA’s heartbeat. Some other additions include the inclusion of distributed replication block device (DRBD), Mon-it, Kickstart & SiS suite and several abstracted components. I also hope to attain full compatibility in this new release with a number of linux distributions (CentOS, Rhel, Fedora, OpenSUSE, Debian, & Ubuntu).
As project lead and chief software architect of this new solution, I enforce strict coding rules to avoid the monstrosity the last HA solution had become. Python’s structure and concept of classes/modules plays a huge role in achieving this. In my next HA post I will discuss the four (4) core subsystems that make up the newly revised HA-OSCAR.
Below is the most recent project roadmap and goals of the new HA-OSCAR:
High Availability (HA) Computing has long been played a critical role in industry mission critical applications. On the other hand, High Performance Computing (HPC) has equally been a significant enabler to the R&D community for their scientific discoveries. With combination of HA and HPC, together will clearly lead to even more benefits to both industry, academic and research entities.
The goal of the HA Project is to create a flexible yet leading edge solution which seeks to provide a combined power of High Availability and Performance computing solution. It should enhance any computing infrastructure such as Webservers, and Clusters by providing the much needed redundancy for mission critical grade applications. To achieve high availability, component redundancy is adopted to eliminate single point of failures. Our HA-project incorporates a self healing mechanism, failure detection, automatic synchronization, failover and fail-back.