BR112015032501B1 - Meio legível em computador não transitório, método para enviar e receber mensagens entre dispositivos em uma rede em malha e dispositivo eletrônico - Google Patents

Meio legível em computador não transitório, método para enviar e receber mensagens entre dispositivos em uma rede em malha e dispositivo eletrônico Download PDF

Info

Publication number
BR112015032501B1
BR112015032501B1 BR112015032501-7A BR112015032501A BR112015032501B1 BR 112015032501 B1 BR112015032501 B1 BR 112015032501B1 BR 112015032501 A BR112015032501 A BR 112015032501A BR 112015032501 B1 BR112015032501 B1 BR 112015032501B1
Authority
BR
Brazil
Prior art keywords
field
message
data
length
format
Prior art date
Application number
BR112015032501-7A
Other languages
English (en)
Other versions
BR112015032501A2 (pt
Inventor
Jay D. Logue
Grant M. Erickson
Zachary B. Smith
Osborne B. Hardison
Richard J. Schultz
Sunny P. Gujjaru
Matthew G. Neeley
Original Assignee
Google Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google Llc filed Critical Google Llc
Publication of BR112015032501A2 publication Critical patent/BR112015032501A2/pt
Publication of BR112015032501B1 publication Critical patent/BR112015032501B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/147Signalling methods or messages providing extensions to protocols defined by standardisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/355Application aware switches, e.g. for HTTP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5069Address allocation for group communication, multicast communication or broadcast communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/604Address structures or formats
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/668Internet protocol [IP] address subnets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Resources & Organizations (AREA)
  • Automation & Control Theory (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Data Mining & Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Selective Calling Equipment (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)
  • Information Transfer Between Computers (AREA)
  • Small-Scale Networks (AREA)

Abstract

REDE EM MALHA. A presente invenção refere-se a sistemas e métodos relativos a uma comunicação em uma rede em malha que são apresentados. A rede em malha inclui uma ou mais redes lógicas que permitem que dispositivos conectado s à malha se comunique m com cada outro usando vários perfis conhecidos pelos dispositivos. Um dispositivo enviando uma mensagem pode seguir um formato de mensagem geral para a codificação da mensagem, de modo que outros dispositivos na malha possam entender a mensagem, independentemente de quais redes lógicas os dispositivos estão conectados. No formato de mensagem, uma carga útil de dados pode ser incluída para o dispositivo de recepção para encaminhar, armazenar ou process ar a mensagem. O formato e o conteúdo da carga útil pode m variar, de acordo com um cabeçalho na carga útil , que indica um perfil e um tipo de mensagem no perfil . Usando o perfil e o tipo de mensagem, os dispositivos de recepção podem de codificar a mensagem para processamento da mensagem.

Description

ANTECEDENTES
[001] A presente invenção refere-se a uma rede em malha ("fa bric network") que acopla dispositivos eletrônicos usando-se um ou mais tipos de rede.
[002] Pretende-se que esta seção introduza o leitor em vários as pectos da técnica que podem ser relacionados a vários aspectos das presentes técnicas, as quais são descritas e/ou reivindicadas abaixo. Acredita-se que esta discussão seja útil na provisão ao leitor de uma informação de antecedentes para facilitar um melhor entendimento dos vários aspectos da presente exposição. Assim sendo, deve ser entendido que estas declarações são para serem lidas nesta luz, e não como admissões da técnica anterior.
[003] Os dispositivos conectados em rede aparecem em todas as casas. Alguns destes dispositivos são frequentemente capazes de comunicação com cada outro através de um único tipo de rede (por exemplo, uma conexão WiFi) usando-se um protocolo de transferência. Pode ser desejado usar protocolos de conexão menos intensivos em potência para alguns dispositivos que são acionados à bateria ou recebem uma carga reduzida. Contudo, em alguns cenários, os dispositivos conectados a um protocolo de potência mais baixa podem não ser capazes de comunicação com dispositivos conectados a um protocolo de potência mais alta (por exemplo, WiFi).
SUMÁRIO
[004] Um sumário de certas modalidades expostas aqui é estabe lecido abaixo. Deve ser entendido que estes aspectos são apresentados meramente para a provisão ao leitor de um breve sumário destas certas modalidades e que estes aspectos não são pretendidos para limitação do escopo desta exposição. De fato, esta exposição pode envolver uma variedade de aspectos que podem não ser estabelecidos abaixo.
[005] As modalidades da presente exposição se referem a siste mas e métodos de uma rede em malha que inclui uma ou mais redes lógicas que permitem que dispositivos conectados à malha para comunicação com cada outro usando uma lista de protocolos e/ou perfis conhecidos para os dispositivos. As comunicações entre os dispositivos podem seguir um formato de mensagem típico que permite que os dispositivos entendam comunicações entre os dispositivos, independentemente de quais redes lógicas os dispositivos de comunicação estão conectados na malha. No formato de mensagem, uma carga útil de dados pode ser incluída para o dispositivo de recepção para armazenamento e/ou processamento. O formato e o conteúdo da carga útil podem variar, de acordo com um cabeçalho na carga útil, que indica um perfil (incluindo um ou mais protocolos) e/ou um tipo de mensagem que está sendo enviado de acordo com o perfil.
[006] De acordo com algumas modalidades, dois ou mais disposi tivos em uma malha podem se comunicar usando protocolos ou perfis de relatório de status. Por exemplo, em certas modalidades, um protocolo ou esquema de relatório de status pode ser incluído em um perfil de núcleo que está disponível para dispositivos conectados à malha. Usando o protocolo de relatório de status, os dispositivos podem enviar ou requisitar uma informação de status para ou a partir de outros dispositivos na malha.
[007] De modo similar, em certas modalidades, dois ou mais dis positivos em uma malha podem se comunicar usando protocolos ou perfis de software de atualização. Em algumas modalidades, um protocolo ou esquema de software de atualização pode ser incluído em um perfil de núcleo que está disponível para dispositivos conectados à malha. Usando o protocolo de software de atualização, os dispositivos podem requisitar, enviar ou notificar a presença de atualizações na malha.
[008] Em certas modalidades, dois ou mais dispositivos em uma malha podem se comunicar usando protocolos ou perfis de gerenciamento de dados. Em algumas modalidades, o protocolo ou esquema de gerenciamento de dados pode ser incluído em um perfil de núcleo que está disponível para dispositivos conectados à malha. Usando o protocolo de transferência de dados em massa, os dispositivos podem requisitar, ver ou rastrear uma informação residente em nó que é armazenada em outros dispositivos.
[009] Mais ainda, em certas modalidades, dois ou mais dispositi vos em uma malha podem transferir dados usando protocolos ou perfis de transferência de dados em massa. Em algumas modalidades, o protocolo ou esquema de transferência de dados em massa pode ser incluído em um perfil de núcleo que está disponível para dispositivos conectados à malha. Usando o protocolo de transferência de dados em massa, os dispositivos podem iniciar, enviar ou receber dados em massa usando quaisquer redes lógicas na malha. Em certas modalidades, um dispositivo de envio ou um de recebimento usando o protocolo de transferência de dados em massa pode ser capaz de "coman-dar" uma transferência síncrona entre os dispositivos. Em outras modalidades, a transferência em massa pode ser realizada com uma transferência assíncrona.
[0010] Vários refinamentos dos recursos citados acima podem existir em relação a vários aspectos da presente exposição. Outros recursos também podem ser incorporados nestes vários aspectos da mesma forma. Estes refinamentos e recursos adicionais podem existir individualmente ou em qualquer combinação. Por exemplo, vários re- cursos discutidos abaixo em relação a uma ou mais das modalidades ilustradas podem ser incorporados em qualquer um dos aspectos descritos acima da presente exposição sozinhos ou em qualquer combinação. O breve sumário apresentado acima é pretendido apenas para familiarizar o leitor com certos aspectos e contextos de modalidades da presente exposição, sem limitação para o assunto reivindicado.
BREVE DESCRIÇÃO DOS DESENHOS
[0011] Vários aspectos desta exposição podem ser mais bem en tendidos mediante uma leitura da descrição detalhada a seguir e mediante uma referência aos desenhos, nos quais:
[0012] a figura 1 é um diagrama de blocos de um dispositivo ele trônico que pode ser interconectado com outros dispositivos usando uma rede em malha, de acordo com uma modalidade;
[0013] a figura 2 ilustra um diagrama de blocos de um ambiente doméstico no qual o dispositivo geral da figura 1 pode se comunicar com outros dispositivos através da rede em malha, de acordo com uma modalidade;
[0014] a figura 3 ilustra um diagrama de blocos de um modelo de interconexão de sistemas abertos (OSI) que caracteriza um sistema de comunicação para o ambiente doméstico da figura 2, de acordo com uma modalidade;
[0015] a figura 4 ilustra a rede em malha tendo uma única topolo gia de rede lógica, de acordo com uma modalidade;
[0016] a figura 5 ilustra a rede em malha tendo uma topologia de rede em estrela, de acordo com uma modalidade;
[0017] a figura 6 ilustra a rede em malha tendo uma topologia de redes com superposição, de acordo com uma modalidade;
[0018] a figura 7 ilustra um serviço em comunicação com uma ou mais malhas de rede, de acordo com uma modalidade;
[0019] a figura 8 ilustra dois dispositivos em uma rede em malha em conexão comunicativa, de acordo com uma modalidade;
[0020] a figura 9 ilustra um formato de endereço local único (ULA) que pode ser usada para endereçar dispositivos em uma rede em malha, de acordo com uma modalidade;
[0021] a figura 10 ilustra um processo para criação de proxy de dispositivos periféricos em uma rede com hub, de acordo com uma modalidade;
[0022] a figura 11 ilustra um pacote de etiqueta - comprimento - valor (TLV) que pode ser usado para a transmissão de dados pela rede em malha, de acordo com uma modalidade;
[0023] a figura 12 ilustra um protocolo de mensagem geral (GMP) que pode ser usado para a transmissão de dados pela rede em malha que podem incluir o pacote de TLV da figura 11, de acordo com uma modalidade;
[0024] a figura 13 ilustra um campo de cabeçalho de mensagem do GMP da figura 12, de acordo com uma modalidade;
[0025] a figura 14 ilustra um campo de identificador de chave do GMP da figura 12, de acordo com uma modalidade;
[0026] a figura 15 ilustra um campo de carga útil de aplicativo do GMP da figura 12, de acordo com uma modalidade;
[0027] a figura 16 ilustra um esquema de relatório de status que pode ser usado para a atualização de uma informação de status na rede em malha, de acordo com uma modalidade;
[0028] a figura 17 ilustra um campo de perfil do esquema de rela tório de status da figura 16, de acordo com uma modalidade;
[0029] a figura 18 ilustra uma sequência de protocolo que pode ser usada para a execução de uma atualização de software entre um cliente e um servidor, de acordo com uma modalidade;
[0030] a figura 19 ilustra um quadro de consulta de imagem que pode ser usado na sequência de protocolo da figura 18, de acordo com uma modalidade;
[0031] a figura 20 ilustra um campo de controle de quadro do qua dro de consulta de imagem da figura 19, de acordo com uma modalidade;
[0032] a figura 21 ilustra um campo de especificação de produto do quadro de consulta de imagem da figura 19, de acordo com uma modalidade;
[0033] a figura 22 ilustra um campo de especificação de versão do quadro de consulta de imagem da figura 19, de acordo com uma modalidade;
[0034] a figura 23 ilustra um campo de especificação de local do quadro de consulta de imagem da figura 19, de acordo com uma modalidade;
[0035] a figura 24 ilustra um campo de tipos de integridade supor tados do quadro de consulta de imagem da figura 19, de acordo com uma modalidade;
[0036] a figura 25 ilustra um campo de esquemas de atualização suportados do quadro de consulta de imagem da figura 19, de acordo com uma modalidade;
[0037] a figura 26 ilustra um quadro de resposta de consulta de imagem que pode ser usado na sequência de protocolo da figura 18, de acordo com uma modalidade;
[0038] a figura 27 ilustra um campo de identificador de recurso uni forme (URI) do quadro de resposta de consulta de imagem da figura 26, de acordo com uma modalidade;
[0039] a figura 28 ilustra um campo de especificação de integrida de do quadro de resposta de consulta de imagem da figura 26, de acordo com uma modalidade;
[0040] a figura 29 ilustra um campo de esquema de atualização do quadro de resposta de consulta de imagem da figura 26, de acordo com uma modalidade;
[0041] a figura 30 ilustra uma sequência usada para empregar um protocolo de gerenciamento de dados para gerenciamento de dados entre dispositivos na rede em malha, de acordo com uma modalidade;
[0042] a figura 31 ilustra um quadro de requisição de instantâneo que pode ser usado na sequência da figura 30, de acordo com uma modalidade;
[0043] a figura 32 ilustra um esquema de perfil de exemplo que pode ser acessado usando-se o quadro de requisição de instantâneo da figura 31, de acordo com uma modalidade;
[0044] a figura 33 é um formato binário de um percurso que pode indicar um percurso em um esquema de perfil, de acordo com uma modalidade;
[0045] a figura 34 ilustra um quadro de requisição de assistência que pode ser usado na sequência da figura 30, de acordo com uma modalidade;
[0046] a figura 35 ilustra um quadro de requisição de atualização periódica que pode ser usado na sequência da figura 30, de acordo com uma modalidade;
[0047] a figura 36 ilustra um quadro de requisição de renovação que pode ser usado na sequência da figura 30, de acordo com uma modalidade;
[0048] a figura 37 ilustra uma requisição de cancelamento de visu alização que pode ser usada na sequência da figura 30, de acordo com uma modalidade;
[0049] a figura 38 ilustra um quadro de resposta de visualização que pode ser usado na sequência da figura 30, de acordo com uma modalidade;
[0050] a figura 39 ilustra um quadro de requisição de atualização explícita que pode ser usado na sequência da figura 30, de acordo com uma modalidade;
[0051] a figura 40 ilustra um quadro de requisição de atualização de visualização que pode ser usado na sequência da figura 30, de acordo com uma modalidade;
[0052] a figura 41 ilustra um quadro de item de atualização que pode ser atualizado usando-se a sequência da figura 30, de acordo com uma modalidade;
[0053] a figura 42 ilustra um quadro de resposta de atualização que pode ser enviado como uma mensagem de resposta de atualização na sequência da figura 30, de acordo com uma modalidade;
[0054] a figura 43 ilustra uma conexão comunicativa entre um emissor e um receptor em uma transferência de dados em massa, de acordo com uma modalidade;
[0055] a figura 44 ilustra uma mensagem SendInit que pode ser usada para se iniciar uma conexão comunicativa pelo emissor da figura 43, de acordo com uma modalidade;
[0056] a figura 45 ilustra um campo de controle de transferência da mensagem SendInit da figura 44, de acordo com uma modalidade;
[0057] a figura 46 ilustra um campo de controle de faixa da men sagem SendInit da figura 45, de acordo com uma modalidade;
[0058] a figura 47 ilustra uma mensagem SendAccept que pode ser usada para aceitação de uma conexão comunicativa proposta pela mensagem SendInit da figura 44 enviada pelo emissor da figura 44, de acordo com uma modalidade;
[0059] a figura 48 ilustra uma mensagem SendReject que pode ser usada para se rejeitar uma conexão comunicativa proposta pela mensagem SendInit da figura 44 enviada pelo emissor da figura 44, de acordo com uma modalidade; e
[0060] a figura 49 ilustra uma mensagem ReceiveAccept que pode ser usada para se aceitar uma conexão comunicativa proposta pelo receptor da figura 44, de acordo com uma modalidade.
DESCRIÇÃO DETALHADA
[0061] Uma ou mais modalidades específicas da presente exposi ção serão descritas abaixo. Estas modalidades descritas são apenas exemplos as técnicas presentemente expostas. Adicionalmente, em um esforço para a provisão de uma descrição concisa destas modalidades, todos os recursos de uma implementação real podem não ser descritos no relatório descritivo. Deve ser apreciado que no desenvolvimento de uma implementação real como essa, como em qualquer projeto de engenharia ou de design, numerosas decisões específicas de implementação devem ser feitas para a obtenção das metas específicas dos desenvolvedores, tal como uma conformidade com restrições relacionadas ao sistema e relacionadas ao negócio, o que pode variar de uma implementação para uma outra. Mais ainda, deve ser apreciado que um esforço de desenvolvimento como esse poderia ser complexo e consumir tempo, mas, não obstante, pode ser uma tarefa de rotina de projeto, fabricação e manufatura para aqueles de conhecimento comum tendo o benefício desta exposição.
[0062] Quando da introdução de elementos de várias modalidades da presente exposição, pretende-se que os artigos "um", "uma" e "o(a)" signifiquem que há um ou mais dos elementos. Os termos "compreendendo", "incluindo" e "tendo" são pretendidos para serem inclusivos e significam que pode haver outros elementos adicionais, além dos elementos listados. Adicionalmente, deve ser entendido que referências a "uma modalidade" ou "modalidade" da presente exposição não são pretendidas para serem interpretadas como excluindo a existência de modalidades adicionais que também incorporam os recursos recitados.
[0063] As modalidades da presente exposição se referem geral mente a uma rede em malha eficiente que pode ser usada por disposi- tivos e/ou serviços em comunicação com cada outro em um ambiente doméstico. Geralmente, os consumidores vivendo em casas podem achar útil coordenar as operações de vários dispositivos na sua casa, de modo que todos os seus dispositivos sejam operados eficientemente. Por exemplo, um dispositivo de termostato pode ser usado para a detecção de uma temperatura de uma casa e coordenar a atividade de outros dispositivos (por exemplo, luzes) com base na temperatura detectada. Neste exemplo, o dispositivo de termostato pode detectar uma temperatura que pode indicar que a temperatura fora da casa corresponde às horas de luz diurna. O dispositivo de termostato então pode levar para o dispositivo de iluminação que pode haver luz diurna para a casa e que assim, a luz deve ser desligada.
[0064] Além da operação destes dispositivos eficientemente, os consumidores geralmente preferem usar dispositivos amigáveis para o usuário que envolvem uma quantidade mínima de configuração ou inicialização. Isto é, os consumidores geralmente preferem comprar dispositivos que estejam plenamente operacionais após a execução de unas poucas etapas de inicialização que podem ser realizadas por quase qualquer indivíduo, independentemente da idade ou da experiência técnica.
[0065] Com o precedente em mente, para se permitir efetivamente comunicar dados entre cada outro no ambiente doméstico, os dispositivos podem usar uma rede em malha que inclui uma ou mais redes lógicas para gerenciamento da comunicação entre os dispositivos. Isto é, a rede em malha eficiente pode permitir que numerosos dispositivos em uma casa se comuniquem com cada outro usando uma ou mais redes lógicas. A rede de comunicação pode suportar uma comunicação de versão 6 de Protocolo de Internet (IPv6), de modo que cada dispositivo conectado possa ter um endereço local único (LA). Mais ainda, para se permitir que cada dispositivo se integre com uma casa, pode ser útil que cada dispositivo se comunique na rede usando quantidades baixas de potência. Isto é, ao permitir que dispositivos se comuniquem usando potência baixa, os dispositivos podem ser postos em qualquer lugar em uma casa, sem serem acoplados a uma fonte de potência contínua (por exemplo, acionados por bateria).
I. Introdução de Malha
[0066] A título de introdução, a figura 1 ilustra um exemplo de um dispositivo geral 10 que pode se comunicar com outros dispositivos em um ambiente doméstico. Em uma modalidade, o dispositivo 10 pode incluir um ou mais sensores 12, um componente de interface de usuário 14, um suprimento de potência 16 (por exemplo, incluindo uma conexão de potência e/ou uma bateria), uma interface de rede 18, um processador 20 e similares. Os sensores 12, os componentes de interface de usuário 14 e as configurações de suprimento de potência podem ser as mesmas ou similares com cada dispositivo 10. Contudo, deve ser notado que, em algumas modalidades, cada dispositivo 10 pode incluir sensores em particular 12, componentes de interface de usuário 14, configurações de suprimento de potência e similares com base em um tipo ou modelo de dispositivo.
[0067] Os sensores 12, em certas modalidades, podem detectar várias propriedades, tais como aceleração, temperatura, umidade, água, potência suprida, proximidade, movimento externo, movimento de dispositivo, sinais de som, sinais de ultrassom, sinais de luz, fogo, fumaça, monóxido de carbono, sinais de satélite de posicionamento global (GPS), frequência de rádio (RF), outros sinais ou campos eletromagnéticos, ou similares. Como tal, os sensores 12 podem incluir sensor(es) de temperatura, sensor(es) de umidade, sensor(es) relaci- onado(s) a risco ou outro(s) sensor(es) ambiental(is), acelerômetro(s), microfone(s), sensores óticos até e incluindo câmera(s) (por exemplo, um dispositivo de carga acoplada ou câmeras de vídeo), sensores de radiação ativa ou passiva, receptor(es) de GPS ou detector(es) de identificação de frequência de rádio. Embora a figura 1 ilustre uma modalidade com um sensor único, muitas modalidades podem incluir múltiplos sensores. Em alguns casos, o dispositivo 10 pode incluir um ou mais sensores primários e um ou mais sensores secundários. Aqui, o(s) sensor(es) primário(s) pode(m) detectar dados centrais para a operação de núcleo do dispositivo (por exemplo, detectar uma temperatura em um termostato ou detectar fumaça em um detector de fumaça), enquanto o(s) sensor(es) secundário(s) pode(m) detectar outros tipos de dados (por exemplo, movimento, luz ou som), os quais podem ser usados para objetivos de eficiência de energia ou objetivos de ope-ração inteligente.
[0068] Um ou mais componentes de interface de usuário 14 no dispositivo 10 podem receber uma entrada a partir do usuário e/ou apresentar uma informação para o usuário. O componente de interface de usuário 14 também pode incluir um ou mais componentes de entrada de usuário que podem receber uma informação a partir do usuário. A entrada recebida pode ser usada para a determinação de uma regu- lagem. Em certas modalidades, os componentes de entrada de usuário podem incluir um componente mecânico ou virtual que responde ao movimento do usuário. Por exemplo, o usuário pode mover mecanicamente um componente deslizante (por exemplo, ao longo de um trilho vertical ou horizontal) ou rodar um anel rotativo (por exemplo, ao longo de um trilho circular), o movimento de usuário ao longo de um touchpad pode ser detectado, e/ou movimentos / gestos podem ser detectados usando-se um sensor de detecção de gesto sem contato (por exemplo, um sensor de infravermelho ou câmera). Esses movimentos podem corresponder a um ajuste de regulagem, o qual pode ser determinado com base em uma posição absoluta de um componente de interface de usuário 104 ou com base em um deslocamento de um componente de interface de usuário 104 (por exemplo, ajuste de uma temperatura de ponto de regulagem por um grau F para cada rotação de 10° de um componente de anel rotativo). Os componentes de entrada de usuário móveis física ou virtualmente podem permitir que um usuário faça uma regulagem ao longo de uma porção de um contínuo aparente. Assim, o usuário pode não ser confinado a escolher entre duas opções discretas (por exemplo, conforme seria o caso se botões de para cima e para baixo fossem usados), mas pode definir de forma rápida e intuitiva uma regulagem ao longo de uma faixa de valores de regulagem possíveis. Por exemplo, uma magnitude de um movimento de um componente de entrada de usuário pode ser associada a uma magnitude de um ajuste de regulagem, de modo que um usuário possa alterar dramaticamente uma regulagem com um movimento grande ou sintonizar de forma fina uma regulagem com um movimento pequeno.
[0069] Os componentes de interface de usuário 14 também podem incluir um ou mais botões (por exemplo, botões de para cima e para baixo), um teclado, um teclado numérico, um comutador, um microfone e/ou uma câmera (por exemplo, para a detecção de gestos). Em uma modalidade, o componente de interface de usuário 14 pode incluir um componente de anel anular de clicar e rodar que pode permitir que o usuário interaja com o componente pela rotação do anel (por exemplo, para ajuste de uma regulagem) e/ou ao clicar no anel para dentro (por exemplo, para selecionar uma regulagem ajustada ou para selecionar uma opção). Em uma outra modalidade, o componente de interface de usuário 14 pode incluir uma câmera que pode detectar gestos (por exemplo, para indicar que uma potência ou um estado de alarme de um dispositivo é para ser mudado). Em alguns casos, o dispositivo 10 pode ter um componente de entrada primário, o qual pode ser usado para a regulagem de vários tipos de regulagens. Os componentes de interface de usuário 14 também podem ser configurados para apresentarem uma informação para um usuário, por exemplo, através de um visor (por exemplo, um visor de transistor de filme fino ou um visor de diodo de emissão de luz orgânico) e/ou um alto-falante de áudio.
[0070] O componente de suprimento de potência 16 pode incluir uma conexão de potência e/ou uma bateria local. Por exemplo, a conexão de potência pode conectar o dispositivo 10 a uma fonte de potência, tal como uma fonte de voltagem em linha. Em alguns casos, uma fonte de potência AC pode ser usada para repetidamente carregar uma bateria local (por exemplo, recarregável), de modo que a bateria possa ser usada para suprimento de potência para o dispositivo 10, quando a fonte de potência AC não estiver disponível. Em certas modalidades, o componente de suprimento de potência 16 pode incluir conexões de potência intermitentes ou reduzidas, que podem ser menores do que aquilo provido através de um plugue AC na casa. Em certas modalidades, os dispositivos com baterias e/ou potência intermitente ou reduzida podem ser operados como "dispositivos em espera" que alternam entre um estado ligado / ativado e um estado desligado / inativo para redução do consumo de potência.
[0071] A interface de rede 18 pode incluir um ou mais componen tes que permitem que o dispositivo 10 se comunique entre dispositivos usando uma ou mais redes lógicas na rede em malha. Em uma modalidade, a interface de rede 18 pode se comunicar usando uma camada de rede eficiente como parte de seu modelo de interconexão de sistemas abertos (OSI). Em certas modalidades, um componente da interface de rede 18 pode se comunicar com uma rede lógica (por exemplo, WiFi) e um outro componente da interface de rede pode se comunicar com uma outra rede lógica (por exemplo, 802.15.4). Em outras palavras, a interface de rede 18 pode permitir que o dispositivo 10 se comunique de forma sem fio através de múltiplas redes de IPv6. Como tal, a interface de rede 18 pode incluir uma placa sem fio, uma porta de Ethernet e/ou outras conexões de transceptor adequadas.
[0072] O processador 20 pode suportar uma ou mais de uma vari edade de funcionalidades de dispositivo diferentes. Como tal, o processador 20 pode incluir um ou mais processadores configurados e programados para a realização e/ou para se fazer com que sejam realizadas uma ou mais das funcionalidades descritas aqui. Em uma modalidade, o processador 20 pode incluir processadores de finalidade geral executando um código de computador armazenado em uma memória local (por exemplo, uma memória flash, um disco rígido, uma memória de acesso randômico), processadores de finalidade especial ou circuitos integrados específicos de aplicação, outros tipos de plataformas de processamento de hardware / firmware / software, e/ou alguma combinação dos mesmos. Ainda, o processador 20 pode ser implementado como versões localizadas ou contrapartes de algoritmos executados ou governados remotamente pelos servidores centrais ou sistemas baseados em nuvem, tal como em virtude de uma máquina virtual Java (JVM) que executa instruções providas a partir de um servidor de nuvem usando Javascript Assíncrono e XML (AJAX) ou protocolos similares. A título de exemplo, o processador 20 pode detectar quando uma localização (por exemplo, uma casa ou um cômodo) está ocupada, até e incluindo se está ocupada por uma pessoa específica ou está ocupado por um número específico de pessoas (por exemplo, em relação a um ou mais limites). Em uma modalidade, esta detecção pode ocorrer, por exemplo, pela análise de sinais de microfone, pela detecção de movimentos de usuário (por exemplo, na frente de um dispositivo), detecção de aberturas e fechamentos de portas ou portões de garagem, detecção de sinais sem fio, detecção de um endereço de IP de um sinal recebido, detecção de uma operação de um ou mais dispositivos em uma janela de tempo, ou similar. Mais ainda, o processador 20 pode incluir uma tecnologia de reconhecimento de imagem para a identificação de ocupantes ou objetos em particular.
[0073] Em alguns casos, o processador 20 pode predizer regula- gens desejáveis e/ou implementar aquelas regulagens. Por exemplo, com base em detecção de presença, o processador 20 pode ajustar as regulagens de dispositivo, por exemplo, para conservar potência quando ninguém estiver em casa ou em um cômodo em particular e estar de acordo com preferências de usuário (por exemplo, preferências gerais em casa ou preferências específicas de usuário). Como um outro exemplo, com base na detecção de uma pessoa em particular, um animal ou um objeto (por exemplo, uma criança, um animal de estimação ou um objeto perdido), o processador 20 pode iniciar um indicador de áudio ou visual de onde a pessoa, o animal ou o objeto está, ou pode iniciar um alarme ou um recurso de segurança, se uma pessoa não reconhecida for detectada sob certas condições (por exemplo, à noite ou quando as luzes estiverem desligadas).
[0074] Em alguns casos, os dispositivos podem interagir com cada outro, de modo que eventos detectados por um primeiro dispositivo influenciem as ações de um segundo dispositivo usando um ou mais perfis comuns entre os dispositivos. Por exemplo, um primeiro dispositivo pode detectar que um usuário entrou em uma garagem (por exemplo, pela detecção de um movimento na garagem, detecção de uma mudança na luz na garagem ou detecção de abertura do portão de garagem). O primeiro dispositivo pode transmitir esta informação para um segundo dispositivo através da rede em malha, de modo que o segundo dispositivo possa ajustar, por exemplo, uma regulagem de temperatura doméstica, uma regulagem de luz, uma regulagem de música e/ou uma regulagem de alarme de segurança. Como um outro exemplo, um primeiro dispositivo pode detectar um usuário se aproximando da porta dianteira (por exemplo, pela detecção de um movi- mento ou de mudanças súbitas no padrão de luz). O primeiro dispositivo pode fazer com que um sinal de áudio ou visual geral seja apresentado (por exemplo, tal como soar de uma campainha de porta) ou fazer com que um sinal de áudio ou visual específico de localização seja apresentado (por exemplo, para anunciar a presença do visitante em um cômodo que um usuário esteja ocupando).
[0075] Com o precedente em mente, a figura 2 ilustra um diagra ma de blocos de um ambiente doméstico 30 no qual o dispositivo 10 da figura 1 pode se comunicar com outros dispositivos através da rede em malha. O ambiente doméstico descrito 30 pode incluir uma malha 32, tal como uma casa, um prédio comercial, uma garagem ou um trailer de residência. Será apreciado que os dispositivos também podem ser integrados em um ambiente doméstico que não inclua uma malha 32 inteira, tal como um apartamento, um condomínio, um espaço de escritório ou similar. Ainda, o ambiente doméstico 30 pode controlar e/ou ser acoplado a dispositivos fora da malha real 32. De fato, vários dispositivos no ambiente doméstico 30 não precisam estar fisicamente na malha 32 de forma alguma. Por exemplo, um dispositivo controlando um aquecedor de piscina 34 ou um sistema de irrigação 36 pode estar localizado fora da malha 32.
[0076] A malha 32 descrita inclui múltiplos cômodos 38 separados pelo menos parcialmente de cada outro através das paredes 40. As paredes 40 podem incluir paredes internas ou paredes externas. Cada cômodo 38 ainda pode incluir um piso 42 e um teto 44. Os dispositivos podem ser montados em integrados com e/ou suportados pela parede 40, pelo piso 42 ou pelo teto 44.
[0077] O ambiente doméstico 30 pode incluir múltiplos dispositi vos, incluindo dispositivos inteligentes, de detecção múltipla, conectados em rede que podem integrar sem emendas com cada outro e/ou com sistemas de servidor baseados em nuvem para a provisão de qualquer um de uma variedade de objetivos domésticos úteis. Um, mais ou cada um dos dispositivos ilustrados no ambiente doméstico 30 podem incluir um ou mais sensores 12, uma interface de usuário 14, um suprimento de potência 16, uma interface de rede 18, um processador 20 e similares.
[0078] Os dispositivos 10 de exemplo podem incluir um termostato conectado em rede 46 que pode detectar características climáticas do ambiente (por exemplo, temperatura e/ou umidade) e controlar um sistema de aquecimento, ventilação e condicionamento de ar (HVAC) 48. Um outro dispositivo 10 de exemplo pode incluir uma unidade de detecção de risco 50 que pode detectar a presença de uma substância perigosa e/ou uma condição de risco no ambiente doméstico 30 (por exemplo, fumaça, fogo ou monóxido de carbono). Adicionalmente, dispositivos de interface de porta de entrada 52, os quais podem ser denominados uma "campainha de porta inteligente", podem detectar a aproximação de uma pessoa ou a partida de uma localização, controlar uma funcionalidade audível, anunciar a aproximação ou a partida de uma pessoa através de meios de áudio ou visuais, ou controlar as regulagens em um sistema de segurança (por exemplo, para ativação ou desativação do sistema de segurança).
[0079] Em certas modalidades, o dispositivo 10 pode incluir um comutador de luz 54 que pode detectar condições de iluminação do ambiente, detectar estados de ocupação de cômodo, e controlar uma potência e/ou um estado de regulagem de intensidade de uma ou mais luzes. Em alguns casos, os comutadores de luz 54 podem controlar um estado de potência ou uma velocidade de um ventilador, tal como um ventilador de teto.
[0080] Adicionalmente, as interfaces de plugue de parede 56 po dem detectar a ocupação de um cômodo ou encerrar e controlar o suprimento de potência para um ou mais plugues de parede (por exem- plo, de modo que a potência não seja suprida para o plugue se ninguém estiver em casa). O dispositivo 10 no ambiente doméstico 30 ainda pode incluir uma aparelhagem 58, tais como refrigeradores, fogões e/ou fornos, televisores, lavadoras, secadoras, luzes (dentro e/ou fora da malha 32), estéreos, sistemas de intercomunicação, controles de abertura de portão de garagem, ventiladores de piso, ventiladores de teto, ventiladores de casa inteira, condicionadores de ar de parede, aquecedores de piscina 34, sistemas de irrigação 36, sistemas de segurança e assim por diante. Embora as descrições da figura 2 possam identificar sensores específicos e funcionalidades associadas a dispositivos específicos, será apreciado que qualquer um de uma variedade de sensores e funcionalidades (tais como aquelas descritas por todo o relatório descritivo) pode ser integrado no dispositivo 10.
[0081] Além de conter capacidades de processamento e detecção, cada um dos dispositivos de exemplo descritos acima pode ser capaz de comunicações de dados e compartilhamento de informação com qualquer outro dispositivo, bem como com qualquer servidor de nuvem ou qualquer outro dispositivo que seja conectado em rede em qualquer lugar no mundo. Em uma modalidade, os dispositivos 10 podem enviar e receber comunicações através de uma rede em malha discutida abaixo. Em uma modalidade, a malha pode permitir que os dispositivos 10 se comuniquem com cada outro através de uma ou mais redes lógicas. Como tal, certos dispositivos podem servir como repetidoras sem fio e/ou podem funcionar como pontes entre dispositivos, serviços e/ou redes lógicas no ambiente doméstico que podem não estar diretamente conectados (isto é, um salto) a cada outro.
[0082] Em uma modalidade, um roteador sem fio 60 pode se co municar adicionalmente com os dispositivos 10 no ambiente doméstico 30 através de uma ou mais redes lógicas (por exemplo, WiFi). O roteador sem fio 60 então pode se comunicar com a Internet 62 ou outra rede, de modo que cada dispositivo 10 possa se comunicar com um serviço remoto ou um sistema de computação em nuvem 64 através da Internet 62. O sistema de computação em nuvem 64 pode ser associado a um fabricante, uma entidade de suporte ou um provedor de serviços associado a um dispositivo 10 em particular. Como tal, em uma modalidade, um usuário pode contatar um suporte ao consumidor usando um dispositivo em si, ao invés de usar algum outro meio de comunicação, tal como o telefone ou um computador conectado à Internet. Ainda, as atualizações de software podem ser automaticamente enviadas a partir do atuador linear 64 ou de dispositivos no ambiente doméstico 30 para outros dispositivos na malha (por exemplo, quando disponível, quando comprado, quando requisitado, ou em intervalos de rotina).
[0083] Em virtude da conectividade de rede, um ou mais dos dis positivos 10 ainda pode permitir que um usuário interaja com o dispositivo, mesmo se o usuário não estiver próximo do dispositivo. Por exemplo, um usuário pode se comunicar com um dispositivo usando um computador (por exemplo, um computador de mesa, um computador laptop ou um tablet) ou outro dispositivo eletrônico portátil (por exemplo, um smartphone) 66. Uma página da web ou um aplicativo pode receber as comunicações a partir do usuário e controlar o dispositivo 10, com base nas comunicações recebidas. Mais ainda, a página da web ou o aplicativo podem apresentar uma informação sobre a operação do dispositivo para o usuário. Por exemplo, o usuário pode ver uma temperatura de ponto de regulagem atual para um dispositivo e ajustá-lo usando um computador que pode ser conectado à Internet 62. Neste exemplo, o termostato 46 pode receber a requisição de visualização de temperatura de ponto de regulagem atual através da rede em malha via uma ou mais redes lógicas subjacentes.
[0084] Em certas modalidades, o ambiente doméstico 30 também pode incluir uma variedade de aparelhagens de legado não de comunicação 68, tais como lavadoras / secadoras convencionais antigas, refrigeradores e similares, os quais podem ser controlados, embora grosseiramente (LIGA / DESLIGA), em virtude das interfaces de plu- gue de parede 56. O ambiente doméstico 30 ainda pode incluir uma variedade de aparelhagens de legado parcialmente de comunicação 70, tais como condicionadores de ar de parede controlados por infravermelho (IR) ou outros dispositivos controlados por IR, os quais podem ser controlados por sinais de IR providos pelas unidades de detecção de risco 50 ou pelos comutadores de luz 54.
[0085] Conforme mencionado acima, cada um dos dispositivos de exemplo 10 descritos acima pode formar uma porção de uma rede em malha. Geralmente, a rede em malha pode ser parte de um modelo de interconexão de sistemas abertos (OSI) 90, conforme descrito na figura 4. O modelo de OSI 90 ilustra funções de um sistema de comunicação com respeito a camadas de abstração. Isto é, o modelo de OSI pode especificar uma malha de formação de rede ou como as comunicações entre os dispositivos podem ser implementadas. Em uma modalidade, o modelo de OSI pode incluir seis camadas: uma camada física 92, uma camada de enlace de dados 94, uma camada de rede 96, uma camada de transporte 98, um nível de plataforma 100 e um nível de aplicativo 102. Geralmente, cada camada no modelo de OSI 90 pode servir à camada acima dela e pode ser servida pela camada abaixo dela.
[0086] Tendo isso em mente, a camada física 92 pode prover es pecificações de hardware para dispositivos que podem se comunicar com cada outro. Como tal, a camada física 92 pode estabelecer como os dispositivos podem se comunicar com cada outro, ajudar no gerenciamento de como os recursos de comunicação podem ser compartilhados entre os dispositivos e similares.
[0087] A camada de enlace de dados 94 pode especificar como os dados podem ser transferidos entre os dispositivos. Geralmente, a camada de enlace de dados 94 pode prover uma forma pela qual os pacotes de dados sendo transmitidos podem ser codificados e decodificados em bits como parte de um protocolo de transmissão.
[0088] A camada de rede 96 pode especificar como os dados sen do transferidos para um nó de destino são roteados. A camada de rede 96 também pode prover um protocolo de segurança que pode manter a integridade dos dados sendo transferidos. A camada de rede eficiente discutida acima corresponde à camada de rede 96. Em certas modalidades, a camada de rede 96 pode ser completamente independente do nível de plataforma 100 e incluir qualquer tipo de rede de IPv6 adequada (por exemplo, WiFi, Ethernet, HomePlug, 802.15.4, etc.).
[0089] A camada de transporte 98 pode especificar uma transfe rência transparente dos dados a partir de um nó de fonte para um nó de destino. A camada de transporte 98 também pode controlar como a transferência transparente dos dados permanece confiável. Como tal, a camada de transporte 98 pode ser usada para se verificar que pacotes de dados pretendidos para a transferência para o nó de destino de fato atingiu o nó de destino. Os protocolos de exemplo que podem ser empregados na camada de transporte 98 podem incluir um protocolo de controle de transmissão (TCP) e protocolo de datagrama de usuário (UDP).
[0090] O nível de plataforma 100 inclui a rede em malha e estabe lece conexões entre os dispositivos de acordo com o protocolo especificado na camada de transporte 98, e pode ser agnóstica quanto ao tipo de rede usado na camada de rede 96. O nível de plataforma 100 também pode traduzir os pacotes de dados para uma forma que o nível de aplicativo 102 possa usar. O nível de aplicativo 102 pode supor- tar um aplicativo de software que pode ter uma interface diretamente com o usuário. Como tal, o nível de aplicativo 102 pode implementar protocolos definidos pelo aplicativo de software. Por exemplo, o aplicativo de software pode prover serviços tais como transferências de arquivo, correio eletrônico e similares.
II. Interconexão de Dispositivo de Malha
[0091] Conforme discutido acima, uma malha pode ser implemen tada usando-se um ou mais protocolos de comunicações adequados, tais como protocolos IPv6. De fato, a malha pode ser parcial ou completamente agnóstica quanto às tecnologias subjacentes (por exemplo, tipos de rede ou protocolos de comunicação) usadas para a implementação da malha. Em um ou mais protocolos de comunicações, a malha pode ser implementada usando-se um ou mais tipos de rede para acoplamento de forma comunicativa de dispositivos elétricos usando conexões sem fio ou com fio. Por exemplo, certas modalidades da malha podem incluir Ethernet, WiFi, 802.15.4, ZigBee®, ISA100.11a, WirelessHART, MiWi™, redes de linha de potência, e/ou outros tipos de redes adequados. Nos dispositivos de malha (por exemplo, nós), podem trocar pacotes de informação com outros dispositivos (por exemplo, nós) na malha, diretamente ou através de nós intermediários, tais como termostatos inteligentes, atuando como roteadores de IP. Estes nós podem incluir dispositivos de fabricante (por exemplo, termostatos e detectores de fumaça) e/ou dispositivos de consumidor (por exemplo, telefones, tablets, computadores, etc.). Adicionalmente, alguns dispositivos podem estar "sempre ligados" e ser acionados continuamente usando-se conexões elétricas. Outros dispositivos podem ter o uso de potência parcialmente reduzido (por exemplo, um ciclo de carga média) usando uma conexão de potência reduzida / intermitente, tal como um termostato ou uma conexão de potência de campainha de porta. Finalmente, alguns dispositivos po- dem ter um ciclo de carga curto e rodar unicamente com potência de bateria. Em outras palavras, em certas modalidades, a malha pode incluir dispositivos heterogêneos que podem ser conectados a uma ou mais sub-redes de acordo com um tipo de conexão e/ou um uso de potência desejado. As figuras A-C ilustram três modalidades que podem ser usadas par conexão de dispositivos elétricos através de uma ou mais sub-redes na malha.
A. Topologia de Rede Única
[0092] A figura 4 ilustra uma modalidade da malha 1000 tendo uma única topologia de rede. Conforme ilustrado, a malha 1000 inclui uma rede lógica única 1002. A rede 1002 poderia incluir redes de Ethernet, WiFi, 802.15.4, de linha de potência e/ou outros tipos de rede adequados nos protocolos de IPv6. De fato, em algumas modalidades em que a rede 1002 inclui uma rede de WiFi ou Ethernet, a rede 1002 pode cobrir múltiplos segmentos de WiFi e/ou ethernet que são ligados em uma camada de enlace.
[0093] A rede 1002 inclui um ou mais nós 1004, 1006, 1008, 1010, 1012, 1014 e 1016, referidos aqui coletivamente como 1004 a 1016. Embora a rede 1002 ilustrada inclua sete nós, certas modalidades da rede 1002 podem incluir um ou mais nós interconectados usando-se a rede 1002. Mais ainda, se a rede 1002 for uma rede WiFi, cada um dos nós 1004 a 1016 poderá ser interconectado usando-se o nó 1016 (por exemplo, um roteador de WiFi) e/ou emparelhado com outros nós usando WiFi Direct (isto é, WiFi P2P).
B. Topologia de Rede em Estrela
[0094] A figura 5 ilustra uma modalidade alternativa de uma malha 1000, tal como uma malha 1018 tendo uma topologia de rede em estrela. A malha 1018 inclui uma rede de hub 1020 que une em conjunto duas redes periféricas 1022 e 1024. A rede de hub 1020 pode incluir uma rede doméstica, tal como uma rede de WiFi / Ethernet ou uma rede de linha de potência. As redes periféricas 1022 e 1024 podem ser tipos diferentes de conexão de rede adicionais de tipos diferentes da rede de hub 1020. Por exemplo, em algumas modalidades, a rede de hub 1020 pode ser uma rede de WiFi / Ethernet, a rede periférica 1022 pode incluir uma rede 802.15.4 e a rede periférica 1024 pode incluir uma redundância de linha de potência, uma rede ZigBee®, uma rede ISA100.11a, uma rede WirelessHART, ou uma rede MiWi™. Mais ainda, embora a modalidade ilustrada da malha 1018 inclua três redes, certas modalidades da malha 1018 podem incluir qualquer número de redes, tais como 2, 3, 4, 5 ou mais redes. De fato, algumas modalidades da malha 1018 incluem múltiplas redes periféricas do mesmo tipo.
[0095] Embora a malha 1018 ilustrada inclua quatorze nós, cada um referido individualmente pelos números de referência 1024 a 1052, respectivamente, deve ser entendido que a malha 1018 pode incluir qualquer número de nós. Uma comunicação em cada rede 1020, 1022 ou 1024 pode ocorrer diretamente entre dispositivos e/ou através de um ponto de acesso, tal como o nó 1042 na rede de WiFi / Ethernet. As comunicações entre as redes periféricas 1022 e 1024 passam através da rede de hub 1020 usando-se nós de roteamento inter-rede. Por exemplo, na modalidade ilustrada, os nós 1034 e 1036 estão para serem conectados à rede periférica 1022 usando-se um primeiro tipo de conexão de rede (por exemplo, 802.15.4) e à rede de hub 1020 usando-se um segundo tipo de conexão de rede (por exemplo, WiFi), enquanto o nó 1044 é conectado à rede de hub 1020 usando-se o segundo tipo de conexão de rede e à 1024 usando-se um terceiro tipo de conexão de rede (por exemplo, uma linha de potência). Por exemplo, uma mensagem enviada a partir do nó 1026 para o nó 1052 pode passar através dos nós 1028, 1030, 1032, 1036, 1042, 1044, 1048 e 1050 em trânsito para o nó 1052.
C. Topologia de Redes com Superposição
[0096] A figura 6 ilustra uma modalidade alternativa da malha 1000 como uma malha 1054 tendo uma topologia de redes com superposição. A malha 1054 inclui as redes 1056 e 1058. Conforme ilustrado, cada um dos nós 1062, 1064, 1066, 1068, 1070 e 1072 pode ser conectado a cada uma das redes. Em outras modalidades, o nó 1072 pode incluir um ponto de acesso para uma rede de Ethernet / WiFi, ao invés de um ponto final, e pode não estar presente na rede 1056 ou na rede 1058, qualquer uma que não seja a rede de Ethernet / WiFi. Assim sendo, uma comunicação a partir do nó 1062 para o nó 1068 pode ser passada através da rede 1056, da rede 1058 ou de alguma combinação das mesmas. Na modalidade ilustrada, cada nó pode se comu-nicar com qualquer outro nó através de qualquer rede usando qualquer rede desejada. Assim sendo, diferentemente da topologia de rede em estrela da figura 5, a topologia de redes com superposição pode se comunicar diretamente entre nós através de qualquer rede sem o uso de um roteamento inter-rede.
D. Conexão de Rede de Malha para Serviços
[0097] Além das comunicações entre dispositivos em casa, uma malha (por exemplo, a malha 1000) pode incluir serviços que podem estar localizados fisicamente perto de outros dispositivos na malha ou fisicamente remotos desses dispositivos. A malha se conecta a estes serviços através de um ou mais pontos finais de serviço. A figura 7 ilustra uma modalidade de um serviço 1074 em comunicação com as malhas 1076, 1078 e 1080. O serviço 1074 pode incluir vários serviços que podem ser usados pelos dispositivos nas malhas 1076, 1078 e 1080. Por exemplo, em algumas modalidades, o serviço 1074 pode ser um serviço de horário do dia, que supre um horário do dia para dispositivos, um serviço de clima para a provisão de vários dados de clima (por exemplo, temperatura externa, pôr do Sol, informação de vento, previsão climática, etc.), um serviço de eco que dá o "ping" de cada dispositivo, serviços de gerenciamento de dados, serviços de gerenciamento de direção perpendicular e/ou outros serviços adequados. Conforme ilustrado, o serviço 1074 pode incluir um servidor 1082 (por exemplo, um servidor da web) que armazena / acessa dados relevantes e passa a informação através de um ponto final de serviço 1084 para um ou mais pontos finais 1086 em uma malha, tal como a malha 1076. Embora a modalidade ilustrada apenas inclua três malhas com um único servidor 1082, deve ser apreciado que o serviço 1074 podem se conectar a qualquer número de malhas e pode incluir servidores além do servidor 1082 e/ou conexões com serviços adicionais.
[0098] Em certas modalidades, o serviço 1074 também pode se conectar a um dispositivo de consumidor 1088, tal como um telefone, um tablet e/ou um computador. O dispositivo de consumidor 1088 pode ser usado para conexão ao serviço 1074 através de uma malha, tal como a malha 1076, uma conexão de Internet e/ou algum outro método de conexão adequado. O dispositivo de consumidor 1088 pode ser usado para acesso a dados a partir de um ou mais pontos finais (por exemplo, dispositivos eletrônicos) em uma malha diretamente através da malha ou via o serviço 1074. Em outras palavras, usando o serviço 1074, o dispositivo de consumidor 1088 pode ser usado para acesso / gerenciamento de dispositivos em uma malha remotamente da malha.
E. Comunicação entre Dispositivos em uma Malha
[0099] Conforme discutido acima, cada dispositivo eletrônico ou nó pode se comunicar com qualquer outro nó na malha, direta ou indiretamente, dependendo da topologia da malha e dos tipos de conexão de rede. Adicionalmente, alguns dispositivos (por exemplo, dispositivos remotos) podem se comunicar através de um serviço para comunicação com outros dispositivos na malha. A figura 8 ilustra uma modalidade de uma comunicação 1090 entre dois dispositivos 1092 e 1094. A comunicação 1090 pode cobrir uma ou mais redes direta ou indireta- mente através de dispositivos e/ou serviços adicionais, conforme descrito acima. Adicionalmente, a comunicação 1090 pode ocorrer por um protocolo de comunicação apropriado, tal como IPv6, usando um ou mais protocolos de transporte. Por exemplo, em algumas modalidades, a comunicação 1090 pode incluir o uso do protocolo de controle de transmissão (TCP) e/ou o protocolo de datagrama de usuário (UDP). Em algumas modalidades, o dispositivo 1092 pode transmitir um primeiro sinal 1096 para o dispositivo 1094 usando um protocolo sem conexão (por exemplo, um UDP). Em certas modalidades, o dispositivo 1092 pode se comunicar com o dispositivo 1094 usando um protocolo orientado para conexão (por exemplo, TCP). Embora a comunicação ilustrada 1090 seja descrita como uma conexão bidirecional, em algumas modalidades, a comunicação 1090 pode ser uma difusão unidire- cional.
i. Endereço Local Único
[00100] Conforme descrito acima, os dados transmitidos em uma malha recebidos por um nó podem ser redirecionados ou passados através do nó para um outro nó, dependendo do alvo desejado para a comunicação. Em algumas modalidades, a transmissão dos dados pode ser pretendida para ser difundida para todos os dispositivos. Nessas modalidades, os dados podem ser retransmitidos sem um processamento adicional para se determinar se os dados devem ser passados adiante para um outro nó. Contudo, alguns dados podem ser dirigidos para um ponto final específico. Para se permitir que mensagens endereçadas sejam transmitidas para os pontos finais desejados, aos nós pode ser atribuída uma informação de identificação.
[00101] A cada nó pode ser atribuído um conjunto de endereços de enlace - local (LLA), um atribuído a cada interface de rede. Estes LLAs podem ser usados para comunicação com outros nós na mesma rede. Adicionalmente, os LLAs podem ser usados para vários proce- dimentos de comunicação, tal como um Protocolo de Descoberta de Vizinho de IPv6. Além dos LLAs, a cada nó é atribuído um endereço local único (ULA).
[00102] A figura 9 ilustra uma modalidade de um endereço local único (ULA) 1098 que pode ser usado para endereçamento de cada nó na malha. Em certas modalidades, o ULA 1098 pode ser formatado como um formato de endereço de IPv6 contendo 128 bits divididos em um ID global 1100, um ID de sub-rede 1102, e um ID de interface 1104. O ID global 1100 inclui 40 bits e o ID de sub-rede 1102 inclui 16 bits. O ID global 1100 e o ID de sub-rede 1102 em conjunto formam um ID de malha 1103 para a malha.
[00103] O ID de malha 1103 é um identificador de 64 bits usado para a identificação de uma malha. O ID de malha 1103 pode ser gerado na criação da malha associada usando-se um algoritmo pseudorran- dômico. Por exemplo, o algoritmo pseudorrandômico pode 1) obter o horário atual do dia no formato de NTP de 64 bits, 2) obter o ID de interface 1104 para o dispositivo, 3) concatenar o horário do dia com o ID de interface 1104 para a criação de uma chave, 4) computar e digerir SHA-1 a chave resultante em 160 bits, 5) usar os 40 bits menos significativos como o ID global 1100, e 6) concatenar o ULA e regular o bit menos significativo para 1 para criar a ID de malha 1103. Em certas modalidades, uma vez que o ID de malha 1103 é criado com a malha, o ID de malha 1103 permanece até a malha ser dissolvida.
[00104] O ID global 1100 identifica a malha à qual o nó pertence. O ID de sub-rede 1102 identifica as redes lógicas na malha. O ID de sub- rede F3 pode ser atribuído de forma monotônica começando em um com a adição de cada nova rede lógica à malha. Por exemplo, uma rede WiFi pode ser identificada com um valor hexadecimal de 0x01, e uma rede 802.15.4 conectada mais tarde pode ser identificada com um valor hexadecimal de 0x02 continuando de forma incremental median- te a conexão de cada nova rede à malha.
[00105] Finalmente, o ULA 1098 inclui um ID de interface 1104 que inclui 64 bits. O ID de interface 1104 pode ser atribuído usando-se um identificador de 64 bits globalmente único de acordo com a norma EUI- 64 do IEEE. Por exemplo, os dispositivos com interfaces de rede IEEE 802 podem derivar o ID de interface 1104 usando um endereço de MAC queimado para a "interface primária" de dispositivos. Em algumas modalidades, a designação de qual interface é a interface primária pode ser determinada arbitrariamente. Em outras modalidades, um tipo de interface (por exemplo, WiFi) pode ser julgada a interface primária, quando presente. Se o endereço de MAC para a interface primária de um dispositivo for de 48 bits, ao invés de 64 bits, o endereço de MAC de 48 bits poderá ser convertido em um valor de EUI-64 através de encapsulação (por exemplo, uma encapsulação de identificador único de forma organizacional). Em dispositivos de consumidor (por exemplo, telefones ou computadores), o ID de interface 1104 pode ser atribuído pelos sistemas operacionais locais de dispositivos de consumidor.
ii. Roteamentos de Transmissão entre Redes Lógicas
[00106] Conforme discutido acima em relação a uma topologia de rede em estrela, um roteamento inter-rede pode ocorrer em comunicação entre dois dispositivos através de redes lógicas. Em algumas modalidades, um roteamento inter-rede é baseado no ID de sub-rede 1102. Cada nó inter-rede (por exemplo, um nó 1034 da figura 5) pode manter uma lista de outros nós de roteamento (por exemplo, o nó B 14 da figura 5) na rede de hub 1020 e suas respectivas redes periféricas anexadas (por exemplo, a rede periférica 1024 da figura 5). Quando um pacote chega endereçado a um outro nó além do nó de roteamen- to em si, o endereço de destino (por exemplo, um endereço para o nó 1052 da figura 5) é comparado com a lista de prefixos de rede e um nó de roteamento (por exemplo, o nó 1044) é selecionado que é anexado à rede desejada (por exemplo, a rede periférica 1024). O pacote então é encaminhado para o nó de roteamento selecionado. Se múltiplos nós (por exemplo, 1034 e 1036) forem anexados à mesma rede periférica, os nós de roteamento serão selecionados de uma forma alternada.
[00107] Adicionalmente, os nós de roteamento de inter-rede podem transmitir regularmente mensagens de anúncio de roteador de protocolo de descoberta de vizinho (NDP) na rede de hub para alertar dispositivos de consumidor para a existência da rede de hub e permitir que eles adquiram o prefixo de sub-rede. Os anúncios de roteador podem incluir uma ou mais opções de informação de rota para ajudarem na informação de roteamento na malha. Por exemplo, estas opções de informação de rota podem informar aos dispositivos de consumidor a existência das redes periféricas e como rotear os pacotes das redes periféricas.
[00108] Além disso, ou no lugar de opções de informação de rota, os nós de roteamento podem atuar como proxies para a provisão de uma conexão entre dispositivos de consumidor e dispositivos em redes periféricas, tal como o processo 1105, conforme ilustrado na figura 10. Conforme ilustrado, o processo 1105 inclui a cada dispositivo de rede periférica ser atribuído um endereço virtual na rede de hub pela combinação do ID de sub-rede 1102 com o ID de interface 1104 para o dispositivo na rede periférica (bloco 1106). Para ter um proxy usando os endereços virtuais, os nós de roteamento mantêm uma lista de todos os nós periféricos na malha que são diretamente alcançáveis através de uma de suas interfaces (bloco 1108). Os nós de roteamento ouvem na rede de hub mensagens de solicitação de vizinho requisitando o endereço de enlace de um nó periférico usando seu endereço virtual (bloco 1110). Mediante o recebimento de uma mensagem como essa, o nó de roteamento tenta atribuir o endereço virtual a sua inter face de hub após um período de tempo (bloco 1112). Como parte da atribuição, o nó de roteamento executa uma detecção de endereço em duplicata, de modo a bloquear um proxy do endereço virtual por maios do que um nó de roteamento. Após a atribuição, o nó de roteamento responde à mensagem de solicitação de vizinho e recebe o pacote (bloco 1114). Mediante o recebimento do pacote, o nó de roteamento reescreve o endereço de destino para ser o endereço real do nó periférico (bloco 1116) e encaminha a mensagem para a interface apropriada (bloco 1118).
iii. Dispositivos de Consumidor se Conectando a uma Malha
[00109] Para se unir a uma malha, um dispositivo de consumidor pode descobrir um endereço de um nó já na malha a que o dispositivo de consumidor deseja se unir. Adicionalmente, se o dispositivo de consumidor tiver sido desconectado de uma malha por um período de tempo estendido, poderá redescobrir os nós na rede, se a topografia da malha/layout tiver mudado. Para ajudar na descoberta / redesco- berta, os dispositivos de malha na rede de hub podem publicar registros de sistema de nome de domínio - descoberta de serviço (DNS- SD) através de mDNS que anunciam a presença da malha e proveem endereços ao dispositivo de consumidor.
111. Dados Transmitidos na Malha
[00110] Após a criação de uma malha e uma criação de endereço para os nós, os dados podem ser transmitidos através da malha. Os dados passados através da malha podem ser dispostos em um formato comum a todas as mensagens e/ou comum a tipos específicos de conversações na malha. Em algumas modalidades, o formato de mensagem pode permitir um mapeamento de um para um para a Notação de Objeto de JavaScript (JSON) usando-se um formato de serialização de TLV discutido abaixo. Adicionalmente, embora os quadros de dados a seguir sejam descritos como incluindo tamanhos específicos, deve ser notado que os comprimentos dos campos de dados nos quadros de dados podem ser variados para outros comprimentos de bit adequados.
[00111] Deve ser entendido que cada um dos quadros de dados a seguir, perfis e/ou formatos discutidos abaixo podem ser armazenados em uma memória (por exemplo, uma memória do dispositivo 10), antes de e/ou após uma transmissão de uma mensagem. Em outras palavras, embora o quadro de dados, os perfis e os formatos possam ser geralmente discutidos como transmissões de dados, eles também podem ser fisicamente armazenados (por exemplo, em um buffer), antes, durante e/ou após a transmissão do quadro de dados, dos perfis e/ou formatos. Mais ainda, os quadros de dados, perfis, esquemas e/ou formatos a seguir podem ser armazenados em um Meio legível em computador não transitório que permite que um dispositivo eletrônico acesse os quadros de dados, os perfis, os esquemas e/ou os forma-tos. Por exemplo, as instruções para formatação dos quadros de dados, perfis, esquemas e/ou formatos podem ser armazenadas em qualquer Meio legível em computador adequado, tal como na memória para o dispositivo 10, em uma memória de um outro dispositivo, um dispositivo de memória portátil (por exemplo, um disco compacto, uma unidade flash, etc.), ou outro dispositivo físico adequado que seja adequado para o armazenamento dos quadros de dados, dos perfis, dos esquemas e/ou dos formatos.
A. Segurança
[00112] Juntamente com dados pretendidos para serem transferidos, a malha pode transferir os dados com medidas de segurança adicionais, tais como criptografia, checagens de integridade de mensagem e assinaturas digitais. Em algumas modalidades, um nível de segurança suportado por um dispositivo pode variar de acordo com uma segurança física do dispositivo e/ou capacidades do dispositivo. Em certas modalidades, as mensagens enviadas entre os nós na malha podem ser criptografadas usando-se a cifra de bloco de Norma de Criptografia Avançada (AES) operando em modo de contador (AES- CTR) com uma chave de 128 bits. Conforme discutido abaixo, cada mensagem contém um id de mensagem de 32 bits. O id de mensagem pode ser combinado com um id de nó de envio para a formação de um nonce (número arbitrário usado apenas uma vez) para o algoritmo de AES-CTR. O contador de 32 bits permite que 4 bilhões de mensagem sejam criptografadas e enviadas por meio de cada nó, antes de uma nova chave ser negociada.
[00113] Em algumas modalidades, a malha pode garantir uma integridade de mensagem usando-se um código de autenticação de mensagem, tal como HMAC SHA-1, que pode ser incluído em cada mensagem criptografada. Em algumas modalidades, o código de autenticação de mensagem pode ser gerado usando-se uma chave de integridade de mensagem de 160 bits que é emparelhada um a um com a chave de criptografia. Adicionalmente, cada nó pode checar o id de mensagem de mensagens entrando com respeito a uma lista de ids recebidos recentemente mantidos em uma base de nó por nó para bloquear uma retransmissão das mensagens. B. Formatação de Etiqueta Comprimento Valor (TLV)
[00114] Para redução do consumo de potência, é desejável enviar pelo menos uma porção dos dados enviados pela malha de forma compacta, enquanto se permite que os contêineres de dados representem de forma flexível dados que acomodam dados de desvio que não são reconhecidos ou entendidos pelo desvio para a próxima localização de dados que seja entendida em uma serialização dos dados. Em certas modalidades, uma formatação de valor de etiqueta - comprimento - valor (TLV) pode ser usada para se codificarem / decodificarem dados de forma compacta e flexível. Pelo armazenamento de pelo menos uma porção dos dados transmitidos em TLV, os dados podem ser armazenados / enviados de forma compacta e flexível juntamente com baixos codificação / decodificação e tempo de processamento de memória, conforme discutido abaixo com referência à Tabela 7. Em certas modalidades, o TLV pode ser usado para alguns dados como dados extensíveis, flexíveis, mas outras porções de dados que não sejam extensíveis podem ser armazenadas e enviadas em uma unidade de dados de protocolo (PDU) padrão entendida.
[00115] Os dados formatados em um formato de TLV podem ser codificados como elementos de TLV de vários tipos, tais como tipos primitivos e tipos de contêiner. Os tipos primitivos incluem valores de dados em certos formatos, tais como inteiros ou strings. Por exemplo, o formato de TLV pode codificar: inteiros sinalizados / não sinalizados de 1, 2, 3, 4 ou 8 bytes, strings de UTF-8, strings de byte, números de flutuação de precisão única / dupla (por exemplo, um formato de IEEE 754-1985), booleanos, nulos e outros tipos de formato de dados adequados. Os tipos de contêiner incluem coleções de elementos que então são subclassificadas como tipos de contêiner ou primitivo. Os tipos de contêiner podem ser classificados em várias categorias, tais como dicionários, arranjos, percursos ou outros tipos adequados para agrupamento de elementos de TLV, conhecidos como membros. Um dispositivo de controle é uma coleção de membros, cada um tendo definições distintas e etiquetas únicas no dispositivo de controle. Um arranjo é uma coleção ordenada de membros com definições implicadas ou nenhuma definição distinta. Um percurso é uma coleção ordenada de membros que descrevem como atravessar uma árvore de elementos de TLV.
[00116] Conforme ilustrado na figura 11, uma modalidade de um pacote de TLV 1120 inclui três campos de dados: um campo de etiqueta 1122, um campo de comprimento 1124 e um campo de valor 1126. Embora os campos ilustrados 1122, 1124 e 1126 sejam ilustrados como de tamanho aproximadamente equivalente, o tamanho de cada campo pode ser variável e variar no tamanho em relação a cada outro. Em outras modalidades, o pacote de TLV 1120 ainda pode incluir um byte de controle antes do campo de etiqueta 1122.
[00117] Em modalidades tendo o byte de controle, o byte de controle pode ser subdividido em um campo de tipo de elemento e um campo de controle de etiqueta. Em algumas modalidades, o campo de tipo de elemento inclui 5 bits inferiores do byte de controle e o campo de controle de etiqueta ocupa os 3 bits superiores. O campo de tipo de elemento indica o tipo de elemento de TLV, e também como o campo de comprimento 1124 e o campo de valor 1126 são codificados. Em certas modalidades, o campo de tipo de elemento também codifica valores booleanos e/ou valores nulos para o TLV. Por exemplo, uma modalidade de uma enunciação de campo de tipo de elemento é provida na Tabela 1 abaixo.
Figure img0001
Figure img0002
Tabela 1. Valores de campo de tipo de elemento de exemplo. O campo de controle de etiqueta indica uma forma da etiqueta no campo de etiqueta 1122 atribuída ao elemento de TLV (incluindo uma etiqueta de comprimento zero). Os exemplos de valores de campo de controle de etiqueta são providos na Tabela 2 abaixo.
Figure img0003
Tabela 2. Valores de exemplo de campo de controle de etiqueta. Em outras palavras, em modalidades tendo um byte de controle, o byte de controle pode indicar um comprimento da etiqueta.
[00118] Em certas modalidades, o campo de etiqueta 1122 pode incluir de zero a oito bytes, tais como oito, dezesseis, trinta e dois ou sessenta e quatro bits. Em algumas modalidades, a etiqueta do campo de etiqueta pode ser classificada como etiquetas específicas de perfil ou etiquetas específicas de contexto. As etiquetas específicas de perfil identificam elementos globalmente usando-se um Id de vendedor, um Id de perfil e/ou um número de etiqueta, conforme discutido abaixo. As etiquetas específicas de contexto identificam elementos de TLV em um contexto de contenção de elemento de dicionário, e podem incluir um número de etiqueta de byte único. Uma vez que etiquetas específicas de contexto são definidas no contexto de seus contêineres, uma etiqueta específica de contexto única pode ter interpretações diferentes, quando incluída em contêineres diferentes. Em algumas modalidades, o contexto também pode ser derivado a partir de contêineres alojados.
[00119] Em modalidades tendo o byte de controle, o comprimento de etiqueta é codificado no campo de controle de etiqueta, e o campo de etiqueta 1122 inclui três campos possíveis: um campo de Id de vendedor, um campo de Id de perfil e um campo de número de etiqueta. Na forma plenamente qualificada, o campo de etiqueta codificado 1122 inclui todos os três campos com o campo de número de etiqueta incluindo 16 ou 32 bits determinados pelo campo de controle de etiqueta. Na forma implícita, a etiqueta inclui apenas o número de etiqueta, e o Id de vendedor e o número de perfil são inferidos a partir do contexto de protocolo do elemento de TLV. A forma de perfil de núcleo inclui etiquetas específicas de perfil, conforme discutido acima. As etiquetas específicas de contexto são codificadas como um byte único portando o número de etiqueta. Elementos anônimos têm campos de etiqueta de comprimento zero 1122.
[00120] Em algumas modalidades sem um byte de controle, dois bits podem indicar um comprimento do campo de etiqueta 1122, dois bits podem indicar um comprimento do campo de comprimento 1124, e quatro bits podem indicar um tipo de informação armazenado no campo de valor 1126. Um exemplo de codificação possível para os 8 bits superiores para o campo de etiqueta é ilustrado abaixo na Tabela 3.
Figure img0004
Tabela 3. Campo d e el iqueta d e um pacote de TLV. Conforme ilustrado na Tabela 3, os 8 bits superiores do campo de eti- queta 1122 podem ser usados para a codificação de uma informação sobre o campo de etiqueta 1122, o campo de comprimento 1124 e o campo de valor 1126, de modo que o campo de etiqueta 1122 possa ser usado para a determinação do comprimento para o campo de etiqueta 1122 e os campos de comprimento 1124. Os bits remanescentes no campo de etiqueta 1122 podem ser tornados disponíveis para valores de etiqueta alocados por usuário e/ou atribuídos por usuário.
[00121] O campo de comprimento 1124 pode incluir oito, dezesseis, trinta e dois ou sessenta e quatro bits, conforme indicado pelo campo de etiqueta 1122, conforme ilustrado na Tabela 3, ou pelo campo de elemento, conforme ilustrado na Tabela 2. Mais ainda, o campo de comprimento 1124 pode incluir um inteiro não sinalizado, que representa um comprimento de codificação no campo de valor 1126. Em algumas modalidades, o comprimento pode ser selecionado por um dispositivo enviando o elemento de TLV. O campo de valor 1126 inclui os dados de carga útil a serem decodificados, mas uma interpretação do campo de valor 1126 pode depender dos campos de comprimento de etiqueta e/ou do byte de controle. Por exemplo, um pacote de TLV sem um byte de controle incluindo uma etiqueta de 8 bits é ilustrado na Tabela 4 abaixo, para ilustração.
Figure img0005
Tabela 4. Exemplo de um pacote de TLV incluindo uma etiqueta de 8 bits. Conforme ilustrado na Tabela 4, a primeira linha indica que o campo de etiqueta 1122 e o campo de comprimento 1124 têm, cada um, um comprimento de 8 bits. Adicionalmente, o campo de etiqueta 1122 indica que o tipo de etiqueta para a primeira linha é um contêiner (por exemplo, o pacote de TLV). O campo de comprimento 1124 para s linhas dois a seis indica que cada entrada no pacote de TLV tem um campo de etiqueta 1122 e um campo de comprimento 1124 consistindo em 8 bits cada. Adicionalmente, o campo de comprimento 1124 indica que cada entrada no pacote de TLV tem um campo de valor 1126 que inclui um ponto flutuante de 32 bits. Cada entrada no campo de valor 1126 corresponde a um número flutuante que pode ser decodificado usando-se o campo de etiqueta correspondente 1122 e a informação de campo de comprimento 1124. Conforme ilustrado neste exemplo, cada entrada no campo de valor 1126 corresponde a uma temperatura em Fahrenheit. Conforme pode ser entendido, pelo armazenamento de dados em um pacote de TLV, conforme descrito acima, os dados podem ser transferidos de forma compacta enquanto permanecem flexíveis para comprimentos variáveis e informação, conforme pode ser usado por dispositivos diferentes na malha. Mais ainda, em algumas modalidades, campos de inteiro de byte múltiplo podem ser transmitidos em uma ordem little-endian ou em uma ordem big-endian (Em big-endian, o byte mais significativo é armazenado em um ende-reço de memória em particular e os bytes subsequentes são armazenados nos endereços de memória de ordem mais alta seguintes, o byte menos significativo assim sendo armazenado no endereço de memória de ordem mais alta. Little-endian reverte a ordem e armazena o byte menos significativo no endereço de memória mais baixo, assim o byte mais significativo sendo armazenado no endereço de memória mais alto).
[00122] Pela transmissão de pacotes de TLV no uso de um protoco lo de ordem (por exemplo, little-endian) que pode ser usado pelos formatos de dispositivo de envio / recepção (por exemplo, JSON), dados transferidos entre nós podem ser transmitidos no protocolo de ordem usado por pelo menos um dos nós (por exemplo, little-endian). Por exemplo, se um ou mais nós incluírem ARM ou processadores ix86, as transmissões entre os nós poderão ser transmitidas usando-se uma ordenação de byte little-endian para redução do uso de reordenação de byte. Pela redução da inclusão de reordenação de byte, o formato de TLV permite que dispositivos se comuniquem usando menos potência do que uma transmissão que use reordenação de byte em ambas as extremidades da transmissão. Mais ainda, uma formatação de TLV pode ser especificada para a provisão de uma tradução um a um entre outras técnicas de armazenamento de dados, tal como JSON + linguagem de marcação extensível (XML). Como um exemplo, o formato de TLV pode ser usado para a representação da lista de propriedade de XML a seguir: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>OfflineMode</key> <false/> <key>Network</key> <dict> <key>IPv4</key> <dict> <key>Method</key> <string>dhcp</string> </dict> <key>IPv6</key> <dict> < key> Method</key> <string>auto</string> </dict> </dict> <key>Technologies</key> <dict> <key>wifi</key> <dict> <key>Enabled</key> <true/> <key>Devices</key> <dict> <key>wifi_18b4300008b027</key> <dict> <key>Enabled</key> <true/> </dict> </dict> <key>Services</key> <array> <string>wifi_18b4300008b027_3939382d33204 16c70696e652054657 272616365</string> </array> </dict> <key>802.15.4</key> <dict> <key>Enabled</key> <true/> <key>Devices</key> <dict> <key>802.15.4_18b43000000002fac4</key> <dict> <key>Enabled</key> <true/> </dict> </dict> <key>Services</key> <array> <string>802.15.4_18b43000000002fac4_3 939382d3320416c70696e6520546572</string> </array> </dict> </dict> <key>Services</key> <dict> <key>wifi_18b4300008b027_3939382d3320416c70696e65205465727 2616365</key> <dict> <key>Name</key> <string>998-3 Alpine Terrace</string> <key>SSID</key> <data>3939382d3320416c70696e652054657272616365 </data> <key>Frequency</key> <integer>2462</integer> <key>AutoConnect</key> <true/> < key> Favorite</key> <true/> <key>Error</key> <string/> < key> Network</key> <dict> <key>IPv4</key> <dict> <key>DHCP</key> <dict> <key>LastAddress</key> <data>0a02001 e</data> </dict> </dict> <key>IPv6</key> <dict/> </dict> </dict> <key>802.15.4_18b43000000002fac4_3939382d3320416c70696e652 0546572</key> <dict> <key>Name</key> <string>998-3 Alpine Ter</string> <key>EPANID</key> <data>3939382d3320416c70696e6520546572</data> <key>Frequency</key> <integer>2412</integer> <key>AutoConnect</key> <true/> <key>Favorite</key> <true/> <key>Error</key> <string/> <key>Network</key> <dict/> </dict> </dict> </dict> </plist
[00123] Como um exemplo, a lista de propriedade acima pode ser representada em etiquetas do formato de TLV descrito acima (sem um byte de controle), de acordo com a Tabela 5 abaixo.
Figure img0006
Figure img0007
Tabela 5. Representação de exemplo da lista de propriedade de XML em formato de TLV.
[00124] De modo similar, a Tabela 6 ilustra um exemplo de repre-sentações literais de etiqueta, comprimento e valor para a lista de pro-priedade de XML de exemplo.
Figure img0008
Figure img0009
Figure img0010
Tabela 6. Exemplo de valores literais para campos de etiqueta, com-primento e valor para lista de propriedade de XML.
[00125] O formato de TLV permite uma referência de propriedades que podem ser enumeradas com XML, mas o faz com um tamanho de armazenamento menor. Por exemplo, a Tabela 7 ilustra uma comparação de tamanhos de dados da lista de propriedade de XML, uma lista de propriedade binária correspondente e o formato de TLV.
Figure img0011
Tabela 7. Comparação dos taman hos de tamanhos de dados de lista de propriedade.
[00126] Pela redução da quantidade de dados usada para a transferência de dados, o formato de TLV permite que a malha 1000 transfira dados para e/ou a partir de dispositivos tendo ciclos de carga curtos, devido a uma potência limitada (por exemplo, dispositivos supridos por bateria). Em outras palavras, o formato de TLV permite uma flexibili- dade de transmissão, enquanto se aumenta a compacidade dos dados a serem transmitidos.
C. Protocolo de Mensagem Geral
[00127] Além do envio de entradas em particular de tamanhos variáveis, os dados podem ser transmitidos na malha usando-se um protocolo de mensagem geral que pode incorporar uma formatação de TLV. Uma modalidade de um protocolo de mensagem geral (GMP) 1128 é ilustrado na figura 12. Em certas modalidades, o protocolo de mensagem geral (GMP) 1128 pode ser usado para a transmissão de dados na malha. O GMP 1128 pode ser usado para a transmissão de dados através de protocolos sem conexão (por exemplo, UDP) e/ou protocolos orientados para conexão (por exemplo, TCP). Assim sendo, o GMP 1128 pode acomodar de forma flexível uma informação que é usada em um protocolo, enquanto se ignora essa informação quando se usa um outro protocolo. Mais ainda, o GMP 1226 pode permitir a omissão de campos que não sejam usados em uma transmissão específica. Os dados que podem ser omitidos a partir de um ou mais transferências de GMP 1226 é geralmente indicado usando-se bordas cinzas em torno das unidades de dados. Em algumas modalidades, os campos de inteiro de byte múltiplo podem ser transmitidos em uma ordem little-endian ou uma ordem big-endian. i. Comprimento de Pacote
[00128] Em algumas modalidades, o GMP 1128 pode incluir um campo de comprimento de pacote 1130. Em algumas modalidades, o campo de comprimento de pacote 1130 inclui 2 bytes. Um valor no campo de comprimento de pacote 1130 corresponde a um inteiro não sinalizado indicando um comprimento geral da mensagem em bytes, excluindo o campo de comprimento de pacote 1130 em si. O campo de comprimento de pacote 1130 pode estar presente quando o GMP 1128 é transmitido por uma conexão de TCP, mas, quando o GMP 1128 é transmitido por uma conexão de UDP, o comprimento de men-sagem pode ser igual ao comprimento de carga útil do pacote de UDP subjacente tornando desnecessário o campo de comprimento de pacote 1130. ii. Cabeçalho de Mensagem
[00129] O GMP 1128 também pode incluir um cabeçalho de mensagem 1132, independentemente de o GMP 1128 ser transmitido usando-se conexões de TCP ou UDP. Em algumas modalidades, o cabeçalho de mensagem 1132 inclui dois bytes de dados dispostos no formato ilustrado na figura 13. Conforme ilustrado na figura 13, o cabeçalho de mensagem 1132 inclui um campo de versão 1156. O campo de versão 1156 corresponde a uma versão do GMP 1128 que é usado para a codificação da mensagem. Assim sendo, conforme o GMP 1128 é atualizado, novas versões do GMP 1128 podem ser criadas, mas cada dispositivo em uma malha pode ser capaz de receber um pacote de dados em qualquer versão de GMP 1128 conhecida para o dispositivo. Além do campo de versão 1156, o cabeçalho de mensagem 1132 pode incluir um campo de referência ("flag camp") S 1148 e um campo de referência D 1160. A 1158 é um bit único que indica que um campo de Id de nó de fonte (discutido abaixo) está incluído no pacote transmitido. De modo similar, o campo de referência D 1160 é um bit único que indica se um campo de Id de nó de destino (discutido abaixo) é incluído no pacote transmitido.
[00130] O cabeçalho de mensagem 1132 também inclui um campo de tipo de criptografia 1162. O campo de tipo de criptografia 1162 inclui quatro bits que especificam qual tipo de criptografia / checagem de integridade aplicado à mensagem, se houver. Por exemplo, 0x0 pode indicar que nenhuma criptografia ou checagem de integridade de mensagem está incluída, mas um 0x1 decimal pode indicar que uma criptografia de AES-128-CTR com checagem de integridade de mensa- gem HMAC-SHA-1 é incluída.
[00131] Finalmente, o cabeçalho de mensagem 1132 adicionalmente inclui um campo de tipo de assinatura 1164. O campo de tipo de assinatura 1164 inclui quatro bits que especificam qual tipo de assinatura digital é aplicado à mensagem, se houver. Por exemplo, 0x0 pode indicar que nenhuma assinatura digital está incluída na mensagem, mas 0x1 pode indicar que o algoritmo de assinatura digital de curva elíptica (ECDSA) com parâmetros de curva elíptica Prime256v1 é incluído na mensagem. iii. Id de Mensagem
[00132] Retornando para a figura 12, o GMP 1128 também inclui um campo de Id de mensagem 1134 que pode ser incluído em uma mensagem transmitida, independentemente de a mensagem ser enviada usando-se TCP ou UDP. O campo de Id de mensagem 1134 inclui quatro bytes que correspondem a um valor inteiro não sinalizado que unicamente identifica a mensagem a partir da perspectiva do nó de envio. Em algumas modalidades, os nós podem atribuir valores crescentes de Id de mensagem 1134 para cada mensagem que eles enviam retornando para zero após atingirem 232 mensagens. iv. Id de Nó de Fonte
[00133] Em certas modalidades, o GMP 1128 também pode incluir um campo de Id de nó de fonte 1136 que inclui oito bytes. Conforme discutido acima, o campo de Id de nó de fonte 1136 pode estar presente em uma mensagem, quando a referência S de bit único 1158 no cabeçalho de mensagem 1132 for regulado para rede periférica. Em algumas modalidades, o campo de Id de nó de fonte 1136 pode conter a ID de interface 1104 do ULA 1098 ou o ULA 1098 inteiro. Em algumas modalidades, os bytes do campo de Id de nó de fonte 1136 são transmitidos em uma ordem de valor de índice ascendente (por exemplo, EUI [0] então EUI[1] então EUI[2] então EUI[3], etc.). v. Id de Nó de destino
[00134] O GMP 1128 pode incluir um campo de Id de nó de destino 1138 que inclui oito bytes. O campo de Id de nó de destino 1138 é similar ao campo de Id de nó de fonte 1136, mas o campo de Id de nó de destino 1138 corresponde a um nó de destino para a mensagem. O campo de Id de nó de destino 1138 pode estar presente em uma mensagem quando a referência D de bit único 1160 no cabeçalho de mensagem 1132 é regulado para 1. Também similar ao campo de Id de nó de fonte 1136, em algumas modalidades, os bytes do campo de Id de nó de destino 1138 podem ser transmitidos em uma ordem de valor de índice ascendente (por exemplo, EUI [0] então EUI[1] então EUI[2] então EUI[3], etc.). vi. Id de Chave
[00135] Em algumas modalidades, o GMP 1128 pode incluir um campo de Id de chave 1140. Em certas modalidades, o campo de Id de chave 1140 inclui dois bytes. O campo de Id de chave 1140 inclui um valor inteiro não sinalizado que identifica as chaves de criptografia / integridade de mensagem usadas para a criptografia da mensagem. A presença do campo de Id de chave 1140 pode ser determinado pelo valor de campo de tipo de criptografia 1162 do cabeçalho de mensagem 1132. Por exemplo, em algumas modalidades, quando o valor para o campo de tipo de criptografia 1162 do cabeçalho de mensagem 1132 é 0x0, o campo de Id de chave 1140 pode ser omitido da mensagem.
[00136] Uma modalidade do campo de Id de chave 1140 é apresentada na figura 14. Na modalidade ilustrada, o campo de Id de chave 1140 inclui um campo de tipo de chave 1166 e um campo de número de chave 1168. Em algumas modalidades, o campo de tipo de chave 1166 inclui quatro bits. O campo de tipo de chave 1166 corresponde a um valor inteiro não sinalizado que identifica um tipo de criptografia / integridade de mensagem usado para a criptografia da mensagem. Por exemplo, em algumas modalidades, se o campo de tipo de chave 1166 for 0x0, a chave de malha será compartilhada por todos ou pela maioria dos nós na malha. Contudo, se o campo de tipo de chave 1166 for 0x1, a chave de malha será compartilhada por um par de nós na malha.
[00137] O campo de Id de chave 1140 também inclui um campo de número de chave 1168 que inclui doze bits que correspondem a um valor inteiro não sinalizado que identifica uma chave em particular usada para a criptografia da mensagem de um conjunto de chaves disponíveis, compartilhadas ou chaves de malha. vii. Comprimento de Carga Útil
[00138] Em algumas modalidades, o GMP 1128 pode incluir um campo de comprimento de carga útil 1142. O campo de comprimento de carga útil 1142, quando presente, pode incluir dois bytes. O campo de comprimento de carga útil 1142 corresponde a um valor inteiro não sinalizado que indica um tamanho em bytes do campo de carga útil de aplicativo. O campo de comprimento de carga útil 1142 pode estar presente quando a mensagem for criptografada usando-se um algoritmo que use enchimento de mensagem, conforme descrito abaixo em relação ao campo de enchimento. viii. Vetor de Inicialização
[00139] Em algumas modalidades, o GMP 1128 também pode incluir um campo de vetor de inicialização (IV) 1144. O campo de IV 1144, quando presente, inclui um número variável de bytes de dados. O campo de IV 1144 contém valores de IV criptografados usados para a criptografia da mensagem. O campo de IV 1144 pode ser usado quando a mensagem for criptografada com um algoritmo que use um IV. O comprimento do campo de IV 1144 pode ser derivado pelo tipo de criptografia usado para a criptografia da mensagem. ix. Carga Útil de Aplicativo
[00140] O GMP 1128 inclui um campo de carga útil de aplicativo 1146. O campo de carga útil de aplicativo 1146 inclui um número variável de bytes. O campo de carga útil de aplicativo 1146 inclui um número variável de bytes. O campo de carga útil de aplicativo 1146 inclui os dados de aplicativo portados na mensagem. O comprimento do campo de carga útil de aplicativo 1146 pode ser determinado a partir do campo de comprimento de carga útil 1142, quando presente. Se o campo de comprimento de carga útil 1142 não estiver presente, o comprimento do campo de carga útil de aplicativo 1146 poderá ser determinado pela subtração do comprimento de todos os outros campos do comprimento total da mensagem e/ou de valores de dados incluídos no campo de carga útil de aplicativo 1146 (por exemplo, TLV).
[00141] Uma modalidade do campo de carga útil de aplicativo 1146 é ilustrada na figura 15. O campo de carga útil de aplicativo 1146 inclui um campo de APVersion 1170. Em algumas modalidades, o campo de APVersion 1170 inclui oito bits que indicam que versão de software de malha é suportada pelo dispositivo de envio. O campo de carga útil de aplicativo 1146 também inclui um campo de tipo de mensagem 1172. O campo de tipo de mensagem 1172 pode incluir oito bits que correspondem a um código de operação de mensagem que indica o tipo de mensagem sendo enviado em um perfil. Por exemplo, em um perfil de atualização de software, um 0x00 pode indicar que a mensagem sendo enviada é um anúncio de imagem. O campo de carga útil de aplicativo 1146 ainda inclui um campo de Id de troca 1174 que inclui dezesseis bits que corresponde a um identificador de troca que é único para o nó de envio para a transação.
[00142] Além disso, o campo de carga útil de aplicativo 1146 inclui um campo de Id de perfil 1176. O campo de Id de perfil 1176 indica um "tema de discussão" usado para indicar que tipo de comunicação ocor- re na mensagem. O campo de Id de perfil 1176 pode corresponder a um ou mais perfis que um dispositivo pode ser capaz de comunicar. Por exemplo, o campo de Id de perfil 1176 pode indicar que a mensagem se refere a um perfil de núcleo, um perfil de atualização de software, um perfil de atualização de status, um perfil de gerenciamento de dados, um perfil de clima e conforto, um perfil de seguro, um perfil de segurança e/ou outros tipos de perfil adequados. Cada dispositivo na malha pode incluir uma lista de perfis os quais são relevantes para o dispositivo e nos quais o dispositivo é capaz de "participar na discussão". Por exemplo, muitos dispositivos em uma malha podem incluir o perfil de núcleo, o perfil de atualização de software, o perfil de atualização de status e o perfil de gerenciamento de dados, mas apenas alguns dispositivos incluiriam o clima e o perfil de conforto. O campo de APVersion 1170, o campo de tipo de mensagem 1172, o campo de Id de troca, o campo de Id de perfil 1176 e o campo de cabeçalho específico de perfil 1178, se presente, podem ser referidos em uma combinação como o "cabeçalho de aplicativo".
[00143] Em algumas modalidades, uma indicação do Id de perfil através do campo de Id de perfil 1176 pode prover uma informação suficiente para a provisão de um esquema para dados transmitidos para o perfil. Contudo, em algumas modalidades, uma informação adicional pode ser usada para se determinar uma recomendação adicional para a decodificação do campo de carga útil de aplicativo 1146. Nessas modalidades, o campo de carga útil de aplicativo 1146 pode incluir um campo de cabeçalho específico de perfil 1178. Alguns perfis podem não usar o campo de cabeçalho específico de perfil 1178, desse modo se permitindo que o campo de carga útil de aplicativo 1146 omita o campo de cabeçalho específico de perfil 1178. Mediante a determinação de um esquema a partir do campo de Id de perfil 1176 e/ou do campo de cabeçalho específico de perfil 1178, os dados podem ser codificados / decodificados no subcampo de carga útil de aplicativo 1180. O subcampo de carga útil de aplicativo 1180 inclui os dados de aplicativo de núcleo a serem transmitidos entre os dispositivos e/ou serviços a serem armazenados, redifundidos e/ou atuados pelo dispositivo / serviço de recepção. x. Checagem de Integridade de Mensagem
[00144] Retornando à figura 12, em algumas modalidades, o GMP 1128 também pode incluir um campo de checagem de integridade de mensagem (MIC) 1148. O campo de MIC 1148, quando presente, inclui um comprimento variável de bytes de dados contendo uma MIC para a mensagem. O comprimento e a ordem de byte do campo dependem do algoritmo de checagem de integridade em uso. Por exemplo, se a mensagem for checada quanto à integridade de mensagem usando-se HMAC-SHA-1, o campo de MIC 1148 incluirá vinte bytes em ordem big-endian. Mais ainda, a presença do campo de MIC 1148 pode ser determinada por se o campo de tipo de criptografia 1162 do cabeçalho de mensagem 1132 inclui qualquer outro valor além de 0x0. xi. Enchimento
[00145] O GMP 1128 também pode incluir um campo de enchimento 1150. O campo de enchimento 1150, quando presente, inclui uma sequência de bytes representando um enchimento criptográfico adicionado à mensagem para tornar a porção criptografada da mensagem uniformemente divisível pelo tamanho de bloco de criptografia. A presença do campo de enchimento 1150 pode ser determinada por se o tipo de algoritmo de criptografia (por exemplo, cifras de bloco no modo de encadeamento de bloco de cifra) indicado pelo campo de tipo de criptografia 1162 no cabeçalho de mensagem 1132 usa um enchimento criptográfico. xii. Criptografia
[00146] O campo de carga útil de aplicativo 1146, o campo de MIC 1148 e o campo de enchimento 1150 em conjunto formam um bloco de criptografia 1152. O bloco de criptografia 1152 inclui as porções da mensagem que são criptografadas, quando o campo de tipo de criptografia 1162 no cabeçalho de mensagem 1132 for qualquer outro valor além de 0x0. xiii. Assinatura de Mensagem
[00147] O GMP 1128 também pode incluir um campo de assinatura de mensagem 1154. O campo de assinatura de mensagem 1154, quando presente, inclui uma sequência de bytes de comprimento variável que contém uma assinatura criptográfica da mensagem. O comprimento e o conteúdo do campo de assinatura de mensagem 1154 podem ser determinados de acordo com o tipo de algoritmo de assinatura em uso e indicados pelo campo de tipo de assinatura 1164 do cabeçalho de mensagem 1132. Por exemplo, se ECDSA usando os parâmetros de curva elíptica Prime256v1 for o algoritmo em uso, o campo de assinatura de mensagem 1154 poderá incluir dois inteiros de trinta e dois bits codificados em uma ordem little-endian.
IV. Perfis e Protocolos
[00148] Conforme discutido acima, um ou mais esquemas de informação podem ser selecionados mediante um tipo de discussão geral desejado para a mensagem. Um perfil pode consistir em um ou mais esquemas. Por exemplo, um conjunto de esquemas de informação pode ser usado para a codificação / decodificação de dados no subcampo de carga útil de aplicativo 1180, quando um perfil for indicado no campo de Id de perfil 1176 do campo de carga útil de aplicativo 1146. Contudo, um conjunto diferente de esquemas pode ser usado para a codificação / decodificação de dados no subcampo de carga útil de aplicativo 1180, quando um perfil diferente for indicado no campo de Id de perfil 1176 do campo de carga útil de aplicativo 1146.
[00149] Adicionalmente, em certas modalidades, cada dispositivo pode incluir um conjunto de métodos usados para o processamento de perfis. Por exemplo, um protocolo de núcleo pode incluir os perfis a seguir: GetProfiles, GetSchema, GetSchemas, GetProperty, GetPro- perties, SetProperty, SetProperties, RemoveProperty, RemoveProperties, RequestEcho, NotifyPropertyChanged e/ou NotifyProperties- Changed. O método de GetProfiles pode retornar um arranjo de perfis suportados por um nó consultado. Os métodos de GetSchema e Ge- tSchemas podem retornar respectivamente um ou todos os esquemas para um perfil específico. GetProperty e GetProperties podem resistência retornar um valor ou todos os pares de valor para um esquema de perfil. SetProperty e SetProperties podem respectivamente regular um valor único ou múltiplos para um esquema de perfil. RemoveProperty e RemoveProperties podem respectivamente tentar remover um único valor ou múltiplos de um esquema de perfil. RequestEcho pode enviar uma carga útil arbitrária de dados para um nó específico, a qual o nó retorna não modificada. NotifyPropertyChange e NotifyProper- tiesChanged podem respectivamente emitir uma notificação, se um único par de valores / múltiplos pares de valores tiverem mudado para um esquema de perfil.
[00150] Para ajudar no entendimento de perfis e esquemas, uma lista não exclusiva de perfis e esquemas é provida abaixo para fins ilustrativos.
A. Relatório de Status
[00151] Um esquema de relatório de status é apresentado como o quadro de relatório de status 1182 na figura 16. O esquema de relatório de status pode ser um perfil separado ou pode ser incluído em um ou mais perfis (por exemplo, um perfil de núcleo). Em certas modalidades, o quadro de relatório de status 1182 inclui um campo de perfil 1184, um campo de código de status 1186, um campo de próximo status 1188, e pode incluir um campo de informação de status adicional 1190. i. Campo de Perfil
[00152] Em algumas modalidades, o campo de perfil 1184 inclui quatro bytes de dados que definem o perfil sob o qual a informação no presente relatório de status é para ser interpretada. Uma modalidade do campo de perfil 1184 é ilustrada na figura 17 com dois subcampos. Na modalidade ilustrada, o campo de perfil 1184 inclui um subcampo de Id de perfil 1192 que inclui dezesseis bits que corresponde a um identificador específico de vendedor para o perfil sob o qual o valor do campo de código de status 1186 é definido. O campo de perfil 1184 também pode incluir um subcampo de Id de vendedor 1194 que inclui dezesseis bits que identifica um vendedor provendo o perfil identificado no subcampo de Id de perfil 1192. ii. Código de Status
[00153] Em certas modalidades, o campo de código de status 1186 inclui dezesseis bits que codificam o status que está sendo reportado. Os valores no campo de código de status 1186 são interpretados em relação a valores codificados no subcampo de Id de perfil 1192 e no subcampo de Id de vendedor 1194 providos no campo de perfil 1184. Adicionalmente, em algumas modalidades, o espaço de código de status pode ser dividido em quatro grupos, conforme indicado na Tabela 8 abaixo.
Figure img0012
Figure img0013
Tabela 8. Tabela de Faixa de Código de Status Embora a Tabela 8 identifique faixas de código de status em geral que podem ser usadas separadamente atribuídas e usadas para cada Id de perfil específico, em algumas modalidades, alguns códigos de status podem ser comuns a cada um dos perfis. Por exemplo, estes perfis podem ser identificados usando-se um identificador de perfil comum (por exemplo, um perfil de núcleo), tal como 0x00000000. iii. Próximo Status
[00154] Em algumas modalidades, o campo de próximo código de status 1188 inclui oito bits. O campo de próximo código de status 1188 indica se há uma informação de status seguinte após o status reportado atualmente. Se uma informação de status seguinte for para ser incluída, o campo de próximo código de status 1188 indicará que tipo de informação de status é para ser incluída. Em algumas modalidades, o campo de próximo código de status 1188 pode sempre ser incluído, desse modo potencialmente se aumentando o tamanho da mensagem. Contudo, pela provisão de uma oportunidade para encadear uma informação de status em conjunto, o potencial para uma redução geral dos dados enviados pode ser reduzido. Se o campo de código de status 1186 for 0x00, nenhum campo de informação de status seguinte 1190 será incluído. Contudo, valores não nulos podem indicar que dados podem ser incluídos e indicar a forma pela qual os dados são incluídos (por exemplo, em um pacote de TLV). iv. Informação de Status Adicional
[00155] Quando o campo de próximo código de status 1188 é não nulo, o campo de informação de status seguinte 1190 é incluído na mensagem. Se presente, o campo de item de status pode conter um status em uma forma que pode ser determinada pelo valor do campo de tipo de status precedente (por exemplo, um formato de TLV). B. Atualização de Software
[00156] O perfil ou protocolo de atualização de software é um conjunto de esquemas e um protocolo de cliente / servidor que permite que os clientes sejam tornados cientes de ou busquem uma informação sobre a presença de um software que eles podem transferir (via download) e instalar. Usando-se o protocolo de atualização de software, uma imagem de software pode ser provida para o cliente de perfil em um formato conhecido para o cliente. O processamento subsequente da imagem de software pode ser genérico, específico de dispositivo ou específico de vendedor e determinado pelo protocolo de atualização de software e pelos dispositivos. i. Cabeçalhos de Aplicativo Gerais para a Carga Útil de Aplicativo
[00157] De modo a serem reconhecidos e manipulados apropriadamente, os quadros de perfil de atualização de software podem ser identificados no campo de carga útil de aplicativo 1146 do GMP 1128. Em algumas modalidades, todos os quadros de perfil de atualização de software podem usar um Id de perfil comum 1176, tal como 0x0000000C. Adicionalmente, os quadros de perfil de atualização de software podem incluir um campo de tipo de mensagem 1172 que indica uma informação adicional e pode escolher de acordo com a Tabela 9 abaixo e o tipo de mensagem sendo enviado.
Figure img0014
Tabela 9. Tipos de mensagem de perfil de atualização de software. Adicionalmente, conforme descrito abaixo, a sequência de atualização de software pode ser iniciada por um servidor enviando a atualização como um anúncio de imagem ou um cliente recebendo a atualização como uma consulta de imagem. Em qualquer modalidade, um Id de troca 1174 a partir do evento se iniciando é usado para todas as mensagens usadas em relação com a atualização de software. ii. Sequência de Protocolo
[00158] A figura 18 ilustra uma modalidade de uma sequência de protocolo 1196 para uma atualização de software entre um cliente de atualização de software 1198 e um servidor de atualização de software 1200. Em certas modalidades, qualquer dispositivo na malha pode ser o cliente de atualização de software 1198 ou o servidor de atualização de software 1200. Certas modalidades da sequência de protocolo 1196 pode incluir etapas adicionais, tais como aquelas ilustradas como linhas tracejadas que podem ser omitidas em algumas transmissões de atualização de software. 1. Descoberta de Serviço
[00159] Em algumas modalidades, a sequência de protocolo 1196 começa um servidor de perfil de atualização de software anunciando a presença da atualização. Contudo, em outras modalidades, tal como a modalidade ilustrada, a sequência de protocolo 1196 começa com uma descoberta de serviço 1202, conforme discutido acima. 2. Anúncio de Imagem
[00160] Em algumas modalidades, uma mensagem de anúncio de imagem 1204 pode passar por multidifusão ou unidifusão pelo servidor de atualização de software 1200. A mensagem de anúncio de imagem 1204 informa aos dispositivos na malha que o servidor 1200 tem uma atualização de software a oferecer. Se a atualização for aplicável para o cliente 1198, mediante o recebimento da mensagem de anúncio de imagem 1204, o cliente de atualização de software 1198 responde com uma mensagem de consulta de imagem 1206. Em certas modalidades, a mensagem de anúncio de imagem 1204 pode não ser incluída na sequência de protocolo 1196. Ao invés disso, nessas modalidades, o cliente de atualização de software 1198 pode usar uma programação de interrogação para determinar quando enviar a mensagem de consulta de imagem 1206. 3. Consulta de Imagem
[00161] Em certas modalidades, a mensagem de consulta de imagem 1206 pode passar por uma unidifusão a partir do cliente de atualização de software 1198 em resposta a uma mensagem de anúncio de imagem 1204 ou de acordo com uma programação de interrogação, conforme discutido acima. A mensagem de consulta de imagem 1206 inclui uma informação a partir do cliente 1198 em si. Uma modalidade de um quadro da mensagem de consulta de imagem 1206 é ilustrada na figura 19. Conforme ilustrado na figura 19, certas modalidades da mensagem de consulta de imagem 1206 podem incluir um campo de controle de quadro 1218, um campo de especificação de produto 1220, um campo de dados específicos de vendedor 1222, um campo de especificação de versão 1224, um campo de especificação de local 1226, um campo suportado de tipo de integridade 1228 e um campo de esquemas de atualização suportados 1230. a. Controle de Quadro
[00162] O campo de controle de quadro 1218 inclui 1 byte e indica uma informação variada sobre a mensagem de anúncio de imagem 1204. Um exemplo do campo de controle de quadro 1218 é ilustrado na figura 20. Conforme ilustrado, o campo de controle de quadro 1218 pode incluir três subcampos: uma referência específica de vendedor 1232, uma referência de especificação de local 1234 e um campo reservado S3. A referência específica de vendedor 1232 indica se o campo de dados específicos de vendedor 1222 está incluído na mensagem de consulta de imagem de mensagem. Por exemplo, quando a referência específica de vendedor 1232 é 0, nenhum campo de dados específicos de vendedor 1222 pode estar presente na mensagem de consulta de imagem, mas, quando a referência específica de vendedor 1232 é 1, o campo de dados específicos de vendedor 1222 pode estar presente na mensagem de consulta de imagem, e um valor 0 indica que o campo de especificação de local 1226 não está presente na mensagem de consulta de imagem. b. Especificação de Produto
[00163] O campo de especificação de produto 1220 é um campo de seis bytes. Uma modalidade do campo de especificação de produto 1220 é ilustrada na figura 21. Conforme ilustrado, o campo de especificação de produto 1220 pode incluir três subcampos: um campo de Id de vendedor 1236, um campo de Id de produto 1238 e um campo de revisão de produto 1240. O campo de Id de vendedor 1236 inclui dezesseis bits que indicam um vendedor para o cliente de atualização de software 1198. O campo de Id de produto 1238 inclui dezesseis bits que indicam o produto de dispositivo que está enviando a mensagem de consulta de imagem 1206 como o cliente de atualização de software 1198. O campo de revisão de produto 1240 inclui dezesseis bits que indicam um atributo de revisão do cliente de atualização de software 1198. c. Dados Específicos de Vendedor
[00164] O campo de dados específicos de vendedor 1222, quando presente na mensagem de consulta de imagem 1206, tem um comprimento de número variável de bytes. A presença do campo de dados específicos de vendedor 1222 pode ser determinada a partir da referência específica de vendedor 1232 do campo de controle de quadro 1218. Quando presente, o campo de dados específicos de vendedor 1222 codifica uma informação específica de vendedor sobre o cliente de atualização de software 1198 em um formato de TLV, conforme descrito acima. d. Especificação de Versão
[00165] Uma modalidade do campo de especificação de versão 1224 é ilustrada na figura 22. O campo de especificação de versão 1224 inclui um número variável de bytes subdivididos em dois subcampos: um campo de comprimento de versão 1242 e um campo de string de versão 1244. O campo de comprimento de versão 1242 inclui oito bits que indicam um comprimento do campo de string de versão 1244. O campo de string de versão 1244 é de comprimento variável e determinado pelo campo de comprimento de versão 1242. Em algumas modalidades, o campo de string de versão 1244 pode ser capeado em 255 caracteres de UTF-8 no comprimento. O valor codificado no campo de string de versão 1244 indica um atributo de versão de software para o cliente de atualização de software 1198. e. Especificação de Local
[00166] Em certas modalidades, o campo de especificação de local 1226 pode ser incluído na mensagem de consulta de imagem 1206, quando a referência de especificação de local 1234 do controle de quadro 1218 for 1. Uma modalidade do campo de especificação de local 1226 é ilustrada na figura 23. A modalidade ilustrada do campo de especificação de local 1226 inclui um número variável de bytes dividido em dois subcampos: um campo de comprimento de string local 1246 e um campo de string local 1248. O campo de string local 1248 do campo de especificação de local 1226 pode ser variável no comprimento e conter uma string de caracteres de UTF-8 codificando uma descrição local com base em códigos locais de interface de sistema operacional portátil (POSIX). O formato padrão para códigos locais de POSIX é [language[_territory][.codeset][@modifier]]. Por exemplo, a representação POSIX para Inglês da Austrália é en_AU.UTF8. f. Tipos de Integridade Suportados
[00167] Uma modalidade do campo suportado de tipo de integridade 1228 é ilustrada na figura 24. O campo suportado de tipo de integridade 1228 inclui de dois a quatro bytes de dados divididos em dois subcampos: um campo de comprimento de lista de tipo 1250 e um campo de lista de tipo de integridade 1252. O campo de comprimento de lista de tipo 1250 inclui oito bits que indicam o comprimento em bytes do campo de lista de tipo de integridade 1252. O campo de lista de tipo de integridade 1252 indica o valor do atributo de tipo de integridade de atualização de software do cliente de atualização de software 1198. Em algumas modalidades, o tipo de integridade pode ser derivado a partir da Tabela 10 abaixo.
Figure img0015
Tabela 10. Tipos de integridade de exemplo.
[00168] O campo de lista de tipo de integridade 1252 pode conter pelo menos um elemento a partir da Tabela 10 ou outros valores adicionais não incluídos. g. Esquemas de Atualização Suportados
[00169] Uma modalidade do campo de esquemas suportados 1230 é ilustrada na figura 25. O campo de esquemas suportados 1230 inclui um número variável de bytes divididos em dois subcampos: um campo de comprimento de lista de esquema 1254 e um campo de lista de esquema de atualização 1256. O campo de comprimento de lista de esquema 1254 inclui oito bits que indicam um comprimento do campo de lista de esquema de atualização em bytes. O campo de lista de esquema de atualização 1256 do campo suportado de esquemas de atualização 1222 é de comprimento variável determinado pelo campo de comprimento de lista de esquema 1254. O campo de lista de esquema de atualização 1256 representa atributos de esquemas de atualização do perfil de atualização de software do cliente de atualização de software 1198. Uma modalidade de valores de exemplo é mostrada na Tabela 11 abaixo.
Figure img0016
Tabela 11. Esquemas de atualização de exemplo. Mediante o recebimento da mensagem de consulta de imagem 1206, o servidor de atualização de software 1200 usa a informação transmitida para determinar se o servidor de atualização de software 1200 tem uma atualização para o cliente de atualização de software 1198, e como mais bem entregar a atualização para o cliente de atualização de software 1198. 4. Resposta de Consulta de Imagem
[00170] Retornando à figura 18, após o servidor de atualização de software 1200 receber a mensagem de consulta de imagem 1206 a partir do cliente de atualização de software 1198, o servidor de atualização de software 1200 responde com uma resposta de consulta de imagem 1208. A resposta de consulta de imagem 1208 inclui uma qualquer detalhando a razão pela qual uma imagem de atualização não está disponível para o cliente de atualização de software 1198 ou uma informação sobre a atualização de imagem disponível para se permitir que o cliente de atualização de software 1198 transfira (via download) e instale a atualização.
[00171] Uma modalidade de um quadro da resposta de consulta de imagem 1208 é ilustrada na figura 26. Conforme ilustrado, a resposta de consulta de imagem 1208 inclui cinco subcampos possíveis: um campo de status de consulta 1258, um campo de identificador de recurso uniforme (URI) 1260, um campo de especificação de integridade 1262, um campo de esquema de atualização 1264 e um campo de opções de atualização 1266. a. Status de Consulta
[00172] O campo de status de consulta 1258 inclui um número variável de bytes e contém dados formatados reportando status, conforme discutido acima com referência ao relatório de status. Por exemplo, o campo de status de consulta 1258 pode incluir códigos de status de resposta de consulta de imagem, tais como aqueles ilustrados abaixo na Tabela 12.
Figure img0017
Figure img0018
. Tabela 12. Códigos de status de resposta de consulta de imagem de exemplo. b. URI
[00173] O campo de URI 1260 inclui um número variável de bytes. A presença do campo de URI 1260 pode ser determinada pelo campo de status de consulta 1258. Se o campo de status de consulta 1258 indicar que uma atualização está disponível, o campo de URI 1260 poderá ser incluído. Uma modalidade do campo de URI 1260 é ilustrada na figura 27. O campo de URI 1260 inclui dois subcampos: um campo de comprimento de URI 1268 e um campo de string de URI 1270. O campo de comprimento de URI 1268 inclui dezesseis bits que indicam o comprimento do campo de string de URI 1270 em caracteres de UTF-8. O campo de string de URI 1270 indica o atributo de URI da atualização de imagem de software sendo apresentada, de modo que o cliente de atualização de software 1198 possa ser capaz de localizar, transferir (via download) e instalar uma atualização de imagem de software, quando presente. c. Especificação de Integridade
[00174] O campo de especificação de integridade 1262 pode ser de comprimento variável e estar presente quando o campo de status de consulta 1258 indicar que uma atualização está disponível a partir do servidor de atualização de software 1200 para o cliente de atualização de software 1198. Uma modalidade do campo de especificação de in-tegridade 1262 é ilustrada na figura 28. Conforme ilustrado, o campo de especificação de integridade 1262 inclui dois subcampos: um campo de tipo de integridade 1272 e um campo de valor de integridade 1274. O campo de tipo de integridade 1272 inclui oito bits que indicam um atributo de tipo de integridade para a atualização de imagem de software e podem ser preenchidos usando-se uma lista similar àquela ilustrada na Tabela 10 acima. O campo de valor de integridade 1274 inclui o valor de integridade que é usado para verificar que a mensagem de atualização de imagem manteve a integridade durante a transmissão. d. Esquema de Atualização
[00175] O campo de esquema de atualização 1264 inclui oito bits e está presente quando o campo de status de consulta 1258 indica que uma atualização está disponível a partir do servidor de atualização de software 1200 para o cliente de atualização de software 1198. Se presente, o campo de esquema de atualização 1264 indica um atributo de esquema para a imagem de atualização de software sendo apresentada para o servidor de atualização de software 1200. e. Opções de Atualização
[00176] O campo de opções de atualização 1266 inclui oito bits e está presente quando o campo de status de consulta 1258 indica que uma atualização está disponível a partir do servidor de atualização de software 1200 para o cliente de atualização de software 1198. O campo de opções de atualização 1266 pode ser subdividido conforme ilustrado na figura 29. Conforme ilustrado, o campo de opções de atualização 1266 inclui quatro subcampos: um campo de prioridade de atualização 1276, um campo de condição de atualização 1278, uma referência de status de relatório 1280 e um campo reservado 1282. Em algumas modalidades, o campo de prioridade de atualização 1276 in- clui dois bits. O campo de prioridade de atualização 1276 indica um atributo de prioridade da atualização e pode ser determinado usando- se valores, tais como aqueles ilustrados na Tabela 13 abaixo.
Figure img0019
Tabela 13. Valores de prioridade de atualização de exemplo. O campo de condição de atualização 1278 inclui três bits que podem ser usados para a determinação de fatores condicionais para se determinar quando ou se é para atualizar. Por exemplo, os valores no campo de condição de atualização 1278 podem ser decodificados usando-se a Tabela 14 abaixo.
Figure img0020
Tabela 14. Condições de atualização de exemplo. A referência de status de relatório 1280 é um bit único que indica se o cliente de atualização de software 1198 deve responder com uma mensagem de notificação de transferência (via download) 1210. Se a referência de status de relatório 1280 for regulada para 1, o cliente de atualização de software 1198 estará requisitando que uma mensagem de notificação de transferência (via download) 1210 seja enviada após a atualização de software ser transferida (via download) pelo cliente de atualização de software 1198.
[00177] Se a resposta de consulta de imagem 1208 indicar que uma atualização está disponível. O cliente de atualização de software 1198 transfere (via download) 1210 a atualização usando a informação incluída na resposta de consulta de imagem 1208 em um tempo indicado na resposta de consulta de imagem 1208. 5. Notificação de Transferência (via Download)
[00178] Após a transferência (via download) de atualização 1210 ser completada de forma bem-sucedida ou ter falhado e a referência de status de relatório 1280 ser 1, o cliente de atualização de software 1198 pode responder com a mensagem de notificação de transferência (via download) 1212. A mensagem de notificação de transferência (via download) 1210 pode ser formatada de acordo com o formato de relatório de status discutido acima. Um exemplo de códigos de status usados na mensagem de notificação de transferência (via download) 1212 é ilustrado na Tabela 15 abaixo.
Figure img0021
Tabela 15. Códigos de status de notificação de transferência (via download) de exemplo. Além do relatório de status descrito acima, a resposta de consulta de imagem 1208 pode incluir uma informação de status adicional que pode ser relevante para a transferência (via download) e/ou a falha na transferência (via download). 6. Resposta de Notificação
[00179] O servidor de atualização de software 1200
Figure img0022
Tabela 16. Códigos de status de notificação de transferência (via download) de exemplo Além do relatório de status descrito acima, a 1214 pode incluir uma informação de status adicional que pode ser relevante para a transferência (via download), a atualização e/ou a falha na transferência (via download) / atualização da atualização de software. 7. Notificação de Atualização
[00180] Após a atualização ter sido completada de forma bem su- cedida ou ter falhado e o valor de referência de status de relatório 1280 ser 1, o cliente de atualização de software 1198 pode responder com a mensagem de notificação de atualização 1216. A mensagem de notificação de atualização 1216 pode usar o formato de relatório de status descrito acima. Por exemplo, a mensagem de notificação de atualização 1216 pode incluir códigos de status conforme enumerado na Tabela 17 abaixo.
Figure img0023
Tabela 17. Códigos de status de notificação de atualização de exemplo. Além do relatório de status descrito acima, a mensagem de notificação de atualização 1216 pode incluir uma informação de status adicional que pode ser relevante para a atualização e/ou a falha na atualização. C. Protocolo de Gerenciamento de Dados
[00181] Um gerenciamento de dados pode ser incluído em um perfil comum (por exemplo, um perfil de núcleo) usado em vários dispositivos eletrônicos na malha, ou pode ser projetado como um perfil em separado. Em uma situação, o protocolo de gerenciamento de dispositivo (DMP) pode ser usado para nós para navegação, compartilhamento e/ou atualização de uma informação residente em nó. Uma sequência 1284 usado no DMP é ilustrada na figura 30. A sequência 1284 ilustra um nó de visualização 1286 que requisita uma visualização e/ou mudança de dados residentes de um nó visualizado 1288. Adicionalmente, o nó de visualização 1286 pode requisitar a visualização dos dados residentes usando-se uma das várias opções de visualização, tal como uma requisição de instantâneo, uma requisição de assistên- cia que a visualização persista por um período de tempo, ou outro tipo de visualização adequado. Cada mensagem segue o formato para a campo de carga útil de aplicativo 1146 descrito com referência à figura 15. Por exemplo, cada mensagem contém um Id de perfil 1176 que corresponde ao perfil de gerenciamento de dados e/ou o perfil de núcleo relevante, tal como 0x235A0000. Cada mensagem também contém um tipo de mensagem 1172. O tipo de mensagem 1172 pode ser usado para a determinação de vários fatores relativos à conversação, tal como o tipo de visualização para visualização. Por exemplo, em algumas modalidades, o campo de tipo de mensagem 1172 pode ser codificado / decodificado de acordo com a Tabela 18 abaixo.
Figure img0024
Tabela 18. Tipos de mensagem de perfil de atualização de software de exemplo. i. Requisição de Visualização
[00182] Embora uma mensagem de requisição de visualização 1290 requisite a visualização de dados residentes em nó, o tipo de requisição pode ser determinado pelo campo de tipo de mensagem 1172, conforme discutido acima. Assim sendo, cada tipo de requisição pode incluir um quadro de requisição de visualização diferente. 1. Requisição de Instantâneo
[00183] Uma requisição de instantâneo pode ser enviada pelo nó de visualização 1286 quando o nó de visualização 1286 deseja uma visu-alização instantânea dos dados residentes em nó no nó visualizado 1288, sem a requisição de atualizações futuras. Uma modalidade de um quadro de requisição de instantâneo 1292 é ilustrada na figura 31.
[00184] Conforme ilustrado na figura 31, o quadro de requisição de instantâneo 1292 pode ser de comprimento variável e incluir três campos: um campo de manipulação de visualização 1294, um campo de lista de comprimento de percurso 1296 e um campo de lista de percurso 1298. O campo de manipulação de visualização 1294 pode incluir dois bits que proveem uma "manipulação" para a identificação da visualização requisitada. Em algumas modalidades, o campo de manipulação de visualização 1294 é preenchido usando-se um número randô- mico de 16 bits ou um número de sequência de 16 bits juntamente com uma checagem de singularidade executada no nó de visualização 1286, quando a requisição for formada. O campo de lista de comprimento de percurso 1296 inclui dois bytes que indicam um comprimento do campo de lista de percurso 1298. O campo de lista de percurso 1298 é de comprimento variável e indicado pelo valor do campo de lista de comprimento de percurso 1296. O valor do campo de lista de percurso 1298 indica um percurso de esquema para os nós.
[00185] Um percurso de esquema é uma descrição compacta para um item de dados ou contêiner que faz parte de um esquema residente nos nós. Por exemplo, a figura 32 provê um exemplo de um esquema de perfil 1300. No esquema de perfil ilustrado 1300, um item de percurso para dados 1302 pode ser escrito como "Foo:bicycle:mountain" em um formato binário. O formato binário do percurso pode ser representado como um formato binário de perfil 1304, conforme descrito na figura 33. O formato binário de perfil 1304 inclui dois subcampos: um campo de identificador de perfil 1306 e um campo de dados de TLV 1308. O campo de identificador de perfil 1306 identifica qual perfil está sendo referenciado (por exemplo, o perfil Foo). O campo de dados de TLV 1308 é uma informação de percurso. Conforme discutido previamente, os dados de TLV incluem um campo de etiqueta que inclui uma informação sobre os dados encerrados. Os valores de campo usados para referência ao perfil Foo da figura 32 podem ser similares àqueles valores listados na Tabela 19.
Figure img0025
Tabela 19. Valores de etiqueta para o perfil Foo.
[00186] Usando a Tabela 19 e o perfil Foo da figura 32, uma string binária em um formato de TLV representando o percurso "Foo:bicycle:mountain" pode ser representada conforme mostrado na Tabela 20 abaixo.
Figure img0026
Tabela 20. Lista de etiqueta binária de exemplo para percurso de es-quema.
[00187] Se o nó de visualização 1286 desejar receber um conjunto de dados inteiro definido em um esquema de perfil (por exemplo, um esquema de perfil Foo da figura 33), a mensagem de requisição de visualização 1290 poderá requisitar um item "nulo" (por exemplo, 0x0D00 TL) e um comprimento vazio com referência ao contêiner.
2. Requisição de Assistência
[00188] Se o nó de visualização 1286 desejar mais do que um instantâneo, o nó de visualização 1286 poderá requisitar uma requisição de assistência. Uma requisição de assistência pede ao nó visualizado 1288 para enviar atualizações, quando as mudanças forem feitas nos dados de interesse no nó visualizado 1288, de modo que o nó de visualização 1286 possa manter uma lista sincronizada dos dados. O quadro de requisição de assistência pode ter um formato diferente da requisição de instantâneo da figura 31. Uma modalidade de um quadro de requisição de assistência 1310 é ilustrada na figura 34. O quadro de requisição de assistência 1310 inclui quatro campos: um campo de manipulação de visualização 1312, um campo de comprimento de lista de percurso 1314, um campo de lista de percurso 1316 e um campo de contagem de mudança 1318. O campo de manipulação de visualização 1312, o campo de comprimento de lista de percurso 1314 e o campo de lista de percurso podem ser respectivamente formatados similares ao campo de manipulação de visualização 1294, ao campo de lista de comprimento de percurso 1296 e ao campo de lista de percurso 1298 da requisição de instantâneo da figura 31. O campo adici-onal, o campo de contagem de mudança 1318, indica um limite de um número de mudanças nos dados requisitados nos quais uma atualização é enviada para o nó de visualização 1286. Em algumas modalidades, se o valor do campo de contagem de mudança 1318 for 0, o nó visualizado 1288 poderá determinar quando enviar uma atualização por si mesmo. Se o valor do campo de contagem de mudança 1318 for não nulo, então, após um número de mudanças igual ao valor, então, uma atualização será enviada para o nó de visualização 1286.
3. Requisição de Atualização Periódica
[00189] Um terceiro tipo de visualização também pode ser requisitado pelo nó de visualização 1286. Este terceiro tipo de visualização é referido como uma atualização periódica. Uma atualização periódica inclui uma visualização de instantâneo, bem como atualizações periódicas. Conforme pode ser entendido, uma requisição de atualização periódica pode ser similar à requisição de instantâneo com uma informação adicional determinando o período de atualização. Por exemplo, uma modalidade de um quadro de requisição de atualização periódica 1320 é descrito na figura 35. O quadro de requisição de atualização periódica 1320 inclui quatro campos: um campo de manipulação de visualização 1322, um campo de comprimento de lista de percurso 1324, um campo de lista de percurso 1326 e um campo de período de atualização 1328. O campo de manipulação de visualização 1322, o campo de comprimento de lista de percurso 1324 e o campo de lista de percurso 1326 podem ser formatados similares a seus respectivos campos no quadro de requisição de instantâneo 1292. O campo de período de atualização 1328 é de quatro bytes de comprimento e contém um valor que corresponde a um período de tempo a decorrer entre atualizações em uma unidade de tempo relevante (por exemplo, segundos).
4. Requisição de Renovação
[00190] Quando o nó de visualização 1286 deseja receber um instantâneo atualizado, o nó de visualização 1286 pode enviar uma mensagem de requisição de visualização 1290 na forma de um quadro de requisição de renovação 1330, conforme ilustrado na figura 36. O quadro de requisição de renovação 1330 essencialmente reenvia um campo de manipulação de visualização de instantâneo (por exemplo, o campo de manipulação de visualização 1294) a partir de uma requisi- ção de instantâneo prévia que o nó visualizado 1288 pode reconhecer como uma requisição prévia usando-se o valor de manipulação de vi-sualização no quadro de requisição de renovação 1330.
5. Requisição de Cancelamento de Visualização
[00191] Quando o nó de visualização 1286 deseja cancelar uma visualização em andamento (por exemplo, uma atualização periódica ou uma visualização de assistência), o nó de visualização 1286 pode enviar uma mensagem de requisição de visualização 1290 na forma de um quadro de requisição de cancelamento de visualização 1332, conforme ilustrado na figura 37. O quadro de requisição de cancelamento de visualização 1332 essencialmente reenvia um campo de manipulação de visualização a partir de uma atualização periódica ou uma visualização de assistência (por exemplo, os campos de manipulação de visualização 1310 ou 1322) a partir de uma requisição prévia que o nó visualizado 1288 pode reconhecer como uma requisição prévia usando o valor de manipulação de visualização no quadro de requisição de renovação 1330 e para cancelar uma atualização periódica ou uma visualização de assistência atualmente. ii. Resposta de Visualização
[00192] Retornando para a figura 30, após o nó visualizado 1288 receber uma mensagem de requisição de visualização 1290, o nó visualizado 1288 responde com uma mensagem de resposta de visualização 1334. Um exemplo de um quadro de mensagem de resposta de visualização 1336 inclui três campos: um campo de manipulação de visualização 1338, um campo de status de requisição de visualização 1240 e uma lista de item de dados 1242. O campo de manipulação de visualização 1338 pode ser formatado de modo similar a qualquer um dos campos de manipulação de visualização referenciados acima 1338. Adicionalmente, o campo de manipulação de visualização 1338 contém um valor que combina com um respectivo campo de manipula- ção e visualização a partir da mensagem de requisição de visualização 1290 à qual a mensagem de resposta de visualização 1334 está res-pondendo. O campo de status de requisição de visualização 1340 é um campo de comprimento variável que indica um status da requisição de visualização e pode ser formatado de acordo com o formato de atualização de status discutido acima. O campo de lista de item de dados 1342 é um campo de comprimento variável que está presente quando o campo de status de requisição de visualização 1340 indicar que a requisição de visualização foi bem-sucedida. Quando presente, o campo de lista de item de dados 1342 contém uma lista ordenada de dados requisitados correspondentes à lista de percurso da mensagem de requisição de visualização 1290. Mais ainda, os dados no campo de lista de item de dados 1342 podem ser codificados em um formato de TLV, conforme discutido acima. iii. Requisição de Atualização
[00193] Conforme discutido acima, em algumas modalidades, o nó visualizado 1288 pode enviar atualizações para o nó de visualização 1286. Estas atualizações podem ser enviadas como uma mensagem de requisição de atualização 1344. A mensagem de requisição de atualização 1344 pode incluir um formato especificado dependente de um tipo de requisição de atualização. Por exemplo, uma requisição de atualização pode ser uma requisição de atualização explícita ou um campo de requisição de atualização e visualização que pode ser identificado pelo Id de mensagem 1172.
1. Requisição de Atualização Explícita
[00194] Uma requisição de atualização explícita pode ser transmitida em qualquer momento como resultado de um desejo por informação a partir de um outro nó na malha 1000. Uma requisição de atualização explícita pode ser formatada em um quadro de requisição de atualização 1346 ilustrado na figura 39. O quadro de requisição de atualização ilustrado 1346 inclui quatro campos: um campo de manipu-lação de atualização 1348, um campo de comprimento de lista de percurso 1350, um campo de lista de percurso 1352 e um campo de lista de item de dados 1354.
[00195] O campo de manipulação de atualização 1348 inclui dois bytes que podem ser preenchidos com números randômicos ou sequenciais com checagens de singularidade para a identificação de uma requisição de atualização, ou respostas à requisição. O campo de comprimento de lista de percurso 1350 inclui dois bytes que indicam um comprimento do campo de lista de percurso 1352. O campo de lista de percurso 1352 é um campo de comprimento variável que indica uma sequência de percursos, conforme descrito acima. O campo de lista de item de dados 1354 pode ser formatado de modo similar ao campo de lista de item de dados 1242.
2. Requisição de Atualização de Visualização
[00196] Uma mensagem de requisição de atualização de visualização pode ser transmitida por um nó que requisitou previamente uma visualização em um esquema de um outro nó ou um nó que estabeleceu uma visualização em seus próprios dados em nome de um outro nó. Uma modalidade de um quadro de requisição de atualização de visualização 1356 é ilustrado na figura 40. O quadro de requisição de atualização de visualização 1356 inclui quatro campos: um campo de manipulação de atualização 1358, um campo de manipulação de visualização 1360, um campo de comprimento de lista de item de atualização 1362 e um campo de lista de item de atualização 1364. O campo de manipulação de atualização 1358 pode ser composto usando-se o formato descrito acima com referência ao campo de manipulação de atualização 1348. O campo de manipulação de visualização 1360 inclui dois bytes que identificam a visualização criada por uma mensagem de requisição de visualização relevante 1290 tendo a mesma ma- nipulação de visualização. O campo de comprimento de lista de item de atualização 1362 inclui dois bytes e indica o número de itens de atualização que são incluídos no campo de lista de item de atualização 1364.
[00197] O campo de lista de item de atualização 1364 inclui um número variável de bytes e lista os itens de dados constituindo os valores atualizados. Cada lista de item atualizado pode incluir múltiplos itens de atualização. Os itens de atualização individuais são formatados de modo conforme com o quadro de item de atualização 1366 ilustrado na figura 41. Cada quadro de item de atualização 1366 inclui três subcampos: um campo de índice de item 1368, um campo de estampa de tempo de item 1370 e um campo de item de dados 1372. O campo de índice de item 1368 inclui dois bytes que indicam a visualização sob a qual a atualização está sendo requisitada e o índice na lista de percurso daquela visualização para o campo de item de dados 1372.
[00198] O campo de estampa de tempo de item 1370 inclui quatro bytes e indica o tempo decorrido (por exemplo, em segundos) a partir da mudança, até a atualização sendo comunicada ter sido feita. Se mais de uma mudança tiver sido feita no item de dados, o campo de estampa de tempo de item 1370 poderá indicar a mudança mais recente ou a mais antiga. O campo de item de dados 1372 é um campo de comprimento variável codificado em formato de TLV que é para ser recebido como a informação atualizada. iv. Resposta de Atualização
[00199] Após uma atualização ser recebida, um nó (por exemplo, um nó de visualização 1286) pode enviar uma mensagem de resposta de atualização 1374. A mensagem de resposta de atualização 1374 pode ser codificada usando-se um quadro de resposta de atualização 1376 ilustrado na figura 42. O quadro de resposta de atualização 1376 inclui dois campos: um campo de manipulação de atualização 1378 e um campo de status de requisição de atualização 1380. O campo de manipulação de atualização 1378 corresponde a um valor de campo de manipulação de atualização da mensagem de requisição de atualização 1344 à qual a mensagem de resposta de atualização 1374 está respondendo. O campo de status de requisição de atualização 1380 reporta um status da atualização de acordo com o formato de relatório de status discutido acima. Adicionalmente, um perfil usando DMP (por exemplo, um perfil de núcleo ou um perfil de gerenciamento de dados) pode incluir códigos específicos de perfil, tais como aqueles enumerados na Tabela 21 abaixo.
Figure img0027
Figure img0028
Tabela 21. Exemplo de cód igos de status para um perfil incluindo o DMP. D. Transferência em massa
[00200] Em algumas modalidades, pode ser desejável transferir arquivos de dados em massa (por exemplo, dados de sensor, registros ou imagens de atualização) entre nós / serviços na malha 1000. Para se permitir a transferência de dados em massa, um perfil ou protocolo em separado pode ser incorporado em um ou mais perfis e tornado disponível para os nós / serviços nos nós. O protocolo de transferência de dados em massa pode modelar arquivos de dados como coleções de dados com anexos de metadados. Em certas modalidades, os dados podem ser opacos, mas os metadados podem ser usados para se determinar se é para prosseguir com uma transferência de arquivo requisitada.
[00201] Os dispositivos participantes em uma transferência em massa podem ser geralmente divididos de acordo com a comunicação de transferência em massa e criação de evento. Conforme ilustrado na figura 43, cada comunicação 1400 em uma transferência em massa inclui um emissor 1402 que é um nó / serviço que envia os dados em massa 1404 para um receptor 1406 que é um nó / serviço que recebe os dados em massa 1404. Em algumas modalidades, o receptor pode enviar uma informação de status 1408 para o emissor 1402 indicando um status da transferência em massa. Adicionalmente, um evento de transferência em massa pode ser iniciado pelo emissor 1402 (por exemplo, uma transferência (via upload)) ou pelo receptor 1406 (por exemplo, uma transferência (via download)) como o iniciador. Um nó / serviço que responde ao iniciador pode ser referido como o responde- dor na transferência de dados em massa.
[00202] A transferência de dados pode ocorrer usando-se modos síncronos ou assíncronos. O modo no qual os dados são transferidos pode ser determinado usando-se uma variedade de fatores, tal como o protocolo subjacente (por exemplo, UDP ou TCP) no qual os dados em massa são enviados. Em protocolos sem conexão (por exemplo, UDP), os dados em massa podem ser transferidos usando-se um modo síncrono que permite que um dos nós / serviços ("o driver") controle uma taxa na qual a transferência prossegue. Em certas modalidades, após cada mensagem em uma transferência de dados em massa de modo síncrono, um reconhecimento pode ser enviado, antes do envio da próxima mensagem na transferência de dados em massa. O driver pode ser o emissor 1402 ou o receptor 1406. Em algumas modalidades, o driver pode alternar entre um estado ativado e um modo desativado, enquanto se enviam mensagens para avançar a transferência, quando no estado ativado. Em transferências de dados em massa usando protocolos orientados para conexão (por exemplo, TCP), os dados em massa podem ser transferidos usando-se um modo assíncrono que não usa um reconhecimento, antes do envio de mensagens sucessivas ou um driver único.
[00203] Independentemente de a transferência de dados em massa ser realizada usando-se um modo síncrono ou assíncrono, um tipo de mensagem pode ser determinado usando-se um tipo de mensagem 1172 na carga útil de aplicativo 1146 de acordo com o Id de perfil 1176 na carga útil de aplicativo. A Tabela 22 inclui um exemplo de tipos de mensagem que podem ser usados em relação a um valor de perfil de transferência de dados em massa no Id de perfil 1176.
Figure img0029
Tabela 22. Exemplos de tipos de mensagem de perfis de transferência de dados em massa. i. SendInit
[00204] Uma modalidade de uma mensagem SendInit 1420 é ilustrada na figura 44. A mensagem SendInit 1420 pode incluir sete campos: um campo de controle de transferência 1422, um campo de controle de faixa 1424, um campo de comprimento de designador de arquivo 1426, um campo de tamanho de bloco máximo proposto 1428, um campo de deslocamento de começo 1430, um campo de comprimento 1432 e um campo de designador de arquivo 1434.
[00205] O campo de controle de transferência 1422 inclui um byte de dados ilustrado na figura 45. O campo de controle de transferência inclui pelo menos quatro campos: uma referência Asynch 1450, uma referência RDrive 1452, uma referência SDrive 1454 e um campo de versão 1456. A referência Asynch 1450 indica se a transferência proposta pode ser realizada usando-se um modo síncrono ou assíncrono. A referência RDrive 1452 e a referência SDrive 1454, cada um, res-pectivamente, indicam se o receptor 1406 é capaz de transferir dados com o emissor 1402 ou o emissor 1402 comandando uma transferência de modo síncrono.
[00206] O campo de controle de faixa 1424 inclui um byte de dados, tal como o campo de controle de faixa 1424 ilustrado na figura 46. Na modalidade ilustrada, o campo de controle de faixa 1424 inclui pelo menos três campos: uma referência BigExtent 1470, uma referência de deslocamento de começo 1472 e uma referência de comprimento definido 1474. A referência de comprimento definido 1474 indica se a transferência tem um comprimento definido. A referência de comprimento definido 1474 indica se o campo de comprimento 1432 está presente na mensagem SendInit 1420, e a referência BigExtent 1470 indica um tamanho para o campo de comprimento 1432. Por exemplo, em algumas modalidades, um valor de 1 na referência BigExtent 1470 indica que o campo de comprimento 1432 é de oito bytes. Caso contrário, o campo de comprimento 1432 é de quatro bytes, quando presente. Se a transferência tiver um comprimento definido, a referência de deslocamento de começo 1472 indicará se um deslocamento de começo está presente. Se um deslocamento de começo estiver presente, a referência BigExtent 1470 indicará um comprimento para o campo de deslocamento de começo 1430. Por exemplo, em algumas modalidades, um valor de 1 na referência BigExtent 1470 indica que o campo de deslocamento de começo 1430 é de oito bytes. Caso contrário, o campo de deslocamento de começo 1430 é de quatro bytes, quando presente.
[00207] Retornando à figura 44, o campo de comprimento de desig- nador de arquivo 1426 inclui dois bytes que indicam um comprimento do campo de designador de arquivo 1434. O campo de designador de arquivo 1434 é um campo de comprimento variável dependente do campo de comprimento de designador de arquivo 1426. O campo de tamanho de bloco máximo 1428 propõe um tamanho máximo de bloco que pode ser transferido em uma única transferência.
[00208] O campo de deslocamento de começo 1430, quando presente, tem um comprimento indicado pela referência BigExtent 1470. O valor do campo de deslocamento de começo 1430 indica uma localização no arquivo a ser transferido a partir da qual o emissor 1402 pode começar a transferência, essencialmente permitindo que transferências de arquivo grande sejam segmentadas em múltiplas sessões de transferência em massa.
[00209] O campo de comprimento 1432, quando presente, indica um comprimento do arquivo a ser transferido, se a referência de comprimento definido 1474 indicar que o arquivo tem um comprimento definido. Em algumas modalidades, se o receptor 1406 receber um bloco final, antes de o comprimento ser atingido, o receptor poderá considerar que a transmissão falhou e reportar um erro, conforme discutido abaixo.
[00210] O campo de designador de arquivo 1434 é um identificador de comprimento variável escolhido pelo emissor 1402 para a identificação do arquivo a ser enviado. Em algumas modalidades, o emissor 1402 e o receptor 1406 podem negociar o identificador para o arquivo, antes da transmissão. Em outras modalidades, o receptor 1406 pode usar metadados juntamente com o campo de designador de arquivo 1434 para determinar se é para aceitar a transferência e como manipular os dados. O comprimento do campo de designador de arquivo 1434 pode ser determinado a partir do campo de comprimento de de- signador de arquivo 1426. Em algumas modalidades, a mensagem SendInit 1420 também pode incluir um campo de metadados 1480 de um comprimento variável codificado em um formato de TLV. O campo de metadados 1480 permite que o iniciador envie uma informação adicional, tal como uma informação específica de aplicativo, sobre o arquivo a ser transferido. Em algumas modalidades, o campo de metadados 1480 pode ser usado para se evitar negociar com o campo de designador de arquivo 1434, antes da transferência de dados em massa. ii. SendAccept
[00211] Uma mensagem de aceitação de envio é transmitida a partir do respondedor para indicar o modo de transferência escolhido para a transferência. Uma modalidade de uma mensagem SendAccept 1500 é apresentada na figura 47. A mensagem SendAccept 1500 inclui um campo de controle de transferência 1502 similar ao campo de controle de transferência 1422 da mensagem SendInit 1420. Contudo, em algumas modalidades, apenas a referência RDrive 1452 ou o SDri- ve 1454 podem ter um valor não nulo no campo de controle de transferência 1502 para a identificação do emissor 1402 ou do receptor 1406 como o driver de uma transferência de modo síncrono. A mensagem SendAccept 1500 também inclui um campo de tamanho de bloco máximo 1504 que indica um tamanho de bloco máximo para a transferência. O campo de tamanho de bloco máximo 1504 pode ser igual ao valor do campo de tamanho de bloco máximo proposto 1428 da mensagem SendInit 1420, mas o valor do campo de tamanho de bloco máximo 1504 pode ser menor do que o valor proposto no campo de bloco máximo 1428. Finalmente, a mensagem SendAccept 1500 pode incluir um campo de metadados 1506 que indica uma informação que o receptor 1406 pode passar para o emissor 1402 sobre a transferência. iii. SendReject
[00212] Quando o receptor 1406 rejeita uma transferência após uma mensagem SendInit, o receptor 1406 pode enviar uma mensagem SendReject que indica que um ou mais problemas existem com respeito à transferência de dados em massa entre o emissor 1402 e o receptor 1406. A mensagem de rejeição de envio pode ser formatada de acordo com o formato de relatório de status descrito acima e ilustrado na figura 48. Um quadro de rejeição de envio 1520 pode incluir um campo de código de status 1522 que inclui dois bytes que indicam uma razão para a rejeição da transferência. O campo de código de status 1522 pode ser decodificado usando-se valores similares àqueles enumerados conforme indicado na Tabela 23 abaixo.
Figure img0030
Tabela 23. Códigos d e status de exemplo para uma mensagem de re- jeição de envio.
[00213] Em algumas modalidades, a mensagem de rejeição de envio 1520 pode incluir um campo de próximo status 1524. O campo de próximo status 1524, quando presente, pode ser formatado e codificado conforme discutido acima com respeito ao campo de próximo código de status 1188 de um quadro de relatório de status. Em certas modalidades, a mensagem de rejeição de envio 1520 pode incluir um campo de informação adicional 1526. O campo de informação adicional 1526, quando presente, pode armazenar uma informação sobre um status adicional e pode ser codificado usando-se o formato de TLV discutido acima. iv. ReceiveInit
[00214] Uma mensagem ReceiveInit pode ser transmitida pelo receptor 1406 como o iniciador. A mensagem ReceiveInit pode ser formatada e codificada de modo similar à mensagem SendInit 1420 ilustrada na figura 44, mas o campo de BigExtent 1470 pode ser referido como um campo de comprimento máximo que especifica o tamanho de arquivo máximo que o receptor 1406 pode manipular. v. ReceiveAccept
[00215] Quando o emissor 1402 recebe uma mensagem ReceiveI- nit, o emissor 1402 pode responder com uma mensagem ReceiveAc- cept. A mensagem ReceiveAccept pode ser formatada e codificada como a mensagem ReceiveAccept 1540 ilustrada na figura 49. A mensagem ReceiveAccept 1540 pode incluir quatro campos: um campo de controle de transferência 1542, um campo de controle de faixa 1544, um campo de tamanho de bloco máximo 1546 e, às vezes, um campo de comprimento 1548. A mensagem ReceiveAccept 1540 pode ser formatada de modo similar à mensagem SendAccept 1500 da figura 47, com o segundo byte indicando o campo de controle de faixa 1544. Mais ainda, o campo de controle de faixa 1544 pode ser formatado e codificado usando-se os mesmos métodos discutidos acima com referência ao campo de controle de faixa 1424 da figura 46. vi. ReceiveReject
[00216] Se o emissor 1402 encontrar um problema com a transferência do arquivo para o receptor 1406, o emissor 1402 poderá enviar uma mensagem ReceiveReject formatada e codificada de forma similar a uma mensagem SendReject 48 usando o formato de relatório de status, ambos discutidos acima. Contudo, o campo de código de status 1522 pode ser codificado / decodificado usando-se valores similares àqueles enumerados conforme indicado na Tabela 24 abaixo.
Figure img0031
Figure img0032
Tabela 24. Códigos d e status de exemplo para uma mensagem de re- jeição de recepção. vii. BlockQuery
[00217] Uma mensagem BlockQuery pode ser enviada por um emissor 1402 conduzindo em uma transferência de dados em massa de modo síncrono para requisitar o próximo bloco de dados. Uma BlockQuery reconhece de forma implícita um bloco prévio de dados, se um reconhecimento explícito não tiver sido enviado. Em modalidades usando transferências assíncronas, uma mensagem BlockQuery pode ser omitida do processo de transmissão. vii. Block
[00218] Os blocos de dados transmitidos em uma transferência de dados em massa podem incluir qualquer comprimento maior do que 0 e menor do que um tamanho de bloco máximo acordado pelo emissor 1402 e pelo receptor 1406. ix. BlockEOF
[00219] Um bloco final em uma transferência de dados pode ser apresentado como um fim de arquivo de bloco (BlockEOF). O BlockE- OF pode ter um comprimento entre 0 e um tamanho de bloco máximo. Se o receptor 1406 encontrar uma discrepância entre um tamanho de arquivo pré-negociado (por exemplo, o campo de comprimento 1432) e a quantidade de dados realmente transmitida, o receptor 1406 poderá enviar uma mensagem de erro indicando a falha, conforme discutido abaixo. x. Ack
[00220] Se o emissor 1402 estiver conduzindo uma transferência de modo síncrono, o emissor 1402 poderá esperar até o recebimento de um reconhecimento (Ack) após o envio de um bloco, antes do envio do próximo bloco. Se o receptor estiver conduzindo uma transferência de modo síncrono, o receptor 1406 poderá enviar um Ack explícito ou uma BlockQuery para reconhecimento do recebimento do bloco prévio. Mais ainda, em transferências em massa de modo assíncrono, a mensagem Ack pode ser omitida do processo de transmissão de toda forma. xi. AckEOF
[00221] Um reconhecimento de um fim de arquivo (AckEOF) pode ser enviado em transferências em massa enviadas em modo síncrono ou modo assíncrono. Usando o AckEOF, o receptor 1406 indica que todos os dados na transferência foram recebidos e os sinaliza o fim da sessão de transferência de dados em massa. xii. Error
[00222] Na ocorrência de certos problemas na comunicação, o emissor 1402 ou o receptor 1406 pode enviar uma mensagem de erro para prematuramente terminar a sessão de transferência de dados em massa. As mensagens de erro podem ser formatadas e codificadas de acordo com o formato de relatório status discutido acima. Por exemplo, uma mensagem de erro pode ser formatada de modo similar ao quadro de SendReject 1520 da figura 48. Contudo, os códigos de status podem ser codificados / decodificados com valores incluindo e/ou similares àqueles enumerados na Tabela 25 abaixo.
Figure img0033
Tabela 25. Códigos de status de exemplo para uma mensagem de erro em um perfil de transferência de dados em massa.
[00223] As modalidades específicas descritas acima foram mostra- das a título de exemplo, e deve ser entendido que estas modalidades podem ser susceptíveis a várias modificações e formas alternativas. Deve ser entendido, ainda, que as concretizações não são pretendidas para serem limitadas às formas expostas em particular, mas, ao invés disso, para cobrirem todas as modificações, equivalentes e alternativas caindo no espírito e no escopo desta exposição.

