This invention relates to system and methods of using wireless signals to create an active sensing area and characterizing the disturbance of wireless signals to detect and track the occupancy status of the sensing area such as residentials or industrial indoor environments.
Many currently used wireless communication systems such as LTE, LTE-Advance, IEEE 802.11n, IEEE 802.11ac (WiFi 5), and IEEE 802.11ax (WiFi 6) continuously sense the state of the wireless channel through well-known signals, or pilot signals, in order to dynamically optimize the transmission rate or improve the robustness of the system. These channel sensing mechanisms are continuously improving and enable self-driven calibration systems and wireless signal pre-compensation and post-compensation techniques, significantly improving the quality of wireless communication.
More fine-grained information is available in modern communication systems and several approaches have been proposed in order to improve these systems. For example, a method that provides periodic channel state information (CSI) data has been developed. However, these fine-grained measurements are not only valuable for controlling and optimizing communication networks and links as they can also be used for the purpose of detecting motion or human activities within a sensing area.
Several signals are broadcasted or emitted in type of frames by the stations (STA) and Access Points (APs) in WiFi networks even without requiring association between them. For example, before two devices can associate to each other, each of them can read frames from the environment and each of them can decide to broadcast or send one or multiple frames or wireless signals in general.
Occupancy (presence) detection using the existing wireless infrastructure and the abundant commodity WiFi devices, can be considered as an attractive area of interest for many industries. In this invention, a CSI-based passive occupancy detection solution is presented that leverages the existing wireless infrastructure to sense presence or absence of a target. The solution studies the changes in WiFi signals, represented by channel state information (CSI) through time, due to human body presence and motion in the observed environment
This invention relates to system and methods of using wireless signals to create a sensing infrastructure for tracking the occupancy status within a sensing residentials or industrial indoor environments. Occupancy refers to a state when a subject is present in sensing area. The subject may be moving, standing still, sitting or sleeping or doing any kind of activity within the sensing area.
Wireless device free “Occupancy detection” in residential or small industrial properties is an essential function within the broader scope of smart environments. Among many applications, this innovation can be used for monitoring subject's—e.g. an elderly person—behaviour for health assessments, or to move toward more efficient energy usage in smart homes.
Tracking occupancy in a living area, provides tools to assess a subject's behavioural analysis such as activity pattern, and time spent outside. Recent studies suggest that chronic sedentary behavior is associated with increased risk of at least 35 chronic diseases. Moreover, spending time outdoor is associated with better physical and mental health in older adults. Therefore, activity monitoring when at home, and time spent outdoor is crucial in elder care to predict and prevent anomalies.
The changes and disruption of wireless signals transmitted and received by the plurality of wireless devices are collected and analyzed to infer the presence of a subject the sensing area. More particularly, using CSI information through time a method is proposed that models and estimates the presence of a subject within the sensing area whether the subject moves or stays still.
Other aspects and features of the present invention will become apparent to those ordinarily skilled in the art upon review of the following description of specific embodiments of the invention in conjunction with the accompanying figures.
It is an object of the present invention to mitigate limitations within the prior art relating to using wireless signals to create an active sensing area and characterizing the disturbance of wireless signals to detect and track the occupancy status of the sensing area such as residentials or industrial indoor environments.
In accordance with an embodiment of the invention there is provided a system comprising:
In accordance with an embodiment of the invention there is provided a system comprising:
Embodiments of the present invention will now be described, by way of example only, with reference to the attached Figures, wherein:
The ensuing description provides representative embodiment(s) only, and is not intended to limit the scope, applicability or configuration of the disclosure. Rather, the ensuing description of the embodiment(s) will provide those skilled in the art with an enabling description for implementing an embodiment or embodiments of the invention. It being understood that various changes can be made in the function and arrangement of elements without departing from the spirit and scope as set forth in the appended claims. Accordingly, an embodiment is an example or implementation of the inventions and not the sole implementation. Various appearances of “one embodiment,” “an embodiment” or “some embodiments” do not necessarily all refer to the same embodiments. Although various features of the invention may be described in the context of a single embodiment, the features may also be provided separately or in any suitable combination. Conversely, although the invention may be described herein in the context of separate embodiments for clarity, the invention can also be implemented in a single embodiment or any combination of embodiments.
Reference in the specification to “one embodiment”, “an embodiment”, “some embodiments” or “other embodiments” means that a particular feature, structure, or characteristic described in connection with the embodiments is included in at least one embodiment, but not necessarily all embodiments, of the inventions. The phraseology and terminology employed herein is not to be construed as limiting but is for descriptive purpose only. It is to be understood that where the claims or specification refer to “a” or “an” element, such reference is not to be construed as there being only one of that element. It is to be understood that where the specification states that a component feature, structure, or characteristic “may”, “might”, “can” or “could” be included, that particular component, feature, structure, or characteristic is not required to be included.
Reference to terms such as “left”, “right”, “top”, “bottom”, “front” and “back” are intended for use in respect to the orientation of the particular feature, structure, or element within the figures depicting embodiments of the invention. It would be evident that such directional terminology with respect to the actual use of a device has no specific meaning as the device can be employed in a multiplicity of orientations by the user or users.
Reference to terms “including”, “comprising”, “consisting” and grammatical variants thereof do not preclude the addition of one or more components, features, steps, integers or groups thereof and that the terms are not to be construed as specifying components, features, steps or integers. Likewise, the phrase “consisting essentially of”, and grammatical variants thereof, when used herein is not to be construed as excluding additional components, steps, features integers or groups thereof but rather that the additional features, integers, steps, components or groups thereof do not materially alter the basic and novel characteristics of the claimed composition, device or method. If the specification or claims refer to “an additional” element, that does not preclude there being more than one of the additional element.
A “portable electronic device” (PED) as used herein and throughout this disclosure, refers to a wireless device used for communications and other applications that requires a battery or other independent form of energy for power. This includes devices, but is not limited to, such as a cellular telephone, smartphone, personal digital assistant (PDA), portable computer, pager, portable multimedia player, portable gaming console, laptop computer, tablet computer, a wearable device and an electronic reader.
A “fixed electronic device” (FED) as used herein and throughout this disclosure, refers to a wireless and/or wired device used for communications and other applications that requires connection to a fixed interface to obtain power. This includes, but is not limited to, a laptop computer, a personal computer, a computer server, a kiosk, a gaming console, a digital set-top box, an analog set-top box, an Internet enabled appliance, an Internet enabled television, and a multimedia player.
A “subject” as used herein may refer to, but is not limited to, an individual or group of individuals. This includes, but is not limited to, private individuals, employees of organizations and/or enterprises, an unknown individual or an intruder, members of community organizations, members of charity organizations, men, women, and children. In its broadest sense the user may further include, but not be limited to, software systems, mechanical systems, robotic systems, android systems, etc. that may be characterized, i.e. identified, by one or more embodiments of the invention.
A “transmitter” (a common abbreviation for a radio transmitter or wireless transmitter) as used herein may refer to, but is not limited to, an electronic device which, with the aid of an antenna, produces radio waves. The transmitter itself generates a radio frequency alternating current containing the information to be transmitted which is applied to the antenna which radiates radio waves. A transmitter may be discrete, or it may form part of a transceiver in combination with a receiver. Transmitters may be employed within a variety of electronic devices that communicate by wireless signals including, but not limited to, PEDs, FEDs, two-way radios, and wireless beacons. A transmitter may operate according to one or more wireless protocols in dependence upon its design.
A “receiver” (a common abbreviation for a radio receiver or wireless receiver) as used herein may refer to, but is not limited to, an electronic device that receives radio waves via an antenna which converts them to a radio frequency alternating current wherein the receiver processes these signals to extract the transmitted information. Receivers may be employed within a variety of electronic devices that communicate by wireless signals including, but not limited to, PEDs, FEDs, two-way radios, and wireless beacons. A receiver may operate according to one or more wireless protocols in dependence upon its design.
A “wireless transceiver” as used herein may refer to, but is not limited to, a transmitter and a receiver comprising components needed for sending and receiving wireless signals, e.g. antenna, amplifiers, filters, mixers, local oscillators, ADC and DAC, and any other component required in the modulator and demodulator.
“Device-free technology” as used herein may refer to, but is not limited to, a system for detecting and/or identifying target user(s) or the subject(s) which does not require to wear any device with him/her/them in order for the system or the technology to know that there is human motion in the sensing area or to detect the type of activities or not that the subject(s) are performing.
“Device-oriented technology” as used herein may refer to, but is not limited to, a system for detecting and/or identifying target user(s) or the subject(s) which assumes, but not necessarily, that the subject(s) are wearing a device but irrespective of these assumptions tracks the device rather the individual.
A “wireless protocol” as used herein may refer to, but is not limited to, a specification defining the characteristics of a wireless network comprising transmitters and receivers such that the receivers can receive and convert the information transmitted by the transmitters. Such specifications may therefore define parameters relating to the wireless network, transmitters, and receivers including, but not limited to, frequency range, channel allocations, transmit power ranges, modulation format, error coding, etc. Such wireless protocols may include those agreed as national and/or international standards within those regions of the wireless spectrum that are licensed/regulated as well as those that are unlicensed such as the Industrial, Scientific, and Medical (ISM) radio bands and hence are met by equipment designed by a single original equipment manufacturer (OEM) or an OEM consortium. Such wireless protocols may include, but are not limited to, IEEE 802.11 Wireless LAN and any of their amendments, IEEE 802.16 WiMAX, GSM (Global System for Mobile Communications, IEEE 802.15 Wireless PAN, UMTS (Universal Mobile Telecommunication System), EV-DO (Evolution-Data Optimized), CDMA 2000, GPRS (General Packet Radio Service), EDGE (Enhanced Data Rates for GSM Evolution), Open Air, HomeRF, HiperLAN1/HiperLAN2, Bluetooth, ZigBee, Wireless USB, 6IoWPAN, and UWB (ultra-wideband).
The motivation is to utilize only off-the-shelf devices such as access points (APs), laptops, or any devices equipped with a network interface card (NIC) that are ubiquitous in modern households and monitor the signal patterns between nodes of communication.
This invention relates to a method for building an initial “Occupancy detection” model that includes receiving and analyzing wireless signals, while a user is present (e.g., standing, sitting, sleeping, walking or doing any kind of activity), and empty situation from variety of sensing environments. The method includes an AI-based occupancy detection method, which exploits sequential information from a device-free motion detection module followed by various signal processing, data mining, machine learning (including but not limited to deep learning, supervised and unsupervised learning) and feature extraction techniques to statistically formulate the correlation between wireless signal readings and occupancy status of the sensing environment.
The method can also make use of other auxiliary information such as, but not limited to, the time of the day, to enhance the final decision.
A model for prompt evaluation of occupancy status which receives a live stream of wireless signal from past and present to estimate the current occupancy status of the sensing area.
A post-hoc correction method which uses a probabilistic representation of a sensing area status changes to be served as a priori information to calibrate the output of the main presence detection module.
A provisional method to re-calibrate the system in case of performance deterioration due to specific environment characterization. The data collected while calibration can be used to augment the pre-recorded data, and then to improve the pre-trained probabilistic model.
A wireless device-free motion detection system is illustrated in
The system can collect, through at least one of the devices in the network where the transceivers 110 and 104 are connected, a wide range of information from all or any of the devices (e.g. transceivers 110 and 104) within the area 100. As an example, this information includes but is not limited to Physical Layer (PHY layer), Media Access Control (MAC) sublayer and Logical Link Control (LLC) sublayer which are the two sublayers of the Data Link (DL) Layer of the OSI model. The PHY layer and the DL layer contain information about the frequency response of the channel, and/or phase response of the channel, and/or impulse response of the channel, and/or received signal strength indicators (RSSI), and/or the media access control address (MAC address), and/or capture of probe requests, capture of any broadcasting frame before the association between devices, control frames after or before association between devices, any frame related to the association process, and/or any other statistic that describes the wireless communication link between paired devices.
The system in
In
The quantized motion can be either driven from a single set of receiver and transmitter or from a plurality of devices. The final quantized motion can then be fed separately to the presence detection module or through an aggregation step (
Referring to
The presence detection module 400 can use other sources of information like time of the day to infer the occupancy state of the sensing area. In this document, these types of information are called auxiliary information. Referring to
The presence detection module 400 contains several procedures and processes including, but not limited to, feature extraction module 401, a training and inference module 402, and a decision-making unit 403.
Referring to
Features from module 401 will then be fed to training and inference module (402), wherein an example method for occupancy detection problem is use of memory-based machine learning models or learners (407). An example method that can be used as a memory-based learner is Long Short-Term Memory (LSTM) architecture that is a sequential deep learning method, which can exploit historical dependence information. The data is provided to the unit in a sequence of time extracted features, this method of decision making is hereafter referred to as “sequence-to-sequence” inference such as the model exhibited in
In the training phase, data from variety of settings is used to train the model. The data is labeled manually to identify three states: subject moving, subject presence-not-moving (i.e. subject being present in the sensing area but not moving), and empty states. The labels are given as a state variable which shows the occupancy state of the sensing area at fixed or variable time intervals for example every 5 minutes (the identified state can be one of the states described above). The temporal resolution of labelling can be changed in different settings. Moreover, other unsupervised (or semi-supervised methods) can be used to mitigate the need of large labeled training datasets. These unsupervised methods include but are not limited to Variational Auto-Encoders (VAEs), Generative Adversarial Networks (GANs), etc. which learn a rich, latent representation of the training data that can then be used for downstream tasks, such as presence detection.
The training step is done offline with training data coming from a variety of settings. The model is trained using backpropagation through time.
In this scenario, no data augmentation method is used, but the training dataset can be enhanced with many data augmentation techniques (including but not limited to mix-up) which can be applied to improve the abundance of the training data or modelling the uncertainty in the labelling process.
The “occupancy detection” model can be enhanced using data from each setting. Data from different environment can be added to the training data to enhance the output for each setting. The model can be further enhanced for each problematic setting enhancing the training set using data from that specific setting to help further enhancing the model for that setting. In practice, the model can learn the specification of each environment, and get adjusted accordingly. This step is called fine tuning (408).
The post-processing step (409) can be done using some hard-coded rules like thresholding which may use information from auxiliary sources like hour of the day, or user input. However, in this example the focus is on a learning-based approach specifically designed for each category of environments. It should be mentioned that the approach described here is just an example of a learning-based approach, which can be changed and/or improved with other approaches without disrupting the idea behind the invention. As an example, for learning-based approaches, a state machine representation trained based on the training set is applied to further restrict improbable state changes. The post-processing step can be modified based on auxiliary information such as hour, etc., or based on data gathered from a user-specific setting through time. In this example, the final probabilities of state changes are further multiplied by state machine probabilities to minimize the probability of a state change which is rarely seen in the training data.
The final step gathers the information from the main learner and post-processing unit and combine the outputs to make the final desired output (410). The output of the model is the state of the environment which is either occupied or empty. The final step merges two separate states of occupancy (subject moving OR subject present-not-moving) to one single state, here after known as “occupied”, while the state empty is preserved as “empty”. That is, the final label is either “empty or “occupied” (
In
Using a sliding window, a new decision is made at every fixed time-interval, for example every 5 minutes, based on the information from an hour before as history. It is worth mentioning that the window size for assigning a decision label can be shorter or longer without losing the general concept of the invention. The same logic applies to the length of the history window used. In fact, the length of each window can be chosen by the use-case implications. Using a sliding window to feed the learner, provides the ability to use information from longer period of history (total length of the history window) while assigning a label in a shorter period (label is assigned to each sub-window. This ability provides labeling in a finer granularity (which is desired in some use-cases), while preserving the ability to use historical information.
To summarize, the LSTM learner is fed with a sequence of data and will return a sequence of probabilities for each time step in the history. The output of the model can be fed directly to a SoftMax for decision making or can be sent out for further post-processing to a post-processing unit (409). In this example, a post-processing unit is included, characterized for domestic use cases. This unit can be optimized to be accustomed to any other setting (such as industrial, recreational, etc.).
Performance evaluation: The performance evaluation of the system is done using a dataset of multiple homes. The performance evaluation is done using one-environment-out strategy. Here One-environment-out strategy represents a performance evaluation approach in which the labelled data is gathered from diverse settings (different apartment, company offices, etc.), then to train the model all the available except one setting is used. That untouched setting is then used to evaluate the model. In fact, the model is evaluated based on a completely unseen environment. This strategy is taken to evaluate the performance of a system in the most adverse situation.
Specific details are given in the above description to provide a thorough understanding of the embodiments. However, it is understood that the embodiments may be practiced without these specific details. For example, circuits may be shown in block diagrams in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.
Implementation of the techniques, blocks, steps, and means described above may be done in various ways. For example, these techniques, blocks, steps, and means may be implemented in hardware, software, or a combination thereof. For a hardware implementation, the processing units may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, other electronic units designed to perform the functions described above and/or a combination thereof.
Also, it is noted that the embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be rearranged. A process is terminated when its operations are completed but could have additional steps not included in the figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination corresponds to a return of the function to the calling function or the main function.
Furthermore, embodiments may be implemented by hardware, software, scripting languages, firmware, middleware, microcode, hardware description languages and/or any combination thereof. When implemented in software, firmware, middleware, scripting language and/or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine readable medium, such as a storage medium. A code segment or machine-executable instruction may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a script, a class, or any combination of instructions, data structures and/or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters and/or memory content. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc.
For a firmware and/or software implementation, the methodologies may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. Any machine-readable medium tangibly embodying instructions may be used in implementing the methodologies described herein. For example, software codes may be stored in a memory. Memory may be implemented within the processor or external to the processor and may vary in implementation where the memory is employed in storing software codes for subsequent execution to that when the memory is employed in executing the software codes. As used herein the term “memory” refers to any type of long term, short term, volatile, non-volatile, or other storage medium and is not to be limited to any particular type of memory or number of memories, or type of media upon which memory is stored.
Moreover, as disclosed herein, the term “storage medium” may represent one or more devices for storing data, including read only memory (ROM), random access memory (RAM), magnetic RAM, core memory, magnetic disk storage mediums, optical storage mediums, flash memory devices and/or other machine readable mediums for storing information. The term “machine-readable medium” includes, but is not limited to, portable or fixed storage devices, optical storage devices, wireless channels and/or various other mediums capable of storing, containing or carrying instruction(s) and/or data.
The methodologies described herein are, in one or more embodiments, performable by a machine which includes one or more processors that accept code segments containing instructions. For any of the methods described herein, when the instructions are executed by the machine, the machine performs the method. Any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine are included. Thus, a typical machine may be exemplified by a typical processing system that includes one or more processors. Each processor may include one or more of a CPU, a graphics-processing unit, and a programmable DSP unit. The processing system further may include a memory subsystem including main RAM and/or a static RAM, and/or ROM. A bus subsystem may be included for communicating between the components. If the processing system requires a display, such a display may be included, e.g., a liquid crystal display (LCD). If manual data entry is required, the processing system also includes an input device such as one or more of an alphanumeric input unit such as a keyboard, a pointing control device such as a mouse, and so forth.
The memory includes machine-readable code segments (e.g. software or software code) including instructions for performing, when executed by the processing system, one of more of the methods described herein. The software may reside entirely in the memory, or may also reside, completely or at least partially, within the RAM and/or within the processor during execution thereof by the computer system. Thus, the memory and the processor also constitute a system comprising machine-readable code.
In alternative embodiments, the machine operates as a standalone device or may be connected, e.g., networked to other machines, in a networked deployment, the machine may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer or distributed network environment. The machine may be, for example, a computer, a server, a cluster of servers, a cluster of computers, a web appliance, a distributed computing environment, a cloud computing environment, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. The term “machine” may also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
The foregoing disclosure of the exemplary embodiments of the present invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many variations and modifications of the embodiments described herein will be apparent to one of ordinary skill in the art in light of the above disclosure. The scope of the invention is to be defined only by the claims appended hereto, and by their equivalents.
Further, in describing representative embodiments of the present invention, the specification may have presented the method and/or process of the present invention as a particular sequence of steps. However, to the extent that the method or process does not rely on the particular order of steps set forth herein, the method or process should not be limited to the particular sequence of steps described. As one of ordinary skill in the art would appreciate, other sequences of steps may be possible. Therefore, the particular order of the steps set forth in the specification should not be construed as limitations on the claims. In addition, the claims directed to the method and/or process of the present invention should not be limited to the performance of their steps in the order written, and one skilled in the art can readily appreciate that the sequences may be varied and still remain within the spirit and scope of the present invention.
This application claims the benefit of priority from U.S. Provisional Patent Application 63/048,300 filed Jul. 6, 2020 entitled “Systems and Methods for Occupancy Detection using WiFi Sensing Technologies” the entire contents of which are incorporated herein by reference. This application claims the benefit of priority as a continuation-in-part from U.S. patent application Ser. No. 17/314,447 filed May 7, 2021; which itself claims the benefit of priority from U.S. Provisional Patent Application 63/021,255 filed May 7, 2020, the entire contents of each being incorporated herein by reference. This application claims the benefit of priority as a continuation-in-part from U.S. patent application Ser. No. 16/922,251 filed Jul. 7, 2020; which itself claims the benefit of priority from U.S. patent application Ser. No. 15/493,616 filed Apr. 21, 2017 which has issued as U.S. Pat. No. 10,705,179; which itself claims the benefit of priority from U.S. Provisional Patent Application 62/326,231 filed Apr. 22, 2016, the entire content of each being incorporated herein by reference. This application claims the benefit of priority as a continuation-in-part from U.S. patent application Ser. No. 17/019,759 filed Sep. 14, 2020; which itself claims the benefit of priority from U.S. patent application Ser. No. 16/461,492 filed May 16, 2019 which has issued as U.S. Pat. No. 10,779,127; which itself claims the benefit of priority from PCT/CA2017/000,247 filed Nov. 21, 2017; which itself claims the benefit of priority from U.S. Provisional Patent Application 62/425,267 filed Nov. 22, 2016, the entire contents of each being incorporated herein by reference. This application claims the benefit of priority as a continuation-in-part from U.S. patent application Ser. No. 17/347,754 filed Jun. 15, 2021; which itself claims the benefit of priority from U.S. patent application Ser. No. 16/303,301 filed Nov. 20, 2018 which has issued as U.S. Pat. No. 11,043,094; which itself claims the benefit of priority from PCT/CA2017/000,136 filed May 31, 2017; which itself claims the benefit of priority to U.S. Provisional Patent Application 62/347,217 filed Jun. 8, 2016, the entire contents of each being incorporated herein by reference. This application claims the benefit of priority as a continuation-in-part from U.S. application Ser. No. 17/199,952 filed Mar. 12, 2021; which itself claims the benefit of priority from U.S. Provisional Patent Application 62/988,846 filed Mar. 12, 2020, the entire contents of each being incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
8138918 | Habib et al. | Mar 2012 | B2 |
8818288 | Patwari et al. | Aug 2014 | B2 |
8836344 | Habib et al. | Sep 2014 | B2 |
9143968 | Manku et al. | Sep 2015 | B1 |
9208676 | Fadell et al. | Dec 2015 | B2 |
9520041 | Rosa et al. | Dec 2016 | B2 |
9659474 | Kashyap et al. | May 2017 | B1 |
10008107 | Li | Jun 2018 | B2 |
10104195 | Chen et al. | Oct 2018 | B2 |
20030052821 | Holt | Mar 2003 | A1 |
20040021599 | Hall et al. | Feb 2004 | A1 |
20050227707 | Law et al. | Oct 2005 | A1 |
20060092016 | Modes et al. | May 2006 | A1 |
20080191941 | Saban et al. | Aug 2008 | A1 |
20080204322 | Oswald et al. | Aug 2008 | A1 |
20100109842 | Patel et al. | May 2010 | A1 |
20100130229 | Sridhara et al. | May 2010 | A1 |
20100231449 | Jacobs | Sep 2010 | A1 |
20110273321 | Joshi et al. | Nov 2011 | A1 |
20120122484 | Marchenko et al. | May 2012 | A1 |
20120146788 | Wilson et al. | Jun 2012 | A1 |
20120164978 | Conti et al. | Jun 2012 | A1 |
20130346014 | Nadkarni et al. | Dec 2013 | A1 |
20140004874 | Schwartz | Jan 2014 | A1 |
20140285660 | Jamtgaard et al. | Sep 2014 | A1 |
20150005030 | Pennanen et al. | Jan 2015 | A1 |
20150324412 | Pennanen et al. | Nov 2015 | A1 |
20160178741 | Ludlow et al. | Jun 2016 | A1 |
20160183059 | Nagy et al. | Jun 2016 | A1 |
20160309834 | Zwick et al. | Oct 2016 | A1 |
20160345286 | Jamieson et al. | Nov 2016 | A1 |
20170212210 | Chen et al. | Jul 2017 | A1 |
20170223498 | Banavar | Aug 2017 | A1 |
20170244597 | Coote | Aug 2017 | A1 |
20170309146 | Mackenzie | Oct 2017 | A1 |
20180106897 | Shouldice et al. | Apr 2018 | A1 |
20180294904 | Allegue Martinez et al. | Oct 2018 | A1 |
20180365975 | Xu | Dec 2018 | A1 |
Number | Date | Country |
---|---|---|
103648106 | Mar 2017 | CN |
105828289 | Sep 2019 | CN |
Number | Date | Country | |
---|---|---|---|
20210333351 A1 | Oct 2021 | US |
Number | Date | Country | |
---|---|---|---|
63048300 | Jul 2020 | US | |
63021255 | May 2020 | US | |
62988846 | Mar 2020 | US | |
62425267 | Nov 2016 | US | |
62347217 | Jun 2016 | US | |
62326231 | Apr 2016 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16461492 | US | |
Child | 17019759 | US | |
Parent | 16303301 | US | |
Child | 17347754 | US | |
Parent | 15493616 | Apr 2017 | US |
Child | 16922251 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 17347754 | Jun 2021 | US |
Child | 17367986 | US | |
Parent | 17314447 | May 2021 | US |
Child | 17367986 | US | |
Parent | 17199952 | Mar 2021 | US |
Child | 17367986 | US | |
Parent | 17019759 | Sep 2020 | US |
Child | 17367986 | US | |
Parent | 16922251 | Jul 2020 | US |
Child | 17367986 | US |