Methods and systems for detecting events in a physical region within a physical space

By receiving virtual areas and trigger conditions by the computing system, detecting specific physical changes in the physical space and notifying subscribers equipment, the problems of complex programming and inefficiency in the prior art are solved, and efficient physical change detection and notification are achieved.

CN113178016BActive Publication Date: 2025-07-22GOOGLE LLC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202110440617.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2016-07-19
Filing Date
2016-11-22
Publication Date
2025-07-22
Estimated Expiration
2036-11-22

AI Technical Summary

Technical Problem

The prior art is difficult to effectively detect specific physical changes in the physical space and notify subscribers of the device, resulting in complex programming and inefficient efficiency.

Method used

The computing system receives the virtual area and trigger conditions specified by the subscriber device, detects physical changes from the sensor data, and provides notifications to the subscriber device.

Benefits of technology

It simplifies the programming of subscriber equipment, improves the detection efficiency and accuracy of specific physical changes in the physical space, and supports multiple subscriber equipment to receive services at the same time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113178016B_ABST
    Figure CN113178016B_ABST
Patent Text Reader

Abstract

Example embodiments may include methods and systems for detecting an event in a physical region within a physical space. Accordingly, a computing system may receive an indication of a virtual region within a virtual representation of the physical space from a subscriber device, such that the virtual region corresponds to the physical region. The system may also receive a trigger condition associated with the virtual region from a user, where the trigger condition corresponds to a specific physical change in the physical region. The system may also receive sensor data from sensors in the physical space, and a portion of the sensor data may be associated with the physical region. Based on the sensor data, the system may detect an event in the physical region that satisfies the trigger condition and may responsively provide a notification to the user indicating that the trigger condition has been satisfied.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the patent application for invention titled "Trigger Region" with the application date of November 22, 2016, application number 201680048307.6.

[0002] Cross - reference to related applications

[0003] This application claims the priority of U.S. Patent Application No. 15 / 213,843, titled "Trigger Regions", filed on July 19, 2016, the entire content of which is incorporated herein by reference. Then, U.S. Patent Application No. 15 / 213,843 claims the priority of U.S. Provisional Patent Application Serial No. 62 / 259,971, titled "Trigger Regions", filed on November 25, 2015, the entire content of which is incorporated herein by reference. Background of the Invention

[0004] Physical spaces can be used for retail, manufacturing, assembly, distribution, office space, and so on. Over time, the way these physical spaces are designed and operated is becoming smarter, more efficient, and more intuitive. As technology becomes more prevalent in many aspects of modern life, it becomes apparent to use technology to enhance these physical spaces. Thus, the demand for such systems has helped to open up innovative areas in sensing technology, data processing, and software and user interface design. Summary of the Invention

[0005] Example embodiments can include a computing system that can receive requests from a subscriber device. The request can define a virtual region corresponding to a physical region within a physical space and can also define a trigger condition corresponding to a specific physical change within the physical region. The computing system can receive sensor data from sensors in the physical space and can use the sensor data as a basis to detect an event corresponding to the specific physical change in the physical region. The computing system can interpret the detection of this event as satisfying the trigger condition and can then notify the subscriber device that the trigger condition has been satisfied.

[0006] In one aspect, a method is provided. When executed by data - processing hardware, causing the data - processing hardware to perform the following operations includes: receiving, from a subscriber device, a virtual region corresponding to a physical region within a physical space; receiving location data of the user device within the physical space; using the location data of the user device to determine that the user device enters or exits the virtual region; and in response to determining that the user device enters or exits the virtual region, providing a notification to the subscriber device, the notification being configured to cause the subscriber device to perform an action when received by the subscriber device.

[0007] In one aspect, a method is provided. As part of a service provided by a computing system to a subscriber device, the computing system receives from the subscriber device a request indicating a trigger condition corresponding to a specific physical change, where the request subscribes to the service for the subscriber device or a different device, and where the subscriber device defines the trigger condition; receives sensor data from one or more sensors; based on the sensor data and as part of the service, the computing system detects, on behalf of the subscriber device, an event that satisfies the trigger condition; and in response to detecting the event on behalf of the subscriber device, provides, by the computing system, a notification to the subscriber device or a different device indicating that the trigger condition has been satisfied.

[0008] In one aspect, a computing system is provided. The computing system includes: data processing hardware; and memory hardware communicatively coupled to the data processing hardware, the memory hardware storing instructions that, when executed on the data processing hardware, cause the data processing hardware to perform operations including: receiving from a subscriber device a virtual region corresponding to a physical region within a physical space; receiving location data of the user device within the physical space; using the location data of the user device to determine that the user device has entered or exited the virtual region; and in response to determining that the user device has entered or exited the virtual region, providing a notification to the subscriber device, the notification being configured to cause the subscriber device to perform an action when received by the subscriber device.

[0009] In another aspect, a computing system is further provided, the computing system including: one or more processors; a non-transitory computer-readable medium; and program instructions stored on the non-transitory computer-readable medium and executed by the one or more processors to: as part of a service provided by the computing system to a subscriber device, receive from the subscriber device a request indicating a trigger condition corresponding to a specific physical change, where the request subscribes to the service for the subscriber device or a different device, and where the subscriber device defines the trigger condition; receive sensor data from one or more sensors; based on the sensor data and as part of the service, detect, on behalf of the subscriber device, an event that satisfies the trigger condition; and in response to detecting the event on behalf of the subscriber device, provide a notification to the subscriber device or a different device indicating that the trigger condition is satisfied.

[0010] In another aspect, a non-transitory computer-readable medium is provided. The non-transitory computer-readable medium stores instructions that, when executed by one or more processors, cause a computing system to perform functions including: receiving, as part of a service provided by the computing system to a subscriber device, a request from the subscriber device indicating a trigger condition corresponding to a particular physical change, where the request subscribes the service to the subscriber device or a different device, and where the subscriber device defines the trigger condition; receiving sensor data from one or more sensors; detecting, based on the sensor data and as part of the service, an event that satisfies the trigger condition on behalf of the subscriber device; and providing, in response to detecting the event on behalf of the subscriber device, a notification to the subscriber device or a different device indicating that the trigger condition has been satisfied.

[0011] In one aspect, a method is also provided. The method includes the computing system receiving an indication of at least one virtual region within a virtual representation of a physical space from at least one subscriber device, where the at least one virtual region corresponds to at least one physical region within the physical space. The method also includes the computing system receiving at least one trigger condition associated with the at least one virtual region from at least one subscriber device, where the at least one trigger condition corresponds to at least one particular physical change within the at least one physical region. The method further includes the computing system receiving sensor data from a plurality of sensors located within the physical space, where at least a portion of the sensor data is associated with at least one physical region within the physical space. The method further includes the computing system detecting, based on the sensor data, an event within at least one physical region that satisfies at least one trigger condition corresponding to at least one particular physical change within the at least one physical region. The method also includes the computing system providing, in response to detecting the event, a notification to the at least one subscriber device indicating that the at least one trigger condition has been satisfied.