Claims (20)

1. Meio legível em computador não transitório, tendo arma-zenado nele um formato de mensagem, caracterizado pelo fato de que o formato de mensagem compreende: um campo de cabeçalho de mensagem (1132) compreen-dendo: um indicador de versão (1156) para indicar uma versão do formato de mensagem usado para formatar a mensagem; um indicador de endereçamento (1158, 1160) para indicar se uma informação de endereçamento está incluída na mensagem; e um indicador de segurança (1162) para indicar se uma in-formação de segurança está incluída na mensagem; um campo de ID de mensagem (1134) configurado para identificar uma mensagem com um identificador que é único para um dispositivo (10) em uma rede em malha que codifica ou envia a men-sagem, em que o campo de ID de mensagem (1134) segue o campo de cabeçalho de mensagem (1132); e um campo de carga útil de aplicativo (1146) seguindo o campo de ID de mensagem (1134) e compreendendo dados transmitidos a partir do dispositivo (10) para dentro da rede em malha.
2. Meio legível em computador não transitório, de acordo com a reivindicação 1, caracterizado pelo fato de que o campo de cabeçalho de mensagem (1132) compreende dois bytes de dados.
3. Meio legível em computador não transitório, de acordo com a reivindicação 1, caracterizado pelo fato de que o campo de ID de mensagem (1134) compreende quatro bytes de dados.
4. Meio legível em computador não transitório, de acordo com a reivindicação 1, caracterizado pelo fato de que o campo de carga útil de aplicativo (1146) compreende dados formatados em um formato de etiqueta - comprimento - valor.
5. Meio legível em computador não transitório, de acordo com a reivindicação 1, caracterizado pelo fato de que a informação de endereçamento compreende uma referência de ID de fonte (1158) que indica se um endereço de fonte para o dispositivo (10) está incluído na mensagem, em que o endereço de fonte indica o dispositivo (10) formatado em um formato de endereço local único compreendendo: uma ID global (1100) tendo 40 bits de dados configurada para identificar a rede em malha na qual o dispositivo (10) de envio está conectado; uma ID de sub-rede (1102) tendo 16 bits de dados configu-rada para identificar uma rede lógica na rede em malha na qual o dis-positivo (10) de envio é conectado; e uma ID de interface (1104) tendo 64 bits de dados configu-rada para identificar o dispositivo (10) de envio.
6. Meio legível em computador não transitório, de acordo com a reivindicação 1, caracterizado pelo fato de que a informação de endereçamento compreende uma referência de ID de destino (1160) que indica se um endereço de destino está incluído na mensagem, em que o endereço de destino indica um dispositivo (10) de destino que é conectado à rede em malha, em que o endereço de destino é formatado em um formato de endereço local único compreendendo: uma ID global (1100) tendo 40 bits de dados configurada para identificar a rede em malha na qual o dispositivo (10) de destino está conectado; uma ID de sub-rede (1102) tendo 16 bits de dados configu-rada para identificar uma rede lógica na rede em malha na qual o dis-positivo (10) de destino é conectado; e uma ID de interface (1104) tendo 64 bits de dados configu-rada para identificar do dispositivo (10) de envio.
7. Meio legível em computador não transitório, de acordo com a reivindicação 1, caracterizado pelo fato de que o campo de carga útil de aplicativo compreender um comprimento variável de dados.
8. Método para enviar e receber mensagens entre dispositi-vos (1092, 1094) em uma rede em malha, caracterizado pelo fato de que o método compreende as etapas de: enviar ou receber uma mensagem usando um formato de mensagem geral, em que o formato de mensagem geral compreende: um campo de cabeçalho de mensagem (1132) que com-preende: um indicador de versão (1156) para indicar uma versão do formato de mensagem usado para formatar a mensagem; um indicador de endereçamento (1158, 1160) para indicar se uma informação de endereçamento está incluída na mensagem; e um indicador de segurança (1162) para indicar se uma ou mais informações de segurança estão incluídas na mensagem; um campo de ID de mensagem (1134) seguinte ao campo de cabeçalho de mensagem (1132), em que o campo de ID de mensagem (1134) é configurado para identificar uma mensagem com um identificador que é único para um dispositivo de envio dos um ou mais dispositivos eletrônicos (1092, 1094) que enviam a mensagem; e um campo de carga útil de aplicativo (1146) seguinte ao campo de cabeçalho de mensagem (1132), em que o campo de carga útil de aplicativo (1146) compreende dados transmitidos a partir do dispositivo de envio dentro da rede em malha.
9. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que um ou mais campos de informação de segurança compreendem: um campo de ID chave (1140) precedente ao campo de carga útil de aplicativo (1146), em que o campo de ID chave (1140) compreende dois bytes que indicam uma criptografia ou uma chave de integridade de mensagem usada para criptografar a mensagem indicada pelo campo de tipo de criptografia; um campo de vetor de inicialização (1144) imediatamente precedente ao campo de carga útil de aplicativo (1146), em que o campo de vetor de inicialização (1144) compreende um vetor de inicialização usado para criptografar a mensagem indicada pelo campo de tipo de criptografia; um campo de preenchimento (1150) seguinte ao campo de carga útil de aplicativo (1146), em que o campo de preenchimento (1150) compreende um comprimento de bytes representando um preenchimento criptográfico adicionado à mensagem para se tornar uma porção criptografada (1152) da mensagem uniformemente divisível por um tamanho de bloco de criptografia, em que a porção criptografada compreende o campo de carga útil de aplicativo (1146), um campo de integridade de mensagem (1148) que é seguinte ao campo de carga útil de aplicativo (1146), e o campo de preenchimento; ou um campo de assinatura de mensagem (1154) localizado em uma extremidade da mensagem, em que o campo de assinatura de mensagem (1154) inclui uma assinatura criptográfica para a mensagem.
10. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que o formato de mensagem geral compreende um campo de comprimento de pacote (1130) imediatamente precedendo o campo de cabeçalho de mensagem (1132), em que o campo de comprimento de pacote (1130) indica um comprimento de um pacote enviado usando um tipo de conexão usado para enviar a mensagem.
11. Método, de acordo com a reivindicação 10, caracterizado pelo fato de que o tipo de conexão compreende uma conexão de protocolo de controle de transmissão.
12. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que o formato de mensagem geral compreende um campo de comprimento de carga útil (1142) seguinte ao campo de ID de mensagem (1134) e precedendo ao campo de carga útil de aplicativo (1146), em que o campo de comprimento de carga útil compreende 2 bytes e é configurado para indicar um comprimento do campo de carga útil de aplicativo (1146).
13. Método, de acordo com a reivindicação 8, caracterizado pelo fato de que o formato de mensagem geral compreende um campo de checagem de integridade de mensagem (1148) imediatamente seguinte ao campo de carga útil de aplicativo (1146).
14. Dispositivo eletrônico (10), configurado para enviar ou receber mensagens para outros dispositivos eletrônicos em uma rede em malha, caracterizado pelo fato de que as mensagens compreendem: um formato de mensagem geral compreendendo: um campo de cabeçalho de mensagem (1132) compreen-dendo: um indicador de versão (1156) para indicar uma versão do formato de mensagem usado para formatar a mensagem; um indicador de endereçamento (1158, 1160) para indicar se uma informação de endereçamento está incluída na mensagem; e um indicador de segurança (1162) para indicar se uma ou mais informações de segurança estão incluídas na mensagem; um campo de ID de mensagem (1134) seguinte ao campo de cabeçalho de mensagem (1132), em que o campo de ID de mensagem (1134) é configurado para identificar uma mensagem com um identificador que é único para um dispositivo de envio dos um ou mais dispositivos eletrônicos (1092, 1094) que enviam a mensagem; e um campo de carga útil de aplicativo (1146) seguinte ao campo de cabeçalho de mensagem (1132), em que o campo de carga útil de aplicativo (1146) compreende dados transmitidos a partir do dispositivo de envio dentro da rede em malha.
15. Dispositivo eletrônico, de acordo com a reivindicação 14, caracterizado pelo fato de que o formato de mensagem geral compreende um campo de comprimento de pacote (1130) imediatamente precedendo o campo de cabeçalho de mensagem (1132), em que o campo de comprimento de pacote (1130) indica um comprimento de um pacote enviado usando um tipo de conexão usado para enviar a mensagem.
16. Dispositivo eletrônico, de acordo com a reivindicação 15, caracterizado pelo fato de que o tipo de conexão compreende uma conexão de protocolo de controle de transmissão.
17. Dispositivo eletrônico, de acordo com a reivindicação 14, caracterizado pelo fato de que o formato de mensagem geral compreende um campo de comprimento de carga útil (1142) seguinte ao campo de ID de mensagem (1134) e precedendo ao campo de carga útil de aplicativo (1146), em que o campo de comprimento de carga útil compreende 2 bytes e é configurado para indicar um comprimento do campo de carga útil de aplicativo (1146).
18. Dispositivo eletrônico, de acordo com a reivindicação 14, caracterizado pelo fato de que o formato de mensagem geral compreende um campo de checagem de integridade de mensagem (1148) imediatamente seguinte ao campo de carga útil de aplicativo (1146).
19. Dispositivo eletrônico, de acordo com a reivindicação 14, caracterizado pelo fato de que o campo de carga útil de aplicativo compreender um comprimento variável de dados.
20. Dispositivo eletrônico, de acordo com a reivindicação 14, caracterizado pelo fato de que o campo de carga útil de aplicativo (1146) compreende dados formatados em um formato de etiqueta – comprimento – valor.
BR112015032501-7A 2013-06-25 2014-06-23 Meio legível em computador não transitório, método para enviar e receber mensagens entre dispositivos em uma rede em malha e dispositivo eletrônico BR112015032501B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/926,302 2013-06-25
US13/926,302 US9112790B2 (en) 2013-06-25 2013-06-25 Fabric network
PCT/US2014/043695 WO2014209898A1 (en) 2013-06-25 2014-06-23 Fabric network

