Modelagem e Especificação de um Middleware para Redes de ...
Modelagem e Especificação de um Middleware para Redes de ...
Modelagem e Especificação de um Middleware para Redes de ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
46 3.3 <strong>Middleware</strong>s baseados em bancos <strong>de</strong> dados<br />
3.2.2 Medical MoteCare<br />
O Medical MoteCare [43] é baseado no protocolo Simple Network Management<br />
Protocol (SNMP), <strong>de</strong> modo que cada nodo é <strong>um</strong> agente SNMP (da suíte <strong>de</strong> software<br />
Harvard Co<strong>de</strong>Blue) gerenciado por <strong>um</strong>a ferramenta proprietária chamada JAguarSX.<br />
Foram <strong>de</strong>finidos vários Object IDentifiers SNMP (OIDs) <strong>para</strong> os recursos da RSSF,<br />
portanto a RSSF po<strong>de</strong> ser acessado por qualquer ferramenta que comunique via SNMP.<br />
O middleware possui <strong>um</strong>a arquitetura <strong>de</strong> três camadas que possibilita o controle tanto<br />
<strong>de</strong> recursos compatíveis com SNMP, quanto <strong>de</strong> recursos não compatíveis, através <strong>de</strong> <strong>um</strong><br />
proxy SNMP.<br />
3.3 <strong>Middleware</strong>s baseados em bancos <strong>de</strong> dados<br />
Toda a re<strong>de</strong> <strong>de</strong> sensores é vista como <strong>um</strong> banco <strong>de</strong> dados relacional virtual. Provê<br />
<strong>um</strong>a interface <strong>de</strong> uso fácil, mas com resultados aproximados, o que lhe faz não possuir<br />
suporte <strong>para</strong> aplicações <strong>de</strong> tempo real e <strong>de</strong>sta forma não ser i<strong>de</strong>al <strong>para</strong> RSSF em área <strong>de</strong><br />
saú<strong>de</strong>.<br />
3.3.1 Cougar<br />
O Cougar [64, 65] implementa operações <strong>de</strong> gerenciamento na forma <strong>de</strong> consultas<br />
similares às <strong>de</strong> SQL, <strong>de</strong> modo que o banco <strong>de</strong> dados <strong>de</strong> sensores contenha dados<br />
armazenados e dados <strong>de</strong> sensores. Seu uso é mais apropriado quando se tem <strong>um</strong>a gran<strong>de</strong><br />
quantida<strong>de</strong> <strong>de</strong> sensores, por ser fácil a agregação <strong>de</strong> dados, no entanto, tem <strong>um</strong> gasto consi<strong>de</strong>rável<br />
<strong>de</strong> recursos na transmissão <strong>de</strong>ste montante <strong>de</strong> dados brutos dos nodos sensores<br />
ao servidor <strong>de</strong> banco <strong>de</strong> dados. Cada dado é datado, <strong>para</strong> facilitar as consultas, e então<br />
armazenado. Há também suporte ao conceito <strong>de</strong> streaming, no qual po<strong>de</strong>-se especificar<br />
por quanto tempo serão feitas leituras nos sensores e a taxa <strong>de</strong> atualização e <strong>para</strong> manter<br />
as visualizações persistentes <strong>de</strong> consultas em curso, os resultados <strong>de</strong>stas são mostrados <strong>de</strong><br />
forma incremental [15].<br />
3.3.2 TinyDB<br />
O TinyDB é <strong>um</strong> sistema processador <strong>de</strong> consultas em estilo SQL <strong>para</strong> extrair<br />
informações <strong>de</strong> dispositivos sensores. A <strong>de</strong>speito <strong>de</strong> outras soluções baseadas em TinyOS<br />
[31] (que é <strong>um</strong> sistema operacional e plataforma <strong>para</strong> RSSF), ele não exige que o usuário<br />
escreva código embarcado <strong>para</strong> os sensores, a única complexida<strong>de</strong> é a própria interface<br />
SQL. É também provida <strong>um</strong>a API Java <strong>para</strong> escrita <strong>de</strong> programas na estação <strong>de</strong> trabalho<br />
[37, 36].