[0012] On the other hand, a computing system is provided. The computing system includes one or more processors. The computing system further includes a non-transitory computer-readable medium. The computing system also includes program instructions stored on the non-transitory computer-readable medium and executable by one or more processors to receive an indication of at least one virtual region within a virtual representation of a physical space from at least one subscriber device, wherein the at least one virtual region corresponds to at least one physical region within the physical space. The program instructions may also be executed to receive at least one trigger condition associated with the at least one virtual region from at least one subscriber device, wherein the at least one trigger condition corresponds to at least one specific physical change in at least one of the at least one physical regions. The program instructions may additionally be executed to receive sensor data from a plurality of sensors located in the physical space, wherein at least a portion of the sensor data is associated with at least one physical region within the physical space. The program instructions may further be executed to detect, based on the sensor data, an event in the at least one physical region that satisfies the at least one trigger condition corresponding to the at least one specific physical change in the at least one physical region. The program instructions may also be executed to provide a notification indicating that the at least one trigger condition has been satisfied to the at least one subscriber device in response to detecting the event.

[0013] In yet another aspect, a non-transitory computer-readable medium is provided. The non-transitory computer-readable medium has stored therein instructions executable by one or more processors to cause a computing system to perform functions. The functions include receiving an indication of at least one virtual region within a virtual representation of a physical space from at least one subscriber device, wherein the at least one virtual region corresponds to at least one physical region within the physical space. The functions further include receiving at least one trigger condition associated with the at least one virtual region from the at least one subscriber device, wherein the at least one trigger condition corresponds to at least one specific physical change in at least one of the at least one physical regions. The functions also include receiving sensor data from a plurality of sensors located in the physical space, wherein at least a portion of the sensor data is associated with at least one physical region within the physical space. The functions further include detecting, based on the sensor data, an event in the at least one physical region that satisfies the at least one trigger condition corresponding to the at least one specific physical change in the at least one physical region. The functions also include providing a notification indicating that the at least one trigger condition has been satisfied to the at least one subscriber device in response to detecting the event.

[0014] On the other hand, a system is provided. The system can include means for receiving an indication of at least one virtual region within a virtual representation of a physical space from at least one subscriber device, wherein the at least one virtual region corresponds to at least one physical region within the physical space. The system can further include means for receiving at least one trigger condition associated with the at least one virtual region from the at least one subscriber device, wherein the at least one trigger condition corresponds to at least one specific physical change of the at least one physical region. The system can also include means for receiving sensor data from a plurality of sensors located in the physical space, wherein at least a portion of the sensor data is associated with at least one physical region within the physical space. The system can further include means for detecting, based on the sensor data, an event in at least one physical region that satisfies at least one trigger condition corresponding to at least one specific physical change in at least one physical region. The system can further include means for providing a notification indicating that the at least one trigger condition has been satisfied to the at least one subscriber device in response to detecting the event.

[0015] These and other aspects, advantages, and alternatives will become apparent to those of ordinary skill in the art by reading the following detailed description with appropriate reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Figure 1 An example configuration of a system for detecting events in physical regions of a physical space according to an example implementation is shown.

[0017] Figure 2 is an example flowchart for detecting events in physical regions of a physical space according to an example implementation.

[0018] Figures 3A to 3B An example physical region within an example physical space and an example presence of participants within the physical region according to an example implementation are shown.

[0019] Figures 4A to 4D An example dynamic region according to an example implementation is shown.

[0020] Figures 5A to 5C Another example dynamic region within a dynamic physical region and an example presence of participants according to an example implementation are illustrated. DETAILED DESCRIPTION

[0021] Example methods and systems are described herein. It should be understood that the terms "example", "exemplary", and "illustrative" are used herein to mean "serving as an example, instance, or illustration". Any embodiment or feature described herein as "example", "exemplary", or "illustrative" is not necessarily to be construed as preferred or advantageous over other embodiments or features. The example implementations described herein are not meant to be limiting. It will be readily understood that aspects of the present disclosure, as generally described herein and illustrated in the figures, can be arranged, substituted, combined, separated, and designed in a wide variety of different configurations, all of which are expressly contemplated herein.

[0022] I. Overview

[0023] According to various implementations, methods and systems are described herein for detecting that a trigger condition has been satisfied within a physical region of a physical space. In particular, the disclosed systems can allow a subscriber device (e.g., a consumer electronic device) to request from the system to be notified when a particular physical change occurs within a particular region of the physical space. According to the present disclosure, the subscriber device can send a request to the system that specifies a virtual region corresponding to the physical region within the physical space. The request can also specify a trigger condition associated with the virtual region such that the trigger condition corresponds to a particular physical change within the specified physical region. For example, the trigger condition can include a participant (e.g., a robot) entering the specified physical region. Thus, the request can essentially subscribe the subscriber device to the service provided by the disclosed system.

[0024] Additionally, the disclosed systems can communicate with various sensors located within the physical space. The various sensors can provide data about physical entities within the physical space, as well as data about events occurring within the physical space and other types of data. The system can receive such data and can process the data to detect an event in the data indicating that the trigger condition has been satisfied. In particular, this can include the computing system determining a portion of the sensor data associated with the physical region and then interpreting the data to determine that a particular physical change has occurred within the physical region.

[0025] Once the system determines that a particular physical change has occurred within the physical region, the system can notify the subscriber device that the trigger condition has been satisfied. When such a notification is received, the subscriber device can take one of various actions. For example, the subscriber device can be a television that defines the region around it as a three-dimensional cylindrical region and defines the trigger condition as a person entering the defined region. In this case, the television can receive a notification from the disclosed system indicating that the trigger condition has been satisfied (and thus a person has entered the region), and the television can turn on in response to receiving the notification.

[0026] In this way, the disclosed system substantially provides programming building blocks for subscriber devices. More specifically, a subscriber device may not have any information about sensors in a physical space and / or may not have the ability to determine how to use such sensors to detect physical changes of interest within the physical space. Thus, rather than programming the subscriber device to include such capabilities, the system disclosed herein increases the ease of programming by allowing the subscriber device to specify regions and specify trigger conditions.

[0027] Once the disclosed system receives a request specifying a region and a trigger condition, the disclosed system can substantially act as a programming building block by obtaining information about sensors in the physical space and then determining how to use such sensors to detect changes of interest within the physical region of the physical space. Subsequently, when a physical change of interest within the physical region has occurred and thus when the trigger condition has been satisfied, the subscriber device can be notified by the disclosed system. Thus, the disclosed system can reduce the degree of programming required for a subscriber device to obtain information of interest about the physical space. Moreover, the disclosed system can communicate with multiple subscriber devices simultaneously, thereby allowing the disclosed system to provide the above-described services to multiple subscriber devices simultaneously.

[0028] II. Illustrative System

[0029] Now referring to the drawings, Figure 1 an example arrangement is shown of a physical space 100 that includes one or more sensors 102. The physical space can define a portion of an environment in which people, objects, and / or machines can be located. The physical space can take a two-dimensional or three-dimensional (3D) form and can be used for various purposes. For example, the physical space can be used as a retail space for the sale of goods and / or services between individuals (or businesses) and consumers. Other examples may include physical spaces such as manufacturing facilities, distribution facilities, office spaces, shopping malls, festival venues, and / or airports. Additionally, although a single physical space 100 is shown in Figure 1 , example embodiments can be implemented in an environment of multiple physical spaces. On the other hand, one or more participants can be located within the physical space 100. Specifically, a participant can define one of the various physical entities located within the physical space 100. For example, a participant can include, among other possibilities, a person, an animal, a machine, a robotic system, and / or an object.

