Patents by Inventor Gregory Bishop

Gregory Bishop has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 11951429
    Abstract: Air filter cartridges are disclosed. Also described are air cleaners including the filter cartridges. Methods of assembly and use are also provided. Also, systems of use are described.
    Type: Grant
    Filed: May 27, 2021
    Date of Patent: April 9, 2024
    Assignee: Donaldson Company, Inc.
    Inventors: Gregory Reichter, Wayne Bishop, Benny K. Nelson, Darrel Wegner, Bruce Crenshaw, Thomas Miller, Donald Mork, Kevin Schrage, Vladimir Kladnitsky, Richard Osendorf, Bradley Kuempel, Thomas Lundgren, Jordan Flagstad
  • Patent number: 11651568
    Abstract: A computing device spatially reconstructs a virtual feature surface in a mixed reality environment. The computing device detects addition of a raycast element to a virtual user space, maps multiple feature points detected from multiple video frames of a physical user space into a virtual user space, selecting at least three feature points from the multiple feature points that satisfy selection criteria applied in the virtual user space along a raycast axis of the raycast element in the virtual user space, and defines the virtual feature surface in the virtual user space using the at least three selected feature points. At least two of the at least three feature points are detected in different video frames.
    Type: Grant
    Filed: October 29, 2021
    Date of Patent: May 16, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jacek Ciereszko, Gregory Bishop Bahm, Cedric Khanntipo Ith, Xonatia Ravelle Lee
  • Patent number: 11523063
    Abstract: Annotation techniques are implemented in an augmented reality environment. A user is presented with a GUI configured to place three-dimensional virtual annotations in an environment displayed via the user's computing device. The GUI presents a central GUI element that is center-locked with respect to the environment displayed via the user's computing device. The central GUI element is coplanar to a detected surface of the environment on which the central GUI element is virtually located. The annotation may be a three-dimensional arrow. While viewing the environment, a preview of the three-dimensional arrow pointing towards the central GUI element is presented to the user. Upon providing user input, the arrow is placed on the detected surface. The user may provide additional input that rotates the three-dimensional arrow around the central GUI element before placing the arrow.
    Type: Grant
    Filed: March 25, 2021
    Date of Patent: December 6, 2022
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Cedric Khanntipo Ith, Gregory Bishop Bahm, Xonatia Ravelle Lee, Josiah Michael McClanahan
  • Publication number: 20220311950
    Abstract: Annotation techniques are implemented in an augmented reality environment. A user is presented with a GUI configured to place three-dimensional virtual annotations in an environment displayed via the user's computing device. The GUI presents a central GUI element that is center-locked with respect to the environment displayed via the user's computing device. The central GUI element is coplanar to a detected surface of the environment on which the central GUI element is virtually located. The annotation may be a three-dimensional arrow. While viewing the environment, a preview of the three-dimensional arrow pointing towards the central GUI element is presented to the user. Upon providing user input, the arrow is placed on the detected surface. The user may provide additional input that rotates the three-dimensional arrow around the central GUI element before placing the arrow.
    Type: Application
    Filed: March 25, 2021
    Publication date: September 29, 2022
    Inventors: Cedric Khanntipo ITH, Gregory Bishop BAHM, Xonatia Ravelle LEE, Josiah Michael MCCLANAHAN
  • Patent number: 11288142
    Abstract: The technology disclosed relates to discovering multiple previously unknown and undetected technical problems in fault tolerance and data recovery mechanisms of modem stream processing systems. In addition, it relates to providing technical solutions to these previously unknown and undetected problems. In particular, the technology disclosed relates to discovering the problem of modification of batch size of a given batch during its replay after a processing failure. This problem results in over-count when the input during replay is not a superset of the input fed at the original play. Further, the technology disclosed discovers the problem of inaccurate counter updates in replay schemes of modem stream processing systems when one or more keys disappear between a batch's first play and its replay. This problem is exacerbated when data in batches is merged or mapped with data from an external data store.
    Type: Grant
    Filed: February 18, 2020
    Date of Patent: March 29, 2022
    Assignee: salesforce.com, inc.
    Inventors: Elden Gregory Bishop, Jeffrey Chao
  • Publication number: 20220051482
    Abstract: A computing device spatially reconstructs a virtual feature surface in a mixed reality environment. The computing device detects addition of a raycast element to a virtual user space, maps multiple feature points detected from multiple video frames of a physical user space into a virtual user space, selecting at least three feature points from the multiple feature points that satisfy selection criteria applied in the virtual user space along a raycast axis of the raycast element in the virtual user space, and defines the virtual feature surface in the virtual user space using the at least three selected feature points.
    Type: Application
    Filed: October 29, 2021
    Publication date: February 17, 2022
    Inventors: Jacek CIERESZKO, Gregory Bishop BAHM, Cedric Khanntipo ITH, Xonatia Ravelle LEE
  • Patent number: 11216302
    Abstract: The technology disclosed provides a novel and innovative technique for compact deployment of application code to stream processing systems. In particular, the technology disclosed relates to obviating the need of accompanying application code with its dependencies during deployment (i.e., creating fat jars) by operating a stream processing system within a container defined over worker nodes of whole machines and initializing the worker nodes with precompiled dependency libraries having precompiled classes. Accordingly, the application code is deployed to the container without its dependencies, and, once deployed, the application code is linked with the locally stored precompiled dependencies at runtime. In implementations, the application code is deployed to the container running the stream processing system between 300 milliseconds and 6 seconds. This is drastically faster than existing deployment techniques that take anywhere between 5 to 15 minutes for deployment.
    Type: Grant
    Filed: April 26, 2019
    Date of Patent: January 4, 2022
    Assignee: salesforce.com, inc.
    Inventors: Elden Gregory Bishop, Jeffrey Chao
  • Publication number: 20210407202
    Abstract: A computing device spatially reconstructs a virtual feature surface in a mixed reality environment. The computing device detects addition of a raycast element to a virtual user space, maps multiple feature points detected from multiple video frames of a physical user space into a virtual user space, selecting at least three feature points from the multiple feature points that satisfy selection criteria applied in the virtual user space along a raycast axis of the raycast element in the virtual user space, and defines the virtual feature surface in the virtual user space using the at least three selected feature points.
    Type: Application
    Filed: June 25, 2020
    Publication date: December 30, 2021
    Inventors: Jacek CIERESZKO, Gregory Bishop BAHM, Cedric Khanntipo ITH, Xonatia Ravelle LEE
  • Patent number: 11210862
    Abstract: A computing device spatially reconstructs a virtual feature surface in a mixed reality environment. The computing device detects addition of a raycast element to a virtual user space, maps multiple feature points detected from multiple video frames of a physical user space into a virtual user space, selecting at least three feature points from the multiple feature points that satisfy selection criteria applied in the virtual user space along a raycast axis of the raycast element in the virtual user space, and defines the virtual feature surface in the virtual user space using the at least three selected feature points. At least two of the at least three feature points are detected in different video frames.
    Type: Grant
    Filed: June 25, 2020
    Date of Patent: December 28, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jacek Ciereszko, Gregory Bishop Bahm, Cedric Khanntipo Ith, Xonatia Ravelle Lee
  • Patent number: 11086687
    Abstract: The technology disclosed herein relates to method, system, and computer program product (computer-readable storage device) embodiments for managing resource allocation in a stream processing framework. An embodiment operates by configuring an allocation of a task sequence and machine resources to a container, and by running the task sequence, wherein the task sequence is configured to be run continuously as a plurality of units of work corresponding to the task sequence. Some embodiments further include changing the allocation responsive to a determination of an increase in data volume. A query may be taken from the task sequence and processed. Responsive to the query, a real-time result may be returned. Query processing may involve continuously applying a rule to the data stream, in real time or near real time. The rule may be set via a query language. Additionally, the data stream may be partitioned into batches for parallel processing.
    Type: Grant
    Filed: November 26, 2018
    Date of Patent: August 10, 2021
    Assignee: salesforce.com, inc.
    Inventors: Elden Gregory Bishop, Jeffrey Chao
  • Patent number: 11086688
    Abstract: The technology disclosed herein relates to method, system, and computer program product (computer-readable storage device) embodiments for managing resource allocation in a stream processing framework. An embodiment operates by configuring an allocation of a task sequence and machine resources to a container, partitioning a data stream into a plurality of batches arranged for parallel processing by the container via the machine resources allocated to the container, and running the task sequence, running at least one batch of the plurality of batches. Some embodiments may also include changing the allocation responsive to a determination of an increase in data volume, and may further include changing the allocation to a previous state of the allocation, responsive to a determination of a decrease in data volume. Additionally, time-based throughput of the data stream may be monitored for a given worker node configured to run a batch of the plurality of batches.
    Type: Grant
    Filed: November 26, 2018
    Date of Patent: August 10, 2021
    Assignee: salesforce.com, inc.
    Inventors: Elden Gregory Bishop, Jeffrey Chao
  • Publication number: 20200183796
    Abstract: The technology disclosed relates to discovering multiple previously unknown and undetected technical problems in fault tolerance and data recovery mechanisms of modem stream processing systems. In addition, it relates to providing technical solutions to these previously unknown and undetected problems. In particular, the technology disclosed relates to discovering the problem of modification of batch size of a given batch during its replay after a processing failure. This problem results in over-count when the input during replay is not a superset of the input fed at the original play. Further, the technology disclosed discovers the problem of inaccurate counter updates in replay schemes of modem stream processing systems when one or more keys disappear between a batch's first play and its replay. This problem is exacerbated when data in batches is merged or mapped with data from an external data store.
    Type: Application
    Filed: February 18, 2020
    Publication date: June 11, 2020
    Inventors: Elden Gregory Bishop, Jeffrey Chao
  • Patent number: 10606711
    Abstract: The technology disclosed relates to discovering multiple previously unknown and undetected technical problems in fault tolerance and data recovery mechanisms of modern stream processing systems. In addition, it relates to providing technical solutions to these previously unknown and undetected problems. In particular, the technology disclosed relates to discovering the problem of modification of batch size of a given batch during its replay after a processing failure. This problem results in over-count when the input during replay is not a superset of the input fed at the original play. Further, the technology disclosed discovers the problem of inaccurate counter updates in replay schemes of modern stream processing systems when one or more keys disappear between a batch's first play and its replay. This problem is exacerbated when data in batches is merged or mapped with data from an external data store.
    Type: Grant
    Filed: April 16, 2018
    Date of Patent: March 31, 2020
    Assignee: salesforce.com, inc.
    Inventors: Elden Gregory Bishop, Jeffrey Chao
  • Publication number: 20190250947
    Abstract: The technology disclosed provides a novel and innovative technique for compact deployment of application code to stream processing systems. In particular, the technology disclosed relates to obviating the need of accompanying application code with its dependencies during deployment (i.e., creating fat jars) by operating a stream processing system within a container defined over worker nodes of whole machines and initializing the worker nodes with precompiled dependency libraries having precompiled classes. Accordingly, the application code is deployed to the container without its dependencies, and, once deployed, the application code is linked with the locally stored precompiled dependencies at runtime. In implementations, the application code is deployed to the container running the stream processing system between 300 milliseconds and 6 seconds. This is drastically faster than existing deployment techniques that take anywhere between 5 to 15 minutes for deployment.
    Type: Application
    Filed: April 26, 2019
    Publication date: August 15, 2019
    Inventors: Elden Gregory Bishop, Jeffrey Chao
  • Publication number: 20190163539
    Abstract: The technology disclosed herein relates to method, system, and computer program product (computer-readable storage device) embodiments for managing resource allocation in a stream processing framework. An embodiment operates by configuring an allocation of a task sequence and machine resources to a container, partitioning a data stream into a plurality of batches arranged for parallel processing by the container via the machine resources allocated to the container, and running the task sequence, running at least one batch of the plurality of batches. Some embodiments may also include changing the allocation responsive to a determination of an increase in data volume, and may further include changing the allocation to a previous state of the allocation, responsive to a determination of a decrease in data volume. Additionally, time-based throughput of the data stream may be monitored for a given worker node configured to run a batch of the plurality of batches.
    Type: Application
    Filed: November 26, 2018
    Publication date: May 30, 2019
    Inventors: Elden Gregory BISHOP, Jeffrey CHAO
  • Publication number: 20190138367
    Abstract: The technology disclosed herein relates to method, system, and computer program product (computer-readable storage device) embodiments for managing resource allocation in a stream processing framework. An embodiment operates by configuring an allocation of a task sequence and machine resources to a container, and by running the task sequence, wherein the task sequence is configured to be run continuously as a plurality of units of work corresponding to the task sequence. Some embodiments further include changing the allocation responsive to a determination of an increase in data volume. A query may be taken from the task sequence and processed. Responsive to the query, a real-time result may be returned. Query processing may involve continuously applying a rule to the data stream, in real time or near real time. The rule may be set via a query language. Additionally, the data stream may be partitioned into batches for parallel processing.
    Type: Application
    Filed: November 26, 2018
    Publication date: May 9, 2019
    Inventors: Elden Gregory BISHOP, Jeffrey Chao
  • Patent number: 10275278
    Abstract: The technology disclosed provides a novel and innovative technique for compact deployment of application code to stream processing systems. In particular, the technology disclosed relates to obviating the need of accompanying application code with its dependencies during deployment (i.e., creating fat jars) by operating a stream processing system within a container defined over worker nodes of whole machines and initializing the worker nodes with precompiled dependency libraries having precompiled classes. Accordingly, the application code is deployed to the container without its dependencies, and, once deployed, the application code is linked with the locally stored precompiled dependencies at runtime. In implementations, the application code is deployed to the container running the stream processing system between 300 milliseconds and 6 seconds. This is drastically faster than existing deployment techniques that take anywhere between 5 to 15 minutes for deployment.
    Type: Grant
    Filed: September 14, 2016
    Date of Patent: April 30, 2019
    Assignee: salesforce.com, inc.
    Inventors: Elden Gregory Bishop, Jeffrey Chao
  • Patent number: 10198298
    Abstract: The technology disclosed improves existing streaming processing systems by allowing the ability to both scale up and scale down resources within an infrastructure of a stream processing system. In particular, the technology disclosed relates to a dispatch system for a stream processing system that adapts its behavior according to a computational capacity of the system based on a run-time evaluation. The technical solution includes, during run-time execution of a pipeline, comparing a count of available physical threads against a set number of logically parallel threads. When a count of available physical threads equals or exceeds the number of logically parallel threads, the solution includes concurrently processing the batches at the physical threads. Further, when there are fewer available physical threads than the number of logically parallel threads, the solution includes multiplexing the batches sequentially over the available physical threads.
    Type: Grant
    Filed: December 31, 2015
    Date of Patent: February 5, 2019
    Assignee: salesforce.com, inc.
    Inventors: Elden Gregory Bishop, Jeffrey Chao
  • Patent number: 10191768
    Abstract: The technology disclosed relates to providing strong ordering in multi-stage processing of near real-time (NRT) data streams. In particular, it relates to maintaining current batch-stage information for a batch at a grid-scheduler in communication with a grid-coordinator that controls dispatch of batch-units to the physical threads for a batch-stage. This includes operating a computing grid, and queuing data from the NRT data streams as batches in pipelines for processing over multiple stages in the computing grid.
    Type: Grant
    Filed: December 31, 2015
    Date of Patent: January 29, 2019
    Assignee: salesforce.com, inc.
    Inventors: Elden Gregory Bishop, Jeffrey Chao
  • Patent number: 10146592
    Abstract: The technology disclosed relates to managing resource allocation to task sequences in a stream processing framework. In particular, it relates to operating a computing grid that includes machine resources, with heterogeneous containers defined over whole machines and some containers including multiple machines. It also includes initially allocating multiple machines to a first container, initially allocating first set of stateful task sequences to the first container, running the first set of stateful task sequences as multiplexed units of work under control of a container-scheduler, where each unit of work for a first task sequence runs to completion on first machine resources in the first container, unless it overruns a time-out, before a next unit of work for a second task sequence runs multiplexed on the first machine resources. It further includes automatically modifying a number of machine resources and/or a number assigned task sequences to a container.
    Type: Grant
    Filed: January 12, 2016
    Date of Patent: December 4, 2018
    Assignee: salesforce.com, inc.
    Inventors: Elden Gregory Bishop, Jeffrey Chao