Upload
internet
View
107
Download
0
Embed Size (px)
Citation preview
Smart Personal Objects (SPOT)por Daniel Cukier
Objetivo
Aumentar utilidade de objetos do dia-a-dia.
Objetos que podemos vestir, carregar ou que fazem parte do ambiente.
Executar uma atividade de maneira mais prática e agradável.
Função principal do objeto é melhorada, aumentando sua precisão.
Dependente de contexto, condições e interesses
Acesso a informações com mínimo esforço
Informações pessoais relevantes
Serviços Serviços
LocalizaçãoLocalizaçãoFinaFinançasnças
EntretenimEntretenimentoento
PessoaPessoall
EspoEsportesrtes
NotíciasNotícias
AlertAlertasas
MenMensagsagensens
AparênciAparênciaa
Smart ObjectsSmart Objects
RelógiosRelógios
AccessóriosAccessórios
PeriféricosPeriféricos
DisplaysDisplays
Objetos do dia-a-Objetos do dia-a-diadia
PessoaisPessoais
MóveisMóveis
Sensores Sensores /Atuadores/Atuadores
BrinquedosBrinquedos
RedeRede
Resumo
Como funciona?
DirectBand – provedor de serviços.
Fluxo de Dados – num só sentido
Informações enviadas via rádio freqüencia
Cada informação (como notícias, previsão do tempo) é enviada em uma freqüencia diferente
Dispositivo salva a informação na memória
Informação é mostrada na tela e atualizada em intervalos de tempo
DirectBand™
Cobertura de 100 maiores áreas metropolitanas nos EUA e Canadá
Através de parcerias, utiliza redes de rádio FM já existentes.
Informações são atualizadas continuamente
Componentes SPOT
Hardware e software exclusivo da Microsoft (MPU e conectividade wireless)
Nova plataforma de hardware – pequeno e com energia suficiente para um relógio
Nova pilha de software Microsoft: confiável, segura, baixo consumo de energia, pequeno, rápido, extensível, portável, atualizável, fácil de desenvolver para, ...
Interface de usuário low-distraction
Componentes SPOT (cont)
Sistema Operacional: versão reduzida do Windows CE
Hardware – solução com 7 chips numa placa de 34x30x2mm
Web site user-friendly
Conexão sem fio, protocolos e infraestrutura de serviços persistente (7x24)
Vantagens
Funcionalidades SPOT em objetos que as pessoas já usam no dia a dia (relógios, canetas, chaveiros, etc)
Usa sinais de FM já existentes, podendo aproveitar a rede de antenas já instalada em todo o mundo
Permite ao usuário escolher que tipo de informação ele quer visualizar
Baixo custo e fácil de usar
Desvantagens
Só nos EUA e canadá
Hardware
“Stan” FM radio - CMOS .18um analógico / digital - Receptor 100 khz - Baixa Potência (90 mW ligado e 30uW standby) - Pequeno (2.8mm x 2.8mm x 860um)
“Olie” MPU - .18 um, CMOS 6 camadas de metal - ARM7 TDMI-S, 32-bit @ 27.6 MHz - ARCTAN, MAC, decodificador Viterbi FEC - 512K ROM, 384K SRAM - Baixa Potência: 1.8 mW / MHz - Pequeno: 6.8 mm x 6.8 mm x 860 um
Hardware (cont)
Dois circuitos integrados, uma para o sistema e outro para o rádio. Solução com 7 chips numa placa de 34x30x2mm
Baixo consumo de energia
Chip scale packaging – tamanho reduzido
Processos compatíveis com RF
State-of-the-art VLSI methodology and libraries
Baixo custo para produção em larga escala
Módulos de Hardware
Suporte ao Processador
Timers – individual ou 2x16 bits
2 portas seriais síncronas ou assíncronas, com controle de fluxo de dados
USB 1.1
Flash ROM 1/2/4 MB
EPRON
Periféricos – LCD, bateria, radio, botões, vibrador, backlight, sensores, etc
Requisitos de Software
Plataforma Microsoft em tempo real que seja facilmente adaptável em memórias ROM ou Flash
Energia durável (3-5 dias) enquanto recebe dados wireless continuamente.
Confiável: relógio não pode travar!
Econômico em memória: pouca memória não deve comprometer o usuário, espaço adicional para futuras funcionalidades
Extensível e flexível: classes de componentes, não somente um produto único.
Mecanismos de atualização automática
Rápido desenvolvimento usando Visual Studio .NET
CLR (CLR (Common Language Runtime)Common Language Runtime)
Suporte à Aplicação(Bibliotecas, Shell, Crypto, Gráficos, …)
Apps/Apps/ChanaisChanais
HAL HAL (Hardware Abstract Layer) (Hardware Abstract Layer) e Driverse Drivers
Bootstrap Bootstrap (Inicializaç(Inicializaç
ão)ão)
Apps/Apps/ChanaisChanais
Apps/Apps/ChanaisChanais
Processador e PeriféricosProcessador e Periféricos
Arquitetura Cliente SPOT
Software (TinyHAL)
Desenvolvido especialmente para execução de serviços - boot veloz - Execução assíncrona de drivers
Simples: sem agendador ou heaps, mínimo de locks
Pequeno ~ 40k (incluíndo drivers principais)
Carregamento dinâmico de drivers
Managed Runtime (TinyCLR)
Derivado do padrão ECMA
Pequeno: runtime e bibliotecas ~ 132kb
Rápido: ~ .5 MIPS à 27Mhz (interpretada)
Programável e debugável usando C# .NET
Onde fica o SO?
TinyCLR provê funcionalidades típicas do kernel: - multithreading / multitasking - gerenciamento e memória e coleta de lixo - I/O (Usa TinyHAL para acessar periféricos, eficiência do código nativo)
TinyHAL não contém kernel: provê serviços para o processamento dos drivers
.NET em um chip
Economia de Energia
Trata CPU como um recurso que consome energia
Baixa utilização = código mais simples
Código desenvolvido para usar pouca energia e máxima utilização de rescursos
Cheap sleep – CPU dorme em 4.7uSeg
“Faça agora ou durma!”
Eventual redução da velocidade do clock
Acelerador de hardware para processamento de rádio
Fotos Relógios
Indexação em Difusão de Informações
● Técnicas tradicionais de indexação em discos como árvores B+ foram extendidadas para indexar dados de broadcast num canal sem fio
● Essas técnicas não são eficientes no balanceamento entre eficiência no acesso e consumo de energia
● Proposta: Índice Exponencial
Indexação em Difusão de Informações (cont)
● Para receber dados broadcast, o cliente precisa ficar o tempo todo escutando o canal até o dados chegar. Isso consome muita energia.
● Solução: air indexing – incluir num índice no canal de difusão informações da hora de chegada dos dados.
● Problema: árvores centralizadas – deve percorrer até o nó raiz, o que gera alta latência
Indexação em Difusão de Informações (cont)
● Índice Exponencial ou parametrizável● Otimiza latência x tuning time (tempo que o
dispositivo fica ligado recendo informações)● Facilita replicação compartilhando links em
diferentes árvores de busca e minimiza problemas de armazenamento de dados.
● Balancear entre eficiência no acesso e consumo de energia