Friday, February 23, 2007

2007 R&D Spending Forecast

One of the interesting reads I look forward to each year is R&D Magazine’s funding forecast in which they survey government and now private sector funding in order to predict the development of emerging technologies. Clearly, those technologies which receive funding stand a much greater chance of success over those technologies without it. The authors of the study divide funding into four sectors: federal government, industry, academic, and non-profit organizations.

In this year’s edition the author’s highlight significant changes in the funding environment. They are:

1. Government funding shifted towards the fight against terrorism and mitigating natural disasters.
2. Industry funding has shifted some resources to offshore sites.
3. China and India are becoming key players in the technology arena.

The article forecasts investment of $338 billion in 2007 which is about a 3% gain over 2006. It appears that the Department of Defense and Homeland Security received their increases already, but the remaining increases scheduled for the NSF, NIST, and Dept of Energy have yet to be passed which leaves them vulnerable to no increase for 2007.

Government funded R&D will go towards instruments for detecting biological and radiological materials. Also alternative energy will receive more focus.

In looking at industry, academic labs, and non-profits, it appears R&D staffing will increase by nearly 3% in 2007 with positive changes in semiconductor, pharma, petrochemical, and materials leading the way.

The American Association for the Advancement of Science echoes R&D Magazines’ assessment that DOD expenditures are drawing resources away from basic research. Spending in Health and General Science are increasing while other segments remain the same or decline, according to this chart.

In previous year’s posts, I wrote that biomedical research increased dramatically. To see how it compares to other disciplines such as engineering, math/computer science, or physical sciences, click here. It’s astonishing to see how much money went to biomedical research.

Offsetting the decline in government spending in research is industry spending. The chart here shows it well. It’s interesting to see the breakdown by industry. Pharma leads the way in R&D spending followed by semiconductor, software, and automotive. One third of R&D spending is in the area of services.

The American Competitive Initiative that was launched last year by President Bush committed $6B additional funds to R&D efforts in 2007 with $50B in additional funds spread over ten years. It is aimed at supporting basic research programs in the physical sciences and engineering. The additional funds will be funneled through NSF, DOE, and NIST with an emphasis on training and education of scientists and engineers for both research and engineering teaching.

Best regards,
Hall T.

Friday, February 16, 2007

Making Wireless Sensor Networks Easier to Implement

I find it interesting the variety of approaches companies and universities take to make wireless sensor networks easier to implement. I found two examples this week.

Sun has come out with its own hardware tools for implementing wireless sensor networks. The SPOT is a device that senses temperature, light, and motion, and comes in a package the size of a stack of cards. As I blogged about in last week’s post WSNs are hard to program and implement because most use TinyOS which requires low-level programming knowledge. As one engineer put it, ”if you want to modify a small part of the network's function . . . you have to start over.” Sun proposes using Java which is used in many cellphones. It’s smart about battery usage and easier to program than TinyOS. If you’re interested in getting one check out this page.

Another approach is to combine existing software technologies with wireless sensor networks to make them easier to use. In this paper the author, Frank Lewis, applies supervisory control concepts to the wireless sensor network challenge. He breaks the problem down into three steps: sensing, communication, and computing. As WSNs grow, he predicts fault tolerance, effective deployment, mobility , and data management will become important aspects to the success of a WSN and therefore proposes the use of a supervisory control paradigm since it provides these features.

The author uses the concept of a “mission” to represent a sequence of tasks to be performed by the WSN. Missions are coordinated by “high-level planners.” A typical supervisory control system consists of data acquisition, online analysis, logging and storage, offline analysis, display/sharing/reporting, and a supervisory control function. To achieve efficiency in data collection and management, the author applied a “dead-band” which collects data only when something significant happens. A supervisory system comes with many of the tools that WSNs use including network status, trending, and reporting.

It’s an interesting approach to use supervisory control to manage a WSN. While the data management, and visualization is readily accomplished, there remains the challenge of resource management (battery power, memory footprint, etc) that makes for a more robust WSN implementation. The paper does not go into any detail on these points. Also, a supervisory control fundamentally controls the network from a central location, while WSNs seek decentralized control letting the nodes communicate with each other and share data without a centralized network architecture.

I can see how supervisory control-based WSNs would solve specific industrial applications by removing the wires and making implementation easier. But in applications requiring true mesh-network functionality, there may be limitations.


Best regards,
Hall T.

Friday, February 09, 2007

Wireless Sensor Networks in Practice – Discussion with Bob King

I recently had a discussion with Robert King of the Colorado School of Mines. Bob is an avid LabVIEW user and is currently performing work in the machine condition monitoring and the environmental monitoring area. In our discussion about wireless sensor networks, it appears that most of the available systems on the market are difficult to program. Text-based programming is a challenge for those not experienced with the chipsets used in wireless sensor network nodes. Also, setting up a network with different topologies to find the most optimal one for an application is not easily done. Most sensor networks on the market provide a star configuration and little more. The mesh network seems to be found primarily in basic research.

Wireless sensor networks do provide benefits even at the twenty to fifty node level. The first is wireline replacement. Wiring an application can cost anywhere from $20 to $2000 a foot depending on the wire and the environment. Also, wires come with connectors which require maintenance.

Construction sites are becoming an interesting application area for WSNs. To monitor for structural damage on adjacent buildings, engineers place sensors on the building and monitor vibrations and movements. Running wires on an existing building is an expensive proposition and a difficult one to do if the wires need to come out through the construction area.

