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: 11651568Abstract: 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: GrantFiled: October 29, 2021Date of Patent: May 16, 2023Assignee: Microsoft Technology Licensing, LLCInventors: Jacek Ciereszko, Gregory Bishop Bahm, Cedric Khanntipo Ith, Xonatia Ravelle Lee
-
Patent number: 11523063Abstract: 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: GrantFiled: March 25, 2021Date of Patent: December 6, 2022Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Cedric Khanntipo Ith, Gregory Bishop Bahm, Xonatia Ravelle Lee, Josiah Michael McClanahan
-
Publication number: 20220311950Abstract: 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: ApplicationFiled: March 25, 2021Publication date: September 29, 2022Inventors: Cedric Khanntipo ITH, Gregory Bishop BAHM, Xonatia Ravelle LEE, Josiah Michael MCCLANAHAN
-
Patent number: 11288142Abstract: 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: GrantFiled: February 18, 2020Date of Patent: March 29, 2022Assignee: salesforce.com, inc.Inventors: Elden Gregory Bishop, Jeffrey Chao
-
Publication number: 20220051482Abstract: 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: ApplicationFiled: October 29, 2021Publication date: February 17, 2022Inventors: Jacek CIERESZKO, Gregory Bishop BAHM, Cedric Khanntipo ITH, Xonatia Ravelle LEE
-
Patent number: 11216302Abstract: 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: GrantFiled: April 26, 2019Date of Patent: January 4, 2022Assignee: salesforce.com, inc.Inventors: Elden Gregory Bishop, Jeffrey Chao
-
Publication number: 20210407202Abstract: 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: ApplicationFiled: June 25, 2020Publication date: December 30, 2021Inventors: Jacek CIERESZKO, Gregory Bishop BAHM, Cedric Khanntipo ITH, Xonatia Ravelle LEE
-
Patent number: 11210862Abstract: 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: GrantFiled: June 25, 2020Date of Patent: December 28, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Jacek Ciereszko, Gregory Bishop Bahm, Cedric Khanntipo Ith, Xonatia Ravelle Lee
-
Patent number: 11086687Abstract: 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: GrantFiled: November 26, 2018Date of Patent: August 10, 2021Assignee: salesforce.com, inc.Inventors: Elden Gregory Bishop, Jeffrey Chao
-
Patent number: 11086688Abstract: 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: GrantFiled: November 26, 2018Date of Patent: August 10, 2021Assignee: salesforce.com, inc.Inventors: Elden Gregory Bishop, Jeffrey Chao
-
Publication number: 20200183796Abstract: 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: ApplicationFiled: February 18, 2020Publication date: June 11, 2020Inventors: Elden Gregory Bishop, Jeffrey Chao
-
Patent number: 10606711Abstract: 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: GrantFiled: April 16, 2018Date of Patent: March 31, 2020Assignee: salesforce.com, inc.Inventors: Elden Gregory Bishop, Jeffrey Chao
-
Publication number: 20190250947Abstract: 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: ApplicationFiled: April 26, 2019Publication date: August 15, 2019Inventors: Elden Gregory Bishop, Jeffrey Chao
-
Publication number: 20190163539Abstract: 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: ApplicationFiled: November 26, 2018Publication date: May 30, 2019Inventors: Elden Gregory BISHOP, Jeffrey CHAO
-
Publication number: 20190138367Abstract: 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: ApplicationFiled: November 26, 2018Publication date: May 9, 2019Inventors: Elden Gregory BISHOP, Jeffrey Chao
-
Patent number: 10275278Abstract: 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: GrantFiled: September 14, 2016Date of Patent: April 30, 2019Assignee: salesforce.com, inc.Inventors: Elden Gregory Bishop, Jeffrey Chao
-
Patent number: 10198298Abstract: 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: GrantFiled: December 31, 2015Date of Patent: February 5, 2019Assignee: salesforce.com, inc.Inventors: Elden Gregory Bishop, Jeffrey Chao
-
Patent number: 10191768Abstract: 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: GrantFiled: December 31, 2015Date of Patent: January 29, 2019Assignee: salesforce.com, inc.Inventors: Elden Gregory Bishop, Jeffrey Chao
-
Patent number: 10146592Abstract: 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: GrantFiled: January 12, 2016Date of Patent: December 4, 2018Assignee: salesforce.com, inc.Inventors: Elden Gregory Bishop, Jeffrey Chao
-
Publication number: 20180330546Abstract: A method for rendering wind data includes receiving wind data representing real or simulated wind conditions of a wind source environment. The wind data is mapped to a plurality of locations within a virtual environment displayed by a virtual reality computing device to a user. A position and a gaze vector of the user are determined. Based on the position and gaze vector, wind diversity locations within the virtual environment are identified where parameters of wind data mapped to the wind diversity locations differ from parameters of wind data mapped to other locations in the virtual environment by more than a threshold. The wind data is rendered within the virtual environment as a plurality of visible wind representations, such that a differential wind effect is applied to visible wind representations rendered at the wind diversity locations.Type: ApplicationFiled: November 13, 2017Publication date: November 15, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Robert FERRESE, Gregory Bishop BAHM