Patents by Inventor Rajat Goel

Rajat Goel 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).

  • Publication number: 20230336343
    Abstract: A system, method, and computer readable medium is disclosed for accessing an object that is encrypted within at least a tertiary-level encryption key scheme. This includes receiving a request to access blocks making up an object by content management system and using a top-level encryption key from a key management service, a namespace encryption key from a namespace encryption key database, and a respective block encryption keys protecting the blocks making up the object. Using these keys, the system can decrypt the block encryption keys using the namespace encryption key and decrypt the blocks using the block encryption keys, thereby providing access to the object.
    Type: Application
    Filed: September 30, 2022
    Publication date: October 19, 2023
    Inventors: Jonathan Lee, Rajat Goel, Stas Ilinskiy, Wesley Rodriguez, April King, Joseph Eichenhofer
  • Publication number: 20220357861
    Abstract: A service management system manages scaling and migration of a plurality of services in a content management system. The service management system may maintain a plurality of services that are distributed across a plurality of clusters, each service serving a functionality in the content management system. Responsive to receiving a request to scale a service, the service management system may access dependency data describing dependencies among the plurality of services. Based on the dependency data, the service management system may determine a set of services to scale and determine a scaling sequence in which the set of services are to be scaled. The service management system may further determine other parameters for the scaling process such as scaling ratios, allocation ratios and scaling factors associated with the services and the scaling is further based on the parameters.
    Type: Application
    Filed: May 10, 2021
    Publication date: November 10, 2022
    Inventors: Jonathan Lee, Rajat Goel
  • Patent number: 10754985
    Abstract: The disclosed techniques provide systems and methods for anonymizing various portions of information, action logs, end-user information, and/or other data sets that are stored in non-indexed storage systems. More specifically, various anonymization procedures are described for redacting UII and/or replacing UII in raw data with randomly generated information (RGI). The anonymization process is performed on a rolling basis as raw data is received. An anonymization mapping table maps (or associates) the replaced UII in the anonymized data to the RGI, and eventually all raw data can be deleted.
    Type: Grant
    Filed: January 22, 2018
    Date of Patent: August 25, 2020
    Assignee: Facebook, Inc.
    Inventors: Adam Kramer, Thomas Lento, Rajat Goel, Raghotham Sathyanarayana Murthy, Nileema Bharat Shingte, Karthik Ranganathan, Ankit Agarwal, Sameer Menon
  • Patent number: 10210221
    Abstract: Techniques for a system capable of performing low-latency database query processing are disclosed herein. The system includes a gateway server and a plurality of worker nodes. The gateway server is configured to divide a database query, for a database containing data stored in a distributed storage cluster having a plurality of data nodes, into a plurality of partial queries and construct a query result based on a plurality of intermediate results. Each worker node of the plurality of worker nodes is configured to process a respective partial query of the plurality of partial queries by scanning data related to the respective partial query that stored on at least one data node of the distributed storage cluster and generate an intermediate result of the plurality of intermediate results that is stored in a memory of that worker node.
    Type: Grant
    Filed: March 8, 2016
    Date of Patent: February 19, 2019
    Assignee: Facebook, Inc.
    Inventors: Raghotham Murthy, Rajat Goel
  • Patent number: 10037073
    Abstract: A processor includes an instruction issue circuit, and high-utilization and low-utilization execution unit circuits coupled to execute instructions received from the instruction issue unit. On average, utilization of the low-utilization execution unit circuit is lower than utilization of the high-utilization execution unit circuit. The processor also includes a retention circuit coupled to a different power domain than the low-utilization execution unit circuit, and a power management circuit.
    Type: Grant
    Filed: September 23, 2016
    Date of Patent: July 31, 2018
    Assignee: Apple Inc.
    Inventors: Edvin Catovic, Rajat Goel, Richard F. Russo, Matthew R. Johnson, Shingo Suzuki, Pradeep Kanapathipillai, Raghava Rao V. Denduluri, Pankaj Lnu
  • Publication number: 20180144036
    Abstract: The disclosed techniques provide systems and methods for anonymizing various portions of information, action logs, end-user information, and/or other data sets that are stored in non-indexed storage systems. More specifically, various anonymization procedures are described for redacting UII and/or replacing UII in raw data with randomly generated information (RGI). The anonymization process is performed on a rolling basis as raw data is received. An anonymization mapping table maps (or associates) the replaced UII in the anonymized data to the RGI, and eventually all raw data can be deleted.
    Type: Application
    Filed: January 22, 2018
    Publication date: May 24, 2018
    Inventors: Adam Kramer, Thomas Lento, Rajat Goel, Raghotham Sathyanarayana Murthy, Nileema Bharat Shingle, Karthik Ranganathan, Ankit Agarwal, Sameer Menon
  • Patent number: 9910902
    Abstract: The disclosed techniques provide systems and methods for anonymizing various portions of information, action logs, end-user information, and/or other data sets that are stored in non-indexed storage systems. More specifically, various anonymization procedures are described for redacting UII and/or replacing UII in raw data with randomly generated information (RGI). The anonymization process is performed on a rolling basis as raw data is received. An anonymization mapping table maps (or associates) the replaced UII in the anonymized data to the RGI, and eventually all raw data can be deleted.
    Type: Grant
    Filed: February 22, 2013
    Date of Patent: March 6, 2018
    Assignee: Facebook, Inc.
    Inventors: Adam Kramer, Thomas Lento, Rajat Goel, Raghotham Sathyanarayana Murthy, Nileema Bharat Shingte, Karthik Ranganathan, Ankit Agarwal, Sameer Menon
  • Patent number: 9824171
    Abstract: In some embodiments, a register file circuit design process includes instructing an automated integrated circuit design program to generate a register file circuit design, including providing a cell circuit design and instructing the automated integrated circuit design program to generate a selection design, a pre-decode design, and a data gating design. The cell circuit design describes a plurality of selection circuits that have a particular arrangement. The selection design describes a plurality of replica circuits that include respective pluralities of selection circuits having the particular arrangement. The pre-decode design describes a pre-decode circuit configured to identify a plurality of entries identified by a portion of a write instruction. The data gating design describes data gating circuits configured, in response to the pre-decode circuit not identifying respective entries, to disable data inputs to respective write selection circuits connected to the respective entries.
    Type: Grant
    Filed: August 6, 2015
    Date of Patent: November 21, 2017
    Assignee: Apple Inc.
    Inventors: Harsha Krishnamurthy, Mridul Agarwal, Shyam Sundar Balasubramanian, Christopher S. Thomas, Rajat Goel, Rohit Kumar, Muthukumaravelu Velayoudame
  • Patent number: 9652242
    Abstract: An apparatus and method for calculating flag bits is disclosed. The flag bits may be used in a processor utilizing branch predication. More particularly, the apparatus and method may be used to calculate a predicate that can be used by a branch unit to evaluate whether a branch is to be taken. In one embodiment, the apparatus is coupled to receive a condition code associated with an instruction, and flag bits generated responsive to execution of the instruction. The condition code is indicative of a condition to be checked resulting from execution of the instruction. The apparatus may then provide an indication of whether the condition is true.
    Type: Grant
    Filed: May 2, 2012
    Date of Patent: May 16, 2017
    Assignee: Apple Inc.
    Inventors: Rajat Goel, Sandeep Gupta, Yamini Modukuru
  • Patent number: 9652371
    Abstract: A circular queue implementing a scheme for prioritized reads is disclosed. In one embodiment, a circular queue (or buffer) includes a number of storage locations each configured to store a data value. A multiplexer tree is coupled between the storage locations and a read port. A priority circuit is configured to generate and provide selection signals to each multiplexer of the multiplexer tree, based on a priority scheme. Based on the states of the selection signals, one of the storage locations is coupled to the read port via the multiplexers of the multiplexer tree.
    Type: Grant
    Filed: February 18, 2015
    Date of Patent: May 16, 2017
    Assignee: Apple Inc.
    Inventors: Rajat Goel, Hari S. Kannan, Khurram Z. Malik
  • Publication number: 20170039299
    Abstract: In some embodiments, a register file circuit design process includes instructing an automated integrated circuit design program to generate a register file circuit design, including providing a cell circuit design and instructing the automated integrated circuit design program to generate a selection design, a pre-decode design, and a data gating design. The cell circuit design describes a plurality of selection circuits that have a particular arrangement. The selection design describes a plurality of replica circuits that include respective pluralities of selection circuits having the particular arrangement. The pre-decode design describes a pre-decode circuit configured to identify a plurality of entries identified by a portion of a write instruction. The data gating design describes data gating circuits configured, in response to the pre-decode circuit not identifying respective entries, to disable data inputs to respective write selection circuits connected to the respective entries.
    Type: Application
    Filed: August 6, 2015
    Publication date: February 9, 2017
    Inventors: Harsha Krishnamurthy, Mridul Agarwal, Shyam Sundar Balasubramanian, Christopher S. Thomas, Rajat Goel, Rohit Kumar, Muthukumaravelu Velayoudame
  • Patent number: 9564898
    Abstract: In an embodiment, an integrated circuit may include one or more power gated blocks and a power manager circuit. The power manager circuit may be configured to generate a block enable for each power gated block and a block enable clock. The power gated block may generate local block enables to various power switch segments in the power gated block. In particular, the power gated block may include a set of series-connected flops that receive the block enable from the power manager circuit. The power gated block may include a set of multiplexors (muxes) that provide the local block enables for each power switch segment. One input of the muxes is coupled to the block enable, and the other input is coupled to another enable propagated through one of the other power switch segments. Accordingly, the muxes may be controlled to select the propagated enables or the input block enable.
    Type: Grant
    Filed: February 13, 2015
    Date of Patent: February 7, 2017
    Assignee: Apple Inc.
    Inventors: Shingo Suzuki, Harsha Krishnamurthy, Edvin Catovic, Rajat Goel, Manoj Gopalan
  • Patent number: 9535695
    Abstract: Techniques are disclosed relating to completion of load and store instructions in a weakly-ordered memory model. In one embodiment, a processor includes a load queue and a store queue and is configured to associate queue information with a load instruction in an instruction stream. In this embodiment, the queue information indicates a location of the load instruction in the load queue and one or more locations in the store queue that are associated with one or more store instructions that are older than the load instruction. The processor may determine, using the queue information, that the load instruction does not conflict with a store instruction in the store queue that is older than the load instruction. The processor may remove the load instruction from the load queue while the store instruction remains in the store queue. The queue information may include a wrap value for the load queue.
    Type: Grant
    Filed: January 25, 2013
    Date of Patent: January 3, 2017
    Assignee: Apple Inc.
    Inventors: John H. Mylius, Rajat Goel, Pradeep Kanapathipillai, Hari S. Kannan
  • Patent number: 9448936
    Abstract: Systems, processors, and methods for efficiently handling concurrent store and load operations within a processor. A processor comprises a load-store unit (LSU) with a banked level-one (L1) data cache. When a store operation is ready to write data to the L1 data cache, the store operation will skip the write to any banks that have a conflict with a concurrent load operation. A partial write of the store operation will be performed to those banks of the L1 data cache that do not have a conflict with a concurrent load operation. For every attempt to write the store operation, a corresponding store mask will be updated to indicate which portions of the store operation were successfully written to the L1 data cache.
    Type: Grant
    Filed: January 13, 2014
    Date of Patent: September 20, 2016
    Assignee: Apple Inc.
    Inventors: Rajat Goel, Mridul Agarwal
  • Publication number: 20160241240
    Abstract: In an embodiment, an integrated circuit may include one or more power gated blocks and a power manager circuit. The power manager circuit may be configured to generate a block enable for each power gated block and a block enable clock. The power gated block may generate local block enables to various power switch segments in the power gated block. In particular, the power gated block may include a set of series-connected flops that receive the block enable from the power manager circuit. The power gated block may include a set of multiplexors (muxes) that provide the local block enables for each power switch segment. One input of the muxes is coupled to the block enable, and the other input is coupled to another enable propagated through one of the other power switch segments. Accordingly, the muxes may be controlled to select the propagated enables or the input block enable.
    Type: Application
    Filed: February 13, 2015
    Publication date: August 18, 2016
    Inventors: Shingo Suzuki, Harsha Krishnamurthy, Edvin Catovic, Rajat Goel, Manoj Gopalan
  • Patent number: 9383995
    Abstract: Techniques are disclosed relating to ordering of load instructions in a weakly-ordered memory model. In one embodiment, a processor includes a cache with multiple cache lines and a store queue configured to maintain status information associated with a store instruction that targets a location in one of the cache lines. In this embodiment, the processor is configured to set an indicator in the status information in response to migration of the targeted cache line. The indicator may be usable to sequence performance of load instructions that are younger than the store instruction. For example, the processor may be configured to wait, based on the indicator, to perform a younger load instruction that targets the same location as the store instruction until the store instruction is removed from the store queue. This may prevent forwarding of the value of the store instruction to the younger load and preserve load-load ordering.
    Type: Grant
    Filed: January 25, 2013
    Date of Patent: July 5, 2016
    Assignee: Apple Inc.
    Inventors: Pradeep Kanapathipillai, Hari Kannan, Po-Yung Chang, Ming-Ta Hsu, Rajat Goel
  • Publication number: 20160188677
    Abstract: Techniques for a system capable of performing low-latency database query processing are disclosed herein. The system includes a gateway server and a plurality of worker nodes. The gateway server is configured to divide a database query, for a database containing data stored in a distributed storage cluster having a plurality of data nodes, into a plurality of partial queries and construct a query result based on a plurality of intermediate results. Each worker node of the plurality of worker nodes is configured to process a respective partial query of the plurality of partial queries by scanning data related to the respective partial query that stored on at least one data node of the distributed storage cluster and generate an intermediate result of the plurality of intermediate results that is stored in a memory of that worker node.
    Type: Application
    Filed: March 8, 2016
    Publication date: June 30, 2016
    Inventors: Raghotham Murthy, Rajat Goel
  • Patent number: 9361344
    Abstract: Techniques for a system capable of performing low-latency database query processing are disclosed herein. The system includes a gateway server and a plurality of worker nodes. The gateway server is configured to divide a database query, for a database containing data stored in a distributed storage cluster having a plurality of data nodes, into a plurality of partial queries and construct a query result based on a plurality of intermediate results. Each worker node of the plurality of worker nodes is configured to process a respective partial query of the plurality of partial queries by scanning data related to the respective partial query that stored on at least one data node of the distributed storage cluster and generate an intermediate result of the plurality of intermediate results that is stored in a memory of that worker node.
    Type: Grant
    Filed: June 2, 2015
    Date of Patent: June 7, 2016
    Assignee: FACEBOOK, INC.
    Inventors: Raghotham Murthy, Rajat Goel
  • Patent number: 9280352
    Abstract: An apparatus and method for avoiding bubbles and maintaining a maximum instruction throughput rate when cracking microcode instructions. A lookahead pointer scans the newest entries of a dispatch queue for microcode instructions. A detected microcode instruction is conveyed to a microcode engine to be cracked into a sequence of micro-ops. Then, the sequence of micro-ops is placed in a queue, and when the original microcode instruction entry in the dispatch queue is selected for dispatch, the sequence of micro-ops is dispatched to the next stage of the processor pipeline.
    Type: Grant
    Filed: November 30, 2011
    Date of Patent: March 8, 2016
    Assignee: Apple Inc.
    Inventors: Ramesh B. Gunna, Peter J. Bannon, Rajat Goel
  • Publication number: 20150261831
    Abstract: Techniques for a system capable of performing low-latency database query processing are disclosed herein. The system includes a gateway server and a plurality of worker nodes. The gateway server is configured to divide a database query, for a database containing data stored in a distributed storage cluster having a plurality of data nodes, into a plurality of partial queries and construct a query result based on a plurality of intermediate results. Each worker node of the plurality of worker nodes is configured to process a respective partial query of the plurality of partial queries by scanning data related to the respective partial query that stored on at least one data node of the distributed storage cluster and generate an intermediate result of the plurality of intermediate results that is stored in a memory of that worker node.
    Type: Application
    Filed: June 2, 2015
    Publication date: September 17, 2015
    Inventors: Raghotham Murthy, Rajat Goel