[0030] Exemplary sensors 102 in the physical space may include, but are not limited to: force sensors, proximity sensors, motion sensors (e.g., inertial measurement units (IMUs), gyroscopes, and / or accelerometers), load sensors, position sensors, thermal imaging sensors, face recognition sensors, depth sensors (e.g., RGB-D, lidar, structured light, and / or time-of-flight cameras), point cloud sensors, ultrasonic distance sensors, infrared sensors, global positioning system (GPS) receivers, sonars, optical sensors, biosensors, radio frequency identification (RFID) systems, near field communication (NFC) chips, wireless sensors, compasses, smoke sensors, light sensors, radio sensors, microphones, speakers, radars, touch sensors (e.g., capacitive sensors), cameras (e.g., color cameras, grayscale cameras, and / or infrared cameras), and / or distance sensors (e.g., ultrasonic and / or infrared), etc.

[0031] Additionally, in addition to other possible locations, sensors 102 may be located within or near the physical space 100. Further, example embodiments may also use sensors incorporated within existing devices such as mobile phones, laptop computers, and / or tablet computers. These devices may be owned by a person located in the physical space 100 (e.g., a consumer and / or an employee within a retail space). Additionally or alternatively, these devices may be displayed items, such as in a retail space for selling consumer electronics.

[0032] Figure 1 A computing system 104 that can receive data from sensors 102 located in the physical space 100 is also depicted. In particular, sensors 102 may provide sensor data to the computing system via a communication link 116. The communication link 116 may include a wired link and / or a wireless link (e.g., using various wireless transmitters and receivers). The wired link may include, for example, a parallel bus or a serial bus such as a universal serial bus (USB). The wireless link may include, for example, Bluetooth, IEEE 802.11 (IEEE 802.11 may refer to IEEE 802.11-2007, IEEE 802.11n-2009, or any other IEEE 802.11 revision), cellular (e.g., GSM, GPRS, CDMA, UMTS, EV-DO, WiMAX, HSPDA, or LTE), or Zigbee, etc. Additionally, multiple wired and / or wireless protocols may be used, such as "3G" or "4G" data connections using cellular communication protocols (e.g., CDMA, GSM, or WiMAX and "WiFi" connections for using 802.11).

[0033] In other examples, the arrangement may include an access point through which the sensor 102 and / or the computing system 104 may communicate with a cloud server. The access point may take various forms, such as a wireless access point (WAP) or a wireless router. Additionally, if a cellular air interface protocol such as CDMA or GSM is used for the connection, the access point may be a base station in a cellular network that provides an Internet connection via the cellular network. Other examples are possible.

[0034] The illustrated computing system 104 includes one or more processors 106, a data storage 108, program instructions 110, and a power supply 112. Note that the computing system 104 is shown for illustrative purposes only and may include additional components and / or have one or more components removed without departing from the scope of the present disclosure. Additionally, note that the various components of the computing system 104 may be arranged and connected in any manner.

[0035] Each of the one or more processors 106 from the one or more processors may be a general-purpose processor or a special-purpose processor (e.g., a digital signal processor, an application specific integrated circuit, etc.). The processor 106 may be configured to execute computer-readable program instructions 110 stored in the data storage 108 and executable to provide the functionality of the computing system 104 described herein. For example, the program instructions 110 may be executed to provide processing of sensor data received from the sensor 102.

[0036] The data storage 108 may include one or more computer-readable storage media or be in the form of one or more computer-readable storage media that may be read or accessed by the one or more processors 106. The one or more computer-readable storage media may include volatile and / or non-volatile storage components, such as optical, magnetic, organic, or other memory or disk storage, which may be integrated wholly or in part with the one or more processors 106. In some embodiments, the data storage 108 may use a single physical device (e.g., one optical, magnetic, organic, or other memory or disk storage unit), while in other embodiments, the data storage 108 may be implemented using two or more physical devices. Additionally, in addition to the computer-readable program instructions 110, the data storage 108 may include additional data, such as diagnostic data and other possibilities. Additionally, the computing system 104 may further include one or more power supplies 112 configured to power the various components of the computing system 104. Any type of power supply may be used, such as a battery.

[0037] Figure 1Subscriber device 114 located in physical space 100 is also shown. Although subscriber device 114 is shown as being located in physical space 100, subscriber device 114 can also be located at another location, such as outside physical space 100. In either case, subscriber device 114 can be any device capable of (directly or indirectly) subscribing to the services provided by computing system 104. To subscribe to the services provided by computing system 104, subscriber device 114 can communicate with computing system 104 via a communication link (such as a link in the form of link 116) with computing system 104. The link used by subscriber device 114 to communicate with computing system 104 can be the same as or different from the link 116 used by sensor 102 to communicate with computing system 104. Additionally, in some cases, subscriber device 114 can include at least some of the sensors 102 in physical space 100.

[0038] Subscriber device 114 can take one of various forms. For example, subscriber device 114 can be an electrical device, an electronic device, an electromechanical device, or a computing device, etc. By way of example, subscriber device 114 can be any one of the following: a television, a speaker, a projector, a robotic system, a cellular phone, a laptop computer, a tablet computer, a desktop computer, a wearable computing device, a medical device, a scanner, a printer, a pager, a camera, a calculator, an oven, a refrigerator, a microwave oven, a fan, or a washing machine. Various other examples are possible.

[0039] As noted, subscriber device 114 can, in some cases, take the form of a computing device or can be communicatively linked to a separate computing device (not shown). In either case, in addition to other components, the computing device can include a display and an input method editor (IME). Such other components can include: a processor, a data storage, program instructions, and / or a power source, etc. (e.g., all (or part) of which can take the same or similar form as the components of computing system 104). As an example, as described above, the computing device can take the form of a desktop computer, a laptop computer, a tablet computer, a wearable computing device, and / or a mobile phone, etc.

[0040] The display of a computing device can take any form and can be arranged to project images and / or graphics to a user of the computing device. In an exemplary arrangement, a projector within the computing device can be configured to project various projections of images and / or graphics onto the surface of the display. The display can include: an opaque or transparent (or semi-transparent) matrix display (such as an electroluminescent display or a liquid crystal display), one or more waveguides for delivering an image to a user's eye, or other optical elements capable of delivering an image to a user. A corresponding display driver can be arranged within the computing device to drive such a matrix display. Other arrangements can also be used for the display. Thus, the display can display a graphical user interface (GUI), which can provide application programs through which a user can interact with the systems disclosed herein.

[0041] Additionally, the computing device can receive user input (e.g., from a user of the computing device) via an IME. In particular, the IME can allow interaction with the GUI, such as for scrolling, providing text and / or selecting various features of an application, and other possible interactions. The IME can take various forms. In one example, the IME can be a pointing device, such as a computing mouse for controlling the GUI. However, if the display is a touchscreen display, touch input (e.g., using a finger or a stylus) that allows control of the GUI can be received. In another example, the IME can be a text IME, such as a keyboard that provides selection of numbers, characters, and / or symbols displayed via the GUI. For example, in an arrangement where the display is a touchscreen display, a portion of the display can display the IME. Thus, touch input on the portion of the display including the IME can result in user input, such as the selection of specific numbers, characters, and / or symbols to be displayed on the GUI through the display. In yet another example, the IME can be a voice IME, which, for example, receives audio input from a user via a microphone of the computing device and then interprets it as one or more characters that can be displayed via the display using one of various speech recognition techniques. Other examples are possible.

[0042] III. Illustrative Methods

[0043] Figure 2 is a flowchart showing a method 200 according to an example implementation. In particular, method 200 can be implemented to detect an event that satisfies a trigger condition in a physical area.

[0044] Figure 2 The method 200 (and other processes and methods disclosed herein) shown in Figure 1A method implemented within the arrangement of the described computing system 104 and / or subscriber device 114 (or more specifically, implemented by one or more of its components or subsystems, such as implemented by a processor and a non-transitory computer-readable medium having instructions that can be executed to cause the device to perform the functions described herein). Additionally or alternatively, method 200 may be implemented within any other arrangement and system.

