Smart Personal Objects (SPOT) por Daniel Cukier. Objetivo Aumentar utilidade de objetos do...

22
Smart Personal Objects (SPOT) por Daniel Cukier

Transcript of Smart Personal Objects (SPOT) por Daniel Cukier. Objetivo Aumentar utilidade de objetos do...

Page 1: Smart Personal Objects (SPOT) por Daniel Cukier. Objetivo Aumentar utilidade de objetos do dia-a-dia. Objetos que podemos vestir, carregar ou que fazem.

Smart Personal Objects (SPOT)por Daniel Cukier

Page 2: Smart Personal Objects (SPOT) por Daniel Cukier. Objetivo Aumentar utilidade de objetos do dia-a-dia. Objetos que podemos vestir, carregar ou que fazem.

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

Page 3: Smart Personal Objects (SPOT) por Daniel Cukier. Objetivo Aumentar utilidade de objetos do dia-a-dia. Objetos que podemos vestir, carregar ou que fazem.

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

Page 4: Smart Personal Objects (SPOT) por Daniel Cukier. Objetivo Aumentar utilidade de objetos do dia-a-dia. Objetos que podemos vestir, carregar ou que fazem.

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

Page 5: Smart Personal Objects (SPOT) por Daniel Cukier. Objetivo Aumentar utilidade de objetos do dia-a-dia. Objetos que podemos vestir, carregar ou que fazem.

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

Page 6: Smart Personal Objects (SPOT) por Daniel Cukier. Objetivo Aumentar utilidade de objetos do dia-a-dia. Objetos que podemos vestir, carregar ou que fazem.

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

Page 7: Smart Personal Objects (SPOT) por Daniel Cukier. Objetivo Aumentar utilidade de objetos do dia-a-dia. Objetos que podemos vestir, carregar ou que fazem.

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)

Page 8: Smart Personal Objects (SPOT) por Daniel Cukier. Objetivo Aumentar utilidade de objetos do dia-a-dia. Objetos que podemos vestir, carregar ou que fazem.

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

Page 9: Smart Personal Objects (SPOT) por Daniel Cukier. Objetivo Aumentar utilidade de objetos do dia-a-dia. Objetos que podemos vestir, carregar ou que fazem.

Desvantagens

Só nos EUA e canadá

Page 10: Smart Personal Objects (SPOT) por Daniel Cukier. Objetivo Aumentar utilidade de objetos do dia-a-dia. Objetos que podemos vestir, carregar ou que fazem.

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

Page 11: Smart Personal Objects (SPOT) por Daniel Cukier. Objetivo Aumentar utilidade de objetos do dia-a-dia. Objetos que podemos vestir, carregar ou que fazem.

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

Page 12: Smart Personal Objects (SPOT) por Daniel Cukier. Objetivo Aumentar utilidade de objetos do dia-a-dia. Objetos que podemos vestir, carregar ou que fazem.

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

Page 13: Smart Personal Objects (SPOT) por Daniel Cukier. Objetivo Aumentar utilidade de objetos do dia-a-dia. Objetos que podemos vestir, carregar ou que fazem.

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

Page 14: Smart Personal Objects (SPOT) por Daniel Cukier. Objetivo Aumentar utilidade de objetos do dia-a-dia. Objetos que podemos vestir, carregar ou que fazem.

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

Page 15: Smart Personal Objects (SPOT) por Daniel Cukier. Objetivo Aumentar utilidade de objetos do dia-a-dia. Objetos que podemos vestir, carregar ou que fazem.

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

Page 16: Smart Personal Objects (SPOT) por Daniel Cukier. Objetivo Aumentar utilidade de objetos do dia-a-dia. Objetos que podemos vestir, carregar ou que fazem.

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

Page 17: Smart Personal Objects (SPOT) por Daniel Cukier. Objetivo Aumentar utilidade de objetos do dia-a-dia. Objetos que podemos vestir, carregar ou que fazem.

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

Page 18: Smart Personal Objects (SPOT) por Daniel Cukier. Objetivo Aumentar utilidade de objetos do dia-a-dia. Objetos que podemos vestir, carregar ou que fazem.

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

Page 19: Smart Personal Objects (SPOT) por Daniel Cukier. Objetivo Aumentar utilidade de objetos do dia-a-dia. Objetos que podemos vestir, carregar ou que fazem.

Fotos Relógios

Page 20: Smart Personal Objects (SPOT) por Daniel Cukier. Objetivo Aumentar utilidade de objetos do dia-a-dia. Objetos que podemos vestir, carregar ou que fazem.

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

Page 21: Smart Personal Objects (SPOT) por Daniel Cukier. Objetivo Aumentar utilidade de objetos do dia-a-dia. Objetos que podemos vestir, carregar ou que fazem.

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

Page 22: Smart Personal Objects (SPOT) por Daniel Cukier. Objetivo Aumentar utilidade de objetos do dia-a-dia. Objetos que podemos vestir, carregar ou que fazem.

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