Publications (2)

Publication Number Publication Date
BR112015032501A2 BR112015032501A2 (pt) 2018-04-10
BR112015032501B1 true BR112015032501B1 (pt) 2023-02-23

Family

ID=51211873

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112015032501-7A BR112015032501B1 (pt) 2013-06-25 2014-06-23 Meio legível em computador não transitório, método para enviar e receber mensagens entre dispositivos em uma rede em malha e dispositivo eletrônico

Country Status (11)

Country Link
US (9) US9112790B2 (pt)
EP (6) EP3367623B1 (pt)
JP (7) JP6126252B2 (pt)
KR (6) KR102028146B1 (pt)
CN (2) CN105917615B (pt)
AU (7) AU2014302721B2 (pt)
BR (1) BR112015032501B1 (pt)
CA (3) CA3225089A1 (pt)
MX (2) MX352768B (pt)
RU (5) RU2650028C2 (pt)
WO (1) WO2014209898A1 (pt)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9191209B2 (en) 2013-06-25 2015-11-17 Google Inc. Efficient communication for devices of a home network
US9531704B2 (en) 2013-06-25 2016-12-27 Google Inc. Efficient network layer for IPv6 protocol
US9112790B2 (en) 2013-06-25 2015-08-18 Google Inc. Fabric network
CN104679530B (zh) * 2013-11-26 2017-12-29 英业达科技有限公司 服务器系统与固件更新方法
US9791839B2 (en) 2014-03-28 2017-10-17 Google Inc. User-relocatable self-learning environmental control device capable of adapting previous learnings to current location in controlled environment
DE112014006607T5 (de) * 2014-04-21 2017-01-12 Mitsubishi Electric Corporation Kommunikationsvorrichtung, integriertes Wagen-Verwaltungssystem und Routingtabellen-Aktualisierungsverfahren
US11085455B1 (en) * 2014-08-11 2021-08-10 Delta T, Llc System for regulating airflow associated with product for sale
US10541916B2 (en) 2014-12-17 2020-01-21 Google Llc Tunneled routing
KR101683592B1 (ko) * 2015-04-14 2016-12-07 삼성에스디에스 주식회사 데이터 관리 방법 및 장치와 이를 이용한 데이터 관리 시스템
FR3038181A1 (fr) * 2015-06-25 2016-12-30 Orange Sa Procede de notification relatif a au moins une operation mise en œuvre par un dispositif formant nœud d'un reseau
US9681111B1 (en) * 2015-10-22 2017-06-13 Gopro, Inc. Apparatus and methods for embedding metadata into video stream
US10140100B2 (en) * 2016-03-04 2018-11-27 Google Llc Device common model interface
US10419390B2 (en) * 2016-06-27 2019-09-17 International Business Machines Corporation Using dynamic host configuration protocol to protect data
US10210706B2 (en) 2016-09-25 2019-02-19 Aristocrat Technologies Australia Pty Limited Electronic gaming system with dynamic return to player and method of use
FR3058290B1 (fr) * 2016-10-27 2019-08-02 Thales Equipement avionique avec signature a usage unique d'un message emis, systeme avionique, procede de transmission et programme d'ordinateur associes
KR102076393B1 (ko) * 2016-10-27 2020-05-19 국민대학교산학협력단 광학 카메라 통신을 이용하는 조명 제어 방법 및 장치
CN106657296B (zh) * 2016-12-06 2020-04-24 捷开通讯(深圳)有限公司 一种终端间信息转移方法及通信终端
US10425287B2 (en) * 2017-02-23 2019-09-24 Dell Products L.P. Systems and methods for network topology discovery
US10785118B2 (en) 2017-02-23 2020-09-22 Dell Products L.P. Systems and methods for network topology validation
CN107171678B (zh) * 2017-05-17 2022-12-09 深圳市安拓浦科技有限公司 一种门铃天线及其接收器的控制方法
JP6904846B2 (ja) * 2017-08-07 2021-07-21 キヤノン株式会社 通信装置、通信装置の制御方法、および、プログラム
KR102072224B1 (ko) * 2017-12-13 2020-02-03 재단법인대구경북과학기술원 전자 장치, 전자 시스템 및 제어 방법
CN109951397B (zh) * 2017-12-20 2021-07-20 华为技术有限公司 报文处理的方法和设备
US10673695B2 (en) 2018-03-06 2020-06-02 Kaloom Inc. Computing device and method for performing a fabric deployment in a data center
US10924454B2 (en) 2018-03-06 2021-02-16 Kaloom Inc. Computing device and method for generating a fabric-wide IPV6 address
US11190608B2 (en) 2018-03-21 2021-11-30 Cdk Global Llc Systems and methods for an automotive commerce exchange
US11501351B2 (en) 2018-03-21 2022-11-15 Cdk Global, Llc Servers, systems, and methods for single sign-on of an automotive commerce exchange
CN108718236B (zh) * 2018-05-21 2020-08-18 西安交通大学 互联网自组织汇流的数据传输方法
CN111342956B (zh) * 2018-12-19 2021-06-15 美的集团股份有限公司 一种家电设备通信的方法、存储介质、家电设备和装置
US11196634B2 (en) 2019-04-05 2021-12-07 Cisco Technology, Inc. Establishing trust relationships of IPv6 neighbors using attestation-based methods in IPv6 neighbor discovery
WO2020219807A1 (en) * 2019-04-25 2020-10-29 Liqid Inc. Composed computing systems with converged and disaggregated component pool
US11178060B2 (en) * 2019-10-08 2021-11-16 Hewlett Packard Enterprise Development Lp Self forming local fabric
CN110995853B (zh) * 2019-12-12 2021-08-20 大连理工大学 一种基于跨协议通信的物联网节点代码更新方法
WO2022116009A1 (zh) * 2020-12-01 2022-06-09 Oppo广东移动通信有限公司 一种数据传输方法及装置、通信设备
US11514021B2 (en) * 2021-01-22 2022-11-29 Cdk Global, Llc Systems, methods, and apparatuses for scanning a legacy database
US11803535B2 (en) 2021-05-24 2023-10-31 Cdk Global, Llc Systems, methods, and apparatuses for simultaneously running parallel databases
US20230099363A1 (en) * 2021-09-30 2023-03-30 Rai Strategic Holdings, Inc. Adaptive Signal Architecture for Initiating and Testing State Transitions in an Aerosol Generation Device
US11983145B2 (en) 2022-08-31 2024-05-14 Cdk Global, Llc Method and system of modifying information on file
USD1006154S1 (en) * 2023-06-27 2023-11-28 Qiongfang Mao Cable crossover attachment