A second advantage of a wireless sensor network over a wired network is its ability to change the network topology. Topologies range from star, to tree, to mesh. Each has its own advantages. The star is the easiest to implement but in long-range applications (carrying a signal over several miles), it is not practical – a mesh network is better suited for such an application. By placing the coordinator closer to the source of information, one can eliminate sending coordination information throughout the network and preserve node resources (memory, battery power, etc) for transmitting data.

Some users complain about the lost data that comes from using battery-powered nodes in an area crowded with other wireless signals. One way to mitigate lost data is to build redundancy into the system by adding additional nodes to the network for backup. As nodes fall in price, deploying additional nodes may solve the problem of nodes dropping out due to a run-down battery or an interfering EMI signal.

Best regards,
Hall T.

Friday, February 02, 2007

Regiment – Wireless Sensor Network Macroprogramming Language

One can view a Wireless Sensor Network as a series of nodes in which each one must be programmed individually, or one can view the collection of nodes as a single entity. Regiment is a macroprogramming language that follows the latter approach. In this
paper, the authors describe Regiment which uses region streams to represent a collection of nodes in a geographical area.

No one doubts that high-level programming abstracts away many of the lower level components of a computer. Advocates of Regiment argue the same holds true for programming a large, wireless sensor network.

Regiment translates high-level language into a token machine language. In a token machine language, each node operates on a token message passed to it or generated inside it. The term macroprogramming means treating the network as a single entity rather than each node.

Regiment is based on three concepts – signals, spaces, and events. Signals are the time-varying signals the nodes capture from their environment. Spaces is the distribution of data across a network. Events notify the network of meaningful changes to Streams such as triggers. Streams and Events vary over time, while Spaces varies over location.

Areas, Regions, and Anchors are additional concepts used to describe a network. An Area describes collections of data. A Region represents the physical state of the network. An Anchor node acts as a leader for a subset of nodes to act as a reference point for determining membership of nodes in the Region. The key to making the system robust is to allow an Area’s value to vary over time.

In this paper the authors rate various middleware approaches on the following points:

Openness
Power awareness
Scalability
Mobility
Heterogeneity
Ease of Use

Macroprogramming approaches such as Regiment rated a “Partial” across the board which is “medium” by most standards. In other words, it has no glaring deficiencies, but is not superlative on any point either.

A group of researchers in Cambridge, Mass, outfitted the city streetlights with wireless sensor nodes which they called CitySense. The nodes were powered by photocells but they used 802.11 to provide enough signal strength to reach from one streetlight to the other. Each node measures temperature, humidity, wind direction, and speed.

The researchers used a Regiment-like programming language to run the network. In implementing it they used a data model which they call the “hourglass.” In it they differentiate between streams of data and control messages. They place the control messages in a “circuit-like” fashion in order for nodes to communicate with their neighbor for setting up groups or establishing data paths for the signals. A “circuit” uses less bandwidth and thus less power.

It’s an interesting application and demonstrates that Regiment can be used in real-world applications.

Best regards,
Hall T.

Regiment – Wireless Sensor Network Macroprogramming Language

One can view a Wireless Sensor Network as a series of nodes in which each one must be programmed individually, or one can view the collection of nodes as a single entity. Regiment is a macroprogramming language that follows the latter approach. In this paper, the authors describe Regiment which uses region streams to represent a collection of nodes in a geographical area.

No one doubts that high-level programming abstracts away many of the lower level components of a computer. Advocates of Regiment argue the same holds true for programming a large, wireless sensor network.

Regiment translates high-level language into a token machine language. In a token machine language, each node operates on a token message passed to it or generated inside it. The term macroprogramming means treating the network as a single entity rather than each node.

Regiment is based on three concepts – signals, spaces, and events. Signals are the time-varying signals the nodes capture from their environment. Spaces is the distribution of data across a network. Events notify the network of meaningful changes to Streams such as triggers. Streams and Events vary over time, while Spaces varies over location.

Areas, Regions, and Anchors are additional concepts used to describe a network. An Area describes collections of data. A Region represents the physical state of the network. An Anchor node acts as a leader for a subset of nodes to act as a reference point for determining membership of nodes in the Region. The key to making the system robust is to allow an Area’s value to vary over time.

In this paper the authors rate various middleware approaches on the following points:

Openness
Power awareness
Scalability
Mobility
Heterogeneity
Ease of Use

Macroprogramming approaches such as Regiment rated a “Partial” across the board which is “medium” by most standards. In other words, it has no glaring deficiencies, but is not superlative on any point either.

A group of researchers in Cambridge, Mass, outfitted the city streetlights with wireless sensor nodes which they called The nodes were powered by photocells but they used 802.11 to provide enough signal strength to reach from one streetlight to the other. Each node measures temperature, humidity, wind direction, and speed.

The researchers used a Regiment-like programming language to run the network. In implementing it they used a data model which they call the “hourglass.” In it they differentiate between streams of data and control messages. They place the control messages in a “circuit-like” fashion in order for nodes to communicate with their neighbor for setting up groups or establishing data paths for the signals. A “circuit” uses less bandwidth and thus less power.

It’s an interesting application and demonstrates that Regiment can be used in real-world applications.

Best regards,
Hall T.