BR112019012808A2 - tomada de ação com base em um gráfico físico - Google Patents

tomada de ação com base em um gráfico físico Download PDF

Info

Publication number
BR112019012808A2
BR112019012808A2 BR112019012808A BR112019012808A BR112019012808A2 BR 112019012808 A2 BR112019012808 A2 BR 112019012808A2 BR 112019012808 A BR112019012808 A BR 112019012808A BR 112019012808 A BR112019012808 A BR 112019012808A BR 112019012808 A2 BR112019012808 A2 BR 112019012808A2
Authority
BR
Brazil
Prior art keywords
physical
detected
agent
user
computer
Prior art date
Application number
BR112019012808A
Other languages
English (en)
Inventor
Mital Vijay
Original Assignee
Microsoft Technology Licensing 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 Microsoft Technology Licensing Llc filed Critical Microsoft Technology Licensing Llc
Publication of BR112019012808A2 publication Critical patent/BR112019012808A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • G06F16/532Query formulation, e.g. graphical querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/045Explanation of inference; Explainable artificial intelligence [XAI]; Interpretable artificial intelligence
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Navigation (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
  • Manipulator (AREA)
  • Image Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)

Abstract

a presente invenção refere-se à tomada de ação com base em um gráfico físico. a tomada de ações ocorre com o uso de um agente que interpreta comando(s) (tais como comandos de linguagem natural) de um usuário. o agente responde ao(s) comando(s) por meio da formulação de pelo menos uma consulta em um gráfico físico que representa o estado de uma ou mais entidades físicas dentro de um espaço físico e que são observadas por uma pluralidade de sensores. o agente, em seguida, usa a consulta ou consultas feitas no gráfico físico. em uma relação responsiva às respostas à consulta, o agente identifica as ações a tomar. tais ações poderão incluir ações, tais como, a apresentação de informações ao usuário, e o envio de comunicações a outras pessoas. no entanto, as ações poderão ainda incluir ações físicas. por exemplo, o agente poderá incluir um mecanismo de ação física que realiza ações físicas (tais como, através de um robô ou drone).

Description