[0045] The method 200 and other processes and methods disclosed herein may include one or more operations, functions, or actions as shown in one or more of blocks 202 - 210. Although these blocks are shown in a sequential order, these blocks may also be executed in parallel and / or in an order different from that described herein. Moreover, the individual blocks may be combined into fewer blocks, divided into additional blocks, and / or deleted based on the required embodiments.

[0046] Additionally, for the method 200 and other processes and methods disclosed herein, the flowchart illustrates the functions and operations of one possible implementation of this embodiment. In this regard, each block may represent a module, segment, or portion of program code that includes one or more instructions executable by a processor to implement a specific logical function or step in the process. The program code may be stored on any type of computer-readable medium, such as a storage device including a disk or hard drive. The computer-readable medium may include a non-transitory computer-readable medium, such as a computer-readable medium that stores data for a short time, like register memory, processor cache, and random access memory (RAM). The computer-readable medium may also include non-transitory media, such as secondary or persistent long-term memory like read-only memory (ROM), optical disk or disk, compact disc read-only memory (CD-ROM). The computer-readable medium may also be any other volatile or non-volatile storage system. The computer-readable medium may be considered, for example, a computer-readable storage medium or a specific storage device. Additionally, for the method 200 and other processes and methods disclosed herein, Figure 2 each block in may represent circuitry wired to perform a specific logical function in the process.

[0047] At block 202, method 200 includes receiving, by a computing system (such as computing system 104), an indication of at least one virtual region within a virtual representation of a physical space (such as physical space 100) from at least one subscriber device (such as subscriber device 114), where the at least one virtual region corresponds to at least one physical region within the physical space.

[0048] In an example embodiment, the subscriber device 114 may include an application that is capable of subscribing to services provided by the computing system 104. For example, the subscriber device 114 may be a speaker that has been programmatically equipped with an application (e.g., via engineering input, via download, or via installation). Alternatively, the subscriber device 114 may be communicatively linked to another computing device (e.g., a tablet computer) that includes the application. In such a case, the computing device may use the application to subscribe the subscriber device 114 to the services provided by the computing system 104. For example, the tablet computer may subscribe the speaker (e.g., based on user input provided on the tablet computer) to the services provided by the computing system 104 and may cause the speaker to act based on the results of the services, as further discussed below.

[0049] In either case, the application may be automatically subscribed to the service. For example, the application may subscribe to the service when the subscriber device 114 encounters a particular device state that programmatically initiates a request for the subscription. Alternatively, the application may subscribe to the service in response to user input provided by the user. Additionally, the application may subscribe to the service by sending a particular request to the computing system 104, which may include: an identification (ID) of the subscriber device 114, the capabilities of the subscriber device 114, the model of the subscriber device 114, the time of the request, and / or the time period for receiving the requested service, among other things.

[0050] Accordingly, the request may include an indication of specific details related to the service. In particular, the request may include an indication of at least one virtual region within the virtual representation of the physical space 100. The virtual region may correspond to a physical region within the physical space 100, thereby allowing the subscriber device 114 (or a separate computing device) to substantially specify the physical region of interest for the subscriber device 114. Additionally, the virtual region may correspond to the physical region, such as by corresponding to the relative position, size, shape, and / or relative orientation (and other possible attributes) of the physical region.

[0051] As such, the request may specify various characteristics related to the virtual region. These characteristics may include, but are not limited to: (i) the size of at least one virtual region, (ii) the shape of at least one virtual region, (iii) the relative position of at least one virtual region within the virtual representation of the physical space, and (iv) the relative orientation of at least one virtual region within the virtual representation of the physical space. In this way, the virtual region within the virtual representation may have attributes that match the attributes of the physical region within the physical space 100.

[0052] In addition, the physical region can be a physical sub-segment of the physical space 100. For example, the physical region can be a two-dimensional (2D) sub-region of the physical space 100, which can have any size and shape. If the physical space 100 is a three-dimensional (3D) space, the 2D sub-region can also have any relative orientation within the 3D space. In this case, the physical region can thus be square, rectangular, circular, or triangular, as well as other possible shapes. In other cases, the physical region can be a 3D sub-volume of the physical space 100, which can have any relative position, size, shape, and / or relative orientation. For example, the physical region can be cubic, cuboid, cylindrical, conical, spherical, pyramidal, and / or triangular prism-shaped, as well as other possible shapes. In other cases, the physical region can be a one-dimensional point within the physical space. Other cases are also possible.

[0053] Figure 3A An exemplary physical space 300 in the form of a retail store is shown. The shown physical space 300 includes various devices, such as a subscriber device 302. Additionally, as Figure 3A shown, an example physical region 304 can take the form of a cube located near the subscriber device 302. Furthermore, the physical space 300 is shown to include example sensors 306A to 306B. In particular, sensor 306A can take the form of a depth sensor, sensor 306B can take the form of a thermal sensor, and sensor 306C can take the form of a proximity sensor. Note that these sensors are shown for illustrative purposes only and are not meant to be restrictive, as the physical space 300 can also include other types of sensors.

[0054] As discussed further below, the subscriber device 302 can define a virtual region corresponding to the physical region 304 to obtain information related to events occurring near the subscriber device 302. In an example embodiment, the virtual region can be defined in a variety of ways (e.g., as part of an indication). By way of example, the virtual representation can be a virtual coordinate system corresponding to the physical coordinate system of the physical space 100, such as by corresponding to the size, shape, and / or orientation (as well as other possible attributes) of the physical space 100. In this example, the indication can specify virtual coordinates within the virtual coordinate system, and the virtual coordinate system can thus define the virtual region. With this arrangement, the virtual region can correspond to the physical region within the physical space 100. For example, the specified virtual coordinates can correspond to physical coordinates within the physical coordinate system, such as by corresponding to the relative position, size, shape, and / or relative orientation (as well as other possible attributes) of the physical region.

[0055] In another example, a user may manually define a virtual region in the form of an interaction with subscriber device 114 (e.g., if device 114 is a computing device) or an interaction with a separate computing device that can customize device 114 for services provided by computing system 104. In either case, such a computing device may be configured to display, for example, a graphical user interface (GUI) via the application described above. The GUI may provide a selection of a virtual region within a visual representation of physical space 100. In one case, the GUI may show a (two-dimensional (2D) or three-dimensional (3D)) map of the physical space. In another case, the GUI may display a video feed of a physical location. In another case, the GUI may display an image of the physical space. In yet another case, the GUI may display a layout of the physical space, such as a layout extrapolated from a video feed or an image of the physical space. Other cases are possible.

[0056] Within such a configuration, user input may be received corresponding to a selection of a predefined region shown in the visual representation (e.g., an aisle within a retail space). However, the configuration is not limited to predefined regions, as the GUI may also allow a user to define one or more regions for selection. For example, the GUI may display a visual representation of the physical space and may receive subsequent user input to define a user region within the visual representation of the physical space. Defining a user region may include selecting a 2D or 3D shape (e.g., a square or a cube, etc.), followed by user input gestures to determine the position of the shape within the virtual representation, as well as the size and orientation of the shape, so as to use the shape to define the selected region. These user input gestures may include using a pointing device (or using a touch on a touchscreen display) at a desired location on the map. Alternatively, the user input may not be to select a shape, but may include drawing a customized shape (e.g., an enclosed area or volume) on the map to define the selected region. In either arrangement, the resulting selected region may be a 2D portion of physical space 100 or may be a 3D portion of physical space 100.

