WO2022266751A1 - Location filtering using wireless signals from a physical hardware device to a portable device to facilitate cloud content handling - Google Patents
Location filtering using wireless signals from a physical hardware device to a portable device to facilitate cloud content handling Download PDFInfo
- Publication number
- WO2022266751A1 WO2022266751A1 PCT/CA2022/050988 CA2022050988W WO2022266751A1 WO 2022266751 A1 WO2022266751 A1 WO 2022266751A1 CA 2022050988 W CA2022050988 W CA 2022050988W WO 2022266751 A1 WO2022266751 A1 WO 2022266751A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- identifier
- data
- location
- devices
- client device
- Prior art date
Links
- 238000001914 filtration Methods 0.000 title abstract description 15
- 238000009826 distribution Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 description 60
- 238000000034 method Methods 0.000 description 39
- 230000008569 process Effects 0.000 description 19
- 238000012545 processing Methods 0.000 description 15
- 230000003190 augmentative effect Effects 0.000 description 9
- 238000003860 storage Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 230000000295 complement effect Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 6
- 238000005259 measurement Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 230000001413 cellular effect Effects 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000011068 loading method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005855 radiation Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- ZINJLDJMHCUBIP-UHFFFAOYSA-N ethametsulfuron-methyl Chemical compound CCOC1=NC(NC)=NC(NC(=O)NS(=O)(=O)C=2C(=CC=CC=2)C(=O)OC)=N1 ZINJLDJMHCUBIP-UHFFFAOYSA-N 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000004630 mental health Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 235000013615 non-nutritive sweetener Nutrition 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/025—Services making use of location information using location based information parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
- H04W12/104—Location integrity, e.g. secure geotagging
Definitions
- the embodiments described herein are generally directed to network data transfer, and, more particularly, to efficient network-based access to and transfer of location-aware or location- sensitive data.
- Location-aware data filtering enables manageable subsets of overall data, stored within a cloud service, to be provided to devices with more limited storage (e.g., portable or mobile devices).
- devices with more limited storage e.g., portable or mobile devices.
- filtering can be computationally expensive when the cloud service must calculate the range of the data subset to provide to a mobile device, based on a single-point location provided by the mobile device.
- FIG. 1 illustrates an example processing system, by which one or more of the processes described herein, may be executed, according to an embodiment
- FIG. 2 illustrates an example infrastructure in which one or more of the disclosed processes may operate, according to an embodiment
- FIG. 3 illustrates a block diagram of the inbound and outbound links for components within the infrastructure, according to an embodiment
- FIGS. 4-6 illustrate example flowcharts of data processes within the infrastructure, according to embodiments.
- FIGS. 7-9 illustrate example data flows between components within the infrastructure, according to an embodiment.
- systems, methods, and non-transitory computer-readable media are disclosed for location filtering using wireless signals from an edge device to a client device to facilitate the handling of cloud content.
- Embodiments may minimize the cost to large data systems for providing location-aware data, and minimize the latency of access to location-aware data in a scalable manner.
- Embodiments may use feedback from the physical world to improve location- aware filtering and provide more accurate location-based datasets.
- feedback from a physical device is used to allow efficient data retrieval through passive location filtering.
- Passive location filtering is guided by the principle that a wireless communication device has physical range limitations.
- a wireless communication device has physical range limitations.
- all immediate surroundings of a client device that receives the identifier can be uniquely identified by a single lookup of the identifier.
- the location of the client device can be inferred from the identified s) that it is able to receive, and the client device may retrieve (e.g., load and cache) all data associated with its location using the received identified s) as an index. All data associated with locations can be indexed by an identifier.
- the edge of the system may comprise localized content distribution units (LCDUs) which provide the location-specific data that client devices request.
- LCDUs localized content distribution units
- the client device and the LCDU may remain synchronized, such that any change in the location of the client device results in an update of the location- specific data by the LCDU.
- the LCDU may maintain synchronization between overall data stored in the cloud and the LCDU’s location-specific portion of that overall data stored in the LCDU.
- the LCS units may execute the majority of processing related to content delivery, including, without limitation, preparation of image templates, video optimization, stitching of 360-degree videos, adding content in the display template to be send to the end-user device, and/or the like, thereby reducing the amount of processing carried out by the end-user devices.
- the LCS units may perform the majority of processing related to content capture, including, without limitation, frame isolation, object stripping, object extraction, object identification, asset location and filtering, asset attachment, frame stitching, and/or video re streaming.
- FIG. 1 is a block diagram illustrating an example wired or wireless system 100 that may be used in connection with various embodiments described herein.
- system 100 may be used as or in conjunction with one or more of the functions, processes, or methods (e.g., to store and/or execute one or more software modules) described herein.
- System 100 can be a server or any conventional personal computer, or any other processor-enabled device that is capable of wired or wireless data communication.
- Other computer systems and/or architectures may be also used, as will be clear to those skilled in the art.
- System 100 preferably includes one or more processors 110.
- Processor(s) 110 may comprise a central processing unit (CPU). Additional processors may be provided, such as a graphics processing unit (GPU), an auxiliary processor to manage input/output, an auxiliary processor to perform floating-point mathematical operations, a special-purpose microprocessor having an architecture suitable for fast execution of signal-processing algorithms (e.g., digital- signal processor), a slave processor subordinate to the main processing system (e.g., back-end processor), an additional microprocessor or controller for dual or multiple processor systems, and/or a coprocessor.
- Such auxiliary processors may be discrete processors or may be integrated with processor 110. Examples of processors which may be used with system 100 include, without limitation, the Pentium® processor, Core i7® processor, and Xeon® processor, all of which are available from Intel Corporation of Santa Clara, California.
- Processor 110 is preferably connected to a communication bus 105.
- Communication bus 105 may include a data channel for facilitating information transfer between storage and other peripheral components of system 100.
- communication bus 105 may provide a set of signals used for communication with processor 110, including a data bus, address bus, and/or control bus (not shown).
- Communication bus 105 may comprise any standard or non-standard bus architecture such as, for example, bus architectures compliant with industry standard architecture (ISA), extended industry standard architecture (EISA), Micro Channel Architecture (MCA), peripheral component interconnect (PCI) local bus, standards promulgated by the Institute of Electrical and Electronics Engineers (IEEE) including IEEE 488 general-purpose interface bus (GPIB), IEEE 696/S- 100, and/or the like.
- ISA industry standard architecture
- EISA extended industry standard architecture
- MCA Micro Channel Architecture
- PCI peripheral component interconnect
- System 100 preferably includes a main memory 115 and may also include a secondary memory 120.
- Main memory 115 provides storage of instructions and data for programs executing on processor 110, such as one or more of the functions and/or modules discussed herein. It should be understood that programs stored in the memory and executed by processor 110 may be written and/or compiled according to any suitable language, including without limitation C/C++, Java, JavaScript, Perl, Visual Basic, .NET, and the like.
- Main memory 115 is typically semiconductor- based memory such as dynamic random access memory (DRAM) and/or static random access memory (SRAM).
- DRAM dynamic random access memory
- SRAM static random access memory
- Other semiconductor-based memory types include, for example, synchronous dynamic random access memory (SDRAM), Rambus dynamic random access memory (RDRAM), ferroelectric random access memory (FRAM), and the like, including read only memory (ROM).
- SDRAM synchronous dynamic random access memory
- RDRAM Rambus dynamic random access memory
- FRAM ferroelectric random access memory
- ROM read only
- Secondary memory 120 may optionally include an internal medium 125 and/or a removable medium 130.
- Removable medium 130 is read from and/or written to in any well-known manner.
- Removable storage medium 130 may be, for example, a magnetic tape drive, a compact disc (CD) drive, a digital versatile disc (DVD) drive, other optical drive, a flash memory drive, and/or the like.
- Secondary memory 120 is a non-transitory computer-readable medium having computer-executable code (e.g., disclosed software modules) and/or other data stored thereon.
- the computer software or data stored on secondary memory 120 is read into main memory 115 for execution by processor 110.
- secondary memory 120 may include other similar means for allowing computer programs or other data or instructions to be loaded into system 100. Such means may include, for example, a communication interface 140, which allows software and data to be transferred from external storage medium 145 to system 100. Examples of external storage medium 145 may include an external hard disk drive, an external optical drive, an external magneto-optical drive, and/or the like. Other examples of secondary memory 120 may include semiconductor-based memory, such as programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable read-only memory (EEPROM), and flash memory (block-oriented memory similar to EEPROM).
- PROM programmable read-only memory
- EPROM erasable programmable read-only memory
- EEPROM electrically erasable read-only memory
- flash memory block-oriented memory similar to EEPROM
- system 100 may include a communication interface 140.
- Communication interface 140 allows software and data to be transferred between system 100 and external devices (e.g. printers), networks, or other information sources.
- computer software or data may be transferred to system 100, over one or more networks (e.g., including the Internet), from a network server via communication interface 140.
- Examples of communication interface 140 include a built-in network adapter, network interface card (NIC), Personal Computer Memory Card International Association (PCMCIA) network card, card bus network adapter, wireless network adapter, Universal Serial Bus (USB) network adapter, modem, a wireless data card, a communications port, an infrared interface, an IEEE 1394 fire-wire, and any other device capable of interfacing system 100 with a network or another computing device.
- NIC network interface card
- PCMCIA Personal Computer Memory Card International Association
- USB Universal Serial Bus
- Communication interface 140 preferably implements industry -promulgated protocol standards, such as Ethernet IEEE 802 standards, Fiber Channel, digital subscriber line (DSL), asynchronous digital subscriber line (ADSL), frame relay, asynchronous transfer mode (ATM), integrated digital services network (ISDN), personal communications services (PCS), transmission control protocol/Internet protocol (TCP/IP), serial line Internet protocol/point to point protocol (SLIP/PPP), and so on, but may also implement customized or non-standard interface protocols as well.
- industry -promulgated protocol standards such as Ethernet IEEE 802 standards, Fiber Channel, digital subscriber line (DSL), asynchronous digital subscriber line (ADSL), frame relay, asynchronous transfer mode (ATM), integrated digital services network (ISDN), personal communications services (PCS), transmission control protocol/Internet protocol (TCP/IP), serial line Internet protocol/point to point protocol (SLIP/PPP), and so on, but may also implement customized or non-standard interface protocols as well.
- Communication channel 150 may be a wired or wireless network, or any variety of other communication links.
- Communication channel 150 carries signals 155 and can be implemented using a variety of wired or wireless communication means including wire or cable, fiber optics, conventional phone line, cellular phone link, wireless data communication link, radio frequency (“RF”) link, or infrared link, just to name a few.
- RF radio frequency
- Computer-executable code (e.g., computer programs, comprising one or more software modules) is stored in main memory 115 and/or secondary memory 120. Computer-executable code can also be received via communication interface 140 and stored in main memory 115 and/or secondary memory 120. Such computer-executable code, when executed, enable system 100 to perform the various functions of the disclosed embodiments as described elsewhere herein.
- computer-readable medium is used to refer to any non- transitory computer-readable storage media used to provide computer-executable code and/or other data to or within system 100.
- Examples of such media include main memory 115, secondary memory 120 (including internal memory 125, removable medium 130, and external storage medium 145), and any peripheral device communicatively coupled with communication interface 140 (including a network information server or other network device).
- These non-transitory computer-readable media are means for providing executable code, programming instructions, software, and/or other data to system 100.
- the software may be stored on a computer-readable medium and loaded into system 100 by way of removable medium 130, I/O interface 135, or communication interface 140.
- the software is loaded into system 100 in the form of electrical communication signals 155.
- the software when executed by processor 110, preferably causes processor 110 to perform one or more of the processes and functions described elsewhere herein.
- I/O interface 135 provides an interface between one or more components of system 100 and one or more input and/or output devices.
- Example input devices include, without limitation, sensors, keyboards, touch screens or other touch-sensitive devices, biometric sensing devices, computer mice, trackballs, pen-based pointing devices, and/or the like.
- Examples of output devices include, without limitation, other processing devices, cathode ray tubes (CRTs), plasma displays, light-emitting diode (LED) displays, liquid crystal displays (LCDs), printers, vacuum fluorescent displays (VFDs), surface-conduction electron-emitter displays (SEDs), field emission displays (FEDs), and/or the like.
- CTRs cathode ray tubes
- LED light-emitting diode
- LCDs liquid crystal displays
- VFDs vacuum fluorescent displays
- SEDs surface-conduction electron-emitter displays
- FEDs field emission displays
- an input and output device may be combined, such as in the case of a touch panel display (e.g., in a smartphone, tablet, or other mobile device).
- EO interface 135 provides an input interface for a camera 175 (e.g., a 360-degree video camera integrated into a VR system, a camera integrated into a mobile device or AR system, etc.), and an output to a display 180 (e.g., integrated into an AR/VR system, integral with a mobile device, etc.)
- a camera 175 e.g., a 360-degree video camera integrated into a VR system, a camera integrated into a mobile device or AR system, etc.
- a display 180 e.g., integrated into an AR/VR system, integral with a mobile device, etc.
- System 100 may also include optional wireless communication components that facilitate wireless communication over a voice network and/or a data network.
- the wireless communication components comprise an antenna system 170, a radio system 165, and a baseband system 160.
- RF radio frequency
- antenna system 170 may comprise one or more antennae and one or more multiplexors (not shown) that perform a switching function to provide antenna system 170 with transmit and receive signal paths.
- received RF signals can be coupled from a multiplexor to a low noise amplifier (not shown) that amplifies the received RF signal and sends the amplified signal to radio system 165.
- radio system 165 may comprise one or more radios that are configured to communicate over various frequencies.
- radio system 165 may combine a demodulator (not shown) and modulator (not shown) in one integrated circuit (IC). The demodulator and modulator can also be separate components. In the incoming path, the demodulator strips away the RF carrier signal leaving a baseband receive audio signal, which is sent from radio system 165 to baseband system 160.
- baseband system 160 decodes the signal and converts it to an analog signal. Then the signal is amplified and sent to a speaker. Baseband system 160 also receives analog audio signals from a microphone. These analog audio signals are converted to digital signals and encoded by baseband system 160. Baseband system 160 also encodes the digital signals for transmission and generates a baseband transmit audio signal that is routed to the modulator portion of radio system 165.
- the modulator mixes the baseband transmit audio signal with an RF carrier signal, generating an RF transmit signal that is routed to antenna system 170 and may pass through a power amplifier (not shown).
- the power amplifier amplifies the RF transmit signal and routes it to antenna system 170, where the signal is switched to the antenna port for transmission.
- Baseband system 160 is also communicatively coupled with processor 110, which may be a central processing unit (CPU).
- Processor 110 has access to data storage areas 115 and 120.
- Processor 110 is preferably configured to execute instructions (i.e., computer programs, such as the disclosed application, or software modules) that can be stored in main memory 115 or secondary memory 120.
- Computer programs can also be received from baseband processor 160 and stored in main memory 110 or in secondary memory 120, or executed upon receipt. Such computer programs, when executed, enable system 100 to perform the various functions of the disclosed embodiments.
- FIG. 2 illustrates an example infrastructure in which one or more of the disclosed processes may operate, according to an embodiment.
- Each of the devices illustrated in the example infrastructure may comprise a system 100 or a system comprising any subset of the components of system 100.
- the infrastructure may implement an edge-based cloud system, wherein a central cloud service (e.g., 230) centralizes an overall dataset and facilitates data transfer to requesting devices (e.g., 220 and 240) that exist at the edge of the network.
- the edge devices may complete any complex computations (e.g., image recognition and data parsing), thereby minimizing computation time and expense for the central cloud service.
- an optional content distribution network e.g., 240
- many requests for content can be handled simultaneously with location-specific data stored at the edge of the network near the location to which it relates. This enables rapid access to data that is relevant to a specific location by minimizing long-distance network latency, while simultaneously centralizing the overall dataset to provide eventual access to any geographically ideal cache store that may require such data.
- the infrastructure may comprise one or a plurality of identifier devices 210, including a network of identifier devices 210 (e.g., a ubiquitous proximity -based network of identifier devices 210).
- a plurality of identifier devices 210 may be distributed throughout a covered area, such as a building (e.g., art museum or gallery).
- Each identifier device 210 may wirelessly broadcast an identifier within a wireless communication range.
- the wireless communication range of each identifier device 210 and/or the positions of identifier devices 210 with respect to each other may be configured to enable coverage of all relevant locations in the covered area, and the wireless communication ranges of two or more identifier devices 210 may overlap.
- Each identifier device 210 may operate as a stand-alone unit with an advertisement- based or broadcast data-transfer method. This removes limitations on the number of client devices 220 able to access the same identifier at any given point in time.
- Each identifier device 210 may broadcast a unique identifier (i.e., different from any identifier broadcast by any other identifier device 210 in the covered area).
- identifier devices 210 within the same vicinity may broadcast the same identifier, such that a group of proximate identifier devices 210 broadcast the same identifier, but which is a different identifier than any other group of proximate identifier devices 210.
- the wireless broadcast of any given identifier device 210 may be wirelessly received by one or more client devices 220.
- Client devices 220 may comprise a mobile device, such as a smart phone. As a client device 220 roams the covered area it may receive different identifiers from different identifier devices 210, as client device 220 enters and exists the wireless communication ranges of the various identifier devices 210.
- the infrastructure further comprises a server-based system 230.
- server- based system 230 may be a cloud-based system.
- Client device 220A may communicate with server-based system 230 via one or more networks, including a wireless cellular network that provides wireless cellular services to client device 220A or a Wi-FiTM network that provides a gateway to the Internet, which in turn, provides communication to server-based system 230.
- client device 220 A may receive one or more identifiers from one or more identifier devices 210 and use the identified s) to retrieve location-specific data from server-based system 230 (e.g., using the identified s) as an index representing a location).
- the infrastructure may comprise one or a plurality of localized content distribution units (LCDUs) 240, including a network of LCDUs.
- Each LCDU 240 may store location- specific content.
- a client device 220B may communicate directly with an LCDU 240.
- client device 220B may receive one or more identifiers from one or more identifier devices 210 and use the identified s) to retrieve location-specific data from an LCDU 240 (e.g., using the identifier(s) as an index representing a location). This may be useful in the event that client device 220B is unable to communicate with server-based system 230 (e.g., if client device 220B does not have cellular data service).
- Each LCDU 240 may communicate with server-based system 230 (e.g., via a wireless and/or wired network) to retrieve data that is specific to the location of LCDU 240.
- Client device 220 may comprise a plurality of wireless interfaces, and different ones of the plurality of wireless interfaces may be used to communicate with different ones of identifier device 210, server-based system 230, and LCDU 240.
- identifier device 210 may comprise a BluetoothTM interface (e.g., Bluetooth Low Energy (BLE)), Wi-FiTM interface, and/or a LoRaTM (Long Range) interface to broadcast the identifier
- client device 220 may comprise a counterpart interface to receive the identifier that is broadcast identifier device 210.
- Client device 220A may then communicate with server-based system 230 using a cellular interface (e.g., 4G, 5G, etc.) and/or a Wi-FiTM interface.
- client device 220B may communicate with LCDU 240 via counterpart BluetoothTM interfaces and/or Wi-FiTM interfaces.
- identifier device 210 would utilize a pervasive wireless communication interface that supports advertisement-based or broadcast communication over an easily controllable wireless communication range.
- a wireless personal area network communication protocol such as BluetoothTM Smart Technology or BLE, is suitable for this purpose.
- any wireless communication interface with similar characters would work as a transmission mechanism.
- LCDU 240 would utilize a pervasive wireless communication interface that allows for a wide bandwidth and is capable of handling requests from multiple connections over an easily controllable wireless communication range.
- a wireless personal area network communication protocol such as Wi-FiTM, is suitable for this purpose.
- Wi-FiTM any wireless communication interface with similar characters would work as a transmission mechanism.
- the infrastructure may also comprise one or more sensors as the edge of the network.
- sensors may include, without limitation, weather monitoring sensors, temperature sensors, radiation measurement sensors, air quality or pollution measurement sensors, and/or the like.
- the sensor data, output by the sensors, may be transmitted to server-based system 230 over one or more networks (e.g., including the LCDU network).
- the sensors may be incorporated into identifier devices 210 and the sensor data may be transmitted in association with the identifiers, including, for example, as complementary data with the identifiers themselves.
- each identifier device 210 may transmit a beacon frame that comprises the identifier and one or more fields (e.g., two fields) comprising sensor values.
- identifier devices 210 may broadcast sensed measurements within their respective proximities.
- sensed information can be instantly provided to users of client devices 220 and/or stored in server-based system 230 and/or LCDUs 240.
- the sensors can vary from identifier device 210 to identifier device 210, such that different sensor measurements are collected by different identifier devices 210.
- Activity may be driven by the sensors or other Internet of Things (IoT) devices.
- IoT Internet of Things
- FIG. 3 illustrates a block diagram of the inbound and outbound links for the various components within the infrastructure, according to an embodiment.
- An identifier device 210 may be referred to herein as a “beacon,” since each identifier device 210 acts as a beacon that transmits an identifier that can be used to determine a location (i.e., the area consisting of the wireless communication range of identifier device 210) of any client device 220 that is able to receive the identifier.
- identifier device 210 has a wireless communication range of between 30 feet, for short-range, finer resolution beacons, and 400 feet, for long-range, coarser resolution beacons, such as outdoor beacons where alternative location services on client device 220 would be able to provide high resolution on-device location filtering.
- Each identifier device 210 should be located at a location within a geofence to which location- specific data associated with the identifier of the identifier device 210 is related.
- An identifier device 210 may be mounted high on a wall or ceiling of a room to face towards the center of the room. This maximizes a line of sight between identifier device 210 and client device 220 and minimizes reflective interference. However, the exact placement of identifier device 210 will depend on the location and design requirements.
- Identifier devices 210 should require minimal user interaction in terms of maintenance. Should an identifier device 210 fail and need to be replaced, the identifier being broadcast by the failed identifier device 210 can be cloned in the replacement identifier device 210, such that the location- specific data continues to be associated with the same identifier. Alternatively, the replacement identifier device 210 may broadcast a new identifier, and the location-specific data (e.g., in server-based system 230 and/or LCDU 240) may be re-indexed to the new identifier, so that it can be retrieved using the new identifier.
- the location-specific data e.g., in server-based system 230 and/or LCDU 240
- the described processes may be implemented as a hardware component (e.g., general-purpose processor, integrated circuit (IC), application-specific integrated circuit (ASIC), digital signal processor (DSP), field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, etc.), combination of hardware components, or combination of hardware and software components.
- a hardware component e.g., general-purpose processor, integrated circuit (IC), application-specific integrated circuit (ASIC), digital signal processor (DSP), field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, etc.
- IC integrated circuit
- ASIC application-specific integrated circuit
- DSP digital signal processor
- FPGA field-programmable gate array
- each process may be implemented with fewer, more, or different subprocesses and a different arrangement and/or ordering of subprocesses.
- any subprocess which does not depend on the completion of another subprocess, may be executed before, after, or in parallel with that other independent subprocess, even if the subprocesses are described or illustrated in a particular order.
- FIGS. 4-9 illustrate various processes and data flows for components within the infrastructure discussed above, according to embodiments.
- beacons can provide approximate location of employees underground.
- a phone with the safety app could be activated, notifying central command of the exact location with related data that emergency is happening in real time.
- Having beacons on would also allow the app to periodically call back to central command with the last known location of the employee, allowing for tracking in case of an emergency to know where rescue is needed. This provides an advantage over existing systems, since either costly detectors are needed or employees need to get to a muster point in case of emergency to be able to find them.
- Government Building Context Awareness and Augmented Reality
- the detected beacon identifier can provide navigational data and building related data for employee orientation and visitors.
- emergency beaconing with specific location can work for this as well. This will save governments money by minimizing server load and development time for building information, reduce staffing expenses by providing much of the data in an accessible manner, and will ensure safety by providing detailed location information in case of emergency.
- a visitor is at the campus and is looking around. Just like the campus tour, the app can provide neat facts and details instantly using dynamic loading based on detected beacon identifiers.
- a user is getting assaulted on campus. They activate an alarm, which uses their beacon details inside of a building to provide both their exact location on a 2D map and to provide context for their exact location inside of a building. This will improve safety since existing location technologies can only provide a longitudinal-latitudinal reading and possibly an altitude reading if GPS or an on-board altimeter is available, whereas the beaconing method can instantly provide the exact indoor location and a descriptor, such as room number, instantly regardless of having GPS or an altimeter.
- a user is having a mental health crisis. They activate the app, which alerts exact location and then facilitates two-way communication to a counsellor until help can arrive. This prevents harm to the user and provides more accessible help, since the counsellor can both receive the emergency call and know exactly where to respond to, rather than just getting the emergency call.
- beacons can belong to a zone, and then only devices within range of those beacons would be notified to evacuate. Persons entering the coverage area of these zones would also be able to be notified as they are entering, preventing someone from accidentally entering a location that could put them in danger.
- a system comprising a wireless communication device, hereby referred to as the "identifier device”, a portable wireless client device, hereby referred to as the "client device”, and a cloud-based service.
- the cloud-based service shall provide a method of accessing data in accordance with the identifier corresponding to a client device.
- the method of communicating the data shall be to provide a passive location awareness from the localized edge in the form of an identifier that is received by the client device from the identifier device.
- the identifier device may also communicate data to the client that complements what will be received from the cloud-based service.
- the client device provides this identifier to the cloud- based service through a wireless communication channel.
- the cloud-based service Upon consuming the identifier, the cloud-based service shall return the data related to the identifier to the client device through a wireless communication channel.
- the client device shall then process the data.
- the Local Content System device can be an alternative primary system.
- the client device shall connect to the network of the local content distribution device to access this data.
- Localized Content Distribution Unit (LCS) is a single recognizable unit of the CDN which can contain multiple such units.
- the LCSs could be interrelated but they aren’t directly inter-linked.
- the ecosystem of the invention can also contain sensors such as but not limited to weather monitoring sensors, Radiation measurement sensors, pollution measurement sensors at the edge of the system.
- the sensor data can be transmitted via cloud based service or through Localized Content Distribution network as the assets related to the identifier or through the identifier itself as a complementary data. (Considering that in future majority of the activity will be driven by Sensors and IoT enabled devices on ground.)
- the client device may receive identifier signal and communicate with Localized Content Distribution Unit over different communication interfaces as well.
- the identifier device shall include a minimum of one (1) wireless interface, and may contain a processor and memory.
- the client device shall include a minimum of one (1) wireless communication device, shall include a wireless interface that is compatible with that of the identifier device, and may include a processor and memory.
- the cloud-based service may include a localized content distribution network (CDN) and may be a distributed system.
- CDN localized content distribution network
- One or more of the methods above, whereby the content provided by the cloud- based service may contain content references that may be loaded from a CDN, including but not limited to, image assets.
- complementary data provided by the wireless communication device may include, but shall not be limited to, a latitude- longitude coordinate, transmission power, Battery capacity /Voltage, Sensor data and a wireless personal area network signal, such as any beacon protocol signals (ibeacon, ALT, Eddystone or a custom beacon protocol).
- a wireless personal area network signal such as any beacon protocol signals (ibeacon, ALT, Eddystone or a custom beacon protocol).
- complementary data provided by the wireless communication device may include, but shall not be limited to, a latitude- longitude coordinate, transmission power, and a wireless personal area network signal, such as an iBeacon signal.
- identifier device shall communicate the complementary data through advertisement, in a connectionless manner, and interleaved with the identifier message.
- any complex processing of data such as image recognition or drawing of content
- processing of data by the client device shall be to render said data usable for purposes on the client device including, but not limited to, augmented reality presentation, virtual reality presentation, 3D 360 images and videos, mixed reality presentation, converged reality presentation, artificial intelligence, deep learning and machine learning manipulated content and location-sensitive rich notifications.
- the client device may apply complementary data, including but not limited to that which is described above, to the processed data in order to enhance the level of usability or quality of the data.
- a system that comprises a processor, memory, and minimum 1 communication interfaces to be able to communicate with the client device and interact with identifier device.
- An identifier device may include a wireless transmission module, a processor, and memory, and shall transmit a specific identifier, with the option of transmitting other complementary information.
- the client device may include multiple wireless communication interfaces, a processor, and memory. Responsive to the identifier from the identifier device, the client device shall request data corresponding to the received identifier from the cloud- based service, providing cost- free location filtering by limiting to the range of the wireless communication device. Once the data is received, the client device shall conduct the processing of the data into a form usable by the device, and may apply complementary data from the wireless communication device or assets from a content distribution network to further enhance the usability of the received data.
- Combinations, described herein, such as “at least one of A, B, or C,” “one or more of A, B, or C,” “at least one of A, B, and C,” “one or more of A, B, and C,” and “A, B, C, or any combination thereof’ include any combination of A, B, and/or C, and may include multiples of A, multiples of B, or multiples of C.
- combinations such as “at least one of A, B, or C,” “one or more of A, B, or C,” “at least one of A, B, and C,” “one or more of A, B, and C,” and “A, B, C, or any combination thereof’ may be A only, B only, C only, A and B, A and C, B and C, or A and B and C, and any such combination may contain one or more members of its constituents A, B, and/or C.
- a combination of A and B may comprise one A and multiple B’s, multiple A’s and one B, or multiple A’s and multiple B’s.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Location filtering using wireless signals from a physical hardware device to a portable device to facilitate cloud content handling.
Description
LOCATION FILTERING USING WIRELESS SIGNALS FROM A PHYSICAL HARDWARE DEVICE TO A PORTABLE DEVICE TO FACILITATE CLOUD
CONTENT HANDLING
BACKGROUND
[1] Field of the Invention
[2] The embodiments described herein are generally directed to network data transfer, and, more particularly, to efficient network-based access to and transfer of location-aware or location- sensitive data.
[3] Description of the Related Art
[4] Location-aware data filtering enables manageable subsets of overall data, stored within a cloud service, to be provided to devices with more limited storage (e.g., portable or mobile devices). However, such filtering can be computationally expensive when the cloud service must calculate the range of the data subset to provide to a mobile device, based on a single-point location provided by the mobile device.
SUMMARY
[5] Accordingly, systems, methods, and non-transitory computer-readable media are disclosed for reducing the costs and data latency of a cloud-based system. Much of the filtering and processing can be offloaded to the edge of the system by utilizing location feedback from the physical world. End-user devices, such as personal mobile devices, can wirelessly identify the edge of the system for easy and secure access to the filtered data from a central cloud service. The process of accessing data related to a location can be minimized without the cloud-based service (or other network-based service) having to perform computationally complex operations. In turn, this maximizes the number of data points that can exist in the system and reduces latency of location-related data retrieval. Proximity sensing of end-user devices may be performed using broadcasts, from a single wireless device or a network of wireless devices to create location awareness and drive the process of fetching location-related data.
BRIEF DESCRIPTION OF THE DRAWINGS
[6] The details of the present invention, both as to its structure and operation, may be gleaned in part by study of the accompanying drawings, in which like reference numerals refer to like parts, and in which:
[7] FIG. 1 illustrates an example processing system, by which one or more of the processes described herein, may be executed, according to an embodiment;
[8] FIG. 2 illustrates an example infrastructure in which one or more of the disclosed processes may operate, according to an embodiment;
[9] FIG. 3 illustrates a block diagram of the inbound and outbound links for components within the infrastructure, according to an embodiment;
[10] FIGS. 4-6 illustrate example flowcharts of data processes within the infrastructure, according to embodiments; and
[11] FIGS. 7-9 illustrate example data flows between components within the infrastructure, according to an embodiment.
DETAILED DESCRIPTION
[12] After reading this description, it will become apparent to one skilled in the art how to implement the invention in various alternative embodiments and alternative applications. However, although various embodiments of the present invention will be described herein, it is understood that these embodiments are presented by way of example and illustration only, and not limitation. As such, this detailed description of various embodiments should not be construed to limit the scope or breadth of the present invention as set forth in the appended claims.
[13] In an embodiment, systems, methods, and non-transitory computer-readable media are disclosed for location filtering using wireless signals from an edge device to a client device to facilitate the handling of cloud content. Embodiments may minimize the cost to large data systems for providing location-aware data, and minimize the latency of access to location-aware data in a scalable manner. Embodiments may use feedback from the physical world to improve location- aware filtering and provide more accurate location-based datasets.
[14] In an embodiment, in order to overcome size limitations on datasets and latency considerations, feedback from a physical device is used to allow efficient data retrieval through
passive location filtering. Passive location filtering is guided by the principle that a wireless communication device has physical range limitations. By wirelessly broadcasting a unique identifier within the purposely limited wireless range provided by the broadcast mechanism, all immediate surroundings of a client device that receives the identifier can be uniquely identified by a single lookup of the identifier. For example, the location of the client device can be inferred from the identified s) that it is able to receive, and the client device may retrieve (e.g., load and cache) all data associated with its location using the received identified s) as an index. All data associated with locations can be indexed by an identifier.
[15] In an optional embodiment, the edge of the system may comprise localized content distribution units (LCDUs) which provide the location-specific data that client devices request. Once a client device connects with an LCDU, the client device and the LCDU may remain synchronized, such that any change in the location of the client device results in an update of the location- specific data by the LCDU. In addition, the LCDU may maintain synchronization between overall data stored in the cloud and the LCDU’s location-specific portion of that overall data stored in the LCDU. The LCS units may execute the majority of processing related to content delivery, including, without limitation, preparation of image templates, video optimization, stitching of 360-degree videos, adding content in the display template to be send to the end-user device, and/or the like, thereby reducing the amount of processing carried out by the end-user devices. In addition, the LCS units may perform the majority of processing related to content capture, including, without limitation, frame isolation, object stripping, object extraction, object identification, asset location and filtering, asset attachment, frame stitching, and/or video re streaming.
[16] Existing solutions primarily use location filtering with a time complexity of 0(mlog(n )), where m is the number of server requests (e.g., to a cloud-based or other network- based service), and n is the number of data points within the server-based dataset. In contrast, present embodiments may achieve a time complexity of O(m), while simultaneously reducing the comparative number m of server requests by retrieving a larger dataset in each server request.
[17] 1 System Overview
[18] 1.1. Example Processing Device
[19] FIG. 1 is a block diagram illustrating an example wired or wireless system 100 that may be used in connection with various embodiments described herein. For example, system 100 may be used as or in conjunction with one or more of the functions, processes, or methods (e.g., to store and/or execute one or more software modules) described herein. System 100 can be a server or any conventional personal computer, or any other processor-enabled device that is capable of wired or wireless data communication. Other computer systems and/or architectures may be also used, as will be clear to those skilled in the art.
[20] System 100 preferably includes one or more processors 110. Processor(s) 110 may comprise a central processing unit (CPU). Additional processors may be provided, such as a graphics processing unit (GPU), an auxiliary processor to manage input/output, an auxiliary processor to perform floating-point mathematical operations, a special-purpose microprocessor having an architecture suitable for fast execution of signal-processing algorithms (e.g., digital- signal processor), a slave processor subordinate to the main processing system (e.g., back-end processor), an additional microprocessor or controller for dual or multiple processor systems, and/or a coprocessor. Such auxiliary processors may be discrete processors or may be integrated with processor 110. Examples of processors which may be used with system 100 include, without limitation, the Pentium® processor, Core i7® processor, and Xeon® processor, all of which are available from Intel Corporation of Santa Clara, California.
[21] Processor 110 is preferably connected to a communication bus 105. Communication bus 105 may include a data channel for facilitating information transfer between storage and other peripheral components of system 100. Furthermore, communication bus 105 may provide a set of signals used for communication with processor 110, including a data bus, address bus, and/or control bus (not shown). Communication bus 105 may comprise any standard or non-standard bus architecture such as, for example, bus architectures compliant with industry standard architecture (ISA), extended industry standard architecture (EISA), Micro Channel Architecture (MCA), peripheral component interconnect (PCI) local bus, standards promulgated by the Institute of Electrical and Electronics Engineers (IEEE) including IEEE 488 general-purpose interface bus (GPIB), IEEE 696/S- 100, and/or the like.
[22] System 100 preferably includes a main memory 115 and may also include a secondary memory 120. Main memory 115 provides storage of instructions and data for programs executing on processor 110, such as one or more of the functions and/or modules discussed herein. It should be understood that programs stored in the memory and executed by processor 110 may be written and/or compiled according to any suitable language, including without limitation C/C++, Java, JavaScript, Perl, Visual Basic, .NET, and the like. Main memory 115 is typically semiconductor- based memory such as dynamic random access memory (DRAM) and/or static random access memory (SRAM). Other semiconductor-based memory types include, for example, synchronous dynamic random access memory (SDRAM), Rambus dynamic random access memory (RDRAM), ferroelectric random access memory (FRAM), and the like, including read only memory (ROM).
[23] Secondary memory 120 may optionally include an internal medium 125 and/or a removable medium 130. Removable medium 130 is read from and/or written to in any well-known manner. Removable storage medium 130 may be, for example, a magnetic tape drive, a compact disc (CD) drive, a digital versatile disc (DVD) drive, other optical drive, a flash memory drive, and/or the like.
[24] Secondary memory 120 is a non-transitory computer-readable medium having computer-executable code (e.g., disclosed software modules) and/or other data stored thereon. The computer software or data stored on secondary memory 120 is read into main memory 115 for execution by processor 110.
[25] In alternative embodiments, secondary memory 120 may include other similar means for allowing computer programs or other data or instructions to be loaded into system 100. Such means may include, for example, a communication interface 140, which allows software and data to be transferred from external storage medium 145 to system 100. Examples of external storage medium 145 may include an external hard disk drive, an external optical drive, an external magneto-optical drive, and/or the like. Other examples of secondary memory 120 may include semiconductor-based memory, such as programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable read-only memory (EEPROM), and flash memory (block-oriented memory similar to EEPROM).
[26] As mentioned above, system 100 may include a communication interface 140. Communication interface 140 allows software and data to be transferred between system 100 and external devices (e.g. printers), networks, or other information sources. For example, computer
software or data may be transferred to system 100, over one or more networks (e.g., including the Internet), from a network server via communication interface 140. Examples of communication interface 140 include a built-in network adapter, network interface card (NIC), Personal Computer Memory Card International Association (PCMCIA) network card, card bus network adapter, wireless network adapter, Universal Serial Bus (USB) network adapter, modem, a wireless data card, a communications port, an infrared interface, an IEEE 1394 fire-wire, and any other device capable of interfacing system 100 with a network or another computing device. Communication interface 140 preferably implements industry -promulgated protocol standards, such as Ethernet IEEE 802 standards, Fiber Channel, digital subscriber line (DSL), asynchronous digital subscriber line (ADSL), frame relay, asynchronous transfer mode (ATM), integrated digital services network (ISDN), personal communications services (PCS), transmission control protocol/Internet protocol (TCP/IP), serial line Internet protocol/point to point protocol (SLIP/PPP), and so on, but may also implement customized or non-standard interface protocols as well.
[27] Software and data transferred via communication interface 140 are generally in the form of electrical communication signals 155. These signals 155 may be provided to communication interface 140 via a communication channel 150. In an embodiment, communication channel 150 may be a wired or wireless network, or any variety of other communication links. Communication channel 150 carries signals 155 and can be implemented using a variety of wired or wireless communication means including wire or cable, fiber optics, conventional phone line, cellular phone link, wireless data communication link, radio frequency (“RF”) link, or infrared link, just to name a few.
[28] Computer-executable code (e.g., computer programs, comprising one or more software modules) is stored in main memory 115 and/or secondary memory 120. Computer-executable code can also be received via communication interface 140 and stored in main memory 115 and/or secondary memory 120. Such computer-executable code, when executed, enable system 100 to perform the various functions of the disclosed embodiments as described elsewhere herein.
[29] In this description, the term “computer-readable medium” is used to refer to any non- transitory computer-readable storage media used to provide computer-executable code and/or other data to or within system 100. Examples of such media include main memory 115, secondary memory 120 (including internal memory 125, removable medium 130, and external storage medium 145), and any peripheral device communicatively coupled with communication interface
140 (including a network information server or other network device). These non-transitory computer-readable media are means for providing executable code, programming instructions, software, and/or other data to system 100.
[30] In an embodiment that is implemented using software, the software may be stored on a computer-readable medium and loaded into system 100 by way of removable medium 130, I/O interface 135, or communication interface 140. In such an embodiment, the software is loaded into system 100 in the form of electrical communication signals 155. The software, when executed by processor 110, preferably causes processor 110 to perform one or more of the processes and functions described elsewhere herein.
[31] In an embodiment, I/O interface 135 provides an interface between one or more components of system 100 and one or more input and/or output devices. Example input devices include, without limitation, sensors, keyboards, touch screens or other touch-sensitive devices, biometric sensing devices, computer mice, trackballs, pen-based pointing devices, and/or the like. Examples of output devices include, without limitation, other processing devices, cathode ray tubes (CRTs), plasma displays, light-emitting diode (LED) displays, liquid crystal displays (LCDs), printers, vacuum fluorescent displays (VFDs), surface-conduction electron-emitter displays (SEDs), field emission displays (FEDs), and/or the like. In some cases, an input and output device may be combined, such as in the case of a touch panel display (e.g., in a smartphone, tablet, or other mobile device). In a particular embodiment, EO interface 135 provides an input interface for a camera 175 (e.g., a 360-degree video camera integrated into a VR system, a camera integrated into a mobile device or AR system, etc.), and an output to a display 180 (e.g., integrated into an AR/VR system, integral with a mobile device, etc.)
[32] System 100 may also include optional wireless communication components that facilitate wireless communication over a voice network and/or a data network. The wireless communication components comprise an antenna system 170, a radio system 165, and a baseband system 160. In system 100, radio frequency (RF) signals are transmitted and received over the air by antenna system 170 under the management of radio system 165.
[33] In an embodiment, antenna system 170 may comprise one or more antennae and one or more multiplexors (not shown) that perform a switching function to provide antenna system 170 with transmit and receive signal paths. In the receive path, received RF signals can be coupled
from a multiplexor to a low noise amplifier (not shown) that amplifies the received RF signal and sends the amplified signal to radio system 165.
[34] In an alternative embodiment, radio system 165 may comprise one or more radios that are configured to communicate over various frequencies. In an embodiment, radio system 165 may combine a demodulator (not shown) and modulator (not shown) in one integrated circuit (IC). The demodulator and modulator can also be separate components. In the incoming path, the demodulator strips away the RF carrier signal leaving a baseband receive audio signal, which is sent from radio system 165 to baseband system 160.
[35] If the received signal contains audio information, then baseband system 160 decodes the signal and converts it to an analog signal. Then the signal is amplified and sent to a speaker. Baseband system 160 also receives analog audio signals from a microphone. These analog audio signals are converted to digital signals and encoded by baseband system 160. Baseband system 160 also encodes the digital signals for transmission and generates a baseband transmit audio signal that is routed to the modulator portion of radio system 165. The modulator mixes the baseband transmit audio signal with an RF carrier signal, generating an RF transmit signal that is routed to antenna system 170 and may pass through a power amplifier (not shown). The power amplifier amplifies the RF transmit signal and routes it to antenna system 170, where the signal is switched to the antenna port for transmission.
[36] Baseband system 160 is also communicatively coupled with processor 110, which may be a central processing unit (CPU). Processor 110 has access to data storage areas 115 and 120. Processor 110 is preferably configured to execute instructions (i.e., computer programs, such as the disclosed application, or software modules) that can be stored in main memory 115 or secondary memory 120. Computer programs can also be received from baseband processor 160 and stored in main memory 110 or in secondary memory 120, or executed upon receipt. Such computer programs, when executed, enable system 100 to perform the various functions of the disclosed embodiments.
[37] 1.2. Example Infrastructure
[38] FIG. 2 illustrates an example infrastructure in which one or more of the disclosed processes may operate, according to an embodiment. Each of the devices illustrated in the example infrastructure (e.g., 210-240) may comprise a system 100 or a system comprising any subset of the components of system 100. The infrastructure may implement an edge-based cloud system,
wherein a central cloud service (e.g., 230) centralizes an overall dataset and facilitates data transfer to requesting devices (e.g., 220 and 240) that exist at the edge of the network. The edge devices may complete any complex computations (e.g., image recognition and data parsing), thereby minimizing computation time and expense for the central cloud service. In addition, through an optional content distribution network (e.g., 240), many requests for content can be handled simultaneously with location-specific data stored at the edge of the network near the location to which it relates. This enables rapid access to data that is relevant to a specific location by minimizing long-distance network latency, while simultaneously centralizing the overall dataset to provide eventual access to any geographically ideal cache store that may require such data.
[39] The infrastructure may comprise one or a plurality of identifier devices 210, including a network of identifier devices 210 (e.g., a ubiquitous proximity -based network of identifier devices 210). For instance, a plurality of identifier devices 210 may be distributed throughout a covered area, such as a building (e.g., art museum or gallery). Each identifier device 210 may wirelessly broadcast an identifier within a wireless communication range. The wireless communication range of each identifier device 210 and/or the positions of identifier devices 210 with respect to each other may be configured to enable coverage of all relevant locations in the covered area, and the wireless communication ranges of two or more identifier devices 210 may overlap.
[40] Each identifier device 210 may operate as a stand-alone unit with an advertisement- based or broadcast data-transfer method. This removes limitations on the number of client devices 220 able to access the same identifier at any given point in time. Each identifier device 210 may broadcast a unique identifier (i.e., different from any identifier broadcast by any other identifier device 210 in the covered area). Alternatively, identifier devices 210 within the same vicinity may broadcast the same identifier, such that a group of proximate identifier devices 210 broadcast the same identifier, but which is a different identifier than any other group of proximate identifier devices 210.
[41] The wireless broadcast of any given identifier device 210 may be wirelessly received by one or more client devices 220. Client devices 220 may comprise a mobile device, such as a smart phone. As a client device 220 roams the covered area it may receive different identifiers from different identifier devices 210, as client device 220 enters and exists the wireless communication ranges of the various identifier devices 210.
[42] The infrastructure further comprises a server-based system 230. For example, server- based system 230 may be a cloud-based system. Client device 220A may communicate with server-based system 230 via one or more networks, including a wireless cellular network that provides wireless cellular services to client device 220A or a Wi-Fi™ network that provides a gateway to the Internet, which in turn, provides communication to server-based system 230. Thus, client device 220 A may receive one or more identifiers from one or more identifier devices 210 and use the identified s) to retrieve location-specific data from server-based system 230 (e.g., using the identified s) as an index representing a location).
[43] Optionally, the infrastructure may comprise one or a plurality of localized content distribution units (LCDUs) 240, including a network of LCDUs. Each LCDU 240 may store location- specific content. In this case, a client device 220B may communicate directly with an LCDU 240. Thus, client device 220B may receive one or more identifiers from one or more identifier devices 210 and use the identified s) to retrieve location-specific data from an LCDU 240 (e.g., using the identifier(s) as an index representing a location). This may be useful in the event that client device 220B is unable to communicate with server-based system 230 (e.g., if client device 220B does not have cellular data service). Each LCDU 240 may communicate with server-based system 230 (e.g., via a wireless and/or wired network) to retrieve data that is specific to the location of LCDU 240.
[44] Client device 220 may comprise a plurality of wireless interfaces, and different ones of the plurality of wireless interfaces may be used to communicate with different ones of identifier device 210, server-based system 230, and LCDU 240. For example, identifier device 210 may comprise a Bluetooth™ interface (e.g., Bluetooth Low Energy (BLE)), Wi-Fi™ interface, and/or a LoRa™ (Long Range) interface to broadcast the identifier, and client device 220 may comprise a counterpart interface to receive the identifier that is broadcast identifier device 210. Client device 220A may then communicate with server-based system 230 using a cellular interface (e.g., 4G, 5G, etc.) and/or a Wi-Fi™ interface. Similarly, client device 220B may communicate with LCDU 240 via counterpart Bluetooth™ interfaces and/or Wi-Fi™ interfaces.
[45] Ideally, identifier device 210 would utilize a pervasive wireless communication interface that supports advertisement-based or broadcast communication over an easily controllable wireless communication range. A wireless personal area network communication protocol, such as Bluetooth™ Smart Technology or BLE, is suitable for this purpose. However,
any wireless communication interface with similar characters would work as a transmission mechanism.
[46] Ideally, LCDU 240 would utilize a pervasive wireless communication interface that allows for a wide bandwidth and is capable of handling requests from multiple connections over an easily controllable wireless communication range. A wireless personal area network communication protocol, such as Wi-Fi™, is suitable for this purpose. However, any wireless communication interface with similar characters would work as a transmission mechanism.
[47] Although not shown, in an embodiment, the infrastructure may also comprise one or more sensors as the edge of the network. Such sensors may include, without limitation, weather monitoring sensors, temperature sensors, radiation measurement sensors, air quality or pollution measurement sensors, and/or the like. The sensor data, output by the sensors, may be transmitted to server-based system 230 over one or more networks (e.g., including the LCDU network). The sensors may be incorporated into identifier devices 210 and the sensor data may be transmitted in association with the identifiers, including, for example, as complementary data with the identifiers themselves. For example, each identifier device 210 may transmit a beacon frame that comprises the identifier and one or more fields (e.g., two fields) comprising sensor values. In other words, identifier devices 210 may broadcast sensed measurements within their respective proximities. Thus, sensed information can be instantly provided to users of client devices 220 and/or stored in server-based system 230 and/or LCDUs 240. The sensors can vary from identifier device 210 to identifier device 210, such that different sensor measurements are collected by different identifier devices 210. Activity may be driven by the sensors or other Internet of Things (IoT) devices. The sensed information can create location awareness and drive the process of fetching location-related data.
[48] FIG. 3 illustrates a block diagram of the inbound and outbound links for the various components within the infrastructure, according to an embodiment.
[49] 1.3. Example Identifier Device
[50] An identifier device 210 may be referred to herein as a “beacon,” since each identifier device 210 acts as a beacon that transmits an identifier that can be used to determine a location (i.e., the area consisting of the wireless communication range of identifier device 210) of any client device 220 that is able to receive the identifier. In an embodiment, identifier device 210 has a wireless communication range of between 30 feet, for short-range, finer resolution beacons, and
400 feet, for long-range, coarser resolution beacons, such as outdoor beacons where alternative location services on client device 220 would be able to provide high resolution on-device location filtering.
[51] Each identifier device 210 should be located at a location within a geofence to which location- specific data associated with the identifier of the identifier device 210 is related. An identifier device 210 may be mounted high on a wall or ceiling of a room to face towards the center of the room. This maximizes a line of sight between identifier device 210 and client device 220 and minimizes reflective interference. However, the exact placement of identifier device 210 will depend on the location and design requirements.
[52] Identifier devices 210 should require minimal user interaction in terms of maintenance. Should an identifier device 210 fail and need to be replaced, the identifier being broadcast by the failed identifier device 210 can be cloned in the replacement identifier device 210, such that the location- specific data continues to be associated with the same identifier. Alternatively, the replacement identifier device 210 may broadcast a new identifier, and the location-specific data (e.g., in server-based system 230 and/or LCDU 240) may be re-indexed to the new identifier, so that it can be retrieved using the new identifier.
[53] 2. Process Overview
[54] Embodiments of processes for location filtering using wireless signals from an edge device to an end-user device to facilitate the handling of cloud content will now be described in detail. It should be understood that the described processes may be embodied in one or more software modules that are executed by one or more hardware processors (e.g., processor 110), for example, as a computer program or software package. The described processes may be implemented as instructions represented in source code, object code, and/or machine code. These instructions may be executed directly by hardware processor(s) 110, or alternatively, may be executed by a virtual machine operating between the object code and hardware processors 110.
[55] Alternatively, the described processes may be implemented as a hardware component (e.g., general-purpose processor, integrated circuit (IC), application-specific integrated circuit (ASIC), digital signal processor (DSP), field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, etc.), combination of hardware components, or combination of hardware and software components. To clearly illustrate the interchangeability of hardware and software, various illustrative components, blocks, modules,
circuits, and steps are described herein generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled persons can implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the invention. In addition, the grouping of functions within a component, block, module, circuit, or step is for ease of description. Specific functions or steps can be moved from one component, block, module, circuit, or step to another without departing from the invention.
[56] Furthermore, while the processes, described herein, are illustrated with a certain arrangement and ordering of subprocesses, each process may be implemented with fewer, more, or different subprocesses and a different arrangement and/or ordering of subprocesses. In addition, it should be understood that any subprocess, which does not depend on the completion of another subprocess, may be executed before, after, or in parallel with that other independent subprocess, even if the subprocesses are described or illustrated in a particular order.
[57] FIGS. 4-9 illustrate various processes and data flows for components within the infrastructure discussed above, according to embodiments.
[58] 3. Example Use Cases
[59] Several exemplary, non-limiting uses cases for disclosed embodiments will now be described.
[60] 3.1. Museum (Augmented Reality)
[61] User enters museum with museum tour app loaded, which detects beacons and queries server for augmented reality data related to associated beacons. As a user comes within range of the next room, the app detects the room’s beacon, queries the server with its identifier, and pulls its core metadata. If the device is connected to the localized museum network, the media assets are then loaded using the asset urls specified in the metadata, otherwise the media assets are loaded from the cloud using the fallback asset urls specified. This method of minimizing the dataset allows for dynamic content loading, reuse of the same app for multiple museums (driving down development expenses for individual museums), and fluid augmented reality display with lower performance requirements for individual mobile devices (since there is less data for the app to manage).
[62] 3.2. Restaurant (Context Awareness and Augmented Reality)
[63] User walks past a restaurant, which has beacon attached to exterior that pings daily specials. User’s phone, if restaurant notifications are enabled, queries the server for restaurant- related data using that beacon identifier. User’s phone notifies user of the available specials almost instantly since this is a single lookup on the cloud storage, minimizing server time expenses and with no special development for an individual restaurant required, saving the individual restaurants development expenses.
[64] User walks into the restaurant, and the phone detects the restaurant’ s beacon. The menu for the restaurant is loaded immediately from the cloud, as well as restaurant wait times. Saves the restaurant money since they require fewer hosts to keep customers up to date on wait times.
[65] User sits down at table an is preparing to order. Using the restaurant’s identifier, a virtual version of the menu can be loaded with actual views of the food. An order can be placed using the app, which can find the table location using the beacons and automatically tag the user at that location. This will increase revenues for restaurants by streamlining the ordering process and increasing customer throughput.
[66] User gets ready to pay bill. Since the restaurant’s beacon identifies their table location, the restaurant automatically pulls in the user’s bill data and restaurant data, allowing the full payment to be done on the mobile device, including tip. This saves the restaurant money on acquiring user payment machines by reducing the demand for such machines.
[67] 3.3. Mining (Context Awareness and Detailed Location Information)
[68] Inside of a mine where no location services are available due to no line of sight, beacons can provide approximate location of employees underground. In case of emergency, a phone with the safety app could be activated, notifying central command of the exact location with related data that emergency is happening in real time. Having beacons on would also allow the app to periodically call back to central command with the last known location of the employee, allowing for tracking in case of an emergency to know where rescue is needed. This provides an advantage over existing systems, since either costly detectors are needed or employees need to get to a muster point in case of emergency to be able to find them.
[69] 3.4. Government Building (Context Awareness and Augmented Reality)
[70] Similar to restaurant, in that the detected beacon identifier can provide navigational data and building related data for employee orientation and visitors. As well, emergency beaconing with specific location can work for this as well. This will save governments money by minimizing server load and development time for building information, reduce staffing expenses by providing much of the data in an accessible manner, and will ensure safety by providing detailed location information in case of emergency.
[71] 3.5. University Campus (Context Awareness and Augmented Reality)
[72] A student is new to campus. Walking around campus, augmented reality objects are loaded based on the local beacon identifier that they are detecting with the app, allowing a real time rendering of an augmented reality navigation assistant with 3D objects and descriptions of what their surrounds are, and with a minimized dataset that will allow image recognition technologies to provide more granular detail in the renderings. This will save universities money, since effective way finding signage can cost hundreds or thousands of dollars per sign, which less detailed navigation information than what the app could provide.
[73] A visitor is at the campus and is looking around. Just like the campus tour, the app can provide neat facts and details instantly using dynamic loading based on detected beacon identifiers.
[74] A user is getting assaulted on campus. They activate an alarm, which uses their beacon details inside of a building to provide both their exact location on a 2D map and to provide context for their exact location inside of a building. This will improve safety since existing location technologies can only provide a longitudinal-latitudinal reading and possibly an altitude reading if GPS or an on-board altimeter is available, whereas the beaconing method can instantly provide the exact indoor location and a descriptor, such as room number, instantly regardless of having GPS or an altimeter.
[75] A user is having a mental health crisis. They activate the app, which alerts exact location and then facilitates two-way communication to a counsellor until help can arrive. This prevents harm to the user and provides more accessible help, since the counsellor can both receive the emergency call and know exactly where to respond to, rather than just getting the emergency call.
[76] An emergency notification needs to go out to a specific building on campus because of an incident, such as a chemical spill. The beacons can belong to a zone, and then only devices
within range of those beacons would be notified to evacuate. Persons entering the coverage area of these zones would also be able to be notified as they are entering, preventing someone from accidentally entering a location that could put them in danger.
[77] 4. Example Embodiments
[78] A system comprising a wireless communication device, hereby referred to as the "identifier device", a portable wireless client device, hereby referred to as the "client device", and a cloud-based service. The cloud-based service shall provide a method of accessing data in accordance with the identifier corresponding to a client device. The method of communicating the data shall be to provide a passive location awareness from the localized edge in the form of an identifier that is received by the client device from the identifier device. The identifier device may also communicate data to the client that complements what will be received from the cloud-based service. The client device provides this identifier to the cloud- based service through a wireless communication channel. Upon consuming the identifier, the cloud-based service shall return the data related to the identifier to the client device through a wireless communication channel. The client device shall then process the data.
[79] In the absence of connectivity between the client device and the cloud based service, the Local Content System device can be an alternative primary system. The client device shall connect to the network of the local content distribution device to access this data. Localized Content Distribution Unit (LCS) is a single recognizable unit of the CDN which can contain multiple such units. The LCSs could be interrelated but they aren’t directly inter-linked.
[80] The ecosystem of the invention can also contain sensors such as but not limited to weather monitoring sensors, Radiation measurement sensors, pollution measurement sensors at the edge of the system. The sensor data can be transmitted via cloud based service or through Localized Content Distribution network as the assets related to the identifier or through the identifier itself as a complementary data. (Considering that in future majority of the activity will be driven by Sensors and IoT enabled devices on ground.)
[81] Minimum 1 wireless communication interface to be compatible with identifier device and Localized content distribution unit. The client device may receive identifier signal and communicate with Localized Content Distribution Unit over different communication interfaces as well.
[82] One or more of the methods above, wherein the identifier shall be unique to a location, and may be replicated between multiple identifier devices in the immediate location or may reside on a single device, dependent on what is most effective in the given installation.
[83] One or more of the methods above, wherein the identifier device shall include a minimum of one (1) wireless interface, and may contain a processor and memory.
[84] One or more of the methods above, wherein the client device shall include a minimum of one (1) wireless communication device, shall include a wireless interface that is compatible with that of the identifier device, and may include a processor and memory.
[85] One or more of the methods above, wherein the cloud-based service may include a localized content distribution network (CDN) and may be a distributed system.
[86] One or more of the methods above, whereby the content provided by the cloud- based service may contain content references that may be loaded from a CDN, including but not limited to, image assets.
[87] One or more of the methods above, wherein complementary data provided by the wireless communication device may include, but shall not be limited to, a latitude- longitude coordinate, transmission power, Battery capacity /Voltage, Sensor data and a wireless personal area network signal, such as any beacon protocol signals (ibeacon, ALT, Eddystone or a custom beacon protocol).
[88] One or more of the methods above, wherein complementary data provided by the wireless communication device may include, but shall not be limited to, a latitude- longitude coordinate, transmission power, and a wireless personal area network signal, such as an iBeacon signal.
[89] One or more of the methods above, wherein the identifier device shall communicate the identifier through advertisement, in a connectionless manner.
[90] One or more of the methods above, wherein the identifier device shall communicate the complementary data through advertisement, in a connectionless manner, and interleaved with the identifier message.
[91] One or more of the methods above, wherein any complex processing of data, such as image recognition or drawing of content, may be executed on the portable device in an edge-based manner, rather than on the central cloud-based service.
[92] One or more of the methods above, wherein processing of data by the client device shall be to render said data usable for purposes on the client device including, but not limited to, augmented reality presentation, virtual reality presentation, 3D 360 images and videos, mixed reality presentation, converged reality presentation, artificial intelligence, deep learning and machine learning manipulated content and location-sensitive rich notifications.
[93] One or more of the methods above, whereby the client device may apply complementary data, including but not limited to that which is described above, to the processed data in order to enhance the level of usability or quality of the data.
[94] A system that comprises a processor, memory, and minimum 1 communication interfaces to be able to communicate with the client device and interact with identifier device.
[95] An identifier device may include a wireless transmission module, a processor, and memory, and shall transmit a specific identifier, with the option of transmitting other complementary information. The client device may include multiple wireless communication interfaces, a processor, and memory. Responsive to the identifier from the identifier device, the client device shall request data corresponding to the received identifier from the cloud- based service, providing cost- free location filtering by limiting to the range of the wireless communication device. Once the data is received, the client device shall conduct the processing of the data into a form usable by the device, and may apply complementary data from the wireless communication device or assets from a content distribution network to further enhance the usability of the received data.
[96] The above description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles described herein can be applied to other embodiments without departing from the spirit or scope of the invention. Thus, it is to be understood that the description and drawings presented herein represent a presently preferred embodiment of the invention and are therefore representative of the subject matter which is broadly contemplated by the present invention. It is further understood that the scope of the present invention fully encompasses other embodiments that may become obvious to those skilled in the art and that the scope of the present invention is accordingly not limited.
[97] Combinations, described herein, such as “at least one of A, B, or C,” “one or more of A, B, or C,” “at least one of A, B, and C,” “one or more of A, B, and C,” and “A, B, C, or any
combination thereof’ include any combination of A, B, and/or C, and may include multiples of A, multiples of B, or multiples of C. Specifically, combinations such as “at least one of A, B, or C,” “one or more of A, B, or C,” “at least one of A, B, and C,” “one or more of A, B, and C,” and “A, B, C, or any combination thereof’ may be A only, B only, C only, A and B, A and C, B and C, or A and B and C, and any such combination may contain one or more members of its constituents A, B, and/or C. For example, a combination of A and B may comprise one A and multiple B’s, multiple A’s and one B, or multiple A’s and multiple B’s.
Claims
1. A system comprising: a plurality of identifier devices distributed throughout an area, wherein each of the plurality of identifier devices is configured to wirelessly broadcast an identifier, and wherein at least one of the plurality of identifier devices wirelessly broadcasts a different identifier than another one of the plurality of identifier devices; and a subsystem that is configured to receive, from a client device, the identifier that was wirelessly broadcast by one of the plurality of identifier devices, retrieve location-specific data associated with the identifier, and send the retrieved location-specific data to the client device.
2. The system of Claim 1, wherein the subsystem is a server.
3. The system of Claim 1, wherein the subsystem is a cloud service.
4. The system of Claim 1, wherein the subsystem is a localized content distribution unit at an edge of a cloud-based content distribution service, wherein the identifier is wirelessly received from the client device, and wherein the retrieved location-specific data is wirelessly sent to the client device.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163213037P | 2021-06-21 | 2021-06-21 | |
US63/213,037 | 2021-06-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022266751A1 true WO2022266751A1 (en) | 2022-12-29 |
Family
ID=84544029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CA2022/050988 WO2022266751A1 (en) | 2021-06-21 | 2022-06-20 | Location filtering using wireless signals from a physical hardware device to a portable device to facilitate cloud content handling |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2022266751A1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130231130A1 (en) * | 2012-03-05 | 2013-09-05 | Qualcomm Incorporated | Method for determining wireless device location based on proximate sensor devices |
US20150358892A1 (en) * | 2014-06-05 | 2015-12-10 | Cisco Technology, Inc. | Ssid-based advertising of services |
-
2022
- 2022-06-20 WO PCT/CA2022/050988 patent/WO2022266751A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130231130A1 (en) * | 2012-03-05 | 2013-09-05 | Qualcomm Incorporated | Method for determining wireless device location based on proximate sensor devices |
US20150358892A1 (en) * | 2014-06-05 | 2015-12-10 | Cisco Technology, Inc. | Ssid-based advertising of services |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101835832B1 (en) | Calling system for using local area wireless communication | |
US9615214B2 (en) | Handling positioning messages | |
KR101895455B1 (en) | Method and apparatus for providing semantic location in electronic device | |
WO2014055363A1 (en) | Method and system for providing location services | |
EP2643794A1 (en) | Radio frequency identification system and related operating methods | |
JP6484986B2 (en) | POSITION INFORMATION TRANSMISSION SYSTEM, POSITION INFORMATION TRANSMISSION DEVICE, AND POSITION INFORMATION TRANSMISSION METHOD | |
US11528452B2 (en) | Indoor positioning system using beacons and video analytics | |
KR20200110050A (en) | Electronic device and method for dynaminc geofencing in the electronic device | |
US20170374526A1 (en) | Position calculation using bluetooth low energy | |
AU2008201380A1 (en) | Search system, management server, mobile communication device, search method, and program | |
KR20120134226A (en) | System and method for managing a location | |
WO2013055030A1 (en) | Method and apparatus for controlling device | |
US20210204088A1 (en) | Electronic devices with location coordinates obtained from mobile devices | |
WO2022266751A1 (en) | Location filtering using wireless signals from a physical hardware device to a portable device to facilitate cloud content handling | |
CN104678358A (en) | Positioning method, positioning device and positioning system | |
CN116634559A (en) | Position determining method, device, server side and storage medium | |
KR20180090218A (en) | Bluetooth based calling system for in store customer to request service | |
KR20080038478A (en) | Method and system for providing location mobile phone in-building using rfid for the same | |
US9813853B2 (en) | Message transmission method | |
US10182312B1 (en) | Method and system for providing information based on location of user-device | |
KR20180042477A (en) | Beacon System and Management Method Thereof | |
US11146925B2 (en) | Location system | |
KR20180090214A (en) | Operating system for call in store and order flatform | |
US20190066282A1 (en) | Image analysis method and image analysis system for server | |
KR20180090220A (en) | Calling and tagging system to handle customer response and processing status |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22826917 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 22826917 Country of ref document: EP Kind code of ref document: A1 |