A New Vision for Pervasive Computing: Moving Beyond Sense and Send

2024-02-10 12:08

本文主要是介绍A New Vision for Pervasive Computing: Moving Beyond Sense and Send,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

还是忍不住转了这篇文章

A new approach to wireless sensor networking adds local intelligence to the nodes, creating pervasive computers and enabling sensor networks that can both acquire data and initiate action without human intervention.

Oct 1, 2007

By:Joe Polastre, PhD, Sentilla Corp.

Sensors

 

Computers have become a pivotal component of our daily lives. Whether we use them to gather information on the Web, play games, or run our businesses, computers are noticeably more widespread, smaller, and mobile. What we often overlook are the billions of computers around us that we never see. Over 10 billion microcontrollers ship each year, and they exist in unexpected objects. But we've only scratched the surface of the intelligence that all these computers integrated into the world can provide. These small computers, with the ability to inter-network with the rest of the world and our existing IT environments, are revolutionizing how businesses operate and how people live, work, and play.

Pervasive computers can solve some very big problems. Attached to railcars, pervasive computers communicate directly with each other to determine their orientation according to their contents, manifests, and destinations (Figure 1). Attached to power transmission structures, they ensure that our critical infrastructure is always available and remains safe and secure. Pervasive computers are useful in a wide range of markets, such as agriculture, health care, logistics and asset management, energy conservation, and manufacturing.

figure
Figure 1. The rail industry relies on paper manifests and manual labor to verify the assembly and contents of railcars. Pervasive computers attached to each railcar can automate this process, saving a tremendous amount of time and improving the flow of goods in supply chains

To achieve this vision of pervasive computing, we need a new approach to its software, infrastructure, and applications. Conventional approaches attach sensors to a wireless transceiver (called a "node") and then process the millions of real-world data points at a central server, often located long distances away from the phenomenon of interest, a function we'll call "sense and send." This approach is central to the wireless sensor networks (or WSNs) industry. In this article, we describe the inherent problems with sense and send and how businesses can move beyond this paradigm.

Sense and Send Applied
Among the most obvious sense and send applications are those that deal directly with wire replacement. Foremost among these is monitoring the condition of the environment—its moisture, humidity, temperature, and chemical composition—for agriculture, seismology, pollution monitoring, and other fields. Nodes gather data locally and forward them to a server for analysis. In essence, monitoring environmental conditions entails robust data logging with a simplified, wireless information retrieval system.

High-latency, low-frequency condition monitoring is sense and send at its most basic, although other monitoring can place stringent demands on the system. Condition-based maintenance (CBM), for instance, involves instrumenting engines and similar heavy machinery or structures to monitor their vibration signatures. When the signatures fall out of specification, technicians can be dispatched to address potential issues before they become problems. When large numbers of nodes are collecting large amounts of data, the wireless connections become saturated. The applications also consume significant amounts of power because they are constantly sensing and sending with little processing or data aggregation taking place at the local node level.

Pervasive applications rarely end once data is captured; further action is often required. An application may need to swivel a camera, close a solenoid, or sound an alarm. Yet in sense and send, the node itself can't make the decision to actuate; it can only forward the relevant data to a server that must process the information to make a decision. When servers are numerous network hops away, latency prevents actuation in real time.

The situation becomes even more precarious when applications require the nodes to be mobile. Nodes may be attached to cargo containers, pallets, crates, or people moving into and out of an environment, e.g., firefighters in a building or railcars moving in and out of railyards. These mobile nodes are not connected to the same server at all times—in fact they may not be within reach of a server at all. However, they are still required to perform their functions, such as halting a railcar that is dangerously close to derailing. Pervasive applications such as this one require logic on the node.

A significant set of application classes have requirements that go beyond sense and send. Some examples include:

  • Responding to events or state locally to allow pervasive applications to execute autonomously, thereby taking context-aware actions determined by business rules. Furthermore, applications that require low-latency actions can be executed by the nodes in real time.
  • Collaboration between nodes enables new functionality, such as voting, weighting, and summarization. Nodes can determine their neighbors and work with them to determine the orientation of a railcar, track a firefighter in a building, or collectively analyze heat, motion, and sound signatures to classify that a human is present.
  • Local filtering of data, data analysis and classification, and removal of false positives to ensure that pervasive applications only use communication and power resources as required, reducing costly battery replacement maintenance operations and removing reliance on potential single points of failure (a network gateway or back-end server).