[0057] In yet another example, the subscriber device 114 may not define the virtual region as part of the request to the computing system 104. Instead, the computing system 104 may define the virtual region based on the characteristics of the subscriber device 114 and / or based on the characteristics of the request. For example, as described above, the request may include specific device attributes such as the ID of the subscriber device 114, the capabilities of the subscriber device 114, and / or the model of the subscriber device 114. As further discussed below, the request may also specify a trigger condition that defines a specific physical change within the physical region corresponding to the virtual region. Thus, the computing system 104 may define the virtual region based on the specific device attributes and / or the specified trigger condition. To do so, the computing system 104 may refer to stored mapping data that maps various virtual regions to various device attributes and / or various trigger conditions, and may then select the virtual region based on such mapping.

[0058] For example, the subscriber device 114 may be a television, and the trigger condition may include the presence of a participant (e.g., a person or a robot) within the physical region. The computing system 104 may receive a request including this information and may then refer to the mapping data in order to define a virtual region for the television. In this example, the virtual region may correspond to a physical region taking a cylindrical shape that is sized to correspond to the size of the television and may surround the television in order to determine the presence of a participant within the physical region. Other examples are possible.

[0059] On the other hand, the above request may specify a choice between a virtual region as a static virtual region or a dynamic virtual region. A static virtual region may define a region whose coordinates do not change over time with respect to the coordinate system of the virtual representation. Thus, a static virtual region may correspond to a static physical region having coordinates that do not change over time with respect to the coordinate system of the physical space 100. A dynamic virtual region may define a region whose coordinates change over time with respect to the coordinate system of the virtual region representation. Thus, a dynamic virtual region may correspond to a dynamic physical region having coordinates that change over time with respect to the coordinate system of the physical space 100.

[0060] In an example embodiment, a dynamic physical region may be associated with the movement of a participant from at least a first point to at least a second point in the physical space 100. In one case, the dynamic virtual region may simply present any shape and may move relative to the virtual representation based on the movement of the participant. In another case, the size, shape, and / or orientation (and other attributes) of the participant may substantially define the dynamic physical region. Thus, the size, shape, and / or orientation of the dynamic virtual region may adapt to the corresponding size, shape, and / or orientation of the participant as the participant moves in the physical space 100. For example, the dynamic physical region may have a first shape when a participant is at a first point and may have a second shape when the participant is at a second point. Thus, when the participant is at the first point and the second point, the dynamic virtual region may present the first and second shapes, respectively. In this way, when the participant is at the first point and the second point, the first and second shapes may correspond to the shape of the participant, respectively. Other cases are possible.

[0061] In addition, the computing system 104 may use one of various techniques to generate the dynamic virtual region. As discussed in further detail below, the computing system 104 may receive sensor data from sensors located in the physical space 100. The computing system 104 may then use the sensor data to generate the dynamic virtual region over time. For example, the computing system 104 may receive image data from a camera located in the physical space 100. The computing system 104 may then use various image processing techniques to (e.g., continuously or from time to time) determine the 2D or 3D profile of the participant, which can then be used as a basis for defining the dynamic virtual region. Various other techniques are possible.

[0062] Figures 4A to 4D An example of a dynamic region representing the position, shape, and orientation of a participant is shown. As Figure 4A shown, an example participant 400 may take the form of a humanoid robot located at a first point / position in the physical space 300. Figure 4B An example dynamic region 402 is then shown, which presents the relative position, shape, and relative orientation (and other attributes) of the participant 400. However, the region 402 has dimensions larger than the dimensions of the participant 400 to allow, for example, detection of physical changes around the participant 400 (as discussed further below). As Figure 4C shown, the example participant 400 has moved from a first point / position in the physical space 300 to a second point / position. Moreover, due to the movement of the arms of the humanoid robot, the shape of the participant 400 has changed to a new shape. Figure 4DThen an exemplary dynamic region 402 is shown, which presents the updated relative position, updated shape, and updated relative orientation (as well as other updated attributes) of the participant 400. However, as described above, the size of this region 402 is still larger than the size of the participant 400, thus allowing, for example, the detection of physical changes around the participant 400 at the updated position of the participant 400. Note that Figures 4A to 4D is shown for illustrative purposes only and is not meant to be limiting.

[0063] Figures 5A to 5B An exemplary dynamic region is shown, which presents a relatively simple shape and moves based on the movement of the participant 400. As Figure 5A shown, the example participant 400 can take the form of a humanoid robot, which is located at a first point / position in the physical space 300. Figure 5A Then an exemplary dynamic region 502 in the form of a 3D rectangular shape surrounding the participant 400 is shown. The size of this region 502 is larger than the size of the participant 400 in order to allow, for example, the detection of physical changes around the participant 400 (as discussed further below). As Figure 5B shown, the example participant 400 has moved from the first point / position in the physical space 300 to a second point / position. Figure 5B Subsequently, the exemplary dynamic region 502 is shown moving to the updated relative position of the participant 400. As shown, the size of this region 502 is still larger than the size of the participant 400 in order to allow, for example, the detection of physical changes around the participant 400 at the updated position of the participant 400. Note that Figures 5A to 5B is shown for illustrative purposes only and is not meant to be limiting.

[0064] Returning to Figure 2 , at block 204, the method 200 includes receiving, by a computing system, from at least one subscriber device at least one trigger condition associated with at least one virtual region, where the at least one trigger condition corresponds to at least one specific physical change in at least one physical region.

[0065] In an example embodiment, the above request may specify a trigger condition associated with a virtual region corresponding to a physical region. The trigger condition may correspond to a specific physical change. The physical change may define any event in a physical region that is sensor-perceivable in the physical space. Thus, when a specific physical change occurs in the physical region, the subscriber device 114 may be subscribed to receive a notification (as discussed further below), and may subscribe by defining a trigger condition that specifies the specific physical change.

[0066] For example, a particular physical change can include a participant entering a physical area. This may specifically include detecting that the participant has entered some portion (e.g., volume or region) of the physical area. In another example, a particular physical change may include a participant exiting a physical area. This may specifically include detecting that the participant has exited a particular portion (e.g., volume or region) of the physical area. In yet another example, a particular physical change can include the presence of a participant in at least one physical area. This may specifically include detecting that the participant is present in a particular portion (e.g., volume or region) of the physical area for at least a threshold period of time. In yet another example, a particular physical change may include the occupancy of a physical area. This may specifically include the presence of at least a threshold number of participants in the physical area.

[0067] In yet another example, a particular physical change can include a particular sound in at least one physical area. For example, this particular sound may be the voice of an adult. This may specifically include using audio data received from a directional microphone to determine the location of the sound and subsequently determining that the sound originated from the physical area in question. In this example, a particular physical change can include a sound in at least one physical area that includes a particular phrase (e.g., "hello"). The computing system 104 can use various speech recognition techniques to determine that the phrase matches the particular phrase specified in the trigger condition. Other examples are possible.

[0068] The trigger condition can be specified in one of various ways. For example, the request can include a code corresponding to the trigger condition. In this example, the computing system 104 can refer to stored mapping data that maps the code to various particular physical changes, and the computing system 104 can thus interpret the trigger condition by determining the particular physical change corresponding to the specified code. In another example, the request can include one or more characters (e.g., received via user input) that specify a particular physical change (e.g., "entry of a participant"). In this example, the computing system 104 can use various natural language processing (NLP) techniques to interpret the request and thus determine the particular physical change. Other examples are possible.

