Patents by Inventor Gagan Gupta

Gagan Gupta 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: 11366769
    Abstract: Enabling peripheral device messaging via application portals in processor-based devices is disclosed herein. In one embodiment, a processor-based device comprises a processing element (PE) including an application portal configured to logically operate as a message store, and that is exposed as an application portal address within an address space visible to a peripheral device that is communicatively coupled to the processor-based device. Upon receiving a message directed to the application portal address from the peripheral device, an application portal control circuit enqueues the message in the application portal. In some embodiments, the PE may further provide a dequeue instruction that may be executed as part of the application, and that results in a top element of the application portal being dequeued and transmitted to the application.
    Type: Grant
    Filed: February 25, 2021
    Date of Patent: June 21, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Artur Klauser, Jason S. Wohlgemuth, Abolade Gbadegesin, Gagan Gupta, Soheil Ebadian, Thomas Philip Speier, Derek Chiou
  • Publication number: 20220068278
    Abstract: An example method includes, at an electronic device: receiving an indication of a notification; in accordance with receiving the indication of the notification: obtaining one or more data streams from one or more sensors; determining, based on the one or more data streams, whether a user associated with the electronic device is speaking; and in accordance with a determination that the user is not speaking: causing an output associated with the notification to be provided.
    Type: Application
    Filed: November 12, 2021
    Publication date: March 3, 2022
    Inventors: William M. YORK, Rebecca P. FISH, Gagan A. GUPTA, Xinyuan HUANG, Heriberto NIETO, Benjamin S. PHIPPS, Kurt PIERSOL
  • Patent number: 11217251
    Abstract: An example method includes, at an electronic device: receiving an indication of a notification; in accordance with receiving the indication of the notification: obtaining one or more data streams from one or more sensors; determining, based on the one or more data streams, whether a user associated with the electronic device is speaking; and in accordance with a determination that the user is not speaking: causing an output associated with the notification to be provided.
    Type: Grant
    Filed: August 19, 2019
    Date of Patent: January 4, 2022
    Assignee: Apple Inc.
    Inventors: William M. York, Rebecca P. Fish, Gagan A. Gupta, Xinyuan Huang, Heriberto Nieto, Benjamin S. Phipps, Kurt Piersol
  • Publication number: 20210224519
    Abstract: Disclosed is a facial recognition system/method, utilizing modules to perform the following routine: extracting a feature descriptor from a detected feature point of a detected face in an input image frame; and matching the extracted feature descriptor with at least one of a pre-stored facial image that is index-mapped, comprising at least a first and second round of matching, wherein the second round of matching only selects the index-mapped facial images that matched above a pre-defined threshold from the first round of matching. Optionally, the above described steps may be coupled to a Point-of-Recognition (POR) provisioning, enabling an on-demand gate-keeping and/or payment processing for an end-user at an event/venue entry or point-of-sale.
    Type: Application
    Filed: February 16, 2021
    Publication date: July 22, 2021
    Inventors: Chandan Gope, Gagan Gupta, Nitin Jindal, Krishna Khadloya, Vaidhi Nathan
  • Publication number: 20210216327
    Abstract: A reach matrix scheduler circuit for scheduling instructions to be executed in a processor is disclosed. The scheduler circuit includes an N×R matrix wake-up circuit, where ‘N’ is the instruction window size of the scheduler circuit, and ‘R’ is the “reach” with the instruction window of matrix wake-up circuit, with ‘R’ being less than ‘N’. A grant line associated with each instruction request entry in the N×R matrix wake-up circuit is coupled to ‘R’ other instruction entries among the ‘N’ instruction entries. When a producer instruction in an instruction request entry is ready for issuance, the grant line associated with the instruction request entry is activated so that any other instruction entries coupled to the grant line (i.e., within the “reach” of the instruction request entry) that consume the produced value generated by the producer instruction are “woken-up” and subsequently indicated as ready to be issued.
    Type: Application
    Filed: January 9, 2020
    Publication date: July 15, 2021
    Inventors: Yusuf Cagatay TEKMEN, Rodney Wayne SMITH, Douglas C. BURGER, Gagan GUPTA, Kiran Ravi SETH
  • Publication number: 20210216454
    Abstract: Systems and methods are disclosed for performing wide memory operations for a wide data cache line. In some examples of the disclosed technology, a processor having two or more execution lanes includes a data cache coupled to memory, a wide memory load circuit that concurrently loads two or more words from a cache line of the data cache, and a writeback circuit situated to send a respective word of the concurrently-loaded words to a selected execution lane of the processor, either into an operand buffer or bypassing the operand buffer. In some examples, a sharding circuit is provided that allows bitwise, byte-wise, and/or word-wise manipulation of memory operation data. In some examples, wide cache loads allows for concurrent execution of plural execution lanes of the processor.
    Type: Application
    Filed: March 29, 2021
    Publication date: July 15, 2021
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Douglas C. Burger, Aaron L. Smith, Gagan Gupta, David T. Harper
  • Patent number: 11042381
    Abstract: Techniques described herein are directed to ensuring register data consistency between different instruction blocks. For example, a block-based processor renames registers during block decode, but delays the update of a logical register-to-physical register mapping utilized by other instruction blocks until it is determined that a write instruction configured to write to a logical register commits. Alternatively, the processor renames registers during block decode and updates the mapping accordingly. However, the update is negated (e.g., rolled back) if the write instruction is not executed. Still further, the processor may analyze the instructions in the block to determine instructions configured to write to a logical register but that will not execute due to a mismatched predicate. Based on the determination, the block-based processor ensures data consistency by copying data from a previously-assigned register to a newly-assigned register.
    Type: Grant
    Filed: December 8, 2018
    Date of Patent: June 22, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: David T. Harper, III, Gagan Gupta
  • Patent number: 10963379
    Abstract: Systems and methods are disclosed for performing wide memory operations for a wide data cache line. In some examples of the disclosed technology, a processor having two or more execution lanes includes a data cache coupled to memory, a wide memory load circuit that concurrently loads two or more words from a cache line of the data cache, and a writeback circuit situated to send a respective word of the concurrently-loaded words to a selected execution lane of the processor, either into an operand buffer or bypassing the operand buffer. In some examples, a sharding circuit is provided that allows bitwise, byte-wise, and/or word-wise manipulation of memory operation data. In some examples, wide cache loads allows for concurrent execution of plural execution lanes of the processor.
    Type: Grant
    Filed: February 2, 2018
    Date of Patent: March 30, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Douglas C. Burger, Aaron L. Smith, Gagan Gupta, David T. Harper
  • Patent number: 10956162
    Abstract: Operand-based reach explicit dataflow processors, and related methods and computer-readable media are disclosed. The operand-based reach explicit dataflow processors support execution of a producer instruction that explicitly names a target consumer operand of a consumer instruction in a consumer operand encoding namespace of the producer instruction. The produced value from execution of the producer instruction is provided or otherwise made available as an input to the named target consumer operand of the consumer instruction as a result of processing the producer instruction. The target consumer operand is encoded in the producer instruction as an operand target distance relative to the producer instruction. Instructions in an instruction stream between the producer instruction and the targeted consumer instruction that have no operands do not consume an operand reach namespace in the producer instructions.
    Type: Grant
    Filed: June 28, 2019
    Date of Patent: March 23, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Robert Douglas Clancy, Melinda Joyce Brown, Yusuf Cagatay Tekmen, Brian Michael Stempel, Michael Scott Mcilvaine, Thomas Philip Speier, Rodney Wayne Smith, Gagan Gupta, David Tennyson Harper, III
  • Patent number: 10943095
    Abstract: The present invention discloses methods and systems face recognition. Face recognition involves receiving an image/frame, detecting one or more faces in the image, detecting feature points for each of the detected faces in the image, aligning and normalizing the detected feature points, extracting feature descriptors based on the detected feature points and matching the extracted feature descriptors with a set of pre-stored images for face recognition.
    Type: Grant
    Filed: March 26, 2019
    Date of Patent: March 9, 2021
    Assignee: Nortek Security & Control
    Inventors: Amit Agarwal, Chandan Gope, Gagan Gupta, Nitin Jindal
  • Publication number: 20210042111
    Abstract: Efficient encoding of high fanout communication patterns in computer programming is achieved through utilization of producer and move instructions in an instruction set architecture (ISA) that supports direct instruction communication where a producer encodes identities of consumers of results directly within an instruction. The producer instructions may fully encode the targeted consumers with an explicit target distance or utilize compressed target encoding in which a field in the instruction provides a bit vector for one-hot encoding. A variety of move instructions target different numbers of consumers and may also utilize full or compressed target encoding. In consumer paths where a producer is unable to target all consumers, a compiler may utilize various combination of producer and move instructions, using full and/or compressed target encoding to build a fanout tree that efficiently propagates the producer results to the all the targeted consumers.
    Type: Application
    Filed: August 6, 2019
    Publication date: February 11, 2021
    Inventors: Brandon Zachary FRY, David Tennyson HARPER, III, Gagan GUPTA, Douglas Christopher BURGER
  • Publication number: 20200409712
    Abstract: Operand-based reach explicit dataflow processors, and related methods and computer-readable media are disclosed. The operand-based reach explicit dataflow processors support execution of a producer instruction that explicitly names a target consumer operand of a consumer instruction in a consumer operand encoding namespace of the producer instruction. The produced value from execution of the producer instruction is provided or otherwise made available as an input to the named target consumer operand of the consumer instruction as a result of processing the producer instruction. The target consumer operand is encoded in the producer instruction as an operand target distance relative to the producer instruction. Instructions in an instruction stream between the producer instruction and the targeted consumer instruction that have no operands do not consume an operand reach namespace in the producer instructions.
    Type: Application
    Filed: June 28, 2019
    Publication date: December 31, 2020
    Inventors: Robert Douglas CLANCY, Melinda Joyce BROWN, Yusuf Cagatay TEKMEN, Brian Michael STEMPEL, Michael Scott MCILVAINE, Thomas Philip SPEIER, Rodney Wayne SMITH, Gagan GUPTA, David Tennyson HARPER, III
  • Publication number: 20200384434
    Abstract: Polymers synthesized by solid-phase synthesis are selectively released from a solid support by reversing the bias of spatially addressable electrodes. Change in the current and voltage direction at one or more of the spatially addressable electrodes changes the ionic environment which triggers cleavage of linkers that leads to release of the attached polymers. The spatially addressable electrodes may be implemented as CMOS inverters embedded in an integrated circuit (IC). The IC may contain an array of many thousands of spatially addressable electrodes. Control circuity may independently reverse the bias on any of the individual electrodes in the array. This provides fine-grained control of which polymers are released from the solid support. Examples of polymers that may be synthesized on this type of array include oligonucleotides and peptides.
    Type: Application
    Filed: June 7, 2019
    Publication date: December 10, 2020
    Inventors: Bichlien NGUYEN, Karin STRAUSS, Gagan GUPTA, Richard ROUSE
  • Publication number: 20200357406
    Abstract: An example method includes, at an electronic device: receiving an indication of a notification; in accordance with receiving the indication of the notification: obtaining one or more data streams from one or more sensors; determining, based on the one or more data streams, whether a user associated with the electronic device is speaking; and in accordance with a determination that the user is not speaking: causing an output associated with the notification to be provided.
    Type: Application
    Filed: August 19, 2019
    Publication date: November 12, 2020
    Inventors: William M. YORK, Rebecca P. FISH, Gagan A. GUPTA, Xinyuan HUANG, Heriberto NIETO, Benjamin S. PHIPPS, Kurt PIERSOL
  • Patent number: 10824429
    Abstract: Systems and methods are disclosed for executing instructions with a block-based processor. Instructions can be executed in any order as their dependencies arrive, but the individual instructions are committed in a serial fashion. Further, exception handling can be performed by storing transient state for an instruction block and resuming by restoring the transient state. This allows programmers to see intermediate state for the instruction block before the subject block has committed. In one examples of the disclosed technology, a method of operating a processor executing a block-based instruction set architecture includes executing at least one instruction encoded for an instruction block, responsive to determining that an individual instruction of the instruction block can commit, advancing a commit frontier for the instruction block to include all instructions in the instruction block that can commit, and committing one or more instructions inside the advanced commit frontier.
    Type: Grant
    Filed: December 18, 2018
    Date of Patent: November 3, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Gagan Gupta, David T. Harper
  • Publication number: 20200301877
    Abstract: Exemplary reach-based explicit dataflow processors and related computer-readable media and methods. The reach-based explicit dataflow processors are configured to support execution of producer instructions encoded with explicit naming of consumer instructions intended to consume the values produced by the producer instructions. The reach-based explicit dataflow processors are configured to make available produced values as inputs to explicitly named consumer instructions as a result of processing producer instructions. The reach-based explicit dataflow processors support execution of a producer instruction that explicitly names a consumer instruction based on using the producer instruction as a relative reference point from the producer instruction.
    Type: Application
    Filed: March 18, 2019
    Publication date: September 24, 2020
    Inventors: Gagan GUPTA, Michael Scott MCILVAINE, Rodney Wayne SMITH, Thomas Philip SPEIER, David Tennyson HARPER, III
  • Publication number: 20200257892
    Abstract: The present invention discloses methods and systems face recognition. Face recognition involves receiving an image/frame, detecting one or more faces in the image, detecting feature points for each of the detected faces in the image, aligning and normalizing the detected feature points, extracting feature descriptors based on the detected feature points and matching the extracted feature descriptors with a set of pre-stored images for face recognition.
    Type: Application
    Filed: March 26, 2019
    Publication date: August 13, 2020
    Applicant: Intellivision Technologies Corp
    Inventors: Amit Agarwal, Chandan Gope, Gagan Gupta, Nitin Jindal
  • Patent number: 10706330
    Abstract: The present invention discloses methods, systems and computer programmable products for detecting license plates and recognizing characters in the license plates. The system receives an image and identifies one or more regions including a license plate. The one or more regions are converted into a plurality of binarized images, which are then filtered to remove noise. Next, one or more clusters of characters are identified in the plurality of binarized images. The one or more clusters of characters are analyzed to recognize a set of characters, wherein each character in the set includes a confidence value.
    Type: Grant
    Filed: September 14, 2016
    Date of Patent: July 7, 2020
    Assignee: Intellivision Technologies Corp
    Inventors: Chandan Gope, Gagan Gupta, Nitin Jindal, Amit Agarwal
  • Publication number: 20200192994
    Abstract: Embodiments described herein are directed to a microarchitecture modeling tool configured to model and analyze a microarchitecture using a dependency graph. The dependency graph may be generated based on an execution trace of a program and a microarchitecture definition that specifies various features and/or characteristics of the microarchitecture on which the execution trace is based. The dependency graph includes vertices representing different microarchitectural events. The vertices are coupled via edges representing a particular dependency therebetween. The edges are associated with a cost for performing microarchitectural event(s) corresponding to the vertices coupled thereto. The dependency graph also takes into account various policies for structural hazards of the microarchitecture. The microarchitecture modeling tool analyzes the costs associated with each of the edges to determine a design metric of the microarchitecture.
    Type: Application
    Filed: December 18, 2018
    Publication date: June 18, 2020
    Inventors: Gagan Gupta, Rathijit Sen, Hossein Golestani
  • Publication number: 20200183695
    Abstract: Techniques described herein are directed to ensuring register data consistency between different instruction blocks. For example, a block-based processor renames registers during block decode, but delays the update of a logical register-to-physical register mapping utilized by other instruction blocks until it is determined that a write instruction configured to write to a logical register commits. Alternatively, the processor renames registers during block decode and updates the mapping accordingly. However, the update is negated (e.g., rolled back) if the write instruction is not executed. Still further, the processor may analyze the instructions in the block to determine instructions configured to write to a logical register but that will not execute due to a mismatched predicate. Based on the determination, the block-based processor ensures data consistency by copying data from a previously-assigned register to a newly-assigned register.
    Type: Application
    Filed: December 8, 2018
    Publication date: June 11, 2020
    Inventors: David T. Harper, III, Gagan Gupta