Patents by Inventor Manpreet Singh

Manpreet Singh 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: 9274863
    Abstract: Aspects of the disclosure relate generally to reducing latency for consensus in geographically distributed disaster-safe persistent data-store systems. These distributed systems may include registry system having redundant storage for maintaining the system status. Each registry system may include a server and a storage component. Consensus may be achieved by querying all of other servers of the registry system. In one example, the consensus data may be sharded into independent small groups. This may allow for multiple consensus transactions to be generated and run in parallel, which, in turn may reduce the latency. In addition, or alternatively, requests to a server to write or otherwise change the data-store may be batched at the server side. Thus, for the consensus, the server need only communicate with the other servers only once per batch. This may also reduce the latency of the distributed system.
    Type: Grant
    Filed: September 26, 2013
    Date of Patent: March 1, 2016
    Assignee: Google Inc.
    Inventors: Tianhao Qiu, Manpreet Singh, Haifeng Jiang, Ashish Gupta, Sumit Das, Venkatesh Basker, Rajagopal Ananthanarayanan
  • Patent number: 9256381
    Abstract: A method is used for managing degraded storage elements in data storage systems. A storage element experiencing degradation is identified where the storage element is a member of a first RAID group of storage elements. A first slice of data associated with the storage element is identified. The first slice of data is copied to a second RAID group of storage elements.
    Type: Grant
    Filed: September 29, 2011
    Date of Patent: February 9, 2016
    Assignee: EMC Corporation
    Inventors: Phillip P. Fultz, Kiran Madnani, Manpreet Singh
  • Patent number: 9203952
    Abstract: A method and corresponding apparatus are provided to detect false answer supervision by determining false answer supervision as either as a function of a number of completed calls of short duration or as a function of a distribution of differences between timestamps of alert signals and timestamps of connect signals used to complete calls, detecting false answer supervision based on the indicator of false answer supervision determined by either functions separately or in combination, and affecting a decision in response to the detecting.
    Type: Grant
    Filed: August 6, 2010
    Date of Patent: December 1, 2015
    Assignee: iBasis, Inc.
    Inventors: Shuping Zhang, Manpreet Singh
  • Patent number: 9172670
    Abstract: Systems and methods are disclosed herein for providing fault tolerant processing of events. The system includes multiple consensus computers configured to communicate with one another and multiple event processors configured to process data such as events. Each consensus computer is further configured to receive a request to process a unit of data from an event processor. A consensus computer communicates with at least one other consensus computer to reach consensus as to whether the unit of data has previously been assigned to an event processor for processing. Then, a consensus computer sends a message to the event processor that sent the inquiry including instructions to either process the unit of data or not process the unit of data. Because the consensus computers determine whether a unit of data has previously been assigned to an event processor, the system ensures that an event is not processed more than once.
    Type: Grant
    Filed: January 30, 2013
    Date of Patent: October 27, 2015
    Assignee: Google Inc.
    Inventors: Ashish Gupta, Haifeng Jiang, Manpreet Singh, Monica Chawathe
  • Patent number: 9146783
    Abstract: Aspects of the present invention concern a method and system for scheduling a request for execution on multiple processors. This scheduler divides processes from the request into a set of domains. Instructions in the same domain are capable of executing the instructions associated with the request in a serial manner on a processor without conflicts. A relative processor utilization for each domain in the set of the domains is based upon a workload corresponding to an execution of the request. If there are processors available then the present invention provisions a subset of available processors to fulfill an aggregate processor utilization. The aggregate processor utilization is created from a combination of the relative processor utilization associated with each domain in the set of domains. If processors are not needed then some processors may be shut down. Shutting down processors in accordance with the schedule saves energy without sacrificing performing.
    Type: Grant
    Filed: October 2, 2013
    Date of Patent: September 29, 2015
    Assignee: NetApp, Inc.
    Inventors: Naveen Bali, Naresh M. Patel, Manpreet Singh
  • Patent number: 9092338
    Abstract: Aspects of the disclosure relate generally to a distributed event joining system for joining primary and secondary events based on a common key. In one example, a continuous stream of primary events may be submitted by a plurality of ad serving computers for storage at a cache layer. Each primary event may be associated with a primary event key. After a time T, the stream of primary events may be sent to long term memory. The system may also receive secondary events, each associated with a primary key. The primary key may be used to identify a primary event in the cache layer. If the primary event is not available in the cache layer, the long term memory may be searched for the primary key. Paired events may then be submitted to a distributed joined event storage system.
    Type: Grant
    Filed: September 26, 2013
    Date of Patent: July 28, 2015
    Assignee: Google Inc.
    Inventors: Tianhao Qiu, Manpreet Singh, Haifeng Jiang, Ashish Gupta, Sumit Das, Venkatesh Basker, Rajagopal Ananthanarayanan
  • Patent number: 9069681
    Abstract: Aspects of the disclosure relate generally to a distributed event joining system for joining primary and secondary events based on a common key. In one example, a continuous stream of primary events may be stored at a cache layer. Each primary event may be associated with a primary event key which may be used to generate an index map for the cache layer. After a time T, the stream of primary events may be sent to long term memory. The system may also receive secondary events, each associated with a primary key. The primary key may be used to identify a primary event in the cache layer. If the primary event is not available in the cache layer, the long term memory may be searched for the primary key. Paired events may then be submitted to a distributed joined event storage system.
    Type: Grant
    Filed: September 26, 2013
    Date of Patent: June 30, 2015
    Assignee: Google Inc.
    Inventors: Tianhao Qiu, Manpreet Singh, Haifeng Jiang, Ashish Gupta, Sumit Das, Venkatesh Basker, Rajagopal Ananthanarayanan
  • Patent number: 9043802
    Abstract: Embodiments provide various techniques for dynamic adjustment of a number of threads for execution in any domain based on domain utilizations. In a multiprocessor system, the utilization for each domain is monitored. If a utilization of any of these domains changes, then the number of threads for each of the domains determined for execution may also be adjusted to adapt to the change.
    Type: Grant
    Filed: January 8, 2014
    Date of Patent: May 26, 2015
    Assignee: NetApp, Inc.
    Inventors: Gokul Nadathur, Manpreet Singh, Grace Ho
  • Publication number: 20140269681
    Abstract: In an embodiment, a method and corresponding apparatus of managing call routing includes sending a first message by a session border controller (SBC) to a routing engine, the first message including event information indicative of an event related to a call, the event being associated with a second message received by the SBC; receiving a response message including call managing information related to the call, the call managing information being determined based on at least part of the event information, the call managing information to be returned to the routing engine in a subsequent message related to the call; and maintaining the call managing information received in the response message, the call managing information to be returned to the routing engine in a subsequent message related to the call.
    Type: Application
    Filed: March 14, 2014
    Publication date: September 18, 2014
    Applicant: iBasis, Inc.
    Inventors: Manpreet Singh, Hwan Jang Tang, James W. Lotti
  • Patent number: 8812899
    Abstract: A method is used in managing read caching. First and second read caches are maintained in a data storage system. The first read cache is controlled by a first storage controller and the second read cache is controlled by a second storage controller. Read cache data is copied from the first storage controller to the second storage controller. A failure of the first storage controller is detected. Based on the detection, the copied read cache data is processed at the second storage controller to make the copied read cache data available for use at the second storage controller.
    Type: Grant
    Filed: September 29, 2011
    Date of Patent: August 19, 2014
    Assignee: EMC Corporation
    Inventors: Phillip P. Fultz, Kiran Madnani, Manpreet Singh
  • Publication number: 20140143789
    Abstract: Embodiments provide various techniques for dynamic adjustment of a number of threads for execution in any domain based on domain utilizations. In a multiprocessor system, the utilization for each domain is monitored. If a utilization of any of these domains changes, then the number of threads for each of the domains determined for execution may also be adjusted to adapt to the change.
    Type: Application
    Filed: January 8, 2014
    Publication date: May 22, 2014
    Applicant: NetApp, Inc.
    Inventors: Gokul Nadathur, Manpreet Singh, Grace Ho
  • Patent number: 8671395
    Abstract: The present disclosure relates to a method for avoiding deadends in a constrained simulation. The method may include analyzing a first deadend during a simulation and a first constraint of the simulation. The method may further include determining if the first constraint causes the first deadend. If the first constraint causes the first deadend, the method may also include defining a first lookahead constraint corresponding to the first constraint. The method may additionally include rerunning a first previous cycle in the simulation while adding the first lookahead constraint to the simulation.
    Type: Grant
    Filed: September 10, 2010
    Date of Patent: March 11, 2014
    Assignee: Cadence Design Systems, Inc.
    Inventors: Jun Yuan, Akok Jain, Manpreet Singh Reehal, Vinaya Kumar Singh
  • Publication number: 20140033221
    Abstract: Aspects of the present invention concern a method and system for scheduling a request for execution on multiple processors. This scheduler divides processes from the request into a set of domains. Instructions in the same domain are capable of executing the instructions associated with the request in a serial manner on a processor without conflicts. A relative processor utilization for each domain in the set of the domains is based upon a workload corresponding to an execution of the request. If there are processors available then the present invention provisions a subset of available processors to fulfill an aggregate processor utilization. The aggregate processor utilization is created from a combination of the relative processor utilization associated with each domain in the set of domains. If processors are not needed then some processors may be shut down. Shutting down processors in accordance with the schedule saves energy without sacrificing performing.
    Type: Application
    Filed: October 2, 2013
    Publication date: January 30, 2014
    Applicant: NetApp, Inc.
    Inventors: Naveen Bali, Naresh M. Patel, Manpreet Singh
  • Patent number: 8631415
    Abstract: Embodiments provide various techniques for dynamic adjustment of a number of threads for execution in any domain based on domain utilizations. In a multiprocessor system, the utilization for each domain is monitored. If a utilization of any of these domains changes, then the number of threads for each of the domains determined for execution may also be adjusted to adapt to the change.
    Type: Grant
    Filed: August 25, 2009
    Date of Patent: January 14, 2014
    Assignee: NetApp, Inc.
    Inventors: Gokul Nadathur, Manpreet Singh, Grace Ho
  • Patent number: 8578386
    Abstract: Aspects of the present invention concern a method and system for scheduling a request for execution on multiple processors. This scheduler divides processes from the request into a set of domains. Instructions in the same domain are capable of executing the instructions associated with the request in a serial manner on a processor without conflicts. A relative processor utilization for each domain in the set of the domains is based upon a workload corresponding to an execution of the request. If there are processors available then the present invention provisions a subset of available processors to fulfill an aggregate processor utilization. The aggregate processor utilization is created from a combination of the relative processor utilization associated with each domain in the set of domains. If processors are not needed then some processors may be shut down. Shutting down processors in accordance with the schedule saves energy without sacrificing performing.
    Type: Grant
    Filed: April 1, 2009
    Date of Patent: November 5, 2013
    Assignee: NetApp, Inc.
    Inventors: Naveen Bali, Naresh M. Patel, Manpreet Singh
  • Patent number: 8239543
    Abstract: A method and an apparatus to manage data in a networked storage server have been disclosed. In one embodiment, the method includes providing a single logical layer between a number of logical subsystems in a storage server and a number of data management agents in the storage server, wherein the data management agents are operable to service requests from a number of client machines following different data management protocols, and exporting a set of application programming interfaces (APIs) from the single logical layer to interface with the data management agents.
    Type: Grant
    Filed: March 22, 2004
    Date of Patent: August 7, 2012
    Assignee: NetApp, Inc.
    Inventors: Swaminathan Ramany, Manpreet Singh, Darren Sawyer
  • Publication number: 20120140903
    Abstract: A method and corresponding apparatus are provided to detect false answer supervision by determining false answer supervision as either as a function of a number of completed calls of short duration or as a function of a distribution of differences between timestamps of alert signals and timestamps of connect signals used to complete calls, detecting false answer supervision based on the indicator of false answer supervision determined by either functions separately or in combination, and affecting a decision in response to the detecting.
    Type: Application
    Filed: August 6, 2010
    Publication date: June 7, 2012
    Inventors: Shuping Zhang, Manpreet Singh
  • Publication number: 20110271345
    Abstract: A method to determine if a rogue device is connected to a specific wired network from dynamic host control protocol (DHCP) requests on the wired network. These DHCP requests are analyzed to determine the type of device issuing the request. Once the type of device has been determined, it can be checked against a list of authorized device types. If the device issuing the DHCP request is not an authorized device type, then it can be determined that the suspect device is a rogue that is connected to the specific wired network. Additionally, even if the system of the present invention determines that it is an authorized device type, if the device is not one of the few authorized devices of this type, e.g. because its MAC address is not recognized as that of one of the authorized devices, the system can flag the suspect as a rogue.
    Type: Application
    Filed: July 8, 2011
    Publication date: November 3, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: Alastair Wolman, Brian D. Zill, Jitendra D. Padhye, Ranveer Chandra, Paramvir Bahl, Manpreet Singh, Lenin Ravindranath Sivalingam
  • Patent number: 8005935
    Abstract: Managing application performance on a network. A network graph is generated from a set of application endpoints on the network. The network graph is annotated by associating one or more of the application endpoints with at least one of a corresponding latency annotation or a corresponding available bandwidth annotation. An end to end plan is formulated from the annotated network graph, wherein the plan maps one or more application requirements onto the plurality of paths in accordance with one or more end to end control adjustments including at least one of a server selection adjustment, an internet service provider (ISP) selector, or an overlay routing adjustment.
    Type: Grant
    Filed: April 5, 2007
    Date of Patent: August 23, 2011
    Assignee: International Business Machines Corporation
    Inventors: Prashant Pradhan, Debanjan Saha, Sambit Sahu, Manpreet Singh
  • Patent number: 8000698
    Abstract: A method of detecting rogue devices that are coupled to a wired network without generating false negative or false positive alerts is provided. When a wireless monitor detects an observed SSID and/or BSSID, various tests are run to determine whether the observed device is actually coupled to the wired network. To guard against the suspect device spoofing an authorized SSID and/or BSSID, location information is gathered so that the network administrator can pinpoint the location of the rogue device. If the device is not recognized, various other tests are run to determine whether the unrecognized device is actually connected to the wired network. These tests include an association test, a MAC address test, an ARP test, a packet replay test, a correlation test, and/or a DHCP fingerprint test. Once it is determined that the suspect device is a rogue connected to the wired network, an appropriate alert is generated.
    Type: Grant
    Filed: October 25, 2006
    Date of Patent: August 16, 2011
    Assignee: Microsoft Corporation
    Inventors: Alastair Wolman, Brian D. Zill, Jitendra D. Padhye, Ranveer Chandra, Paramvir Bahl, Manpreet Singh, Lenin Ravindranath Sivalingam