Family Cites Families (400)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3693155A (en) 1971-03-23 1972-09-19 Nat Telecommunications System Communication system
US3805265A (en) 1971-10-06 1974-04-16 Rcds Enterprises Inc Radiant wave locating system
US4165024A (en) 1977-09-09 1979-08-21 Cato Oil And Grease Co. Bulk shipping container
US4275385A (en) 1979-08-13 1981-06-23 Bell Telephone Laboratories, Incorporated Infrared personnel locator system
US4446454A (en) 1981-01-21 1984-05-01 Pyle Ronald E Home security system
US6919803B2 (en) 2002-06-11 2005-07-19 Intelligent Technologies International Inc. Low power remote asset monitoring
US4613990A (en) 1984-06-25 1986-09-23 At&T Bell Laboratories Radiotelephone transmission power control
CA1246681A (en) 1985-01-30 1988-12-13 Northern Telecom Limited Terminal address assignment in a broadcast transmission system
US4775999A (en) 1986-10-31 1988-10-04 Motorola, Inc. Registration of radiotelephones in networked cellular radiotelephone systems
US4750197A (en) 1986-11-10 1988-06-07 Denekamp Mark L Integrated cargo security system
US4688244A (en) 1986-11-10 1987-08-18 Marwan Hannon Integrated cargo security system
US4794368A (en) 1987-01-21 1988-12-27 Electronic Security Products Of California Programmable automobile alarm system having vocal alarm and reporting features
US4817537A (en) 1987-03-16 1989-04-04 Cripe Alan R Container carrying convertible rail-highway vehicle
US5425051A (en) 1992-11-09 1995-06-13 Norand Corporation Radio frequency communication network having adaptive parameters
US5117501A (en) 1988-08-08 1992-05-26 General Electric Company Dynamic regrouping in a trunked radio communications system
JPH0773385B2 (ja) 1989-04-03 1995-08-02 三菱電機株式会社 移動電話装置
GB8910997D0 (en) 1989-05-12 1989-06-28 Tunstall Telecom Ltd Radio transmission system
US5025254A (en) 1989-06-23 1991-06-18 Motorola, Inc. Communication system with improved resource assignment
US5805807A (en) 1990-05-25 1998-09-08 Norand Corporation Multilevel data communication system including local and host systems
US5682379A (en) 1993-12-23 1997-10-28 Norand Corporation Wireless personal local area network
US6006100A (en) 1990-05-25 1999-12-21 Norand Corporation Multi-level, hierarchical radio-frequency communication system
US5640151A (en) 1990-06-15 1997-06-17 Texas Instruments Incorporated Communication system for communicating with tags
ES2082885T3 (es) 1990-06-15 1996-04-01 Savi Techn Inc Metodo y aparato para radio-identificacion y seguimiento.
US5040238A (en) 1990-06-29 1991-08-13 Motorola, Inc. Trunking system communication resource reuse method
JPH0470584A (ja) 1990-07-11 1992-03-05 Mitsubishi Electric Corp 衛星航法装置
US5206903A (en) 1990-12-26 1993-04-27 At&T Bell Laboratories Automatic call distribution based on matching required skills with agents skills
JPH04369492A (ja) 1991-06-18 1992-12-22 Pioneer Electron Corp Gps測位装置
US5401946A (en) 1991-07-22 1995-03-28 Weinblatt; Lee S. Technique for correlating purchasing behavior of a consumer to advertisements
US5369784A (en) 1991-08-01 1994-11-29 City Communications Limited Radio communications system using multiple simultaneously transmitting transceivers
DE69233608T2 (de) 1991-10-01 2007-03-01 Broadcom Corp., Irvine Lokales Funkfrequenznetzwerk
US5974236A (en) 1992-03-25 1999-10-26 Aes Corporation Dynamically reconfigurable communications network and method
US5558013A (en) 1992-05-07 1996-09-24 Blackstone, Jr.; James O. Device and method for electronically measuring the fullness of a trash receptacle
JP2798557B2 (ja) 1992-06-19 1998-09-17 シャープ株式会社 ナビゲーションシステム用軌跡表示装置
CA2143652C (en) 1992-09-01 2000-10-17 David J. H. Nuttall Information model based on a physical system
US5543778A (en) 1993-04-19 1996-08-06 Code-Alarm, Inc. Security system
US7397363B2 (en) 1993-06-08 2008-07-08 Raymond Anthony Joao Control and/or monitoring apparatus and method
US5790946A (en) 1993-07-15 1998-08-04 Rotzoll; Robert R. Wake up device for a communications system
US5442758A (en) 1993-07-19 1995-08-15 Sequent Computer Systems, Inc. Apparatus and method for achieving reduced overhead mutual exclusion and maintaining coherency in a multiprocessor system utilizing execution history and thread monitoring
US5331637A (en) 1993-07-30 1994-07-19 Bell Communications Research, Inc. Multicast routing using core based trees
DE4329697C2 (de) 1993-09-02 1995-10-05 Siemens Ag Fernsteuerbare Zugangskontrolleinrichtung
DE4329898A1 (de) 1993-09-04 1995-04-06 Marcus Dr Besson Kabelloses medizinisches Diagnose- und Überwachungsgerät
US5555376A (en) 1993-12-03 1996-09-10 Xerox Corporation Method for granting a user request having locational and contextual attributes consistent with user policies for devices having locational attributes consistent with the user request
CA2135856A1 (en) 1993-12-10 1995-06-11 Steven Peter Allen Low power, addressable data communication device and method
JP2974274B2 (ja) 1994-05-12 1999-11-10 エヌ・ティ・ティ移動通信網株式会社 送信電力制御方法および送信電力制御装置
US5461390A (en) 1994-05-27 1995-10-24 At&T Ipm Corp. Locator device useful for house arrest and stalker detection
US5530702A (en) 1994-05-31 1996-06-25 Ludwig Kipp System for storage and communication of information
US5771459A (en) 1994-06-21 1998-06-23 U.S. Philips Corporation Communication system for use with stationary and second entities, via a wireless intermediate network with gateway devices, a gateway device for use with such system, and a mobile entity provided with such gateway device
US5579306A (en) 1994-09-01 1996-11-26 Ericsson Inc. Time and frequency slot allocation system and method
US5550547A (en) 1994-09-12 1996-08-27 International Business Machines Corporation Multiple item radio frequency tag identification protocol
US5565858A (en) 1994-09-14 1996-10-15 Northrop Grumman Corporation Electronic inventory system for stacked containers
US5596625A (en) 1994-09-28 1997-01-21 U S West Technologies, Inc. Method for routing emergency calls during busy interface channel conditions
US5649286A (en) 1994-11-14 1997-07-15 Bellsouth Corporation Method for managing the registration of a wireless unit
US5525992A (en) 1994-11-14 1996-06-11 Texas Instruments Deutschland Gmbh Method and system for conserving power in a recognition system
US5511232A (en) 1994-12-02 1996-04-23 Motorola, Inc. Method for providing autonomous radio talk group configuration
US5610969A (en) 1994-12-23 1997-03-11 Bell Atlantic Mobile Systems, Inc. Personal communication service registration system and method
WO1996027157A1 (fr) * 1995-02-28 1996-09-06 Ntt Data Communications Systems Corporation Systeme associatif decentralise et traitements de journaux et de reprise dans celui-ci
US5793882A (en) 1995-03-23 1998-08-11 Portable Data Technologies, Inc. System and method for accounting for personnel at a site and system and method for providing personnel with information about an emergency site
US5596652A (en) 1995-03-23 1997-01-21 Portable Data Technologies, Inc. System and method for accounting for personnel at a site and system and method for providing personnel with information about an emergency site
ZA959074B (en) 1995-04-12 1996-05-22 Lo Jack Corp Vehicle tracking transponder system and transponding method
US5577029A (en) 1995-05-04 1996-11-19 Interwave Communications Cellular communication network having intelligent switching nodes
RU95107478A (ru) 1995-05-18 1997-02-10 А.И. Грушин Способ устранения старших незначащих цифр при вычислениях с плавающей запятой и устройство для его осуществления
US6097707A (en) 1995-05-19 2000-08-01 Hodzic; Migdat I. Adaptive digital wireless communications network apparatus and process
US5686888A (en) 1995-06-07 1997-11-11 General Electric Company Use of mutter mode in asset tracking for gathering data from cargo sensors
US5691980A (en) 1995-06-07 1997-11-25 General Electric Company Local communication network for power reduction and enhanced reliability in a multiple node tracking system
US5950124A (en) 1995-09-06 1999-09-07 Telxon Corporation Cellular communication system with dynamically modified data transmission parameters
US5833910A (en) 1995-10-03 1998-11-10 Mecanismos Auxiliares Industiales S.A. Mold and method for manufacturing conduit grommet elements
US5933354A (en) 1995-10-13 1999-08-03 Matsushita Electric Industrial Co., Ltd. System for controlling physical distribution pallets
US6005884A (en) 1995-11-06 1999-12-21 Ems Technologies, Inc. Distributed architecture for a wireless data communications system
GB2308947A (en) 1996-01-04 1997-07-09 I D Systems Ltd Identification tag with environmental sensing facility
US5850592A (en) 1996-01-11 1998-12-15 Gte Internetworking Incorporated Method for self-organizing mobile wireless station network
US5652751A (en) 1996-03-26 1997-07-29 Hazeltine Corporation Architecture for mobile radio networks with dynamically changing topology using virtual subnets
US7253731B2 (en) 2001-01-23 2007-08-07 Raymond Anthony Joao Apparatus and method for providing shipment information
US5850187A (en) 1996-03-27 1998-12-15 Amtech Corporation Integrated electronic tag reader and wireless communication link
JP2803626B2 (ja) 1996-04-05 1998-09-24 日本電気株式会社 移動無線端末の送信電力制御方式
US5881366A (en) 1996-05-01 1999-03-09 Logitech, Inc. Wireless peripheral interface
US6130602A (en) 1996-05-13 2000-10-10 Micron Technology, Inc. Radio frequency data communications device
US6058374A (en) 1996-06-20 2000-05-02 Northrop Grumman Corporation Inventorying method and system for monitoring items using tags
US6128549A (en) 1996-06-21 2000-10-03 Symbol Technologies, Inc. RF interrogatable processing system
US5959568A (en) 1996-06-26 1999-09-28 Par Goverment Systems Corporation Measuring distance
US5892441A (en) 1996-06-26 1999-04-06 Par Government Systems Corporation Sensing with active electronic tags
US5917433A (en) 1996-06-26 1999-06-29 Orbital Sciences Corporation Asset monitoring system and associated method
US5887176A (en) 1996-06-28 1999-03-23 Randtec, Inc. Method and system for remote monitoring and tracking of inventory
US5873040A (en) 1996-08-13 1999-02-16 International Business Machines Corporation Wireless 911 emergency location
US5907491A (en) 1996-08-23 1999-05-25 Csi Technology, Inc. Wireless machine monitoring and communication system
US6201974B1 (en) 1996-09-06 2001-03-13 Nokia Mobile Phones Limited Mobile station and network having hierarchical index for cell broadcast service
US5892764A (en) 1996-09-16 1999-04-06 Sphere Communications Inc. ATM LAN telephone system
US5812049A (en) 1996-10-25 1998-09-22 Micro Utility Ltd. System and method for monitoring a competitive activity
US5950133A (en) 1996-11-05 1999-09-07 Lockheed Martin Corporation Adaptive communication network
US5890054A (en) 1996-11-14 1999-03-30 Telxon Corporation Emergency mobile routing protocol
US5999091A (en) 1996-11-25 1999-12-07 Highwaymaster Communications, Inc. Trailer communications system
US6700493B1 (en) 1996-12-02 2004-03-02 William A. Robinson Method, apparatus and system for tracking, locating and monitoring an object or individual
GB9625208D0 (en) 1996-12-04 1997-01-22 Olivetti Research Ltd Detection system for determining information about objects
JP3097581B2 (ja) 1996-12-27 2000-10-10 日本電気株式会社 アドホックローカルエリアネットワークの構成方法、通信方法及び端末
US5977913A (en) 1997-02-07 1999-11-02 Dominion Wireless Method and apparatus for tracking and locating personnel
US5978738A (en) 1997-02-13 1999-11-02 Anthony Brown Severe weather detector and alarm
CA2207371A1 (en) 1997-06-09 1998-12-09 Andre Gagnon Apparatus for monitoring opening of sealed containers
US5963134A (en) 1997-07-24 1999-10-05 Checkpoint Systems, Inc. Inventory system using articles with RFID tags
US6072784A (en) 1997-07-25 2000-06-06 At&T Corp. CDMA mobile station wireless transmission power management with adaptive scheduling priorities based on battery power level
US6409082B1 (en) 1997-07-25 2002-06-25 Perseu Administration (Proprietary) Limited Tracking of products
US20100030423A1 (en) * 1999-06-17 2010-02-04 Paxgrid Telemetric Systems, Inc. Automotive telemetry protocol
KR100284257B1 (ko) 1997-08-31 2001-03-02 윤종용 전자식 통행요금 징수 시스템의 자동 기동장치
US6044069A (en) 1997-10-29 2000-03-28 Conexant Systems, Inc. Power management system for a mobile station
US6091724A (en) 1997-11-20 2000-07-18 International Business Machines Corporation Routing messages within a network using the data content of the message
US6343073B1 (en) 1997-12-31 2002-01-29 Anip, Inc. Method and system for efficient link utlization
US6593845B1 (en) 1998-01-09 2003-07-15 Intermac Ip Corp. Active RF tag with wake-up circuit to prolong battery life
US6104512A (en) 1998-01-23 2000-08-15 Motorola, Inc. Method for adjusting the power level of an infrared signal
US20020073646A1 (en) 1998-01-23 2002-06-20 Von Gutfeld Robert J. Apparatus and system for rapidly attaching identifiers to items
US6247077B1 (en) * 1998-02-06 2001-06-12 Ncr Corporation Highly-scalable parallel processing computer system architecture
US5936527A (en) 1998-02-10 1999-08-10 E-Tag Systems, Inc. Method and apparatus for locating and tracking documents and other objects
JPH11243584A (ja) 1998-02-26 1999-09-07 Fujitsu Ltd 移動通信システムの緊急呼制御装置
KR100291413B1 (ko) 1998-03-02 2001-07-12 김영환 이동통신단말기의송신전력제어장치
US6476708B1 (en) 1998-03-20 2002-11-05 Hid Corporation Detection of an RFID device by an RF reader unit operating in a reduced power state
JP3464907B2 (ja) * 1998-03-20 2003-11-10 富士通株式会社 プロトコル変換システム
US6512455B2 (en) 1999-09-27 2003-01-28 Time Domain Corporation System and method for monitoring assets, objects, people and animals utilizing impulse radio
US6282407B1 (en) 1998-04-16 2001-08-28 Motorola, Inc. Active electrostatic transceiver and communicating system
US6473607B1 (en) 1998-06-01 2002-10-29 Broadcom Corporation Communication device with a self-calibrating sleep timer
US6437692B1 (en) 1998-06-22 2002-08-20 Statsignal Systems, Inc. System and method for monitoring and controlling remote devices
DE69939875D1 (de) 1998-09-03 2008-12-18 Wherenet Inc Mehrfach laterales netz mit zirkularpolarisierter antenne
CA2343412A1 (en) 1998-09-11 2000-03-23 William C. Maloney Object control and tracking system with zonal transition detection
AU6032699A (en) 1998-09-11 2000-04-03 Key-Trak, Inc. Mobile object tracking system
US6084512A (en) 1998-10-02 2000-07-04 Lucent Technologies, Inc. Method and apparatus for electronic labeling and localizing
US7088233B2 (en) 1998-10-23 2006-08-08 Royal Thoughts, Llc Personal medical device communication system and method
US6154658A (en) 1998-12-14 2000-11-28 Lockheed Martin Corporation Vehicle information and safety control system
US6285295B1 (en) 1998-12-14 2001-09-04 Martin S. Casden Passive remote programmer for induction type RFID readers
US6246882B1 (en) 1998-12-22 2001-06-12 Telefonaktiebolaget Lm Ericsson (Publ) Wide area item tracking system
JP4086393B2 (ja) 1998-12-25 2008-05-14 キヤノン株式会社 通信システム、通信装置及びそれらの制御方法
US6525648B1 (en) 1999-01-29 2003-02-25 Intermec Ip Corp Radio frequency identification systems and methods for waking up data storage devices for wireless communication
US7184413B2 (en) 1999-02-10 2007-02-27 Nokia Inc. Adaptive communication protocol for wireless networks
US6700533B1 (en) 1999-05-06 2004-03-02 Rf Technologies, Inc. Asset and personnel tagging system utilizing GPS
AU4987800A (en) 1999-05-06 2000-11-21 Pinpoint Corporation An asset and personnel tagging system utilizing gps
SE514264C2 (sv) 1999-05-07 2001-01-29 Ericsson Telefon Ab L M Ett kommunikationssystem
MXPA01011736A (es) 1999-05-21 2003-09-04 Koerner Ralph J Sistema de identificacion para monitorear la presencia / ausencia de los miembros de un conjunto definido.
US7027773B1 (en) 1999-05-28 2006-04-11 Afx Technology Group International, Inc. On/off keying node-to-node messaging transceiver network with dynamic routing and configuring
AU5161900A (en) 1999-05-28 2000-12-18 Afx Technology Group International, Inc. Wireless transceiver network employing node-to-node data messaging
US6761312B2 (en) 1999-07-30 2004-07-13 Salamander Technologies, Inc. System and method for tracking victims of a mass casualty incident
US6677852B1 (en) 1999-09-22 2004-01-13 Intermec Ip Corp. System and method for automatically controlling or configuring a device, such as an RFID reader
US6404082B1 (en) 1999-09-24 2002-06-11 Siemens Westinghouse Power Corporation Exciter having thermally isolated diode wheel and method of removing diode wheel for same
US6735630B1 (en) 1999-10-06 2004-05-11 Sensoria Corporation Method for collecting data using compact internetworked wireless integrated network sensors (WINS)
US6256303B1 (en) 1999-10-15 2001-07-03 Akoo, Inc. Wireless broadcast link to remote receiver
US6914896B1 (en) 1999-11-05 2005-07-05 Rockwell Electronic Commerce Technologies, Llc Emergency services management network utilizing broadband voice over data networks
US6614349B1 (en) 1999-12-03 2003-09-02 Airbiquity Inc. Facility and method for tracking physical assets
US6751200B1 (en) 1999-12-06 2004-06-15 Telefonaktiebolaget Lm Ericsson (Publ) Route discovery based piconet forming
US6512478B1 (en) 1999-12-22 2003-01-28 Rockwell Technologies, Llc Location position system for relay assisted tracking
US6354493B1 (en) 1999-12-23 2002-03-12 Sensormatic Electronics Corporation System and method for finding a specific RFID tagged article located in a plurality of RFID tagged articles
GB9930645D0 (en) 1999-12-23 2000-02-16 Koninkl Philips Electronics Nv Location alarm
US6313745B1 (en) 2000-01-06 2001-11-06 Fujitsu Limited System and method for fitting room merchandise item recognition using wireless tag
US6617962B1 (en) 2000-01-06 2003-09-09 Samsys Technologies Inc. System for multi-standard RFID tags
WO2001056907A1 (fr) 2000-01-31 2001-08-09 Ishikawajima-Harima Jukogyo Kabushiki Kaisha Procede et dispositif pour la gestion de conteneurs
US6262662B1 (en) 2000-02-25 2001-07-17 Xerox Corporation Systems and methods that detect proximity information using electric field sensing devices and a page identification using embedded identification tags
US6975941B1 (en) 2002-04-24 2005-12-13 Chung Lau Method and apparatus for intelligent acquisition of position information
US6547137B1 (en) 2000-02-29 2003-04-15 Larry J. Begelfer System for distribution and control of merchandise
JP2001242210A (ja) 2000-02-29 2001-09-07 Murata Mfg Co Ltd 高周波部品、通信装置および高周波部品の特性測定方法
US6800533B1 (en) 2000-03-06 2004-10-05 Chartered Semiconductor Manufacturing Ltd. Integrated vertical spiral inductor on semiconductor material
US6647428B1 (en) 2000-05-05 2003-11-11 Luminous Networks, Inc. Architecture for transport of multiple services in connectionless packet-based communication networks
US6701215B1 (en) 2000-05-08 2004-03-02 Greg C. Stadermann Bulk mailing tracking system
GB0013619D0 (en) 2000-06-06 2000-07-26 Glaxo Group Ltd Sample container
US7005968B1 (en) 2000-06-07 2006-02-28 Symbol Technologies, Inc. Wireless locating and tracking systems
US7103344B2 (en) 2000-06-08 2006-09-05 Menard Raymond J Device with passive receiver
EP2101446B1 (en) * 2000-06-16 2012-03-21 Fujitsu Limited Communication device having VPN accomodation function
AU2001276827A1 (en) 2000-06-20 2002-01-02 Invertix Corporation Method and system for interconnecting remote intelligent devices with a network
US6381467B1 (en) 2000-06-22 2002-04-30 Motorola, Inc. Method and apparatus for managing an ad hoc wireless network
US6847892B2 (en) 2001-10-29 2005-01-25 Digital Angel Corporation System for localizing and sensing objects and providing alerts
US6559620B2 (en) 2001-03-21 2003-05-06 Digital Angel Corporation System and method for remote monitoring utilizing a rechargeable battery
US6587755B1 (en) 2000-07-12 2003-07-01 International Business Machines Corporation Virtual signs for improving information communicated to the automotive driver
US6659947B1 (en) 2000-07-13 2003-12-09 Ge Medical Systems Information Technologies, Inc. Wireless LAN architecture for integrated time-critical and non-time-critical services within medical facilities
KR100469735B1 (ko) 2000-07-18 2005-02-02 삼성전자주식회사 부호분할다중접속 이동통신시스템의 호 수용방법
US6529142B2 (en) 2000-07-24 2003-03-04 Shipong Norman Yeh Parked vehicle location finder
US7161476B2 (en) 2000-07-26 2007-01-09 Bridgestone Firestone North American Tire, Llc Electronic tire management system
EP2842771B1 (en) 2000-07-26 2020-03-25 Bridgestone Americas Tire Operations, LLC Electronic tire management system
US6795823B1 (en) 2000-08-31 2004-09-21 Neoris Logistics, Inc. Centralized system and method for optimally routing and tracking articles
US6360169B1 (en) 2000-09-07 2002-03-19 Umesh Dudabey System for determining and tracking changes in location
US6765484B2 (en) 2000-09-07 2004-07-20 Savi Technology, Inc. Method and apparatus for supplying commands to a tag
DE60141841D1 (de) 2000-09-07 2010-05-27 Savi Techn Inc Verfahren und vorrichtung zur verfolgung von geräten mit radiofrequenzetiketten
US6720888B2 (en) 2000-09-07 2004-04-13 Savi Technology, Inc. Method and apparatus for tracking mobile devices using tags
US6542114B1 (en) 2000-09-07 2003-04-01 Savi Technology, Inc. Method and apparatus for tracking items using dual frequency tags
US6940392B2 (en) 2001-04-24 2005-09-06 Savi Technology, Inc. Method and apparatus for varying signals transmitted by a tag
US20020085589A1 (en) * 2000-09-22 2002-07-04 Narad Networks, Inc. System and method for assigning network data packet header
GB2367720B (en) 2000-10-04 2004-08-18 Hewlett Packard Co Method and apparatus for disabling mobile telephones
US6883710B2 (en) 2000-10-11 2005-04-26 Amerasia International Technology, Inc. Article tracking system and method
US6424264B1 (en) 2000-10-12 2002-07-23 Safetzone Technologies Corporation System for real-time location of people in a fixed environment
AU2002230821A1 (en) 2000-10-30 2002-05-15 Ocean Systems Engineering Corporation Environment and hazard condition monitoring system
US7034683B2 (en) 2000-11-06 2006-04-25 Loran Technologies, Inc. Electronic vehicle product and personnel monitoring
US6747562B2 (en) 2001-11-13 2004-06-08 Safetzone Technologies Corporation Identification tag for real-time location of people
US7253717B2 (en) 2000-11-29 2007-08-07 Mobile Technics Llc Method and system for communicating with and tracking RFID transponders
US6600418B2 (en) 2000-12-12 2003-07-29 3M Innovative Properties Company Object tracking and management system and method using radio-frequency identification tags
US6807792B2 (en) 2000-12-18 2004-10-26 Tetra Laval Holdings & Finance, Sa Spout singulator for closure feed system
US7155264B2 (en) 2000-12-22 2006-12-26 Terahop Networks, Inc. Systems and methods having LPRF device wake up using wireless tag
US20080303897A1 (en) 2000-12-22 2008-12-11 Terahop Networks, Inc. Visually capturing and monitoring contents and events of cargo container
US6745027B2 (en) 2000-12-22 2004-06-01 Seekernet Incorporated Class switched networks for tracking articles
US7830850B2 (en) 2000-12-22 2010-11-09 Terahop Networks, Inc. Class-switching in class-based data communcations network
US8280345B2 (en) 2000-12-22 2012-10-02 Google Inc. LPRF device wake up using wireless tag
US7221668B2 (en) 2000-12-22 2007-05-22 Terahop Networks, Inc. Communications within population of wireless transceivers based on common designation
US7209468B2 (en) 2000-12-22 2007-04-24 Terahop Networks, Inc. Forming communication cluster of wireless AD HOC network based on common designation
US7522568B2 (en) 2000-12-22 2009-04-21 Terahop Networks, Inc. Propagating ad hoc wireless networks based on common designation and routine
US7830273B2 (en) 2005-08-18 2010-11-09 Terahop Networks, Inc. Sensor networks for pipeline monitoring
US7133704B2 (en) 2000-12-22 2006-11-07 Terahop Networks, Inc. Manufacture of LPRF device wake up using wireless tag
US7209771B2 (en) 2000-12-22 2007-04-24 Terahop Networks, Inc. Battery powered wireless transceiver having LPRF component and second wake up receiver
US8204439B2 (en) 2000-12-22 2012-06-19 Google Inc. Wireless reader tags (WRTs) with sensor components in asset monitoring and tracking systems
US7430437B2 (en) 2000-12-22 2008-09-30 Terahop Networks, Inc. Transmitting sensor-acquired data using step-power filtering
US6934540B2 (en) 2000-12-22 2005-08-23 Seekernet, Inc. Network formation in asset-tracking system based on asset class
US7733818B2 (en) 2000-12-22 2010-06-08 Terahop Networks, Inc. Intelligent node communication using network formation messages in a mobile Ad hoc network
US20100330930A1 (en) 2000-12-22 2010-12-30 Twitchell Robert W Lprf device wake up using wireless tag
JP3816334B2 (ja) 2000-12-22 2006-08-30 株式会社エヌ・ティ・ティ・ドコモ 無線リソース割当方法及び基地局
US7200132B2 (en) 2000-12-22 2007-04-03 Terahop Networks, Inc. Forming ad hoc RSI networks among transceivers sharing common designation
US20020098861A1 (en) 2001-01-19 2002-07-25 International Business Machines Corporation Method and system for preventing wireless devices from interfering with other equipment in a sensitive area
WO2002061599A1 (en) * 2001-01-25 2002-08-08 Crescent Networks, Inc. Extension of address resolution protocol (arp) for internet protocol (ip) virtual networks
US20020146985A1 (en) 2001-01-31 2002-10-10 Axonn Corporation Battery operated remote transceiver (BORT) system and method
ATE498166T1 (de) 2001-02-12 2011-02-15 Symbol Technologies Inc Architektur zur radiofrequenzidentifizierung
US7137003B2 (en) 2001-02-27 2006-11-14 Qualcomm Incorporated Subscriber identity module verification during power management
EP1246094A1 (en) 2001-03-27 2002-10-02 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Container surveillance system and related method
WO2002087172A1 (en) 2001-04-20 2002-10-31 Motorola, Inc. Protocol and structure for self-organizing network
GB0110759D0 (en) 2001-05-02 2001-06-27 Marks Roger J Antenna clamp
US20020170961A1 (en) 2001-05-17 2002-11-21 Bruce Dickson Method and system for providing shopping assistance using RFID-tagged items
AU2002310023A1 (en) 2001-05-22 2002-12-03 Geospatial Technologies, Inc. A durable global asset-tracking device and a method of using the same
US6988667B2 (en) 2001-05-31 2006-01-24 Alien Technology Corporation Methods and apparatuses to identify devices
US6822432B2 (en) 2001-06-22 2004-11-23 Network Technologies Group, Llc Methods and systems for automated pipeline testing
US7161926B2 (en) 2001-07-03 2007-01-09 Sensoria Corporation Low-latency multi-hop ad hoc wireless network
US6894600B2 (en) 2001-07-05 2005-05-17 The Goodyear Tire & Rubber Company Energy conservation in battery powered tag
US20030141973A1 (en) 2001-07-24 2003-07-31 Hen-Geul Yeh Smart object locator
US6737974B2 (en) 2001-09-18 2004-05-18 Kent H. Dickinson Shipping container and system along with shipping method employing the same
US6674364B1 (en) 2001-09-28 2004-01-06 Digital Innovations, L.L.C. Object finder
US6766169B2 (en) 2001-10-30 2004-07-20 Qualcomm Incorporated Scheduling acquisition attempts of service providing systems
US7099337B2 (en) 2001-11-30 2006-08-29 Intel Corporation Mechanism for implementing class redirection in a cluster
US7233958B2 (en) 2002-02-01 2007-06-19 Sap Aktiengesellschaft Communications in an item tracking system
US7969306B2 (en) 2002-01-11 2011-06-28 Sap Aktiengesellschaft Context-aware and real-time item tracking system architecture and scenarios
US6972682B2 (en) 2002-01-18 2005-12-06 Georgia Tech Research Corporation Monitoring and tracking of assets by utilizing wireless communications
US6980823B2 (en) 2002-01-31 2005-12-27 Qualcomm Inc. Intermediate wake mode to track sleep clock frequency in a wireless communication device
US20050159187A1 (en) 2002-03-18 2005-07-21 Greg Mendolia Antenna system and method
US20030179073A1 (en) 2002-03-20 2003-09-25 Ohanes Ghazarian Electronic secure locking system
US6876945B2 (en) 2002-03-25 2005-04-05 Nicholas Jon Emord Seamless sensory system
JP3776821B2 (ja) * 2002-03-28 2006-05-17 富士通株式会社 アドレスアクセスシステム及び方法
US7443865B1 (en) * 2002-04-04 2008-10-28 Cisco Technology, Inc. Multiple network connections from a single PPP link with network address translation
US7327280B2 (en) 2002-08-15 2008-02-05 California Institute Of Technology Emergency vehicle traffic signal preemption system
GB0208449D0 (en) 2002-04-10 2002-05-22 Zarlink Semiconductor Ab Method of saving power in RF devices
US7230933B2 (en) 2002-04-17 2007-06-12 Microsoft Corporation Reducing idle power consumption in a networked battery operated device
US7184423B2 (en) 2002-04-23 2007-02-27 Machine Talker Inc. Self coordinated machine network
US7095738B1 (en) * 2002-05-07 2006-08-22 Cisco Technology, Inc. System and method for deriving IPv6 scope identifiers and for mapping the identifiers into IPv6 addresses
US7015817B2 (en) 2002-05-14 2006-03-21 Shuan Michael Copley Personal tracking device
CA2387106A1 (en) 2002-05-21 2003-11-21 Information Mediary Corporation Method for measuring temperature using a remote, passive, calibrated rf/rfid tag including a method for calibration
US7080190B2 (en) * 2002-05-30 2006-07-18 Lsi Logic Corporation Apparatus and method for providing transparent sharing of channel resources by multiple host machines
US20050249185A1 (en) 2002-06-07 2005-11-10 Poor Robert D Routing in wireless networks
US7251233B2 (en) 2002-06-24 2007-07-31 Intel Corporation Call routing in a location-aware network
US7221676B2 (en) * 2002-07-30 2007-05-22 Brocade Communications Systems, Inc. Supporting local IB packet communication between separate subnets
US7401157B2 (en) * 2002-07-30 2008-07-15 Brocade Communications Systems, Inc. Combining separate infiniband subnets into virtual subnets
US20040021572A1 (en) 2002-08-05 2004-02-05 Schoen Marc L. Electronic baggage tracking and identification
US6753775B2 (en) 2002-08-27 2004-06-22 Hi-G-Tek Ltd. Smart container monitoring system
US6961021B2 (en) 2002-08-29 2005-11-01 Omron Corporation Wireless node that uses a circular polarized antenna and a mechanism for preventing corner reflections of an inside of a metal box space
US6975614B2 (en) 2002-09-04 2005-12-13 Harris Corporation Intelligent communication node object beacon framework in a mobile ad hoc network
US7002472B2 (en) 2002-09-04 2006-02-21 Northrop Grumman Corporation Smart and secure container
ATE512558T1 (de) 2002-10-09 2011-06-15 Mdf Holdings Inc System und verfahren zum verfolgen der position mehrerer mobilerfunksender-/-empfaegereinheiten
US7072697B2 (en) 2002-10-22 2006-07-04 Nokia Corporation Method and device for transponder aided wake-up of a low power radio device by a wake-up event
US20040100394A1 (en) 2002-10-28 2004-05-27 Hitt Dale K. Distributed environmental control in a wireless sensor system
US7274295B2 (en) 2002-10-30 2007-09-25 At&T Bls Intellectual Property, Inc. Instantaneous mobile access to all pertinent life events
EP2485507B1 (en) 2002-11-11 2014-07-16 Nokia Corporation Location dependent messaging
US7344037B1 (en) 2002-11-18 2008-03-18 Mi-Jack Products, Inc. Inventory storage and retrieval system and method with guidance for load-handling vehicle
CA2427369A1 (en) 2002-12-24 2004-06-24 Research In Motion Limited Methods and apparatus for controlling power to electrical circuitry of a wireless communication device having a subscriber identity module (sim) interface
US7091859B2 (en) 2003-01-13 2006-08-15 Symbol Technologies, Inc. Package-integrated RF relay
EP1584077A1 (en) 2003-01-14 2005-10-12 United Technologies Corporation Shipping container and method of using same
KR101020342B1 (ko) * 2003-01-27 2011-03-08 파나소닉 주식회사 디지털 컨텐츠 분배 시스템
US20040246463A1 (en) 2003-01-29 2004-12-09 Milinusic Tomislav F. Method and apparatus for optical inertial measurement
US20040183673A1 (en) 2003-01-31 2004-09-23 Nageli Hans Peter Portable detachable self-contained tracking unit for two-way satellite communication with a central server
US8359393B2 (en) * 2003-02-13 2013-01-22 Transunion Interactive, Inc. Methods, apparatuses and systems facilitating seamless, virtual integration of online membership models and services
US7323981B2 (en) 2003-02-20 2008-01-29 Global Statistics, Inc. Container tracking system
CA2516287C (en) 2003-02-21 2008-06-17 Westinghouse Government Environmental Services Llc Cargo lock and monitoring apparatus and process
US6865184B2 (en) * 2003-03-10 2005-03-08 Cisco Technology, Inc. Arrangement for traversing an IPv4 network by IPv6 mobile nodes
US7135976B2 (en) 2003-03-31 2006-11-14 Rftrax, Inc. Wireless monitoring device
US6927688B2 (en) 2003-04-02 2005-08-09 Caci International Inc. Method for enabling communication and condition monitoring from inside of a sealed shipping container using impulse radio wireless techniques
US7489244B2 (en) 2003-04-09 2009-02-10 Visible Assets, Inc. Networked RF tag for tracking baggage
US20100033330A1 (en) 2003-04-09 2010-02-11 Visible Assets, Inc. Auditable security for cargo containers and other repositories
US7489245B2 (en) 2003-04-09 2009-02-10 Visible Assets, Inc Networked RF tag for tracking baggage
US7196622B2 (en) 2003-04-09 2007-03-27 Savi Technology, Inc. State monitoring of a container
US20040254984A1 (en) * 2003-06-12 2004-12-16 Sun Microsystems, Inc System and method for coordinating cluster serviceability updates over distributed consensus within a distributed data system cluster
KR100796878B1 (ko) 2003-06-17 2008-01-22 유나이티드 시큐리티 애플리케이션즈 아이디, 인코포레이티드 컨테이너 내용물을 식별하는 추적 시스템, 어셈블리 내의 아이템 추적 시스템, 컬렉션 내의 아이템 관리 시스템 및 컬렉션 내의 아이템 관리 방법
US7177623B2 (en) 2003-07-02 2007-02-13 The United States Of America As Represented By The Secretary Of The Army Localized cellular awareness and tracking of emergencies
US7701858B2 (en) 2003-07-17 2010-04-20 Sensicast Systems Method and apparatus for wireless communication in a mesh network
US7191934B2 (en) 2003-07-21 2007-03-20 Salamander Technologies, Inc. Technique for creating incident-specific credentials at the scene of a large-scale incident or WMD event
US7282944B2 (en) 2003-07-25 2007-10-16 Power Measurement, Ltd. Body capacitance electric field powered device for high voltage lines
US7098784B2 (en) 2003-09-03 2006-08-29 System Planning Corporation System and method for providing container security
US7158803B1 (en) 2003-09-16 2007-01-02 Verizon Corporate Services Group Inc. Emergency services for wireless data access networks
US20050087235A1 (en) 2003-10-22 2005-04-28 Skorpik James R. Sensor assembly, system including RFID sensor assemblies, and method
US7148803B2 (en) 2003-10-24 2006-12-12 Symbol Technologies, Inc. Radio frequency identification (RFID) based sensor networks
US7136667B2 (en) 2003-10-28 2006-11-14 Nokia Corporation Method and radio terminal equipment arrangement for power control, radio terminal equipment and secondary terminal unit
US7716160B2 (en) 2003-11-07 2010-05-11 Alien Technology Corporation Methods and apparatuses to identify devices
US20050125325A1 (en) 2003-12-08 2005-06-09 Chai Zhong H. Efficient aggregate summary views of massive numbers of items in highly concurrent update environments
CN1926588B (zh) 2003-12-09 2013-09-18 沙微科技公司 嵌套且毗邻的集装箱的物品层可见度
JP4629971B2 (ja) 2003-12-11 2011-02-09 株式会社半導体エネルギー研究所 非直線a/d変換されたデジタル信号対応のd/a変換回路及びそれを内蔵した音声信号処理回路及び表示装置
US7394372B2 (en) 2003-12-30 2008-07-01 G2 Microsystems Pty. Ltd. Method and apparatus for aggregating and communicating tracking information
US7212122B2 (en) 2003-12-30 2007-05-01 G2 Microsystems Pty. Ltd. Methods and apparatus of meshing and hierarchy establishment for tracking devices
US7049982B2 (en) 2003-12-31 2006-05-23 Lear Corporation Vehicle information display and communication system having an antenna array
US7526944B2 (en) 2004-01-07 2009-05-05 Ashok Sabata Remote monitoring of pipelines using wireless sensor network
JP2005209048A (ja) * 2004-01-26 2005-08-04 Meidensha Corp 監視制御システム
US20050249215A1 (en) 2004-02-19 2005-11-10 Kelsey Richard A Directing packets in a mesh network
US8311552B1 (en) * 2004-02-27 2012-11-13 Apple Inc. Dynamic allocation of host IP addresses
KR100689550B1 (ko) 2004-02-28 2007-03-02 삼성전자주식회사 모바일 애드 혹 네트워크에서 헬로 패킷 전송 방법
US7165722B2 (en) 2004-03-10 2007-01-23 Microsoft Corporation Method and system for communicating with identification tags
US7138913B2 (en) 2004-03-12 2006-11-21 Transport International Pool, Inc. Selective reporting of events in asset tracking system
US7126470B2 (en) 2004-03-31 2006-10-24 Harris Corporation Wireless ad-hoc RFID tracking system
KR100624792B1 (ko) 2004-04-22 2006-09-20 엘지전자 주식회사 무선 네트워크 시스템
US8131300B2 (en) 2004-04-28 2012-03-06 Motorola Solutions, Inc. Routing protocol within hybrid-cellular networks
US7519669B2 (en) * 2004-04-30 2009-04-14 Sap Aktiengesellschaft Prioritizing producers and consumers of an enterprise messaging system
US7348875B2 (en) 2004-05-04 2008-03-25 Battelle Memorial Institute Semi-passive radio frequency identification (RFID) tag with active beacon
US20050261037A1 (en) 2004-05-18 2005-11-24 Raghunath Mandayam T Conservation of battery power in mobile devices having communication capabilities
US7376507B1 (en) 2004-05-27 2008-05-20 Sandia Corporation Geophysics-based method of locating a stationary earth object
US7142121B2 (en) 2004-06-04 2006-11-28 Endicott Interconnect Technologies, Inc. Radio frequency device for tracking goods
US7088229B2 (en) 2004-06-14 2006-08-08 Oracle International Corporation Methods and systems for verifying the position and status of hierarchically arranged objects
UA91506C2 (ru) * 2004-06-16 2010-08-10 Конинклийке Филипс Электроникс Н.В. Распределенное резервирование ресурсов в беспроводной сети произвольной структуры
GB2417650A (en) * 2004-07-30 2006-03-01 Orange Personal Comm Serv Ltd Tunnelling IPv6 packets over IPv4 packet radio network wherein an IPv6 address including a tunnel end identifier of the IPv4 bearer is formed
US7319397B2 (en) 2004-08-26 2008-01-15 Avante International Technology, Inc. RFID device for object monitoring, locating, and tracking
US7536188B1 (en) 2004-09-01 2009-05-19 Avaya Inc. Communication device locating system
US7573879B2 (en) * 2004-09-03 2009-08-11 Intel Corporation Method and apparatus for generating a header in a communication network
JP2006075274A (ja) 2004-09-08 2006-03-23 Tiger Vacuum Bottle Co Ltd 電気炊飯器
US7419101B2 (en) 2004-09-13 2008-09-02 Omron Corporation Physical distribution management apparatus, physical distribution management pallet and physical distribution management system
WO2006035265A1 (en) * 2004-09-29 2006-04-06 Telefonaktiebolaget L M Ericsson (Publ) Maintaining a view of a cluster's membership
US7349803B2 (en) 2004-10-18 2008-03-25 Trex Enterprises Corp. Daytime stellar imager
US7349804B2 (en) 2004-10-18 2008-03-25 Trex Enterprises Corp. Daytime stellar imager
US7339469B2 (en) 2004-11-22 2008-03-04 Maersk Logistics Usa, Inc. Shipping container monitoring and tracking system
TW200617792A (en) 2004-11-26 2006-06-01 Ind Tech Res Inst Method and device applying RFID system tag to serve as local card reader and for power detection
US7317382B2 (en) 2004-12-13 2008-01-08 Battelle Memorial Institute Remote communications devices, wireless communications systems, and wireless communications methods
US7330736B2 (en) 2004-12-17 2008-02-12 Bbn Technologies Corp. Methods and apparatus for reduced energy communication in an ad hoc network
FI118291B (fi) 2004-12-22 2007-09-14 Timo D Haemaelaeinen Energiatehokas langaton anturiverkko, solmulaitteita sitä varten sekä menetelmä tietoliikenteen järjestämiseksi langattomassa anturiverkossa
US7589616B2 (en) 2005-01-20 2009-09-15 Avaya Inc. Mobile devices including RFID tag readers
US7121502B2 (en) 2005-01-26 2006-10-17 Raytheon Company Pseudo GPS aided multiple projectile bistatic guidance
US20060231611A1 (en) 2005-03-23 2006-10-19 Chakiris Phil M Radio frequency identification purchase transactions
US7369047B2 (en) 2005-03-30 2008-05-06 Crossbow Technology, Inc. Adaptive sensing network
EP1872087A4 (en) 2005-04-19 2012-10-17 Jaymart Sensors Llc MINIATURED INERTIA MEASURING UNIT AND ASSOCIATED PROCEDURES
US8111143B2 (en) 2005-04-29 2012-02-07 Hewlett-Packard Development Company, L.P. Assembly for monitoring an environment
KR100653527B1 (ko) * 2005-05-30 2006-12-05 주식회사 팬택앤큐리텔 인터넷 프로토콜 주소 운용 방법
EP2228969B1 (en) 2005-06-09 2017-04-19 Whirlpool Corporation Software architecture system and method for communication with, and management of, at least one component within a household appliance
US8533253B2 (en) 2005-06-09 2013-09-10 Whirlpool Corporation Distributed object-oriented appliance control system
US9164867B2 (en) * 2005-06-09 2015-10-20 Whirlpool Corporation Network for communicating information related to a consumable to an appliance
US20070008408A1 (en) 2005-06-22 2007-01-11 Ron Zehavi Wide area security system and method
EP1905200A1 (en) 2005-07-01 2008-04-02 Terahop Networks, Inc. Nondeterministic and deterministic network routing
KR100766039B1 (ko) 2005-07-06 2007-10-12 삼성전자주식회사 무선 통신망에서 전송되는 슈퍼프레임의 구조, 상기슈퍼프레임의 전송 방법, 및 상기 슈퍼프레임을 통한디바이스의 웨이크업 제어 방법
JP2007058166A (ja) 2005-07-25 2007-03-08 Konica Minolta Opto Inc ダイクロイックプリズム及びこれを用いた画像投影装置。
US7440781B2 (en) 2005-10-07 2008-10-21 Symbol Technologies, Inc. System and method for power conservation in a wireless device
WO2007064880A2 (en) * 2005-12-01 2007-06-07 Firestar Software, Inc. System and method for exchanging information among exchange applications
EP1972159A1 (en) 2006-01-01 2008-09-24 Terahop Networks, Inc. Determining presence of radio frequency communication device
US8595041B2 (en) * 2006-02-07 2013-11-26 Sap Ag Task responsibility system
US7765307B1 (en) * 2006-02-28 2010-07-27 Symantec Operating Corporation Bulk network transmissions using multiple connections primed to optimize transfer parameters
US20070237082A1 (en) * 2006-03-31 2007-10-11 Woojong Han Techniques for sharing connection queues and performing congestion management
KR100728040B1 (ko) * 2006-04-28 2007-06-13 삼성전자주식회사 IPv6 유니크 로컬 주소 생성 방법 및 장치
GB2437791A (en) * 2006-05-03 2007-11-07 Skype Ltd Secure communication using protocol encapsulation
US20100191624A1 (en) * 2006-09-05 2010-07-29 Bmc Software, Inc. System and method for classifying requests
US7657659B1 (en) * 2006-11-30 2010-02-02 Vmware, Inc. Partial copying of data to transmit buffer for virtual network device
CN101222515A (zh) * 2007-01-12 2008-07-16 英华达(南京)科技有限公司 不同通讯网络间的数据传递方法及其数据传递系统
US8548908B2 (en) 2007-04-11 2013-10-01 First Data Corporation Mobile commerce infrastructure systems and methods
US7990947B2 (en) 2007-06-12 2011-08-02 Robert W. Twitchell, Jr. Network watermark
US7937068B2 (en) 2007-08-23 2011-05-03 Motorola Solutions, Inc. Emergency dispatch management and prioritization of communication resources
JP2009059201A (ja) * 2007-08-31 2009-03-19 Hitachi Ltd ファイルレベルの仮想化と移行を行う中間装置
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
JP2009118367A (ja) * 2007-11-09 2009-05-28 Sony Corp 記録装置および記録方法、プログラム、並びに記録システム
CN101170734B (zh) * 2007-11-28 2010-09-22 华为技术有限公司 实现不同网络之间业务互通的方法及装置
CN101527704B (zh) * 2008-03-05 2012-11-07 华为技术有限公司 一种多协议信令转换的方法和装置
US8315237B2 (en) 2008-10-29 2012-11-20 Google Inc. Managing and monitoring emergency services sector resources
US8462662B2 (en) 2008-05-16 2013-06-11 Google Inc. Updating node presence based on communication pathway
WO2009151877A2 (en) 2008-05-16 2009-12-17 Terahop Networks, Inc. Systems and apparatus for securing a container
US8369343B2 (en) * 2008-06-03 2013-02-05 Microsoft Corporation Device virtualization
US8583781B2 (en) 2009-01-28 2013-11-12 Headwater Partners I Llc Simplified service network architecture
JP5153475B2 (ja) * 2008-06-24 2013-02-27 キヤノン株式会社 情報処理装置、画像処理装置、制御方法、及びプログラム
US7991757B2 (en) * 2008-08-12 2011-08-02 Amazon Technologies, Inc. System for obtaining recommendations from multiple recommenders
US8055286B1 (en) 2008-08-27 2011-11-08 Sprint Spectrum L.P. Modification of en-route message to add destination port number selected based at least in part on message originator
US8155026B2 (en) 2008-09-11 2012-04-10 Verizon Patent And Licensing Inc. Method and system for identifying network paths
CA2778905A1 (en) 2008-10-29 2010-08-26 Google Inc. Network and application merging and asset tracking
US8275404B2 (en) 2008-10-29 2012-09-25 Google Inc. Managing and monitoring emergency services sector resources
US8300551B2 (en) 2009-01-28 2012-10-30 Google Inc. Ascertaining presence in wireless networks
US8705523B2 (en) 2009-02-05 2014-04-22 Google Inc. Conjoined class-based networking
US7990897B2 (en) 2009-03-11 2011-08-02 Sony Corporation Method and apparatus for a wireless home mesh network with network topology visualizer
US8234407B2 (en) * 2009-06-30 2012-07-31 Oracle America, Inc. Network use of virtual addresses without pinning or registration
US8713128B2 (en) * 2009-07-24 2014-04-29 Broadcom Corporation Method and system for utilizing native ethernet as a virtual memory interconnect
JP5620707B2 (ja) * 2010-04-21 2014-11-05 パナソニック株式会社 照明システム
US9418052B2 (en) 2010-04-28 2016-08-16 Arm Finland Oy Method and apparatus for web service schema management
US20110295938A1 (en) * 2010-06-01 2011-12-01 Vanderpohl Iii Irvin John Multi-master communications in a controller area network
KR101120387B1 (ko) 2010-06-24 2012-03-09 엔에이치엔(주) 문서 수집 시스템 및 방법
US8447846B2 (en) * 2010-08-06 2013-05-21 International Business Machines Corporation Using unique local unicast addresses in a global domain name server by providing a centralized registry
US20120053967A1 (en) * 2010-09-01 2012-03-01 American Express Travel Related Services Company, Inc. System and Method for Account Reconciliation
US9679299B2 (en) * 2010-09-03 2017-06-13 Visa International Service Association Systems and methods to provide real-time offers via a cooperative database
US9100443B2 (en) 2011-01-11 2015-08-04 International Business Machines Corporation Communication protocol for virtual input/output server (VIOS) cluster communication
US10380585B2 (en) * 2011-06-02 2019-08-13 Visa International Service Association Local usage of electronic tokens in a transaction processing system
US8606868B2 (en) * 2011-06-10 2013-12-10 International Business Machines Corporation Community based measurement of capabilities and availability
US8990892B2 (en) * 2011-07-06 2015-03-24 Cisco Technology, Inc. Adapting extensible authentication protocol for layer 3 mesh networks
CN102281180A (zh) * 2011-07-14 2011-12-14 冶金自动化研究设计院 应用于不同局域网的终端相互通讯的虚拟网卡通讯装置
US20130041808A1 (en) * 2011-08-10 2013-02-14 Nathalie Pham Distributed media access
US8688807B2 (en) * 2011-08-18 2014-04-01 Cisco Technology, Inc. Deriving unique local addresses from device names
US20130073681A1 (en) * 2011-09-16 2013-03-21 Microsoft Corporation Creating interactive zones
US9466075B2 (en) * 2011-09-20 2016-10-11 Visa International Service Association Systems and methods to process referrals in offer campaigns
WO2013052678A2 (en) 2011-10-04 2013-04-11 Advanergy, Inc. Battery management system and method
EP2602967B1 (en) * 2011-10-07 2019-04-17 LG Electronics Inc. Method for accessing multiple networks and corresponding communication equipment
EP2769275B1 (en) * 2011-10-21 2021-05-12 Google LLC User-friendly, network connected learning programmable device and related method
US8812856B2 (en) * 2012-02-10 2014-08-19 Zynga Inc. Methods and systems for state synchronization over a non-reliable network using signature processing
JP5996905B2 (ja) * 2012-03-30 2016-09-21 シャープ株式会社 制御装置、通信ネットワークシステム、ノード情報管理方法
US9054949B2 (en) * 2012-04-17 2015-06-09 International Business Machines Corporation Updating zone information in a distributed switch of data forwarders
US20130318314A1 (en) * 2012-05-25 2013-11-28 Red Hat, Inc. Managing copies of data on multiple nodes using a data controller node to avoid transaction deadlock
US9544927B2 (en) * 2012-07-02 2017-01-10 Alcatel Lucent System, method and computer readable medium for bearer activation in a core network for wireless devices
US9032072B2 (en) * 2012-08-08 2015-05-12 Empire Technology Development Llc Real-time compressive data collection for cloud monitoring
US8539567B1 (en) 2012-09-22 2013-09-17 Nest Labs, Inc. Multi-tiered authentication methods for facilitating communications amongst smart home devices and cloud-based servers
JP6086195B2 (ja) * 2012-09-26 2017-03-01 岩崎通信機株式会社 無線メッシュネットワークシステムおよび無線通信装置
US9037896B2 (en) 2012-11-05 2015-05-19 Cisco Technology, Inc. Root cause analysis in a sensor-actuator fabric of a connected environment
US20140282923A1 (en) 2013-03-14 2014-09-18 Motorola Mobility Llc Device security utilizing continually changing qr codes
US9112790B2 (en) * 2013-06-25 2015-08-18 Google Inc. Fabric network
US9191209B2 (en) 2013-06-25 2015-11-17 Google Inc. Efficient communication for devices of a home network