A New Approach
We need a different paradigm that provides a new level of flexibility and programmability. Since data processing, analysis, and internode collaboration are the primary functions required to address pervasive application needs, the focus needs to be on the computer rather than the sensor or network interface. Rather than making RFIDs smarter, approach the problem from the other side by making computers smaller. To illustrate this approach, let's look at the components of a pervasive computer and compare pervasive computers to WSNs and RFID systems (Figure 2).

figure
Figure 2. A visual representation of the capabilities of various real-world technologies. Pervasive computers solve a wide range of large real-world problems not addressed by previous approaches

A pervasive computer consists of the typical components you'd find in the computer sitting on your desk—a central processing unit (CPU), input and output devices, and a communications interface. The primary difference is that pervasive computers are small (about the size of a quarter), run on batteries, communicate wirelessly, and have very different input and output devices (such as sensors and actuators instead of keyboards and mice). Pervasive computers monitor and control the physical world through the use of sensors and actuators.

Remove the CPU from a pervasive computer and the system is no longer programmable. It cannot process, filter, or analyze data. It cannot make decisions, coordinate with other pervasive computers, or autonomously control the environment. These systems, consisting of peripherals (sensors) connected to a wireless link or network, are called wireless sensor networks. Similarly, remove the networking component from a WSN system and the system can only communicate with a master within range in a point-to-point manner. These are called active RFID systems. Finally, remove the power source and you get a passive RFID system.

Challenges
To satisfy the demands of these new application classes, the developer can either focus on low-level details or sacrifice application flexibility. In the first case, building a system from the ground up, the developer has to worry about radio frequencies, frequency hopping, latency, power tradeoffs, interference, distance, network routing strategies, security, and countless other physical and link-layer characteristics. If the developer manages to get a handle on these issues, he or she is then faced with programming nodes in a low-level language such as embedded C.

All software applications require four main components—the ability to develop an application, deploy the application in a product, integrate the product with existing infrastructure, and manage the product remotely. Although C is efficient, it lacks abstraction support and is poorly suited for applications distributed among millions of computers. Moreover, lifecycle support does not exist for programs running on the small computers themselves. Tools such as debuggers and simulators are missing or incomplete, as are other postdevelopment tools used for deploying and managing the networks. Updating software on WSN nodes can require an update of the entire firmware on the node to make a single parameter change.

Faced with this, WSN vendors have resorted to the simplified sense and send approach, placing conditions on what can and cannot be accomplished. Moreover, customization is limited to basic configuration changes. Parameters can be tweaked, but not exceeded. Innovators in organizations large and small are prevented from turning their visions into reality by both approaches—low-level full-system design and sense and send products.

Solution
We must move beyond the "dumb" devices of wireless sensor networks and RFID to value-rich applications with pervasive computers. By treating devices as computers, developers can build their ideas into solutions. They can leverage tools, paradigms, and interfaces made familiar from their experience with laptops and servers. Low-level details of embedded computers are abstracted by standard APIs while retaining flexibility.

Click for larger image

Figure 3. The Sentilla software suite addresses the full software life cycle of an application, from development to deployment to integration to management (Click image for larger version)

To ease and expedite development, solutions must rely on familiar, widely used, and accessible tools used by developers coupled with standard computing paradigms so that developers and IT managers are not required to learn new languages. Responding to customer feedback, Sentilla's pervasive computing software platform (Figure 3) lets users interface with pervasive computers in the same way that they use other computers in their enterprise.

The software platform enables the full application life cycle of development, deployment, integration, and management. Sentilla developers use Java technology to build applications and embed business rules into pervasive computers using familiar Java software tools, APIs, and interfaces. For the first time, Java technology on low-cost, low-power hardware (such as wireless microcontrollers used in sense and send systems) turns billions of microcontrollers into fully functional computers without requiring new, or more expensive hardware.

Beyond development, the pervasive computers—with their DA, processing, and autonomous response—are miniature data centers providing services to enterprises through service-oriented architecture (SOA) interfaces. Sentilla's approach doesn't require IT managers to learn new management tools and dashboards; the pervasive computers are remotely managed—displayed and controlled as computers—by tools such as OpenView and Tivoli. Using these familiar interfaces and computer tools, such as Java and SOA, pervasive applications can be developed in days, rather than months.