[0069] Return reference Figure 2 , at block 206, method 200 includes receiving, by a computing system, sensor data from a plurality of sensors (e.g., sensor 102) located in a physical space, wherein at least a portion of the data of the sensors is associated with at least one physical area within the physical space.

[0070] In an example embodiment, the computing system 104 may receive sensor data in the form of computer-readable data packets and the like. Additionally, the computing system 104 may receive data from each sensor individually, or may receive data from two or more sensors simultaneously (e.g., such as within the same data packet). Further, the sensor data may be received continuously (e.g., in real time), or may be received from time to time (e.g., periodically). Additionally, the sensor data may be received in the form of an anonymous data stream. That is, the sensor data representing information related to one or more entities (e.g., individuals) located within the physical space 100 may not provide any information related to the corresponding individual identities of the one or more entities, thereby maintaining the privacy of the individuals within the physical space 100.

[0071] Once the sensor data is received, some or all of the sensor data may be stored in the data storage 108 and / or processed (e.g., using the processor 106) to provide the functions discussed herein. Additionally, the computing system 104 may store the time related to the received sensor data. For example, the computing system 104 may use various timestamp techniques to establish the time when the sensor obtained the sensor data, the time when the sensor data (e.g., data packet) was sent to the computing system 104, and / or the time when the computing system 104 received the sensor data (e.g., data packet), etc. This time may include the date, day of the week, and / or time of day, etc.

[0072] Furthermore, the computing system 104 may additionally or alternatively store the location related to the sensor data. For example, the computing system 104 may encode the location information into the received data packet (e.g., receive sensor identification information and determine the corresponding storage location of the identified sensor). Or, the received data packet may already have the location information encoded thereon. In either case, the location information may be in the form of coordinates, addresses, and / or a list of characters representing names (e.g., the name of a department within a retail space) within the physical space 100, etc.

[0073] Moreover, the location information may represent the location within the physical space 100 of a particular sensor (or group of sensors). However, in some cases, the received sensor data may provide information related to a location within the physical space 100 that is not necessarily the same as the location of the sensor that obtained the sensor data. Thus, the location information may additionally or alternatively represent the location within the physical space 100 to which the received sensor data is associated. As an example, the sensor data may include image data received from a camera located within the physical space. In this example, the location information may include the location of the camera within the physical space and / or may include the location associated with the image data provided by the camera. Other examples are possible.

[0074] Return reference Figure 2 At block 208, method 200 includes the computing system detecting an event within at least one physical region based on sensor data, the event satisfying at least one trigger condition corresponding to at least one specific physical change in at least one of the at least one physical regions.

[0075] In an example implementation, computing system 104 may use the received sensor data to detect an event in a physical region that satisfies a trigger condition. The event may define a physical change in the physical region detected by one or more sensors. Thus, detecting the event may include determining that at least a portion of the received sensor data includes data representing the event. To determine that the event satisfies the trigger condition, computing system 104 may determine that the portion of the received sensor data that includes data representing the event matches (or at least substantially matches) the data defining the trigger condition.

[0076] Specifically, once computing system 104 receives an indication of a virtual region and a trigger condition, computing system 104 may determine at least one method (which may also be referred to as a sensor interpretation rule) for detecting an event in a physical region that satisfies the trigger condition. Once the method is determined, computing system 104 may detect the event based on the method. In the case where two or more methods are determined, computing system 104 may use any one of the determined methods to detect the event. In either case, such a method may be determined in a variety of ways.

[0077] In an exemplary arrangement, computing system 104 may determine the method based on the characteristics of one or more of the plurality of sensors 102 located in physical space 100. More specifically, computing system 104 may store (e.g., in data storage 108) information related to sensors located in a particular physical space, or may otherwise refer to information related to sensors located in a particular physical space. The information may include the characteristics of various sensors, and these characteristics may be considered when determining the method.

[0078] In one case, the sensor characteristics can include the sensor type, e.g., whether the sensor is a position sensor or a thermal sensor for example. In another case, the sensor characteristics may include the sensor manufacturer and / or model, e.g., the company name and / or the product name. In yet another case, the sensor characteristics may include the sensor location, e.g., based on the above location information. In yet another case, the sensor characteristics may include the sensor orientation, e.g., the relative orientation of the sensor in the physical space 100. In another case, the sensor characteristics may include the association of the sensor with a physical area. For example, the computing system 104 can determine that the location information associated with the sensor corresponds to the coordinates of a physical area. In yet another case, the sensor characteristics can include the association of the sensor with the subscriber device 114. For example, the computing system 104 can determine that the sensor is part of the subscriber device 114. Other cases are possible.

[0079] Thus, in one aspect, the determination method can include selecting one or more specific sensors (e.g., from among the plurality of sensors 102 in the physical space 100) for detecting an event. Selecting one or more specific sensors can include selecting one or more sensors having characteristics most suitable for detecting the event. For example, if the trigger condition includes detecting a participant entering an area, the computing system 104 can determine that the most suitable sensors will include a combination of an image capture device associated with the physical area and a proximity sensor associated with the physical area.

[0080] In this way, selecting one or more specific sensors can include the computing system 104 selecting at least (i) a first sensor configured to generate first sensor data and (ii) a second sensor configured to generate second sensor data. The computing system 104 can then make a decision to use at least the first and second sensor data to detect the event. After this decision, the computing system 104 can detect a specific physical change in the physical area based on an evaluation of at least the first and second sensor data. If the first and second sensor data match (or at least substantially match) the data defining the trigger condition, the computing system 104 can determine that the event has been detected.

[0081] In another aspect, the determination method may include determining a portion of sensor data associated with a physical region within a physical space. To this end, for example, the computing system 104 may determine that the above-mentioned location information of the data packet corresponds to the coordinates of the physical region, and may correspondingly represent the data packet (e.g., encoded thereon) as being associated with the physical region. In another example, the computing system 104 may directly determine which portion of the sensor data corresponds to the physical region. For example, the computing system 104 may receive a plurality of depth points from a depth sensor, and may then use the coordinates of the depth points to determine which depth points correspond to the physical region. Through these arrangements, the computing system 104 may detect a specific physical change in the physical region by evaluating a portion of the sensor data associated with the physical region, e.g., by evaluating a data packet that has been represented as being associated with the physical region.

[0082] In yet another aspect, the determination method may include determining data that defines a trigger condition. In particular, the computing system 104 may determine information (e.g., a value) within the sensor data that represents a specific physical change and thus represents the trigger condition. Thus, this information may be equal to the information that the computing system 104 should look for within the sensor data in order to detect an event. The computing system 104 may determine this information in one of various ways.

[0083] In one case, determining this information may be based on what is included in the above-mentioned request. For example, the request may specify values and / or thresholds that define the trigger condition (e.g., for one or more specific sensors), and then the computing system 104 may, when receiving the sensor data, determine whether the sensor data includes these specified values and / or values that exceed the specified thresholds. As an example, the request may include a trigger condition that specifies that the computing system 104 should notify the subscriber device 114 when the temperature in the physical region exceeds one hundred degrees Fahrenheit. In this example, when the sensor data is received, the computing system 104 may determine whether the sensor data includes data corresponding to the temperature in the physical region that exceeds 100 degrees Fahrenheit.

[0084] In another case, this information may be inferred based on what is included in the above-mentioned request. For example, the request may not specify values and / or thresholds, but may define the trigger condition in another way (e.g., by specifying the code or language of the condition). The computing system 104 may then use mapping data or other processing techniques to determine the values and / or thresholds corresponding to the trigger condition. When the sensor data is received, the computing system 104 may determine whether the sensor data includes these values and / or values that exceed the thresholds.