Relatório Descritivo da Patente de Invenção para TOMADA DE AÇÃO COM BASE EM UM GRÁFICO FÍSICO.
[0001] FUNDAMENTOS [0002] Os sistemas de computação e suas redes relacionadas têm revolucionado enormemente o mundo. No início, os sistemas de computação só eram capazes de realizar tarefas simples. No entanto, conforme o aumento da energia de processamento e sua crescente disponibilidade, a complexidade das tarefas realizadas por um sistema de computação cresceu vertiginosamente. De maneira similar, a complexidade dos hardwares e a capacidade dos sistemas de computação aumentaram consideravelmente, tal como exemplificado na computação em nuvem que é suportada por grandes centros de dados.
[0003] Por um longo período de tempo, os sistemas de computação fizeram essencialmente somente aquilo que lhes era imposto por meio de suas instruções ou seus softwares. No entanto, os softwares e o uso de hardwares estão se tornando de tal modo avançados que os sistemas de computação se tornaram agora, mais do que nunca antes, capazes de um certo nível de tomada de decisão em níveis mais elevados. No momento presente, em alguns aspectos, o nível de tomada de decisão pode se aproximar, rivalizar, ou até mesmo exceder a capacidade do cérebro humano na tomada de decisões. Em outras palavras, os sistemas de computação são agora capazes de usar um nível de inteligência artificial.
[0004] Um exemplo de inteligência artificial é o reconhecimento de estímulos externos do mundo físico. Por exemplo, a tecnologia de reconhecimento de voz se aperfeiçoou muito, permitindo um alto nível de precisão na detecção de palavras faladas, ou até mesmo identificar uma pessoa que está falando. De maneira similar, a visão do computador permite que os sistemas de computação identifiquem automaticamente objetos dentro de uma imagem ou quadro de vídeo
Petição 870190057079, de 19/06/2019, pág. 26/74
2/45 específico, ou reconheçam uma atividade humana dentro de uma série de quadros de vídeo. Como um exemplo, a tecnologia de reconhecimento facial permite que os sistemas de computação reconheçam rostos, e a tecnologia de reconhecimento de atividade permite que os sistemas de computação saibam se duas pessoas próximas trabalham juntas.
[0005] Cada uma dessas tecnologias pode empregar a aprendizagem profunda (deep learning) (mecanismos de aprendizagem baseados no reforço ou baseados na Rede Neural Profunda) além de algoritmos de aprendizado de máquina a fim de aprender a partir da experiência o que está provocando um som, além de objetos e pessoas que estão dentro de uma imagem, deste modo aumentando a precisão do reconhecimento com o passar do tempo. Na área do reconhecimento de objetos dentro de uma cena de imagem mais complexa com grande quantidade de distrações visuais, a tecnologia de visão de computador avançada agora excede a capacidade de um ser humano no sentido de rápida e precisamente reconhecer objetos de interesse dentro daquela cena. Um hardware, tal como o hardware de matriz de transformação das unidades de processamento gráfico (GPU), poderá também contribuir para a rápida velocidade no reconhecimento de objeto no contexto das redes neurais profundas.
[0006] A matéria reivindicada no presente documento não se limita às modalidades que solucionam quaisquer desvantagens ou que operam apenas em ambientes tais como os acima descritos. Em contrapartida, os presentes fundamentos são tão somente providos no sentido de ilustrar uma área tecnológica exemplar na qual algumas modalidades descritas no presente documento poderão ser praticadas. [0007] BREVE SUMÁRIO [0008] Pelo menos algumas modalidades descritas no presente documento se referem à tomada de decisão com base em um gráfico
Petição 870190057079, de 19/06/2019, pág. 27/74
3/45 físico. A tomada de ações ocorre com o uso de um agente que interpreta um ou mais comandos de um usuário. Por exemplo, os comandos podem ser emitidos pelo usuário em linguagem natural, em cujo caso os comandos serão interpretados através de um mecanismo de linguagem natural. O agente responde aos comandos por meio da formulação de pelo menos uma consulta em um gráfico físico que representa o estado de uma ou mais entidades físicas dentro de um espaço físico e que são observadas por uma pluralidade de sensores. O agente, em seguida, usa a consulta ou consultas feitas no gráfico físico. Em resposta às respostas da consulta, o agente identifica as ações a tomar. Essas ações podem incluir ações, tais como, apresentar informações ao usuário, e enviar comunicações a outras pessoas. No entanto, as ações poderão incluir ainda ações físicas. Por exemplo, o agente poderá incluir um mecanismo de ação física que realiza ações físicas (por exemplo, através de um robô ou drone).
[0009] Sendo assim, os princípios descritos no presente documento proveem um agente de realidade que responde a consultas e comandos emitidos por um usuário ao avaliar um gráfico de uma parte do mundo real. Em algumas modalidades, o agente de realidade poderá até mesmo influenciar o mundo real em resposta às consultas ou comandos emitidos por um usuário. O agente se torna uma amplificação do usuário no próprio mundo real. O agente tem mais capacidade de observar as informações e as atividades do mundo real do que, muitas vezes, um usuário poderia. O agente tem mais capacidade de lembrar e raciocinar sobre tais informações do mundo real. Por fim, o agente tem potencialmente mais capacidade de tomar ações físicas no mundo real com base nas informações do ou raciocinar sobre o mundo real.
[0010] O presente sumário é provido no sentido de introduzir uma seleção de conceitos de uma maneira simplificada, conceitos esses
Petição 870190057079, de 19/06/2019, pág. 28/74
4/45 que serão descritos em mais pormenor na seção Descrição Detalhada. O presente sumário não tem a intenção de identificar os aspectos chave ou os aspectos essenciais da matéria ora reivindicada, nem tampouco pretende ser usado como um auxiliar na determinação do âmbito de aplicação da matéria ora reivindicada.
[0011] BREVE DESCRIÇÃO DOS DESENHOS [0012] A fim de descrever a maneira na qual as vantagens acima apresentadas ou ainda outras ou os aspectos da presente invenção poderão ser obtidos, uma descrição mais específica da presente invenção acima explicada em poucas palavras será produzida com referência a modalidades específicas da mesma, as quais são ilustradas nos desenhos em anexo. Com o entendimento de que esses desenhos ilustram apenas modalidades típicas da presente invenção e que, por conseguinte, não devem ser considerados como uma limitação do seu âmbito de aplicação, a presente invenção será descrita e explicada com maior especificidade e detalhamento através do uso dos desenhos em anexo, nos quais:
[0013] a Figura 1 ilustra um sistema de computador exemplar no qual os princípios descritos no presente documento poderão ser usados;
[0014] a Figura 2 ilustra um ambiente no qual os princípios descritos no presente documento poderão operar, cujo ambiente inclui um espaço físico que inclui múltiplas entidades físicas e múltiplos sensores, um componente de reconhecimento que detecta aspectos das entidades físicas dentro do espaço físico, e um armazenador de aspectos que armazena os aspectos detectados de tais entidades físicas, de tal modo que uma computação e uma consulta possam ser feitas com relação a esses aspectos;
[0015] a Figura 3 ilustra um fluxograma de um método para o monitoramento de entidades físicas dentro de um local e que pode ser
Petição 870190057079, de 19/06/2019, pág. 29/74
5/45 feito no ambiente da Figura 2;
[0016] a Figura 4 ilustra uma estrutura de dados de monitoramento de entidade que pode ser usada no sentido de ajudar na execução do método da Figura 3, e que poderá ser usada na realização de consultas posteriores sobre as entidades físicas monitoradas;
[0017] a Figura 5 ilustra um fluxograma de um método para uma eficiente renderização de segmentos de sinal de interesse;
[0018] a Figura 6 ilustra um fluxograma de um método para o controle da criação de ou do acesso a informações detectadas por um ou mais sensores em um espaço físico;
[0019] a Figura 7 ilustra um fluxo recorrente que mostra que, em adição à criação de um gráfico navegável em computador de aspectos detectados no espaço físico, poderá ocorrer também a redução do gráfico navegável em computador a fim de, assim, manter o gráfico navegável em computador do mundo real em um tamanho gerenciável;
[0020] a Figura 8 ilustra um fluxograma do método para um agente (no presente documento, também chamado de “agente de realidade”) a fim de tomar ações com base nas observações do mundo real;
[0021] a Figura 9 ilustra um exemplo de ambiente operacional para um agente (tal como o agente da Figura 8) para a tomada de ações em resposta aos comandos de um usuário; e [0022] a Figura 10 ilustra um fluxograma de um método para a definição de uma ou mais condições físicas sobre as quais realizar uma ou mais ações.
[0023] DESCRIÇÃO DETALHADA [0024] Pelo menos algumas modalidades descritas no presente documento se referem a uma tomada de ações com base em um gráfico físico. A tomada de ações ocorre com o uso de um agente que interpreta um ou mais comandos de um usuário. Por exemplo, os
Petição 870190057079, de 19/06/2019, pág. 30/74
6/45 comandos podem ser emitidos pelo usuário em linguagem natural, em cujo caso os comandos deverão ser interpretados através de um mecanismo de linguagem natural. O agente responde aos comandos ao formular pelo menos uma consulta em um gráfico físico que representa o estado de uma ou mais entidades físicas dentro de um espaço físico e que são observadas por uma pluralidade de sensores. O agente em seguida usa a consulta ou consultas feitas no gráfico físico. Em resposta às respostas das consultas, o agente identifica as ações a tomar. Essas ações poderão incluir ações tais como apresentar inferiores ao usuário, e enviar comunicações a outras pessoas. No entanto, as ações poderão incluir ainda ações físicas. Por exemplo, o agente poderá incluir um mecanismo de ação física que realiza ações físicas (por exemplo, através de um robô ou drone).
[0025] Sendo assim, os princípios descritos no presente documento proveem um agente de realidade que responde às consultas ou aos comandos emitidos pelo usuário ao avaliar um gráfico de uma parte do mundo real. Em algumas modalidades, o agente de realidade poderá até mesmo influenciar o mundo real em resposta às consultas ou comandos emitidos por um usuário. O agente se torna uma amplificação do usuário no próprio mundo real. O agente tem mais capacidade de observar as informações e as atividades do mundo real do que, muitas vezes, um usuário poderia. O agente tem mais capacidade de lembrar e raciocinar sobre tais informações do mundo real. Por fim, o agente tem potencialmente mais capacidade de tomar ações físicas no mundo real com base nas informações do ou raciocinar sobre o mundo real.
[0026] Uma vez que os princípios descritos no presente documento operam no contexto de um sistema de computação, será descrito um sistema de computação de acordo com a Figura 1. Em seguida, serão descritos os princípios dos fundamentos sobre os quais
Petição 870190057079, de 19/06/2019, pág. 31/74
7/45 uma computação ambiental pode ser executada de acordo com as Figuras 2 a 4. Em seguida, será descrita a obtenção de segmentos de sinal de um gráfico navegável em computador de acordo com a Figura 5. Em seguida, será descrita a aplicação de segurança no contexto de uma computação ambiental de acordo com a Figura 6. O gerenciamento do tamanho do gráfico navegável em computador será descrito de acordo com a Figura 7. Em seguida, será descrito um agente de realidade de acordo com as Figuras 8 e 9. Por fim, um método que afeta o futuro por meio da especificação de condições físicas será descrito de acordo com a Figura 10.
[0027] Hoje em dia, os sistemas de computação assumem, cada vez mais, uma ampla variedade de formas. Os sistemas de computação podem, por exemplo, ser dispositivos portáteis, aparelhos, computadores do tipo laptop, computadores de mesa, computadores de grande porte, sistemas computacionais distribuídos, centros de dados, ou ainda dispositivos que não são convencionalmente considerados como um sistema de computação, tais como os vestíveis (por exemplo, óculos, relógios, pulseiras, e assim por diante). No presente relatório descritivo e nas reivindicações, o termo “sistema de computação” é definido de maneira ampla, incluindo qualquer dispositivo ou sistema (ou combinação dos mesmos) que inclua pelo menos um processador físico ou tangível, ou uma memória física ou tangível, capaz de conter nas mesmas instruções executáveis em computador que podem ser executadas por um processador. A memória pode ter qualquer forma e pode depender da natureza e forma do sistema de computação. Um sistema de computação pode ser distribuído em um ambiente de rede e pode incluir múltiplos sistemas de computação constituintes.
[0028] Tal como ilustrado na Figura 1, em sua configuração mais básica, um sistema de computação 100 tipicamente inclui pelo menos
Petição 870190057079, de 19/06/2019, pág. 32/74
8/45 uma unidade de processamento de hardware 102 e uma memória 104. A memória 104 pode ser uma memória de sistema físico, que poderá ser volátil, não volátil, ou uma combinação das duas. O termo “memória” pode também ser usado no presente documento no sentido de um armazenador de massa não volátil, tal como um meio de armazenamento físico. Quando o sistema de computação é distribuído, a capacidade de processamento, memória e/ou armazenamento poderá ser também distribuída.
[0029] O sistema de computação 100 tem no mesmo múltiplas estruturas, muitas vezes, referidas como um “componente executável”. Por exemplo, a memória 104 do sistema de computação 100 é ilustrada incluindo um componente executável 106. O termo “componente executável” é o nome para uma estrutura bem conhecida a uma pessoa com conhecimento simples na técnica do campo da computação como sendo uma estrutura que poderá ser um software, um hardware, ou uma combinação dos mesmos. Por exemplo, quando implementada em um software, uma pessoa com conhecimento simples na técnica poderá entender que a estrutura de um componente executável poderá incluir objetos, rotinas, métodos de software que podem ser executados em um sistema de computação, mesmo que tal componente executável exista na memória temporária de um sistema de computação, ou mesmo que tal componente executável exista no meio de armazenamento legível por computador.
[0030] Em tal caso, uma pessoa com conhecimento simples na técnica poderá reconhecer que a estrutura do componente executável existe em um meio legível por computador de tal modo que, quando interpretado por um ou mais processadores de um sistema de computação (por exemplo, por um encadeamento de processador), o sistema de computação realize uma função. Tal estrutura poderá ser legível por computador diretamente pelos processadores (tal como no
Petição 870190057079, de 19/06/2019, pág. 33/74
9/45 caso quando o componente executável for binário). De maneira alternativa, a estrutura poderá ser feita de modo a ser interpretável e/ou compilada (quer em um único estágio ou em múltiplos estágios) de modo a gerar tal binário que é diretamente interpretável pelos processadores. Tal entendimento desses exemplos de estruturas de um componente executável está bem dentro do entendimento de uma pessoa com conhecimento simples na técnica de computação ao usar o termo “componente executável”.
[0031] O termo “componente executável” é também bem entendido por uma pessoa com conhecimento simples na técnica ao incluir estruturas que são implementadas exclusivamente ou quase que exclusivamente em um hardware, tal como dentro de uma matriz de portas programáveis em campo (FPGA), em um circuito integrado de aplicação específica (ASIC), ou em qualquer outro circuito específico. Por conseguinte, o termo “componente executável” é um termo para uma estrutura bem conhecida por aqueles com conhecimento simples na técnica de computação, quer implementada em um software, em um hardware, ou em uma combinação dos mesmos. No presente relatório descritivo, o termo “componente” poderá também ser usado. Tal como usado no presente relatório descritivo e no caso, esse termo (independentemente do fato de o termo ser modificado com um ou mais modificadores) é também concebido como sinônimo do termo “componente executável” ou de tipos específicos de tal “componente executável”, e, sendo assim, terá também uma estrutura bem conhecida às pessoas com conhecimento simples na técnica da computação.
[0032] Na descrição s seguir, as modalidades serão descritas com referência às tarefas que são realizadas por um ou mais sistemas de computação. Quando essas tarefas são implementadas em software, um ou mais processadores (do associado sistema de computação que
Petição 870190057079, de 19/06/2019, pág. 34/74
10/45 realiza a tarefa) direcionam a operação do sistema de computação em resposta à execução das instruções executáveis em computador que constituem um componente executável. Por exemplo, essas instruções executáveis em computador podem ser incorporadas em um ou mais meios legíveis por computador que formam um produto de programa de computador. Um exemplo de tal operação envolve a manipulação de dados.
[0033] As instruções executáveis em computador (e seus dados manipulados) podem ser armazenadas na memória 104 do sistema de computação 100. O sistema de computação 100 pode conter ainda canais de comunicação 108 que permitem que o sistema de computação 100 se comunique com outros sistemas de computação de, por exemplo, uma rede 110.
[0034] Embora nem todos os sistemas de computação precisem de uma interface de usuário, em algumas modalidades, o sistema de computação 100 inclui uma interface de usuário 112 para uso na interface com um usuário. A interface de usuário 112 pode incluir mecanismos de saída 112A bem como mecanismos de entrada 112B. Os princípios descritos no presente documento não se limitam exatamente aos mecanismos de saída 112A ou aos mecanismos de entrada 112B, uma vez que isso dependerá da natureza do dispositivo. No entanto, os mecanismos de saída 112A podem incluir, por exemplo, alto-falantes, monitores de vídeo, hologramas de saída tátil, realidade virtual, e assim por diante. Exemplos de mecanismos de entrada 112B podem incluir, por exemplo, microfones, telas sensíveis ao toque, hologramas, realidade virtual, câmeras, teclados, mouse ou outra entrada de cursor, sensores de qualquer tipo, e assim por diante. [0035] As modalidades descritas no presente documento podem compreender ou utilizar um sistema de computação de uso específico ou de uso geral, incluindo um hardware de computador, tal como, por
Petição 870190057079, de 19/06/2019, pág. 35/74
11/45 exemplo, um ou mais processadores e memórias de sistema, tal como será descrito em mais detalhes abaixo. As modalidades descritas no presente documento incluem também meios físicos ou outros meios legíveis por computador para o carregamento ou armazenamento de instruções executáveis em computador e/ou estruturas de dados. Tais meios legíveis por computador podem ser quaisquer meios disponíveis que possam ser acessados por um sistema de computação de uso geral ou de uso específico. Os meios legíveis por computador que armazenam instruções executáveis em computador são meio de armazenamento físico. Os meios legíveis por computador que carregam instruções executáveis em computador são meios de transmissão. Sendo assim, a título de exemplo, e não de limitação, as modalidades poderão compreender pelo menos dois tipos distintamente diferentes de meios legíveis por computador: os meios de armazenamento e os meios de transmissão.
[0036] Os meios de armazenamento legível por computador incluem a memória RAM, a memória ROM, a memória EEPROM, o CD-ROM, ou outro armazenador em disco óptico, armazenador em disco magnético, ou outros dispositivos de armazenamento magnético, ou qualquer outro meio de armazenamento físico ou tangível que possa ser usado para armazenar um meio de código de programa desejado na forma de instruções ou estruturas de dados executáveis em computador e que possa ser acessado por um sistema de computação de uso geral ou de uso específico.
[0037] Uma “rede” é definida como um ou mais enlaces de dados que permitem o transporte de dados eletrônicos entre sistemas de computação e/ou módulos e/ou outros dispositivos eletrônicos. Quando uma informação é transferida ou provida por rede ou outra conexão de comunicação (com fio, sem fio, ou uma combinação de conexão com fio e sem fio) para um sistema de computação, o sistema
Petição 870190057079, de 19/06/2019, pág. 36/74
12/45 de computação apropriadamente vê a conexão como um meio de transmissão. Os meios de transmissão podem incluir uma rede e/ou enlaces de dados que podem ser usados para carregar um desejado meio de código de programa sob a forma de instruções ou estruturas de dados executáveis em computador e que podem ser acessados por um sistema de computação de uso geral ou de uso específico. Combinações dos meios acima apresentados devem também ser incluídas no âmbito de aplicação dos meios legíveis por computador. [0038] Além disso, após chegar aos diversos componentes de sistema de computação, o meio de código de programa sob a forma de instruções ou estruturas de dados executáveis em computador pode ser transferido automaticamente dos meios de transmissão para os meios de armazenamento (ou vice-versa). Por exemplo, as instruções ou estruturas de dados executáveis em computador recebidas por rede ou enlace de dados podem ser armazenadas temporariamente na memória RAM dentro um módulo de interface de rede (por exemplo, um cartão “NIC”), e, em seguida, eventualmente transferidas para a memória RAM do sistema de computação e/ou para um meio de armazenamento menos volátil em um sistema de computação. Sendo assim, deve-se entender que os meios legíveis podem ser incluídos nos componentes do sistema de computação (ou ainda basicamente) utilizar os meios de transmissão.
[0039] As instruções executáveis em computador compreendem, por exemplo, instruções e dados que, quando executadas em um processador, fazem com que um sistema de computação de uso geral, um sistema de computação de uso específico, ou um dispositivo de processamento de uso específico realizem uma determinada função ou grupo de funções. De maneira alternativa, ou em adição, as instruções executáveis em computador poderão configurar o sistema de computação de modo a executar uma determinada função ou grupo
Petição 870190057079, de 19/06/2019, pág. 37/74
13/45 de funções. As instruções executáveis em computador podem ser, por exemplo, binárias ou ainda instruções que se submetem a alguma conversão (tal como compilação) antes de uma execução direta pelos processadores, tais como instruções de formato intermediário, por exemplo, as de linguagem assembly, ou ainda um código fonte.
[0040] Os versados na técnica poderão notar que a presente invenção pode ser praticada em ambientes computacionais de rede com muitos tipos de configurações de sistema de computação, incluindo, computadores pessoais, computadores de mesa, computadores do tipo laptop, processadores de mensagens, dispositivos portáteis, sistema multiprocessadores, aparelhos eletrônicos programáveis pelo consumidor ou baseados em microprocessador, PCs de rede, minicomputadores, computadores de grande porte, telefones móveis, assistentes PDA, operadoras de radiochamada, roteadores, interruptores, centros de dados, dispositivos vestíveis (tais como óculos ou relógios), ou coisa do gênero. A presente invenção poderá também ser praticada em ambientes de sistema distribuído onde os sistemas de computação locais ou remotos nos quais são enlaçados (por meio de enlaces de dados com fio, enlaces de dados sem fio, ou por meio de uma combinação de enlaces de dados com fio ou sem fio) através de uma rede realizam tarefas. Em um ambiente de sistema distribuído, os módulos de programa podem ser colocados em ambos os dispositivos de armazenamento de memória locais ou remotos.
[0041] Os versados na técnica devem também notar que a presente invenção pode ser praticada em uma computação ambiental em nuvem. Os ambientes computacionais em nuvem podem ser distribuídos, embora isso não seja uma exigência. Quando distribuídos, os ambientes computacionais em nuvem poderão ser distribuídos internacionalmente dentro de uma organização e/ou ter componentes possuídos por múltiplas organizações. No presente relatório descritivo
Petição 870190057079, de 19/06/2019, pág. 38/74
14/45 e nas reivindicações a seguir, “computação em nuvem” é definida como um modelo que permite acesso à rede sob demanda para um pool compartilhado de recursos computacionais configuráveis (por exemplo, redes, servidores, armazenadores, aplicativos, e serviços). A definição de “computação em nuvem” não se limita a qualquer uma dentre as inúmeras outras vantagens que podem ser obtidas a partir de tal modelo quando apropriadamente instalado.
[0042] Por exemplo, a computação em nuvem é correntemente empregada no mercado de modo a oferecer acesso sob demanda universal e conveniente para um pool compartilhado de recursos computacionais configuráveis. Além disso, o pool compartilhado de recursos computacionais configuráveis poderá ser rapidamente provisionado via virtual e liberado com baixo esforço de gerenciamento ou interação entre provedores de serviço, e, em seguida, escalado em conformidade.
[0043] Um modelo de computação em nuvem pode ser composto de várias características, tais como autosserviço sob demanda, amplo acesso à rede, agrupamento de recursos, rápida elasticidade, serviço medido, e assim por diante. Um modelo de computação em nuvem pode também vir na forma de vários modelos de serviço, tais como, por exemplo, Software como Serviço (“SaaS”), Plataforma como Serviço (“PaaS”), e Infraestrutura como Serviço (“laaS”). O modelo de computação em nuvem poderá também instalado usando diferentes modelos de instalação, tais como nuvem privada, nuvem comunidade, nuvem pública, nuvem híbrida, e assim por diante. No presente relatório descritivo e nas reivindicações, um “ambiente de computação em nuvem” é um ambiente no qual a computação em nuvem é empregada.
[0044] A Figura 2 ilustra um ambiente 200 no qual os princípios descritos no presente documento podem operar. O ambiente 200 inclui
Petição 870190057079, de 19/06/2019, pág. 39/74
15/45 um espaço físico 201 que inclui múltiplas entidades físicas 210, as quais podem ser qualquer objeto existente, pessoa, ou coisa que emita ou reflita sinais físicos (por exemplo, uma radiação eletromagnética ou uma acústica) que têm um padrão que poderá ser usado no sentido de potencialmente identificar um ou mais aspectos físicos (no presente documento, também chamados estados) do respectivo objeto, pessoa ou coisa. Em um exemplo de tal identificação potencial, a radiação eletromagnética é uma luz visível que tem um padrão de luz (por exemplo, imagem estática ou de vídeo) a partir do qual as características das entidades visíveis poderão ser obtidas. Esse padrão de luz poderá ser qualquer espaço temporal, espacial, ou ainda de maior dimensão. Um exemplo de tal acústica poderá ser a voz de um ser humano, o som de um objeto em funcionamento normal ou submetido a uma atividade ou evento, ou um eco acústico refletido.
[0045] O ambiente 200 inclui ainda sensores 200 que recebem sinais físicos das entidades físicas 210. Os sensores não precisam, evidentemente, captar todo sinal físico que a entidade física emita ou reflita. Por exemplo, uma câmera de luz visível (estática ou de vídeo) é capaz de receber uma radiação eletromagnética na forma de uma luz visível e converte tais sinais para uma forma processável, mas não poderá captar todo tipo de radiação eletromagnética de qualquer frequência, uma vez que todas as câmeras possuem uma faixa dinâmica finita. Os sensores acústicos, da mesma maneira, têm uma faixa dinâmica limitada concebida para certas faixas de frequência. De qualquer maneira, os sensores 220 proveem (tal como representado pela seta 229) sinais de sensor resultantes para um componente de reconhecimento 230.
[0046] O componente de reconhecimento 230 pelo menos estima (por exemplo, estima ou reconhece) um ou mais aspectos das entidades físicas 210 dentro do local com base nos padrões
Petição 870190057079, de 19/06/2019, pág. 40/74
16/45 detectados nos sinais de sensor recebidos. O componente de reconhecimento 2310 pode também gerar um nível de confiança associado a “pelo menos uma estimativa” de um aspecto da entidade física. Quando esse nível de confiança é menor que 100%, a “pelo menos uma estimativa”, nesse caso, será apenas uma estimativa. Quando esse nível de confiança é de 100%, a “pelo menos uma estimativa”, nesse caso, será realmente mais que uma estimativa será um reconhecimento. Daqui para frente ao longo do presente relatório descritivo e nas reivindicações, um aspecto que é “pelo menos estimado” será também referido como um aspecto “detectado”, para fins de clareza. Isso é consistente com o uso comum do termo “detecção”, uma vez que um aspecto que é “detectado” nem sempre está presente com completa certeza. O componente de reconhecimento 230 pode empregar a aprendizagem profunda (os mecanismos de aprendizagem baseados no reforço ou baseados na Rede Neural Profunda) além de algoritmos de aprendizado de máquina a fim de aprender a partir da experiência que objetos ou pessoas estão dentro de uma imagem, deste modo aumentando a precisão do reconhecimento com o passar do tempo.
[0047] O componente de reconhecimento 230 provê (conforme representado pela seta 239) os aspectos detectados em um armazenador de aspectos detectados 240, o qual poderá armazenar os aspectos detectados (e associados níveis de confiança) para cada entidade física dentro do local 201, quer a entidade física esteja dentro do espaço físico por um curto tempo, um longo tempo, ou permanentemente. O componente de computação 250 poderá, em seguida, fazer uma variedade de consultas e/ou computações a respeito dos dados de aspectos detectados providos no armazenador de aspectos detectados 240. As consultas e/ou computações podem ser realizadas pelas interações (representadas pela seta 249) entre o componente de
Petição 870190057079, de 19/06/2019, pág. 41/74
17/45 computação 250 e o armazenador de aspectos detectados 240.
[0048] Em algumas modalidades, quando o componente de reconhecimento 230 detecta um aspecto detectado de uma entidade física dentro do local 201 usando os sinais de sensor providos por um sensor, os sinais de sensor são também providos para um armazenador, tal como, o armazenador de aspectos detectados. Por exemplo, na Figura 2, o armazenador de aspectos detectados 240 é ilustrado como incluindo aspectos detectados 241 bem como os correspondentes sinais de sensor 242 que representam a evidência dos aspectos detectados.
[0049] Para pelo menos um aspecto detectado (ou de preferência muitos) aspectos detectados para pelo menos uma dentre a pluralidade de entidades detectadas, pelo menos um segmento de sinal é associado no computador ao aspecto detectado, de tal modo que uma navegação em computador para o aspecto detectado também permita uma navegação em computador para o segmento de sinal. A associação do sinal detectado com o segmento de sinal associado poderá ser continuamente realizada, resultando, assim, em um gráfico em expansão, e em uma coleção em expansão de segmentos de sinal. Sendo assim, tal como descrito em mais detalhe abaixo, processos de coleta de lixo poderão ser usados no sentido de limpar os aspectos detectados e/ou os segmentos de sinal que se encontram desatualizados ou não mais de interesse.
[0050] O segmento de sinal pode incluir múltiplos metadados, tais como, por exemplo, uma identificação do sensor ou sensores que geraram o segmento de sinal. O segmento de sinal não precisa incluir todos os sinais que foram gerados por aquele sensor, e, para fins de brevidade, poderá talvez incluir apenas aquelas partes do sinal que foram usadas para detectar o aspecto detectado de uma entidade física em particular. Nesse caso, os metadados poderão incluir uma
Petição 870190057079, de 19/06/2019, pág. 42/74
18/45 descrição da parte do segmento de sinal original que foi armazenada. [0051] O sinal detectado pode ser qualquer tipo de sinal gerado por um sensor. Exemplos incluem sinais de vídeo, imagem, e de áudio. No entanto, a variedade de sinais não se limita àqueles que podem ser detectados por um ser humano. Por exemplo, o segmento de sinal poderá representar uma versão transformada do sinal gerado pelo sensor de modo a permitir as observações humanas de um melhor foco humano. Essas transformações podem incluir uma filtragem, tal filtragem sendo feita com base em uma frequência, ou quantização. Tal transformação poderá também incluir amplificação, mudança de frequência, ajuste de velocidade, ampliação, ajuste de amplificador, e assim por diante.
[0052] A fim de permitir uma redução nas exigências de armazenamento bem como um foco apropriado sobre o sinal de interesse, talvez apenas uma parte do segmento de sinal será armazenada. Por exemplo, no caso de um sinal de vídeo, talvez apenas uma parte dos quadros de vídeo será armazenada. Além disso, no caso de qualquer imagem determinada, talvez apenas a parte relevante do quadro será armazenada. De maneira similar, no caso de o sinal de sensor ser uma imagem, talvez apenas a parte relevante da imagem será armazenada. O serviço de reconhecimento que usa o segmento de sinal para detectar um aspecto sabe qual parte do segmento de sinal foi usada para detectar um aspecto. Por conseguinte, um serviço de reconhecimento poderá especificamente destacar a porção relevante do sinal para qualquer determinado aspecto detectado.
[0053] O componente de computação 250 pode ter ainda um componente de segurança 251 que poderá determinar o acesso aos dados com o armazenador de aspecto detectado 240. Por exemplo, o componente de segurança 251 pode controlar quais usuários podem acessar os dados de aspecto detectado 214 e/ou os sinais de sensor
Petição 870190057079, de 19/06/2019, pág. 43/74
19/45
242. Além disso, o componente de segurança 251 poderá ainda controlar qual dentre os dados de aspecto detectado na computação foi executado, e/ou qual usuário foi autorizado a realizar aquele tipo de computação ou consulta. Sendo assim, a segurança é efetivamente obtida. Mais considerações sobre essa segurança serão descritas a seguir com relação à Figura 6.
[0054] Uma vez que os dados de aspecto detectado representam os aspectos detectados das entidades físicas dentro do espaço físico 201 ao longo do tempo, uma computação complexa poderá ser realizada nas entidades físicas dentro do espaço físico 201. Tal como será descrito abaixo, com relação a um usuário, é como se o próprio ambiente estivesse cheio com uma útil energia computacional que fica pronta para qualquer consulta computacional ou computação com relação àquele espaço físico. Isso será referido, daqui em diante, como uma “computação ambiental”.
[0055] Além disso, sempre que um aspecto detectado é de interesse, a evidência que suporta essa detecção de componentes de reconhecimento daquele aspecto poderá ser reconstruída. Por exemplo, o componente de computação 240 poderá prover uma evidência de vídeo de quando uma entidade física em particular entrou primeiro em um local em particular. Quando múltiplos sensores geraram os sinais de sensor que foram usados pelo componente de reconhecimento a fim de detectar um aspecto, nesse caso, os sinais de sensor com relação a qualquer sensor individual ou combinação de sensores poderão ser reconstruídos e avaliados. Sendo assim, por exemplo, a evidência de vídeo da entidade física que entrou primeiro em um local em particular poderá ser revista a partir de diferentes ângulos.
[0056] O espaço físico 201 é ilustrado na Figura 2 e pretender ser tão somente uma representação abstrata de qualquer espaço físico
Petição 870190057079, de 19/06/2019, pág. 44/74
20/45 que tem sensores no mesmo. Existem infinitos exemplos de tais espaços físicos, porém esses exemplos incluem uma sala, uma casa, uma vizinhança, uma fábrica, um estádio, um prédio, um piso, um escritório, um carro, um avião, uma espaçonave, uma placa de Petri, um cano ou tubo, a atmosfera, espaços subterrâneos, cavernas, um terreno, e/ou partes dos mesmos. O espaço físico 201 poderá ser a totalidade do universo observável ou qualquer parte do mesmo, contanto que haja sensores capazes de receber os sinais emitidos a partir das, afetados pelas (por exemplo, difração, mudança de frequência, ecos, etc.) e/ou refletidos das entidades físicas dentro do local.
[0057] As entidades físicas 210 dentro do espaço físico 201 são ilustradas como incluindo quatro entidades físicas 211, 212, 213, e 214, apenas a título de exemplo. As elipses 215 representam o fato de que pode haver qualquer número e variedade de entidades físicas com os aspectos que estão sendo detectados com base nos dados dos sensores 220. As elipses 215 também representam as entidades físicas que podem sair do ou entrar no local 201. Deste modo, a quantidade e a identidade das entidades físicas dentro do local 201 poderão mudar ao longo do tempo.
[0058] A posição das entidades físicas pode também variar ao longo do tempo. Embora a posição das entidades físicas seja mostrada na parte superior do espaço físico 201 na Figura 2, isso se presta simplesmente ao propósito de uma clara configuração. Os princípios descritos no presente documento não são dependentes de qualquer entidade física em particular que ocupa qualquer posição física em particular dentro do espaço físico 201.
[0059] Por fim, tão somente para fins de convenção e diferenciar as entidades físicas 210 dos sensores 220, as entidades físicas 210 são ilustradas como triângulos e os sensores 220 são ilustrados como
Petição 870190057079, de 19/06/2019, pág. 45/74
21/45 círculos. As entidades físicas 210 e os sensores 220 podem, evidentemente, ter qualquer forma ou tamanho físico. As entidades físicas tipicamente não são triangulares em formato, e os sensores tipicamente não são circulares em formato. Além disso, os sensores 220 poderão observar as entidades físicas dentro de um espaço físico 210 sem considerar o fato se esses sensores 220 se encontram fisicamente localizados dentro daquele espaço físico 201.
[0060] Os sensores 220 dentro do espaço físico 201 são ilustrados como incluindo dois sensores 221 e 222, tão somente a título de exemplo. As elipses 223 representam que naquele ponto poderá haver qualquer número e variedade de sensores capazes de receber os sinais emitidos, afetados (por exemplo, através de difração, mudança de frequência, ecos, etc.) e/ou refletidos pelas entidades físicas dentro do espaço físico. A quantidade e a capacidade de sensores operáveis podem mudar ao longo do tempo conforme sensores dentro do espaço físico são adicionados, removidos, atualizados, quebrados, substituídos, e assim por diante.
[0061] A Figura 3 ilustra um fluxograma de um método 300 para o monitoramento de entidades físicas dentro de um espaço físico. Uma vez que o método 300 pode ser realizado com o objetivo de monitorar as entidades físicas 210 dentro do espaço físico 201 da Figura 2, o método 300 da Figura 3 será descrito a seguir com frequente referência ao ambiente 200 da Figura 2. Também, a Figura 4 ilustra uma estrutura de dados de monitoramento de entidades 400 que poderá ser usada no sentido de auxiliar na execução do método 300, e que poderá ser usada a fim de realizar consultas posteriores sobre as entidades físicas monitoradas, e talvez ainda acessar e revisar os sinais de sensor associados às entidades físicas monitoradas. Além disso, a estrutura de dados de monitoramento de entidades 400 pode ser armazenada no armazenador de aspectos detectados 240 da
Petição 870190057079, de 19/06/2019, pág. 46/74
22/45
Figura 4 (o qual é representado como dados de aspectos detectados 241). Por conseguinte, o método 300 da Figura 3 será também descrito com frequente referência à estrutura de dados de monitoramento de entidades 400 da Figura 4.
[0062] A fim de ajudar no monitoramento, uma estrutura de dados de espaço - tempo para o espaço físico é definida (etapa 301). Essa poderá ser uma estrutura de dados distribuída ou uma estrutura de dados não distribuída. A Figura 4 ilustra um exemplo de uma estrutura de dados de monitoramento de entidade 400 que inclui uma estrutura de dados de espaço - tempo 401. Essa estrutura de dados de monitoramento de entidade 400 pode ser incluída no armazenador de aspectos detectados 240 da Figura 2 como dados de aspectos detectados 241. Embora os princípios descritos no presente documento sejam descritos com relação ao monitoramento de entidades físicas e às suas atividades ou aspectos detectados, os princípios descritos no presente documento poderão operar no sentido de monitorar as entidades físicas (e suas atividades ou aspectos detectados) em mais de um local. Nesse caso, talvez a estrutura de dados de espaço - tempo 401 não seja o nó raiz na árvore representada pela estrutura de dados de monitoramento de entidade 400 (tal como simbolizado pelas elipses 402A e 402B). Em contrapartida, poderá haver múltiplas estruturas de dados de espaço - tempo que poderão ser interligadas através de um nó raiz comum.
[0063] Em seguida, voltando à Figura 3, o conteúdo da caixa 310A pode ser realizado para cada qual dentre as múltiplas entidades físicas (por exemplo, as entidades físicas 210) que se encontram temporariamente em um espaço físico (por exemplo, no espaço físico 201). Além disso, o conteúdo da caixa 310B é ilustrado como estando inserido na caixa 310A, e representa que o seu conteúdo pode ser realizado a cada vez dentre múltiplas vezes para uma determinada
Petição 870190057079, de 19/06/2019, pág. 47/74
23/45 entidade física. Ao realizar o método 300, uma estrutura de dados de monitoramento complexa 400 poderá ser criada e desenvolvida no sentido de, assim, registrar os aspectos detectados das entidades físicas que ficam uma ou mais vezes no local. Além disso, a estrutura de dados de monitoramento de entidade 400 potencialmente poderá ser também usada no sentido de acessar os sinais detectados que resultaram no reconhecimento de determinados aspectos detectados (ou mudanças de aspectos).
[0064] Para uma entidade física em particular no local em um momento específico, uma entidade física é detectada por um ou mais sensores (etapa 311). Em outras palavras, um ou mais sinais físicos emitidos a partir da, afetados pela (por exemplo, através de difração, mudança de frequência, ecos, etc.), e/ou refletidos a partir da entidade física são recebidos por um ou mais sensores. Com referência à Figura 1, supõe-se que a entidade física 211 tenha um ou mais aspectos detectados por ambos os sensores 221 e 222 em um momento em particular.
[0065] Um aspecto de segurança poderá entrar nesse ponto. O componente de reconhecimento 230 pode ter um componente de segurança 231 que, de acordo com definições específicas, poderá se recusar a registrar os aspectos detectados associados a entidades físicas específicas, os aspectos detectados de um tipo em particular, e/ou que foram detectados a partir de sinais de sensor gerados em um momento específico, ou combinações dos mesmos. Por exemplo, talvez o componente de reconhecimento 230 não poderá registrar os aspectos detectados de qualquer pessoa que esteja no local. Como exemplos de granularidade mais fina, talvez o componente de reconhecimento 230 não possa registrar os aspectos detectados de um conjunto de pessoas quando esses aspectos detectados se referem a uma identidade ou gênero da pessoa, ou quando esses
Petição 870190057079, de 19/06/2019, pág. 48/74
24/45 aspectos detectados resultam de sinais de sensor que foram gerados em quadros de tempo específicos. Mais detalhes com relação a essa segurança serão explicados abaixo com referência à Figura 6.
[0066] Quando permitido, pelo menos uma aproximação daquele momento específico no qual a entidade física foi detectada é representada dentro de uma estrutura de dados que corresponde à entidade física e essa será uma computação associada a uma estrutura de dados de espaço - tempo (etapa 312). Por exemplo, com referência à Figura 4, a estrutura de dados de entidade 410A pode corresponder à entidade física 211 e é associada em computação (tal como representado pela linha 430A) à estrutura de dados de espaço - tempo 401. No presente relatório descritivo e nas reivindicações, um nó de uma estrutura de dados é “associada em computação” a um outro nó de uma estrutura de dados quando um sistema de computação é, de qualquer modo, capaz de detectar uma associação entre os dois nós. Por exemplo, o uso de cursores é um mecanismo para associação de computação. Um nó de uma estrutura de dados pode também ser associado em computação ao ser incluído em um outro nó da estrutura de dados, ou por meio de qualquer outro mecanismo reconhecido por um sistema de computação como estando em associação.
[0067] Os dados de tempo 411 representam pelo menos uma aproximação do tempo no qual a entidade física foi detectada (pelo menos nessa iteração de tempo do conteúdo da caixa 310B) dentro da estrutura de dados de entidade 410A. O tempo pode ser um tempo real (por exemplo, expresso com relação a um relógio atômico), ou poderá ser um tempo artificial. Por exemplo, o tempo artificial pode ser um tempo deslocado do tempo real e/ou expresso de uma maneira diferente do tempo real (por exemplo, um número de segundos ou minutos desde a última volta do milênio). O tempo artificial pode ser também um tempo lógico, tal como um tempo que é expresso por um
Petição 870190057079, de 19/06/2019, pág. 49/74
25/45 número monotonicamente crescente que se incrementa a cada detecção.
[0068] Além disso, com base na detecção de uma determinada entidade física em um tempo determinado (na etapa 331), o ambiente detecta pelo menos um aspecto físico (ou talvez múltiplos) da entidade física em questão no qual a entidade física em questão existe naquele determinado tempo (etapa 313). Por exemplo, com referência à Figura 2, o componente de reconhecimento 230 pode detectar pelo menos um aspecto físico da entidade física 211 com base nos sinais recebidos dos sensores 221 e 222 (por exemplo, tal como representado pela seta 229).
[0069] O pelo menos um aspecto físico detectado da entidade física em particular é em seguida representado na estrutura de dados de entidade (etapa 314) de uma maneira em computação associada à aproximação pelo menos daquele tempo em particular. Por exemplo, na Figura 2, os dados de aspectos detectados são providos (tal como representado pela seta 239) para o armazenador de aspectos detectados 240. Em algumas modalidades, esses dados de aspectos detectados podem ser providos juntamente com a aproximação pelo menos do tempo em particular de modo a modificar a estrutura de dados de monitoramento de entidade 400 em substancialmente uma etapa. Em outras palavras, a etapa 312 e a etapa 314 podem ser realizadas substancialmente ao mesmo tempo a fim de reduzir as operações de gravação no armazenador de aspectos detectados 240.
[0070] Além disso, quando permitido, os sinais de sensor nos quais o componente de reconhecimento se baseia no sentido de detectar o aspecto detectado são gravados de uma maneira associada em computador ao aspecto detectado (etapa 315). Por exemplo, o aspecto detectado nos dados de aspectos detectados 241 (por exemplo, na estrutura de dados de espaço - tempo 401) pode ser
Petição 870190057079, de 19/06/2019, pág. 50/74
26/45 associado em computação a esses sinais de sensor armazenados nos dados de sinal detectado 242.
[0071] Com referência à Figura 4, a primeira estrutura de dados de entidade detecta os dados de aspecto 421 associados em computação ao tempo 411. Nesse exemplo, os dados de aspectos detectados 421 incluem dois aspectos físicos detectados 421A e 421B da entidade física. No entanto, as elipses 421C representam que poderá haver qualquer número de aspectos detectados da entidade física armazenado como parte dos dados de aspectos detectados 421 dentro da estrutura de dados de entidade 401. Por exemplo, pode haver um único aspecto detectado, ou inúmeros aspectos detectados, ou qualquer intermediário para qualquer entidade física determinada, conforme detectado em qualquer tempo específico.
[0072] Em alguns casos, o aspecto detectado pode ser associado a outros aspectos. Por exemplo, quando a entidade física é uma pessoa, o aspecto poderá ser o nome de uma pessoa. Essa pessoa especificamente identificada poderá ter características conhecidas com base nos aspectos não representados dentro da estrutura de dados de entidade. Por exemplo, a pessoa poderá ter uma determinada classificação ou posição dentro de uma organização, ter um certo treinamento, ser de uma determinada altura, e assim por diante. A estrutura de dados de entidade pode ser estendida, quando um aspecto em particular é detectado (por exemplo, um nome), ao apontar para os aspectos adicionais daquela entidade física (por exemplo, classificação, posição, treinamento, altura) de modo a aumentar ainda mais a riqueza da consulta e/ou outra computação da estrutura de dados.
[0073] Os dados de aspectos detectados podem ter também níveis de confiança associados a cada aspecto detectado que representa uma probabilidade estimada de uma entidade física ter de fato aquele
Petição 870190057079, de 19/06/2019, pág. 51/74
27/45 aspecto detectado naquele momento específico 41OA. Nesse exemplo, o nível de confiança 421a é associado ao aspecto detectado 421A e representa a confiança de que aquela entidade física 211 ter realmente aquele aspecto detectado 421 A. De maneira similar, o nível de confiança 421b é associado ao aspecto detectado 421B e representa a confiança de que aquela entidade física 211 ter realmente o aspecto detectado 421B. As elipses 421c mais uma vez representam que pode haver níveis de confiança expressos para qualquer número de aspectos físicos. Além disso, poderá haver alguns aspectos físicos para os quais não há nenhum nível de confiança expresso (por exemplo, no caso quando há certeza ou no caso quando não é importante ou desejável medir a confiança de um aspecto físico detectado).
[0074] Os dados de aspectos detectados podem também ter associação de computação (por exemplo, um cursor) aos sinais de sensor que foram usados pelo componente de reconhecimento a fim de detectar o aspecto detectado daquele nível de confiança. Por exemplo, na Figura 4, os sinais de sensor 421 Aa são associados em computação ao aspecto detectado 421A e representa os sinais de sensor que foram usados para detectar o aspecto detectado 421A no tempo 411. De maneira similar, os sinais de sensor 421 Bb são associados em computação ao aspecto detectado 421B e representa os sinais de sensor que foram usados para detectar o aspecto detectado 421B no tempo 411. As elipses 421 Cc mais uma vez representam que pode haver associações de computação para qualquer quantidade de aspectos físicos.
[0075] O componente de segurança 231 do componente de reconhecimento 230 poderá também exercer segurança ao decidir se devem ser gravados ou não os sinais de sensor que foram usados para detectar aspectos específicos em tempos particulares. Sendo
Petição 870190057079, de 19/06/2019, pág. 52/74
28/45 assim, o componente de segurança 231 poderá exercer segurança na 1) determinação se irá registrar aspectos particulares que foram detectados, 2) determinação se irá registrar aspectos associados a entidades físicas específicas, 3) determinação se irá registrar aspectos detectados em momentos específicos, 4) determinação se irá registrar os sinais de sensor, e, caso positivo, quais sinais, a fim de registar como evidência de um aspecto detectado, e assim por diante.
[0076] Como um exemplo, supõe-se que o local que está sendo monitorado seja uma sala. Agora, suponha que um sensor de imagem (por exemplo, uma câmera) detecta alguma coisa dentro da sala. Um exemplo de aspecto detectado é quando aquela “coisa” é um ser humano. Um outro exemplo de aspecto detectado é quando a “coisa” é uma pessoa de nome conhecido. Haverá um nível de confiança de 100 por cento que a “coisa” é uma pessoa, mas apenas 20 por cento de nível de confiança que a pessoa é uma pessoa especificamente identificada. Nesse caso, o conjunto de aspectos detectados inclui um aspecto que é um tipo mais específico de um outro aspecto. Além disso, os dados de imagem da câmera podem ser apontados pelo registro do aspecto detectado da entidade física em particular no momento em particular.
[0077] Um outro exemplo de aspecto é quando a entidade física simplesmente existe no local, ou em uma posição específica no local. Um outro exemplo é quando essa é a primeira aparição da entidade física desde um tempo em particular (por exemplo, nos tempos recentes, ou ainda nunca antes). Um outro exemplo de aspectos é quando o item é inanimado (por exemplo, com 90 por cento de certeza), uma ferramenta (por exemplo, com 80 por cento de certeza), e um martelo (por exemplo, com 60 por cento de certeza). Um outro exemplo é quando a entidade física não mais se encontra presente (por exemplo, está ausente) no local, ou tem uma postura em
Petição 870190057079, de 19/06/2019, pág. 53/74
29/45 particular, é orientado de uma certa maneira, ou tem uma relação posicionai com uma outra entidade física no local (por exemplo, “em cima da mesa” ou “colocada em uma cadeira #5”).
[0078] Em qualquer caso, a quantidade e os tipos de aspectos que podem ser detectados a partir da quantidade e tipos de entidades físicas em qualquer local são inumeráveis. Além disso, tal como previamente mencionado, e conforme representado pela caixa 310B, as ações dentro da caixa 310B poderão potencialmente ser realizadas múltiplas vezes para qualquer entidade física determinada. Por exemplo, a entidade física 211 pode ser mais uma vez detectada por um ou ambos os sensores 221 e 222. Com referência à Figura 4, essa detecção resulta no tempo da próxima detecção (ou em aproximação) a ser representada na estrutura de dados de entidade 410. Por exemplo, o tempo 412 é também representado na estrutura de dados de entidade. Além disso, os aspectos detectados 422 (por exemplo, incluindo os aspectos talvez detectados 422A e 422B - com as elipses 422C mais uma vez representando flexibilidade) são associados em computação ao segundo tempo 412. Além disso, esses aspectos detectados podem ter também níveis de confiança associados (por exemplo, 422a, 422b, elipses 422c).
[0079] Os aspectos detectados que são detectados no segundo tempo podem ser iguais ou diferentes dos aspectos detectados no primeiro tempo. Os níveis de confiança podem mudar ao longo do tempo. Como um exemplo, suponha que um ser humano seja detectado no tempo #1 em um lado de uma sala grande em uma imagem com 90 por cento de confiança, e que o ser humano é especificamente detectado como sendo John Doe com 30 por cento de confiança. Agora, no tempo #2 que acontece 0,1 segundo depois, John Doe é detectado a 15 metros (50 pés) de distância, em uma outra parte da sala, com 100 por cento de confiança, e lá permanece
Petição 870190057079, de 19/06/2019, pág. 54/74
30/45 um ser humano no mesmo local onde John Doe foi especulado estar no tempo 1. Uma vez que seres humanos não andam 15 metros (50 pés) em um décimo de segundo (pelo menos em um escritório), poderá se concluir que o ser humano detectado no tempo 1 não era John Doe de jeito nenhum. Sendo assim, a confiança para o tempo #1 de que o ser humano é John Doe é reduzida a zero.
[0080] Voltando à Figura 2, as elipses 413 e 423 representam que não há limite para o número de vezes que uma entidade física pode ser detectada em um local. Quando detecções subsequentes são feitas, mais poderá ser aprendido sobre a entidade física, e, deste modo, aspectos detectados poderão ser adicionados (ou removidos) conforme apropriado, com correspondentes ajustes aos níveis de confiança para cada aspecto detectado.
[0081] Em seguida, saindo da caixa 310B, mas permanecendo na caixa 310A, para qualquer entidade física em particular, mudanças de aspecto na entidade em particular poderão ser detectadas (etapa 322) com base na comparação (etapa 321) dos aspectos detectados da entidade física em particular em diferentes momentos. Essas mudanças detectadas podem ser feitas pelo componente de reconhecimento 230 do componente de computação 250. Se desejado, essas mudanças detectadas poderão também ser registradas (etapa 323). Por exemplo, as mudanças detectadas podem ser registradas na estrutura de dados de entidade 410A de uma maneira, ou talvez não, associada em computação a um tempo em particular. Os sinais de sensor que evidenciam a mudança de aspecto podem ser reconstruídos usando os sinais de sensor que evidenciaram o aspecto detectado a cada momento.
[0082] Por exemplo, com base em um aspecto detectado em um primeiro tempo que é a presença de uma entidade física em um local, e com base em um segundo aspecto que é a ausência da entidade
Petição 870190057079, de 19/06/2019, pág. 55/74
31/45 física do local, poderá se concluir que a entidade física saiu do espaço físico. Em contrapartida, com base em um segundo aspecto em um primeiro tempo que é a ausência da entidade física do local, e um segundo aspecto em um segundo tempo que é a presença de uma entidade física em um local, poderá se concluir que a entidade física entrou no local. De alguma forma, talvez a ausência de um espaço físico não seja buscada para uma entidade física até que a entidade física seja primeiramente detectada como estando presente no espaço físico.
[0083] Em seguida, com referência à caixa 310A, esse monitoramento dos aspectos das entidades físicas pode ser feito para múltiplas entidades ao longo do tempo. Por exemplo, o conteúdo da caixa 310A pode ser realizado para cada uma das entidades físicas 211,212, 213 ou 214 dentro do espaço físico 201 ou para outras entidades físicas que entram ou saem do espaço físico 201. Com referência à Figura 4, a estrutura de dados de espaço - tempo 401 é também associada em computação (tal como representado pelas linhas 430B, 430C, e 430D) a uma segunda estrutura de dados de entidade 410B (talvez associada à segunda entidade física 212 da Figura 2), a uma terceira estrutura de dados de entidade 410C (talvez associada à terceira entidade física 213 da Figura 2); e a uma quarta estrutura de dados de entidade 410D (talvez associada à quarta entidade física 214 da Figura 2).
[0084] A estrutura de dados de espaço - tempo 401 pode incluir ainda um ou mais gatilhos que definem condições e ações. Quando condições são atendidas, ações correspondentes deverão ocorrer. Os gatilhos podem ser armazenados em qualquer local na estrutura de dados de espaço - tempo. Por exemplo, quando as condições e/ou ações são com relação a uma estrutura de dados de entidade em particular, o gatilho poderá ser armazenado na correspondente
Petição 870190057079, de 19/06/2019, pág. 56/74
32/45 estrutura de dados de entidade. Quando as condições e/ou ações são com relação a um aspecto em particular de uma específica estrutura de dados de entidade, o gatilho poderá ser armazenado na correspondente estrutura de dados de aspecto.
[0085] As elipses 410E representam que o número de estruturas de dados de entidade pode mudar. Por exemplo, quando os dados de monitoramento são mantidos sempre com relação às entidades físicas que já se encontram no espaço físico, nesse caso estruturas de dados de entidade poderão ser adicionadas cada vez que uma nova entidade física é detectada no local, e qualquer estrutura de dados de entidade determinada poderá ser aumentada cada vez que uma entidade física é detectada no espaço físico. Deve-se lembrar, no entanto, que uma coleta de lixo poderá ser feita (por exemplo, pelo componente de limpeza 260) a fim de impedir que a estrutura de dados de monitoramento de entidade 400 cresça demais ao ponto de não poder ser apropriadamente editada, armazenada e/ou navegada.
[0086] Fora da caixa 310A, relações físicas entre diferentes entidades físicas poderão ser detectadas (etapa 332) com base na comparação das estruturas de dados de entidade associadas (etapa 331). Essas relações físicas poderão também ser registradas na estrutura de dados de monitoramento de entidade 401 (etapa 333) talvez dentro das estruturas de dados de entidade associadas que detectaram as relações físicas, e/ou talvez associadas ao tempo que as entidades físicas foram detectadas como tendo a relação. Por exemplo, por meio da análise das estruturas de dados de entidade para diferentes entidades físicas através do tempo, poderá ser determinado que, em um momento em particular, uma entidade física poderá ter se escondido atrás de uma outra entidade física, ou que uma entidade física poderá ter obscurecido a detecção de uma outra entidade física, ou que duas entidades físicas se juntaram ou que uma
Petição 870190057079, de 19/06/2019, pág. 57/74
33/45 entidade física se separou de modo a criar múltiplas entidades físicas. Os sinais de sensor que evidenciam a relação de entidade física podem ser reconstruídos usando os sinais de sensor que evidenciaram o aspecto detectado no tempo apropriado e para cada entidade física.
[0087] O armazenador de dados de aspecto 240 poderá agora ser usado como um armazenador poderoso no qual se pode computar funções e consultas complexas sobre representações de entidades físicas ao longo do tempo em um espaço físico. Tais computação e consulta podem ser feitas pelo componente de computação 250. Isso permite inúmeras quantidades de modalidades úteis e, de fato, introduz uma forma totalmente nova de se computar referida no presente documento como “computação ambiental”. Dentro do espaço físico dotado de sensores, é como se o próprio ar pudesse ser usado para computar e detectar um estado sobre o mundo físico. É como se uma bola de cristal tivesse, nesse caso, sido criada para aquele espaço físico, a partir do qual é possível consultar e/ou computar muitas coisas sobre aquele local e seu histórico.
[0088] Como um exemplo, um usuário poderá agora consultar se um objeto está naquele exato momento em um espaço físico, ou se um objeto estava em um momento específico dentro do espaço físico. O usuário poderá também consultar se pessoa tendo aspectos específicos (por exemplo, classificação ou posição dentro de uma empresa) está próximo àquele objeto naquele exato momento, e comunicar com aquela pessoa para trazer o objeto ao usuário. O usuário poderá consultar quanto às relações entre entidades físicas. Por exemplo, o usuário poderá consultar quem tem posse de um objeto. O usuário poderá consultar quanto ao estado de um objeto, se o mesmo está escondido, e qual outro objeto está obscurecendo a visão do objeto. O usuário poderá consultar quando uma entidade física apareceu
Petição 870190057079, de 19/06/2019, pág. 58/74
34/45 primeiro no espaço físico, quando a mesma saiu, e assim por diante. O usuário poderá também consultar quando as lâmpadas foram apagadas, quando o sistema se tornou seguro de um ou mais aspectos de uma entidade física. O usuário poderá também consultar sobre os aspectos de um objeto. O usuário poderá ainda consultar sobre as atividades que ocorreram no local. Um usuário poderá computar o tempo médio que uma entidade física de um tipo em particular fica no local, antecipar onde uma entidade física estará em algum tempo futuro, e assim por diante. Por conseguinte, uma rica computação e consulta poderá ser realizada em um espaço físico dotado de sensores.
[0089] Tal como previamente mencionado, o gráfico navegável em computador pode ter segmentos de sinal associados aos aspectos detectados. A Figura 5 ilustra um fluxograma de um método 500 para uma eficiente renderização de segmentos de sinal de interesse. Primeiramente, o sistema de computação navega o gráfico navegável de aspectos detectados a fim de obter um aspecto detectado em particular (etapa 501). Por exemplo, essa navegação pode ser feita de maneira automática ou em resposta a uma entrada de usuário. A navegação pode ser o resultado de um cálculo, ou poderá simplesmente envolver a identificação do aspecto detectado de interesse. Como um outro exemplo, a navegação pode ser o resultado de uma consulta de usuário. Em algumas modalidades, um cálculo ou consulta poderá resultar na navegação em múltiplos aspectos detectados. Como um exemplo, supõe-se que o sistema de computação navegue no aspecto detectado 222A da Figura 2.
[0090] O sistema de computação em seguida navega no sinal detectado em computador associado a um aspecto detectado em particular (etapa 502) usando a associação de computador entre o aspecto detectado em questão e o associado sinal de sensor. Por
Petição 870190057079, de 19/06/2019, pág. 59/74
35/45 exemplo, na Figura 2, com o aspecto detectado sendo o aspecto detectado 222A, a associação de computador é usada para navegar no segmento de sinal 222Aa.
[0091] Por fim, o segmento de sinal poderá, em seguida, ser renderizado (etapa 503) em um dispositivo de saída apropriado. Por exemplo, quando o sistema de computação é o sistema de computação 100 da Figura 1, o dispositivo de saída apropriado poderá ser um ou mais mecanismos de saída 112A. Por exemplo, sinais de áudio podem ser renderizados usando alto-falantes, e dados visuais poderão ser renderizados usando um monitor de vídeo. Depois de navegar nos sinais detectados, poderão acontecer muitas coisas. O usuário poderá exibir um segmento de sinal em particular, ou talvez escolher dentre múltiplos segmentos de sinal que contribuíram para o aspecto. Uma visão poderá ser sintetizada a partir de múltiplos segmentos de sinal.
[0092] Com a computação sendo feita no mundo físico, um novo tipo de computação ambiental se torna possível. É como se os computadores estivessem disponíveis no mesmo meio ambiente, incorporados no próprio ar, e capazes de realizar computações em entidades físicas que se encontram em qualquer ponto em contato com o mesmo ar. No local de trabalho, a produtividade poderá se tornar muito maior ao se usar essa computação ambiental. Por exemplo, um usuário poderá rapidamente encontrar uma ferramenta perdida, ou ser capaz de se comunicar com um colega próximo à ferramenta de maneira que o usuário possa pedir que aquele colega traga a ferramenta para o usuário. Além disso, em adição à computação ambiental, os seres humanos poderão revisar os sinais de sensor que foram usados para detectar aspectos de interesse para entidades físicas específicas de interesse, em determinados momentos de interesse. No entanto, a quantidade de cenários para o aperfeiçoamento da produtividade física no tempo devido para o uso
Petição 870190057079, de 19/06/2019, pág. 60/74
36/45 responsável da computação ambiental é ilimitada.
[0093] Agora que os princípios da computação ambiental foram descritos com referência às Figuras 2 a 5, os mecanismos de segurança que poderão ser realizados no contexto de tal computação ambiental serão descritos com referência à Figura 6. A Figura 6 ilustra um fluxograma de um método 600 para o controle da criação das ou do acesso às informações detectadas por um ou mais sensores em um espaço físico. O método inclui a criação (etapa 601) de um gráfico navegável em computador de aspectos das entidades físicas detectadas que foram detectados em um espaço físico ao longo do tempo. Os princípios descritos no presente documento não se limitam à estrutura exata de tal gráfico navegável em computador. Um exemplo de estrutura e sua criação é descrito com referência às Figuras 2 a 4.
[0094] O método 600 também inclui a restrição da criação dos ou do acesso aos nós do gráfico navegável em computador com base em um ou mais critérios (etapa 602). Sendo assim, uma segurança é imposta sobre o gráfico navegável em computador. As setas 603 e 604 representam o fato de que o processo de criação do gráfico e de restrição da criação / acesso aos seus nós poderá ser um processo contínuo. O gráfico pode ter nós continuamente criados no (ou talvez removidos do) gráfico. Além disso, restrições de criação podem ser consideradas sempre que houver a possibilidade de criação de um nó. As restrições de acesso podem ser decididas quando um nó do gráfico é criado, ou a qualquer momento após. Exemplos de restrições podem incluir, entre outras coisas, uma identidade prospectiva de uma entidade física detectada, um aspecto detectado de uma entidade física detectada, e assim por diante.
[0095] Na determinação do fato se o acesso a um nó de um gráfico navegável em computador está autorizado, poderão existir
Petição 870190057079, de 19/06/2019, pág. 61/74
37/45 critérios de acesso para cada nó. Tais critérios de acesso podem ser explícitos ou implícitos. Ou seja, quando não há nenhum critério de acesso explícito para o nó que deve ser acessado, nesse caso, talvez um conjunto padrão de critérios de acesso poderá ser aplicado. Os critérios de acesso por qualquer nó em particular poderão ser organizados de qualquer maneira. Por exemplo, em uma modalidade, os critérios de acesso para um nó poderão ser armazenados com o nó no gráfico navegável em computador.
[0096] As restrições de acesso podem também incluir restrições com base em um tipo de acesso solicitado. Por exemplo, um acesso computacional significa que o nó não é diretamente acessado, mas sim usado em uma computação. O acesso direto para a leitura do conteúdo de um nó pode ser restrito, ao passo que o acesso computacional que não relata os exatos conteúdos do nó poderá ser permitido.
[0097] As restrições de acesso podem também se basear no tipo de nó acessado. Por exemplo, poderá haver uma restrição de acesso ao nó de estrutura de dados de uma entidade em particular dentro do gráfico navegável em computador. Por exemplo, quando aquele nó de estrutura de dados de entidade específica representa as detecções de uma pessoa em particular dentro do espaço físico, o acesso poderá ser negado. Poderá também haver restrições no acesso a nós de segmentos de sinal específicos do gráfico navegável em computador. Como um exemplo, talvez possa ser possível determinar se uma pessoa se encontra em um local em um determinado momento, mas pode não ser possível revisar as gravações de vídeo daquela pessoa naquele local. As restrições de acesso podem também se basear em quem solicita o acesso.
[0098] Para se determinar em que situação se deve restringir a criação de um nó de aspecto detectado em particular no gráfico
Petição 870190057079, de 19/06/2019, pág. 62/74
38/45 navegável em computador, deve-se considerar uma variedade de critérios. Por exemplo, pode haver uma restrição na criação de um nó de segmentos de sinal em particular em um gráfico navegável em computador.
[0099] A Figura 7 ilustra um fluxo recorrente 700 que mostra que, em adição à criação de um gráfico navegável em computador de aspectos detectados no espaço físico (etapa 701), poderá haver também a redução do gráfico navegável em computador (etapa 702), Essas etapas poderão ainda ocorrer de forma simultânea ou continuamente (tal como representado pelas setas 703 e 704) no sentido de, assim, manter o gráfico navegável em computador de aspectos detectados em um tamanho gerenciável. No presente documento, foi feita uma significativa descrição sobre como o gráfico navegável em computador pode ser criado (tal como representado como a etapa 701).
[00100] A seguir, o presente relatório descritivo enfoca sobre como o gráfico navegável em computador pode ser reduzido no sentido de remover um ou mais nós do gráfico navegável em computador (etapa 702). Qualquer nó do gráfico navegável em computador pode ser submetido à remoção. Por exemplo, os aspectos detectados de uma estrutura de dados de entidade física podem ser removidos por um tempo ou conjunto de tempo específico. Um aspecto detectado de uma estrutura de dados de entidade física pode também ser removido todas as vezes. Mais de um aspecto detectado de uma estrutura de dados de entidade física poderá ser removido por qualquer tempo definido, ou por qualquer conjunto de tempo específico. Além disso, em alguns casos, uma estrutura de dados de entidade física poderá ser totalmente removida.
[00101] A remoção de um nó poderá ocorrer, por exemplo, quando o gráfico físico representa alguma coisa impossível, considerando as leis da física. Por exemplo, um determinado objeto não pode estar em
Petição 870190057079, de 19/06/2019, pág. 63/74
39/45 dois lugares ao mesmo tempo, tampouco aquele objeto poderá percorrer significativas distâncias em uma curta extensão de tempo em um ambiente no qual tal percurso seja inexequível ou impossível. Por conseguinte, quando uma entidade física é monitorada com absoluta certeza em um local, qualquer estrutura de dados de entidade física que representa com menor confiança que aquela mesma entidade física se encontra em um local inconsistente poderá ser apagada. [00102] A remoção de um nó poderá também ocorrer quando uma maior confiança é obtida com relação a um aspecto detectado de uma entidade física. Por exemplo, quando um aspecto detectado de uma entidade física dentro de um local é determinado corpo 100 por cento de certeza, nesse caso os níveis de certeza daquele aspecto detectado daquela entidade física poderão ser atualizados para ler 100 por cento em todos os momentos anteriores também. Além disso, os aspectos detectados que foram aprendidos como não aplicáveis a uma entidade física (ou seja, o nível de confiança foi reduzido a zero ou insignificante), o aspecto detectado poderá ser removido daquela entidade física.
[00103] Além disso, algumas informações no gráfico navegável em computador podem simplesmente ser muito antigas para ser úteis. Por exemplo, quando uma entidade física não é observada no espaço físico por um substancial período de tempo de maneira a não mais tornar o reconhecimento anterior da entidade física uma questão relevante, nesse caso a estrutura de dados de entidade física inteira poderá ser removida. Além disso, as detecções de uma entidade física que se tornaram antigas poderão ser removidas, embora a estrutura de dados de entidade física permaneça a fim de refletir detecções mais recentes. Sendo assim, a limpeza (ou redução) do gráfico navegável em computador poderá ser feita através de uma análise intrínseca ou via informações extrínsecas. Essa redução melhora
Petição 870190057079, de 19/06/2019, pág. 64/74
40/45 intrinsecamente a qualidade das informações representadas no gráfico navegável em computador ao remover informações de menor qualidade ou ao liberar espaço para informações mais relevantes a ser armazenadas.
[00104] Por conseguinte, os princípios descritos no presente documento permitem um gráfico navegável em computador do mundo físico. O gráfico pode ser pesquisável ou consultável, deste modo permitindo que pesquisas e consultas ou outras computações sejam realizadas no mundo real. A segurança poderá ainda ser imposta em tal ambiente. Por fim, o gráfico pode ser mantido em um tamanho gerenciável através de limpeza ou remoção. Deste modo, um novo paradigma em computação é obtido.
[00105] O gráfico navegável em computador de espaço físico acima descrito permite uma ampla variedade de aplicações e implementações técnicas. Duas dessas aplicações serão descritas a seguir. Uma primeira aplicação é um agente de realidade que aumenta a capacidade de um usuário observar, raciocinar, e potencialmente ainda atuar no mundo real. Uma segunda aplicação é um sistema que permite ao usuário expressar as condições físicas que podem ocorrer no mundo real de modo que o usuário possa afetar o futuro caso essas condições físicas sejam atendidas. Em ambos os casos, uma interpretação de linguagem natural poderá ser feita no sentido de emitir comandos para o agente de realidade e/ou expressar as condições físicas sobre as quais tomar ação no futuro.
[00106] A Figura 8 ilustra um fluxograma do método 800 para um agente (no presente documento também chamado um “agente de realidade”) para tomar ações com base nas observações do mundo real. A Figura 9 ilustra um exemplo de ambiente operacional 900 para um agente 910. Uma vez que o agente 910 pode executar o método 800 da Figura 8, a Figura 8 será descrita com frequente referência ao
Petição 870190057079, de 19/06/2019, pág. 65/74
41/45 ambiente 900 da Figura 9. O agente pode ser, por exemplo, um componente que executa um sistema de computação.
[00107] De acordo com o método 800 da Figura 8, o agente interpreta um ou mais comandos recebidos de um usuário (etapa 801). Por exemplo, na Figura 9, o usuário 901 emite comandos tais como representados pelas setas 902 e 903. Esses comandos podem ser comandos em linguagem natural (por exemplo, o usuário fala os comandos). Nesse caso, os comandos de linguagem natural são representados pela seta 902 e são recebidos no agente 910 por meio de um mecanismo de linguagem natural 911. Os princípios descritos no presente documento não se limitam à maneira como ocorre a interpretação do comando de linguagem natural. No entanto, os comandos de linguagem natural 902 são interpretados pelo mecanismo de linguagem natural 911 nos comandos legíveis por computador (tal como representado pela seta 903).
[00108] De acordo com o método 800 da Figura 8, o agente responde aos comandos por meio da formulação de pelo menos uma consulta em um gráfico físico (etapa 802). Por exemplo, na Figura 9, o gerador de consulta 912 pode gerar múltiplas consultas a serem feitas no gráfico físico 920. O gráfico físico 920 representa o estado de uma ou mais entidades físicas dentro de um espaço físico e que são observadas por múltiplos sensores. Um exemplo mais específico de tal gráfico físico 920 foi explicado acima com referência às Figuras 1 a 4.
[00109] De acordo com o método 800 da Figura 8, o agente, em seguida, emite a uma ou mais consultas feitas no gráfico físico (etapa 803). Por exemplo, na Figura 9, o gerador de consulta 912 emite consultas ao gráfico físico 920 tal como representado pela seta 904. Evidentemente, as respostas às consultas são também recebidas pelo agente em retorno pelo gráfico físico 920 (etapa 804). O processo de submissão de consultas (etapa 803) e de recebimento de respostas
Petição 870190057079, de 19/06/2019, pág. 66/74
42/45 (etapa 804) não precisa ocorrer em uma simples solicitação e resposta, mas, sim, poderá representar uma interação complexa com o gráfico físico 920. Por exemplo, uma resposta a uma consulta poderá ser usada no sentido de gerar uma ou mais outras consultas. De qualquer maneira, as respostas serão recebidas pelo agente em um identificador de ação 913.
[00110] De acordo com o método 800 da Figura 8, o agente, em seguida, identifica as ações que se tornam responsivas em respostas de consulta (etapa 805). Tais ações podem incluir ações virtuais como, por exemplo, notificar o usuário da informação solicitada nos comandos recebidos do usuário, renderizar segmentos de sinal ao usuário, computar sobre o mundo físico, e apresentar resultados ao usuário, se comunicar com outros seres humanos e/ou seus agentes, e assim por diante. No entanto, tais ações poderão também incluir ações físicas.
[00111] De acordo com o método 800 da Figura 8, o agente poderá, em seguida, fazer com que as ações sejam iniciadas (etapa 806). Por exemplo, na Figura 9, o identificador de ação 913 sinaliza (tal como representado pela seta 906) um agente de ação 914 para tomar ação. O agente de ação 914 pode realizar uma ação virtual (exemplos da mesma sendo providos no parágrafo anterior) ou poderá realizar de fato ações físicas e, deste modo, impactar o mundo físico.
[00112] Como um exemplo, supõe-se que o usuário emita comandos com o agente de realidade, perguntando se existe algum vazamento em um determinado lugar de trabalho, e, caso positivo, fechar o acesso à área. O agente de realidade poderá consultar o gráfico físico daquele lugar de trabalho no sentido de identificar um vazamento, e, em seguida, fazer com que drenes ou robôs sejam despachados para a área a fim de impedir que pessoas se encaminhem para aquela área.
Petição 870190057079, de 19/06/2019, pág. 67/74
43/45 [00113] A ação física poderá não ser imediata, mas poderá incluir a definição de uma condição física sobre a qual tomar alguma ação futura. Como um exemplo, tais condições físicas poderão incluir a presença ou a ausência física de pelo menos uma entidade física identificada em um local em particular. De maneira alternativa ou em adição, tais condições físicas poderão incluir a ocorrência ou a ausência de uma atividade física. De maneira alternativa ou em adição, tais condições físicas poderão incluir a presença ou a ausência de uma relação física entre duas ou mais entidades físicas.
[00114] A Figura 10 ilustra um fluxograma de um método 1000 para a definição de uma ou mais condições físicas sobre as quais realizar uma ou mais ações. O método 1000 inclui a definição de uma condição física (etapa 1001). Essa condição física poderá ser definida como parte de um agente de realidade que toma alguma ação sobre um comando (por exemplo, na etapa 806 da Figura 8 através do mecanismo de ação 914 da Figura 9). No entanto, a definição da condição física poderá, de maneira alternativa, ser realizada por meio de um comando direto de um usuário. Mais uma vez, tal comando poderá ser também um comando de linguagem natural tal como interpretado por um mecanismo de linguagem natural. Sendo assim, o agente de realidade 910 poderá também ser usado no sentido de diretamente definir as condições físicas sobre as quais tomar alguma ação futura.
[00115] O sistema (por exemplo, talvez o agente de realidade 910) também identifica uma ação a tomar após a ocorrência da condição física (etapa 1002). Uma ação 1002 é mostrada sem uma relação temporal com a definição da condição física (etapa 1001), uma vez que a identificação de tal ação poderá ocorrer antes da ocorrência da condição física e/ou poderá ocorrer antes, por exemplo, antes da etapa 1001, ou poderá ocorrer depois da detecção da condição física
Petição 870190057079, de 19/06/2019, pág. 68/74
44/45 (“Sim” no bloco de decisão 1004), ou as duas coisas. A ação a ser tomada poderá ser determinada pelo sistema ou poderá ser expressa por um usuário.
[00116] Quando a condição física é definida (etapa 1001), o sistema monitora a ocorrência de uma possível ocorrência iminente da condição física (etapa 1003). Quando a ocorrência ou iminência da condição física é detectada (“Sim” no bloco de decisão 1004), em seguida, a ação é tomada (etapa 1005). Tais ações podem ser ações virtuais - por exemplo, alertar uma ou mais pessoas ou sistemas que a condição física ocorreu e é iminente, comunicar-se com uma ou mais pessoas sobre a condição física, apresentar um segmento de sinal, ou outras ações virtuais. As ações podem ser ainda ações físicas, por exemplo, (no caso de a condição física parecer mais provável) evitar (ou facilitar) a ocorrência da condição física. Tais ações poderão incluir o envio de robôs ou drones a fim de tratar da ocorrência da condição física. No exemplo do vazamento, o usuário poderá instruir o agente de realidade no sentido de procurar vazamentos, e caso algum ocorra, tomar ação física específica no sentido de impedir que trabalhadores entrem naquela área, notificar uma equipe de segurança, e assim por diante.
[00117] Deste modo, os princípios descritos no presente documento proveem um agente de realidade que responde às consultas e comandos emitidos por um usuário ao avaliar um gráfico de uma parte do mundo real. Em algumas modalidades, o agente de realidade poderá até mesmo influenciar o mundo real em resposta às consultas ou comandos emitidos por um usuário. O agente se torna uma ampliação do usuário no próprio mundo real. O agente tem mais capacidade de observar informações e atividades do mundo real do que, muitas vezes, poderia um usuário. O agente tem mais capacidade de lembrar e raciocinar sobre essas informações do mundo real. Por
Petição 870190057079, de 19/06/2019, pág. 69/74
45/45 fim, a agente tem potencial mente mais capacidade de tomar ações físicas no mundo real com base nas informações do ou raciocinar sobre o mundo real. Além disso, os princípios descritos no presente documento proveem um mecanismo a fim de observar o mundo real para a ocorrência de qualquer condição física, e realizar qualquer ação (virtual ou física) em resposta à condição física. Sendo assim, o usuário se torna capacitado para afetar o futuro do mundo real ao expressar uma condição de mundo real sobre a qual tomar ação. [00118] A presente invenção pode ser incorporada em outras formas específicas sem se afastar do seu espirito ou características essenciais. As modalidades descritas devem ser consideradas em todos seus aspectos apenas como ilustrativas e não restritivas. O âmbito de aplicação da presente invenção deve, portanto, ser indicado pelas reivindicações em apenso ao invés de pelo relatório descritivo acima. Todas as mudanças que se inserem no significado e faixa de equivalência das reivindicações devem ser abrangidas no âmbito de aplicação da presente invenção.

Claims (10)

1. Sistema de computação, caracterizado pelo fato de compreender:
um ou mais processadores;
um ou mais meios legíveis por computador tendo nos mesmos instruções executáveis em computador que são estruturadas de tal maneira que, quando executadas pelo um ou mais processadores, essas instruções fazem com que o sistema de computação inicie e/ou opere um agente que é configurado de modo a realizar as seguintes ações:
interpretar um ou mais comandos de um usuário; e responder pelo menos a um ou mais comandos por meio da execução das seguintes ações:
formulação de pelo menos uma consulta em um gráfico físico que representa o estado de uma ou mais entidades físicas dentro de um espaço físico e observadas por uma pluralidade de sensores;
emitir a pelo menos uma consulta feita no gráfico físico; e identificar uma ação responsiva a uma ou mais respostas a pelo menos uma consulta feita no gráfico físico.
2. Sistema de computação, de acordo com a reivindicação 1, caracterizado pelo fato de que o agente compreende:
um mecanismo de linguagem natural, sendo que o um ou mais comandos do usuário incluem comandos de linguagem natural.
3. Sistema de computação, de acordo com a reivindicação 1, caracterizado pelo fato de que o agente compreende:
um mecanismo de ação física configurado de modo a fazer com que um ou mais atos físicos sejam realizados, sendo que a ação identificada inclui uma ação física.
Petição 870190057079, de 19/06/2019, pág. 71/74
2/3
4. Sistema de computação, de acordo com a reivindicação 1, caracterizado pelo fato de que a ação identificada compreende a criação de um gatilho no gráfico físico de tal modo que, quando um estado é obtido no gráfico físico, uma ação seja disparada.
5. Sistema de computação, de acordo com a reivindicação 1, caracterizado pelo fato de que a ação identificada notifica o usuário de uma informação solicitada no pelo menos um dentre o um ou mais comandos do usuário.
6. Sistema de computação, de acordo com a reivindicação 1, caracterizado pelo fato de que a ação identificada compreende a renderização de um segmento de sinal ao usuário.
7. Sistema de computação, de acordo com a reivindicação 1, caracterizado pelo fato de que a ação identificada é comunicada a um ou mais outros seres humanos.
8. Sistema de computação, de acordo com a reivindicação 1, caracterizado pelo fato de que a ação identificada compreende a definição de uma condição física e continua o monitoramento do gráfico físico para a ocorrência da condição física.
9. Sistema de computação, de acordo com a reivindicação 1, caracterizado pelo fato de que a ação identificada compreende o monitoramento do gráfico físico para uma potencial ocorrência de uma condição física, e a tomada de uma ação física no sentido de evitar ou favorecer aquela condição física.
10. Método de operação de um agente, o método sendo caracterizado pelo fato de compreender as etapas de:
interpretar, por meio do agente, um ou mais comandos de um usuário; e responder, por meio do agente, a pelo menos um dentre o um ou mais comandos por meio da execução das seguintes etapas:
formulação de pelo menos uma consulta em um gráfi
Petição 870190057079, de 19/06/2019, pág. 72/74
3/3 co físico que representa o estado de uma ou mais entidades físicas dentro de um espaço físico e observadas por uma pluralidade de sensores;
emissão de pelo menos uma consulta feita no gráfico físico; e identificação de uma ação responsiva a uma ou mais respostas a pelo menos uma consulta feita no gráfico físico.
BR112019012808A 2017-01-18 2018-01-11 tomada de ação com base em um gráfico físico BR112019012808A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762447790P 2017-01-18 2017-01-18
US15/436,686 US20180203881A1 (en) 2017-01-18 2017-02-17 Taking action based on physical graph
PCT/US2018/013232 WO2018136280A1 (en) 2017-01-18 2018-01-11 Taking action based on physical graph

Publications (1)

Publication Number Publication Date
BR112019012808A2 true BR112019012808A2 (pt) 2019-12-03

Family

ID=62841410

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112019012808A BR112019012808A2 (pt) 2017-01-18 2018-01-11 tomada de ação com base em um gráfico físico

Country Status (16)

Country Link
US (1) US20180203881A1 (pt)
EP (1) EP3571640A1 (pt)
JP (1) JP2020505691A (pt)
KR (1) KR20190107029A (pt)
CN (1) CN110192209A (pt)
AU (1) AU2018210202A1 (pt)
BR (1) BR112019012808A2 (pt)
CA (1) CA3046332A1 (pt)
CL (1) CL2019001929A1 (pt)
CO (1) CO2019007636A2 (pt)
IL (1) IL267900A (pt)
MX (1) MX2019008497A (pt)
PH (1) PH12019550122A1 (pt)
RU (1) RU2019125863A (pt)
SG (1) SG11201905466YA (pt)
WO (1) WO2018136280A1 (pt)

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9230560B2 (en) * 2012-10-08 2016-01-05 Nant Holdings Ip, Llc Smart home automation systems and methods
US9871865B2 (en) * 2013-07-11 2018-01-16 Neura, Inc. Physical environment profiling through internet of things integration platform
US10254258B2 (en) * 2013-10-21 2019-04-09 Shimadzu Corporation Data processing system for comprehensive two-dimensional chromatograph
US9594109B2 (en) * 2014-02-17 2017-03-14 Scadata, Inc. Monitoring system for electrical equipment failure and method
US9542648B2 (en) * 2014-04-10 2017-01-10 Palo Alto Research Center Incorporated Intelligent contextually aware digital assistants
DE112015002480T5 (de) * 2014-05-26 2017-03-02 Agt International Gmbh System und Verfahren zur Erfassung von in Überwachungssystemen verwendeten Sensoren
WO2015195765A1 (en) * 2014-06-17 2015-12-23 Nant Vision, Inc. Activity recognition systems and methods
US10592093B2 (en) * 2014-10-09 2020-03-17 Splunk Inc. Anomaly detection
US20160328522A1 (en) * 2015-05-08 2016-11-10 YC Wellness, Inc. Integration platform and application interfaces for remote data management and security
US11202172B2 (en) * 2015-10-29 2021-12-14 Stratacache Limited System and method for managing indoor positioning data
JP6365554B2 (ja) * 2016-01-14 2018-08-01 マツダ株式会社 運転支援装置
US10313382B2 (en) * 2016-03-29 2019-06-04 The Mitre Corporation System and method for visualizing and analyzing cyber-attacks using a graph model

Also Published As

Publication number Publication date
AU2018210202A1 (en) 2019-07-11
CO2019007636A2 (es) 2019-07-31
RU2019125863A (ru) 2021-02-19
EP3571640A1 (en) 2019-11-27
CL2019001929A1 (es) 2019-11-29
SG11201905466YA (en) 2019-08-27
CN110192209A (zh) 2019-08-30
WO2018136280A1 (en) 2018-07-26
KR20190107029A (ko) 2019-09-18
US20180203881A1 (en) 2018-07-19
IL267900A (en) 2019-09-26
MX2019008497A (es) 2019-09-10
PH12019550122A1 (en) 2020-02-10
CA3046332A1 (en) 2018-07-26
JP2020505691A (ja) 2020-02-20

Similar Documents

Publication Publication Date Title
US11410672B2 (en) Organization of signal segments supporting sensed features
US10437884B2 (en) Navigation of computer-navigable physical feature graph
BR112019013490A2 (pt) Treinamento em tempo de atividade automatizado
US11070504B2 (en) Communication routing based on physical status
US10606814B2 (en) Computer-aided tracking of physical entities
BR112019012808A2 (pt) tomada de ação com base em um gráfico físico
US20180204096A1 (en) Taking action upon physical condition
US10679669B2 (en) Automatic narration of signal segment
US11094212B2 (en) Sharing signal segments of physical graph
US20180203885A1 (en) Controlling creation/access of physically senses features
US20180203948A1 (en) Automated movement orchestration
US20180203886A1 (en) Cleansing of computer-navigable physical feature graph

Legal Events

Date Code Title Description
B11A Dismissal acc. art.33 of ipl - examination not requested within 36 months of filing
B11Y Definitive dismissal - extension of time limit for request of examination expired [chapter 11.1.1 patent gazette]
B350 Update of information on the portal [chapter 15.35 patent gazette]