The concept of wireless sensor networking originally burst onto the scene with an article in 1999 about "smart dust"—computers that can be sprayed on the wall, deployed anywhere throughout the environment, and collaborate to solve big problems. The industry has strayed from the concept of smart dust, reduced to sense and send. The potential for pervasive computers remains; all that is required is for the six million Java developers to be given familiar tools to build their vision. Sentilla's software accomplishes our new vision of pervasive computing, making innovative, killer applications possible—what idea do you want to build?

这篇关于A New Vision for Pervasive Computing: Moving Beyond Sense and Send的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/697067

相关文章

java线程深度解析(一)——java new 接口?匿名内部类给你答案

http://blog.csdn.net/daybreak1209/article/details/51305477 一、内部类 1、内部类初识 一般,一个类里主要包含类的方法和属性,但在Java中还提出在类中继续定义类(内部类)的概念。 内部类的定义:类的内部定义类 先来看一个实例 [html]  view plain copy pu

string字符会调用new分配堆内存吗

gcc的string默认大小是32个字节,字符串小于等于15直接保存在栈上,超过之后才会使用new分配。

List list = new ArrayList();和ArrayList list=new ArrayList();的区别?

List是一个接口,而ArrayList 是一个类。 ArrayList 继承并实现了List。 List list = new ArrayList();这句创建了一个ArrayList的对象后把上溯到了List。此时它是一个List对象了,有些ArrayList有但是List没有的属性和方法,它就不能再用了。而ArrayList list=new ArrayList();创建一对象则保留了A

HumanNeRF:Free-viewpoint Rendering of Moving People from Monocular Video 翻译

HumanNeRF:单目视频中运动人物的自由视点绘制 引言。我们介绍了一种自由视点渲染方法- HumanNeRF -它适用于一个给定的单眼视频ofa人类执行复杂的身体运动,例如,从YouTube的视频。我们的方法可以在任何帧暂停视频,并从任意新的摄像机视点或甚至针对该特定帧和身体姿势的完整360度摄像机路径渲染主体。这项任务特别具有挑战性,因为它需要合成身体的照片级真实感细节,如从输入视频中可能

Mastering Python Scientific Computing

线性方程组 迭代法: 雅可比迭代法 高斯赛德迭代法 非迭代法: 高斯LU矩阵分解法 高斯消元法 非线性方程组: 一维非线性方程解法: 二分法 牛顿法 割线法 插值法 逆差值法 逆二次插值法 线性分式插值法 非线性方程组解法: 牛顿法 割线法 阻尼牛顿法 Broyden法 最优化方法 应用场景 工程力学 经济学 运筹学 控制工程 石油工程 分子

UVa 10820 Send a Table (Farey数列欧拉函数求和)

这里先说一下欧拉函数的求法 先说一下筛选素数的方法 void Get_Prime(){ /*筛选素数法*/for(int i = 0; i < N; i++) vis[i] = 1;vis[0] = vis[1] = 0;for(int i = 2; i * i < N; i++)if(vis[i]){for(int j = i * i; j < N; j += i)vis[j] =

vue原理分析(六)--研究new Vue()

今天我们来分析使用new Vue() 之前研究时,只是说是在创建一个实例。并没有深入进行研究 在vue的源码中找下Vue的构造函数 function Vue(options) {if (!(this instanceof Vue)) {warn$2('Vue is a constructor and should be called with the `new` keyword');}thi

GTK中创建线程函数g_thread_new和g_thread_create的区别

使用GThread函数,需要引用glib.h头文件。 这两个接口的核心区别就是  g_thread_create 是旧的接口,现在已经不使用了,而g_thread_new是新的接口,建议使用。 g_thread_create: g_thread_create has been deprecated since version 2.32 and should not be used in n

New的VC编译器实现

当我们调用 new 的时候,例如 int *p = new int; 时,编译器到底作了什么工作呢?跟进断点看一看。   (在 vc debug模式下 ) double *p1 = new double ; 00411A6E  push        8    00411A70  call        operator new (4111B8h) 00411A75  add

Python方法:__init__,__new__,__class__的使用详解

转自:https://blog.csdn.net/qq_26442553/article/details/82464682 因为python中所有类默认继承object类。而object类提供了了很多原始的内建属性和方法,所以用户自定义的类在Python中也会继承这些内建属性。可以使用dir()函数可以查看,虽然python提供了很多内建属性但实际开发中常用的不多。而很多系统提供的内建属性实际