[0085] As an example, the request can include a trigger condition that specifies that when a physical area becomes "hot", the computing system 104 should notify the subscriber device 114. The trigger condition can be specified in text (e.g., "Let me know when this area is hot"), such as text provided by user input. In this example, the computing system 104 can use NLP techniques to determine the meaning of the request and then can determine (e.g., based on mapping data) that a "hot" area may include a temperature in the physical area that exceeds one hundred degrees Fahrenheit. Thus, if the temperature in the physical area exceeds one hundred degrees Fahrenheit, the computing system 104 can determine that the trigger condition will be met. In this way, when the sensor data is received, the computing system 104 can determine whether the sensor data includes data corresponding to a temperature in a physical area that exceeds 100 degrees Fahrenheit.

[0086] In yet another aspect, the determination method can include determining the weights of the data received from each sensor that detected the event. Additionally or alternatively, the determination method can include determining the weights of each part of the sensor data used to detect the event. For example, the computing system 104 can determine that a temperature sensor and a location sensor should be used to detect the event. In this example, the computing system 104 can determine a first weight for the sensor data received from the temperature sensor and a second weight for the sensor data received from the location sensor. The computing system 104 can then apply the corresponding weights to the corresponding sensor data, such as by determining, for example, a weighted average. Thus, the computing system 104 can detect the event based on the value obtained by applying different weights to different sensor data. For example, the computing system 104 can determine the weighted average and then can determine whether the weighted average exceeds a threshold in order to detect the event. Other aspects (as well as combinations of the above aspects) are also possible.

[0087] Return reference Figure 2 , at block 210, method 200 includes providing, by the computing system, a notification indicating that at least one trigger condition has been met to at least one subscriber device in response to detecting the event.

[0088] In one example embodiment, the computing system 104 can notify the subscriber device 114 that an event has been detected and thus the trigger condition has been met. The computing system 104 can do this by sending a notification to the subscriber device 114 indicating so. For example, the notification can include a binary value (e.g., one (1)), a code, and / or text indicating that the trigger condition has been met. In some cases, the notification can also include other information, such as the time when the trigger condition was met, etc.

[0089] Once the subscriber device 114 receives the notification, it can take one of various actions. To present such example actions, reference Figure 3B and5C , each illustration shows a participant interacting with a region. For example, Figure 3B shows a participant 308 located in physical region 304. In this example, the subscriber device 302 may have specified a trigger condition as the presence of a participant in physical region 304. Based on this trigger condition, the computing system 104 can determine the presence of the participant 308 in physical region 304 (e.g., using one or more of sensors 306A to 306C), and then can notify the subscriber device 302 that the trigger condition has been met. In response to this notification, the subscriber device 302 can take one of various actions. For example, the subscriber device 302 can update the content displayed by the subscriber device 302. As Figure 3B shown, this can include the subscriber device 302 turning on the display of the device 302 to display a lock screen including the current time and so on. In another example, the subscriber device 302 can increment a counter each time it receives a notification (and thus whenever a participant appears in region 304). For example, the subscriber device 302 can do this to determine the total number of participants present in the area during a period of the day. Other scenarios are possible.

[0090] In another example, Figure 5C shows a participant 504 (in the form of a robot) located in the dynamic region 402 (and thus near the participant 400). In this example, the participant 400 (also in the form of a robot) can be the subscriber device, and thus may have specified a trigger condition as the presence of another participant in the dynamic region 402. Based on this trigger condition, the computing system 104 can determine the presence of the participant 504 in the dynamic region 402. Once the computing system 104 determines that there is a participant 504 in the dynamic region 402, the computing system 104 can then notify the participant 400 that the trigger condition has been met. In response to this notification, the participant 400 can take one of various actions. For example, the participant 400 in the form of a robot can shut down the robot or stop moving, thereby reducing the risk of collision with the participant 504, thus improving the safety of the environment around the robot. Other examples are possible.

[0091] IV. Additional Features

[0092] On the other hand, the above-described embodiments may be executed in an environment of multiple regions. For example, the request may specify two or more virtual regions. In this case, the trigger conditions for each region may be the same. Additionally or alternatively, the trigger conditions for each region may be different. With this arrangement, the computing system 104 may notify the subscriber device 114 when all of the trigger conditions for the respective specified regions have been satisfied. In another case, the computing system 104 may notify the subscriber device 114 when at least one trigger condition for at least one region has been satisfied. In some cases, the request may specify the order in which the trigger conditions should be satisfied. For example, the request may specify that the trigger condition A for region A should be satisfied first, and then the trigger condition B for region B. Thus, when the computing system 104 detects events occurring in this order, the computing system 104 may notify the subscriber device 114. Other cases are possible.

[0093] In yet another aspect, the above-described embodiments may be executed in an environment of multiple trigger conditions for a specified region. For example, the request may specify two or more trigger conditions for a specified region. In this case, the trigger conditions for the region may be different from each other. With this arrangement, the computing system 104 may notify the subscriber device 114 when all of the trigger conditions for the specified region have been satisfied. In another case, the computing system 104 may notify the subscriber device 114 when at least one trigger condition for the specified region has been satisfied. In some cases, the request may specify the order in which the trigger conditions for the specified region should be satisfied. For example, the request may specify that the trigger condition A for region A should be satisfied first, and then the trigger condition B for region A. Thus, when the computing system 104 detects events occurring in this order within the specified region, the computing system 104 may notify the subscriber device 114. Other cases are possible.

[0094] In yet another aspect, a virtual region may be defined based on the gaze direction of a participant. In particular, the computing system 104 may use sensor data to determine the gaze direction of the participant, and then may use the gaze direction to define the region. For example, the computing system 104 may define a region based on the field of view of the participant, such as by defining the region as the focus of the participant's field of view. In this regard, the defined region may be dynamic and may thus be updated based on the changing gaze direction of the participant. Other aspects are possible.

[0095] V. Conclusion

[0096] The present disclosure is not limited to the specific embodiments described in this application, which are intended to be illustrative of various aspects. It will be apparent to those skilled in the art that many modifications and variations can be made without departing from the spirit and scope of the invention. From the foregoing description, functional equivalent methods and devices within the scope of the present disclosure, other than those enumerated herein, will be apparent to those skilled in the art. Such modifications and variations are intended to fall within the scope of the appended claims.

[0097] The foregoing detailed description has described various features and functions of the disclosed systems, devices, and methods with reference to the accompanying drawings. In the drawings, like reference numerals generally identify like components unless the context otherwise indicates. The exemplary embodiments described herein and in the drawings are not meant to be limiting. Other embodiments can be utilized and other changes can be made without departing from the spirit or scope of the subject matter presented herein. It will be readily understood that the aspects of the present disclosure, as generally described herein and illustrated in the drawings, can be arranged, substituted, combined, separated, and designed in a wide variety of different configurations, all of which are explicitly contemplated herein.

[0098] The specific arrangements shown in the drawings should not be considered limiting. It should be understood that other embodiments can include more or fewer elements of each element shown in a given figure. Additionally, some of the elements shown can be combined or omitted. Further, example embodiments can include elements not shown in the figures.

[0099] Although various aspects and implementations have been disclosed herein, other aspects and implementations will be apparent to those skilled in the art. The various aspects and implementations disclosed herein are for illustrative purposes and not intended to be limiting, and the true scope is indicated by the following claims.