Also Published As

Publication number Publication date
EP3611677B1 (en) 2021-04-21
CN110086763A (zh) 2019-08-02
AU2014302721A1 (en) 2016-01-21
AU2014302721B2 (en) 2016-02-11
RU2018110075A (ru) 2019-02-27
AU2017210654A1 (en) 2017-08-24
KR101951785B1 (ko) 2019-02-25
US10693760B2 (en) 2020-06-23
US20150046509A1 (en) 2015-02-12
AU2017261508A1 (en) 2017-12-07
MX368748B (es) 2019-09-30
CN114978791A (zh) 2022-08-30
US9313280B2 (en) 2016-04-12
RU2754308C1 (ru) 2021-08-31
JP2017108448A (ja) 2017-06-15
JP2020102877A (ja) 2020-07-02
KR20170014011A (ko) 2017-02-07
AU2016203048A1 (en) 2016-06-02
KR101847576B1 (ko) 2018-04-10
US9112790B2 (en) 2015-08-18
EP3866409A1 (en) 2021-08-18
US20150046584A1 (en) 2015-02-12
AU2016216596B2 (en) 2017-08-31
AU2017261508B2 (en) 2019-09-12
US9002967B2 (en) 2015-04-07
US9021133B1 (en) 2015-04-28
JP2018110453A (ja) 2018-07-12
AU2017210654B2 (en) 2017-09-07
KR102050848B1 (ko) 2019-12-02
KR20180038063A (ko) 2018-04-13
US9172759B2 (en) 2015-10-27
EP2978166B1 (en) 2018-08-08
AU2016203041A1 (en) 2016-06-02
JP6660348B2 (ja) 2020-03-11
CN105917615A (zh) 2016-08-31
MX2015018002A (es) 2017-03-01
KR102028146B1 (ko) 2019-10-02
EP4319068A3 (en) 2024-04-17
EP2978166A1 (en) 2016-01-27
EP3866409B1 (en) 2023-12-27
US9015266B2 (en) 2015-04-21
US20150039670A1 (en) 2015-02-05
CA2916589A1 (en) 2014-12-31
AU2016203041B2 (en) 2016-06-09
BR112015032501A2 (pt) 2018-04-10
JP6679791B2 (ja) 2020-04-15
JP2017175666A (ja) 2017-09-28
AU2016203048B2 (en) 2016-06-09
MX352768B (es) 2017-12-07
US9923801B2 (en) 2018-03-20
KR20190018773A (ko) 2019-02-25
JP6174281B2 (ja) 2017-08-02
CA3131902C (en) 2024-02-13
KR20170096215A (ko) 2017-08-23
KR101769082B1 (ko) 2017-08-17
EP2920921A1 (en) 2015-09-23
RU2728764C1 (ru) 2020-07-31
CA3131902A1 (en) 2014-12-31
CA2916589C (en) 2021-11-16
RU2650028C2 (ru) 2018-04-06
JP6126252B2 (ja) 2017-05-10
KR20190112216A (ko) 2019-10-02
JP2016529743A (ja) 2016-09-23
KR20160021890A (ko) 2016-02-26
RU2742327C1 (ru) 2021-02-04
AU2019271917A1 (en) 2019-12-19
RU2018110075A3 (pt) 2019-02-27
JP6799560B2 (ja) 2020-12-16
RU2016102034A (ru) 2017-07-28
WO2014209898A1 (en) 2014-12-31
CN105917615B (zh) 2019-03-01
US20150019650A1 (en) 2015-01-15
RU2693289C2 (ru) 2019-07-02
EP4319068A2 (en) 2024-02-07
US20140379817A1 (en) 2014-12-25
JP6786736B2 (ja) 2020-11-18
US9002968B2 (en) 2015-04-07
JP2021043985A (ja) 2021-03-18
US20150127735A1 (en) 2015-05-07
JP6858300B2 (ja) 2021-04-14
EP3611677A1 (en) 2020-02-19
US20180152373A1 (en) 2018-05-31
KR101702285B1 (ko) 2017-02-06
AU2019271917B2 (en) 2020-08-13
EP2920921B1 (en) 2017-03-29
US20150019669A1 (en) 2015-01-15
US20160218955A1 (en) 2016-07-28
CA3225089A1 (en) 2014-12-31
AU2016216596A1 (en) 2016-09-01
JP2019106735A (ja) 2019-06-27
EP3367623A1 (en) 2018-08-29
EP3367623B1 (en) 2019-11-20
CN110086763B (zh) 2022-05-27

Similar Documents

Publication Publication Date Title
JP6786736B2 (ja) ファブリックネットワーク
CN114978791B (zh) 结构网络

Legal Events

Date Code Title Description
B25F Entry of change of name and/or headquarter and transfer of application, patent and certif. of addition of invention: change of name on requirement

Owner name: GOOGLE INC. (US)

B25D Requested change of name of applicant approved

Owner name: GOOGLE LLC (US)

B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 23/06/2014, OBSERVADAS AS CONDICOES LEGAIS