[0100] In cases where the system collects information about an entity or utilizes such information, the data can be processed in one or more ways before the data is stored or used so as to exclude personally identifiable information. For example, the identity of an entity can be processed such that personally identifiable information cannot be determined for that entity, or in cases where location information (such as city, zip code, or state level) is obtained, the geographical location of the entity can be generalized so that the specific location of the entity cannot be determined.

Claims

1. A method performed by a computing system, the method comprising: As part of a service provided by the computing system to a subscriber device, receiving, by the computing system from the subscriber device, a request to subscribe the subscriber device or a different device to the service, the request including: Characteristics of the subscriber device; A first trigger condition defined by the subscriber device, the first trigger condition corresponding to a first physical change within a first physical space defined using the characteristics of the subscriber device; A second trigger condition defined by the subscriber device, the second trigger condition corresponding to a second physical change within a second physical space defined using the characteristics of the subscriber device; One or more values or one or more thresholds defining the first trigger condition and the second trigger condition; and A user-defined order specifying that the first trigger condition within the first physical space defined using the characteristics of the subscriber device should be satisfied before the second trigger condition within the second physical space defined using the characteristics of the subscriber device; Receiving, by the computing system, sensor data from one or more sensors; Based on the sensor data and as part of the service, detecting, by the computing system on behalf of the subscriber device, that a first event satisfying the first trigger condition occurs before a second event satisfying the second trigger condition; and In response to detecting, on behalf of the subscriber device, that the first event occurs before the second event in the user-defined order specified by the request, providing, by the computing system, a notification to the subscriber device or the different device, the notification indicating that the first event occurs before the second event and thus that the first trigger condition and the second trigger condition have been satisfied in the user-defined order specified by the request.

2. The method according to claim 1, wherein The one or more sensors are within a physical space, part of the subscriber device, or part of the different device.

3. The method according to claim 1, wherein The request specifies one or more values associated with the one or more sensors, and the one or more specified values at least partially define the first trigger condition or the second trigger condition.

4. The method according to claim 3, wherein, Detecting the first event or detecting the second event includes: determining that the sensor data represents at least a specific value among the one or more specified values.

5. The method according to claim 1, wherein The request specifies one or more thresholds associated with the one or more sensors, and the one or more specified thresholds at least partially define the first trigger condition or the second trigger condition.

6. The method according to claim 5, wherein, Detecting the first event or detecting the second event includes: determining that the sensor data represents a specific value that exceeds at least a specific threshold among the one or more specified thresholds.

7. The method according to claim 1, wherein, Detecting the first event corresponds to determining that the first physical change occurs.

8. The method according to claim 1, wherein Providing the notification causes the subscriber device or the different device to display information associated with satisfying the first trigger condition and the second trigger condition.

9. The method according to claim 1, wherein Providing the notification to the different device causes the different device to shut down or stop moving.

10. The method according to claim 1, wherein The different device is a robotic device.

11. The method according to claim 1, wherein, The subscriber device includes program code that enables the transmission of the request to the computing system.

12. The method according to claim 1, wherein, The subscriber device or the different device includes program code that enables a notification indicating that a first trigger condition and a second trigger condition have been satisfied in a user-defined order specified by the request to be received from the computing system.

13. The method according to claim 1, wherein, The subscriber device or the different device does not include program code that enables the sensor data to be used as a basis for detecting a first event that satisfies a first trigger condition or a second event that satisfies a second trigger condition.

14. The method according to claim 1, wherein The computing system providing the service includes: the computing system providing programming building blocks that enable the subscriber device to enable the computing system to (i) receive sensor data from one or more sensors on behalf of the subscriber device, and (ii) detect a first event that satisfies a first trigger condition or a second event that satisfies a second trigger condition on behalf of the subscriber device.

15. A computing system, comprising: One or more processors; A non-transitory computer-readable medium; And Program instructions stored on the non-transitory computer-readable medium and executable by one or more processors to: As part of a service provided by the computing system to a subscriber device, receive from the subscriber device a request to subscribe the subscriber device or a different device to the service, the request including: Characteristics of the subscriber device; A first trigger condition defined by the subscriber device, the first trigger condition corresponding to a first physical change within a first physical space defined using the characteristics of the subscriber device; A second trigger condition defined by the subscriber device, the second trigger condition corresponding to a second physical change within a second physical space defined using the characteristics of the subscriber device; One or more values or one or more thresholds defining the first trigger condition and the second trigger condition; and A user-defined order that specifies that the first trigger condition in the first physical space defined using the characteristics of the subscriber device should be satisfied before the second trigger condition in the second physical space defined using the characteristics of the subscriber device is satisfied; Receive sensor data from one or more sensors; Based on the sensor data and as part of the service, detect on behalf of the subscriber device that a first event that satisfies the first trigger condition occurs before a second event that satisfies the second trigger condition; and In response to detecting on behalf of the subscriber device that the first event occurs before the second event in the user-defined order specified by the request, provide a notification to the subscriber device or the different device, the notification indicating that the first event occurs before the second event and thus that the first trigger condition and the second trigger condition have been satisfied in the user-defined order specified by the request.

16. The computing system according to claim 15, Among them, The request specifies one or more values associated with the one or more sensors respectively, and the one or more specified values at least partially define the first trigger condition and the second trigger condition, and Wherein, detecting the first event or detecting the second event includes: determining that the sensor data represents at least a specific value among the one or more specified values.

17. The computing system according to claim 15, Among them, wherein the request specifies one or more thresholds respectively associated with the one or more sensors, the one or more specified thresholds at least partially define a first trigger condition and a second trigger condition, and wherein detecting the first event or detecting the second event includes: determining that sensor data represents a specific value that exceeds at least a specific threshold among the one or more specified thresholds.

18. The computing system according to claim 15, wherein providing the notification causes the subscriber device or the different device to display information associated with satisfying the first trigger condition and the second trigger condition.

19. The computing system according to claim 15, wherein providing the notification to the different device causes the different device to shut down or stop moving.

20. A non-transitory computer-readable medium storing instructions executable by one or more processors to cause a computing system to perform functions, the functions including: receiving, as part of a service provided to a subscriber device by the computing system, a request from the subscriber device to subscribe the subscriber device or a different device to the service, the request including: characteristics of the subscriber device; a first trigger condition defined by the subscriber device, the first trigger condition corresponding to a first physical change within a first physical space defined using the characteristics of the subscriber device; a second trigger condition defined by the subscriber device, the second trigger condition corresponding to a second physical change within a second physical space defined using the characteristics of the subscriber device; one or more values or one or more thresholds defining the first trigger condition and the second trigger condition; and a user-defined order that specifies that the first trigger condition of the first physical space defined using the characteristics of the subscriber device should be satisfied before the second trigger condition of the second physical space defined using the characteristics of the subscriber device; receiving sensor data from one or more sensors; detecting, based on the sensor data and as part of the service, that a first event satisfying the first trigger condition occurs before a second event satisfying the second trigger condition on behalf of the subscriber device; and in response to detecting, on behalf of the subscriber device, that the first event occurs before the second event in the user-defined order specified by the request, providing a notification to the subscriber device or the different device, the notification indicating that the first event occurs before the second event and thus the first trigger condition and the second trigger condition have been satisfied in the user-defined order specified by the request.

Citation Information

Patent Citations

  • Service providing system, management terminal, mobile member, service providing program, and service providing method

    US20020114626A1

  • Monitoring traffic flow within a customer service area to improve customer experience

    US20120092492A1

  • Mobile terminal and GPS engine control method thereof

    US20130314278A1