Patents by Inventor Manik Surtani

Manik Surtani 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: 10187463
    Abstract: An example method includes: identifying, by a new node, an address of a shared data store comprising information on a current membership in a peer-to-peer system, wherein the shared data store is shared by a plurality of nodes that are current members of the peer-to-peer system, wherein the shared data store is a container for storing data in a storage cloud; sending, by the new node, a first message comprising an address of the new node to the shared data store; requesting, by the new node, at least one membership data structure from the shared data store; receiving, by the new node, a second message comprising the at least one membership data structure; generating, by the new node, a new membership data structure comprising the address of the new node and the plurality of addresses for the plurality of nodes identified in the at least one membership data structure; sending, by the new node, a third message comprising the new membership data structure to the shared data store; and joining, by the new node, t
    Type: Grant
    Filed: June 27, 2017
    Date of Patent: January 22, 2019
    Assignee: Red Hat, Inc.
    Inventors: Manik Surtani, Bela Ban
  • Publication number: 20170295228
    Abstract: An example method includes: identifying, by a new node, an address of a shared data store comprising information on a current membership in a peer-to-peer system, wherein the shared data store is shared by a plurality of nodes that are current members of the peer-to-peer system, wherein the shared data store is a container for storing data in a storage cloud; sending, by the new node, a first message comprising an address of the new node to the shared data store; requesting, by the new node, at least one membership data structure from the shared data store; receiving, by the new node, a second message comprising the at least one membership data structure; generating, by the new node, a new membership data structure comprising the address of the new node and the plurality of addresses for the plurality of nodes identified in the at least one membership data structure; sending, by the new node, a third message comprising the new membership data structure to the shared data store; and joining, by the new node, t
    Type: Application
    Filed: June 27, 2017
    Publication date: October 12, 2017
    Inventors: Manik Surtani, Bela Ban
  • Patent number: 9712340
    Abstract: After acquiring a network address, a computing device accesses a shared data store and writes the network address to the shared data store. The computing device additionally reads a plurality of network addresses from the shared data store, wherein the plurality of network addresses are for a plurality of nodes that are members of a peer-to-peer system. The computing device then joins the peer-to-peer system based on communicating with the plurality of nodes using the plurality of network addresses.
    Type: Grant
    Filed: February 28, 2011
    Date of Patent: July 18, 2017
    Assignee: Red Hat, Inc.
    Inventors: Manik Surtani, Bela Ban
  • Patent number: 9208190
    Abstract: A node a data grid receives a prepare request identifying data to lock for a first transaction. The prepare request indicates a locking order that is different from a locking order indicated by a prior prepare request of a second transaction using the same data. The node identifies keys that correspond to the data. The keys are co-located on the node. The node ranks the keys to define an order for acquiring locks for the data based on key identifiers that correspond to the keys. The defined order matches a locking order used by the second transaction. The node acquires locks for the data using the defined order.
    Type: Grant
    Filed: May 3, 2012
    Date of Patent: December 8, 2015
    Assignee: Red Hat, Inc.
    Inventors: Mircea Markus, Manik Surtani
  • Patent number: 9208211
    Abstract: A node in a data grid receives a client request to store an object in a database, the request including the object. The node divides the object into a plurality of key value pairs and links the plurality of key value pairs. The node then stores the plurality of key value pairs in the data grid.
    Type: Grant
    Filed: March 23, 2011
    Date of Patent: December 8, 2015
    Assignee: Red Hat, Inc.
    Inventors: Manik Surtani, Galder Zamarreño
  • Patent number: 9104714
    Abstract: A transaction originator node identifies multiple data elements distributed at multiple enlisted nodes to lock for a transaction managed by the transaction originator node. The transaction originator node determines which of the enlisted nodes is a first enlisted node in a lock order for the transaction and sends an update request to the first enlisted node in the lock order to lock a data element residing at the first enlisted node. The transaction originator node sends update requests to remaining enlisted nodes in the lock order to cache the update requests until the remaining enlisted nodes receive a message to perform a lock.
    Type: Grant
    Filed: May 31, 2012
    Date of Patent: August 11, 2015
    Assignee: Red Hat, Inc.
    Inventors: Mircea Markus, Manik Surtani
  • Patent number: 9092335
    Abstract: An apparatus and a method for accessing data at a server node of a data grid system with distributed cache is described. The server receives a request to access a logical tree structure of cache nodes at a tree structure interface module of the server. The tree structure interface operates on a flat map structure of the cache nodes corresponding to the logical tree structure, transparent to the request. Each cache node is defined and operated on using a two-dimensional coordinate including a fully qualified name and a type.
    Type: Grant
    Filed: March 26, 2010
    Date of Patent: July 28, 2015
    Assignee: Red Hat, Inc.
    Inventor: Manik Surtani
  • Patent number: 8949294
    Abstract: A proxy server for a data grid receives an object and a client request to store the object in a database using a first database protocol, wherein the request and the object have a first format that complies with the first database protocol. The first proxy server translates at least one of the object or the request into a second format that complies with a second protocol used by the data grid. A node of the data grid then processes the request to store the object on the data grid.
    Type: Grant
    Filed: March 23, 2011
    Date of Patent: February 3, 2015
    Assignee: Red Hat, Inc.
    Inventors: Manik Surtani, Galder Zamarreño
  • Patent number: 8914599
    Abstract: An apparatus and a method for providing amortized lock access in a data container is described. Each access from each thread of a process in a memory to each object of a data container in the memory is recorded in a queue of the data container. A queue manager determines whether the recorded number of accesses in the queue has reached a predetermined threshold. The queue manager executes a lock algorithm and an eviction algorithm on all objects in the data container when the recorded number of accesses in the queue has reached the predetermined threshold. The lock algorithm is configured to lock objects in the data container while the eviction algorithm is performed on the data container. The eviction algorithm is configured to evict one or more objects from the data container pursuant to the eviction algorithm.
    Type: Grant
    Filed: October 12, 2010
    Date of Patent: December 16, 2014
    Assignee: Red Hat, Inc.
    Inventors: Manik Surtani, Vladimire Blagojevic
  • Patent number: 8805984
    Abstract: A client computing system identifies a start of a multi-operational transaction pertaining to access of data stored in caches being managed by nodes residing in Java Virtual Machines in an in-memory data grid. The client computing system stores transaction context data indicating the start of the multi-operational transaction and identifies an application request to perform an operation pertaining to the multi-operational transaction. The application request is from an application that resides outside of the Java Virtual Machines of the nodes. The client computing system determines the transaction context of the operation based on the transaction context data and sends an operation request over a network to a managing node in the in-memory data grid to manage the multi-operational transaction. The operation request includes header data based on the transaction context data.
    Type: Grant
    Filed: July 14, 2011
    Date of Patent: August 12, 2014
    Assignee: Red Hat, Inc.
    Inventors: Mircea Markus, Manik Surtani
  • Patent number: 8719307
    Abstract: An apparatus and a method for forming a concurrent linked hash map is described. Doubly linked nodes of a linked list are formed in a data container of a networked memory. A hash table is generated from the doubly linked nodes. A parent node is located in the hash table to update a reference of a node in the data container. The parent node is processed in a forward direction of the linked list.
    Type: Grant
    Filed: April 23, 2010
    Date of Patent: May 6, 2014
    Assignee: Red Hat, Inc.
    Inventors: Manik Surtani, Jason Greene
  • Patent number: 8630979
    Abstract: An apparatus and a method operating on data at a server node of a data grid system with distributed cache. Data is copied to a network cloud of storage services remotely coupled to a server node with an asynchronous input output interface. The asynchronous input output interface is configured to asynchronously communicate with the network cloud of storage services. Confirmation that the data has been copied on the network cloud of storage services is received at the server node.
    Type: Grant
    Filed: February 26, 2010
    Date of Patent: January 14, 2014
    Assignee: Red Hat, Inc.
    Inventors: Manik Surtani, Adrian Cole
  • Patent number: 8612464
    Abstract: A system and method for locating a data entry in a server cluster using a hash function and hash codes that can be implemented on any platform, system, or in any language. In one embodiment, a client hashes a key corresponding to a data entry to be accessed from the server cluster. The hashing is performed with a hash function that is used by a cluster of servers to provide a distributed data repository. The client further compares the hash result with hash codes of the servers to identify one of the servers as a key holder that stores the data entry. The client then requests the key holder for access to the data entry.
    Type: Grant
    Filed: September 2, 2010
    Date of Patent: December 17, 2013
    Assignee: Red Hat, Inc.
    Inventors: Galder Zamarreno, Manik Surtani
  • Publication number: 20130325827
    Abstract: A transaction originator node identifies multiple data elements distributed at multiple enlisted nodes to lock for a transaction managed by the transaction originator node. The transaction originator node determines which of the enlisted nodes is a first enlisted node in a lock order for the transaction and sends an update request to the first enlisted node in the lock order to lock a data element residing at the first enlisted node. The transaction originator node sends update requests to remaining enlisted nodes in the lock order to cache the update requests until the remaining enlisted nodes receive a message to perform a lock.
    Type: Application
    Filed: May 31, 2012
    Publication date: December 5, 2013
    Applicant: RED HAT INC.
    Inventors: Mircea Markus, Manik Surtani
  • Publication number: 20130318314
    Abstract: A data controller node receives a request to update data stored at the data controller node for a transaction managed by a transaction originator node. The data controller node locks the data at the data controller node and identifies copies of the data residing at other nodes. The data controller node sends a message to the other nodes to update the copy at the other nodes without locking the copy of the data at the other nodes. The data controller node determines whether an acknowledgment is received from each of the other nodes that the copy of the data are updated for the transaction and updates the locked data at the data controller node for the transaction in response to receiving the acknowledgment from each of the other nodes.
    Type: Application
    Filed: May 25, 2012
    Publication date: November 28, 2013
    Applicant: RED HAT, INC.
    Inventors: Mircea Markus, Manik Surtani
  • Publication number: 20130297580
    Abstract: A node a data grid receives a prepare request identifying data to lock for a first transaction. The prepare request indicates a locking order that is different from a locking order indicated by a prior prepare request of a second transaction using the same data. The node identifies keys that correspond to the data. The keys are co-located on the node. The node ranks the keys to define an order for acquiring locks for the data based on key identifiers that correspond to the keys. The defined order matches a locking order used by the second transaction. The node acquires locks for the data using the defined order.
    Type: Application
    Filed: May 3, 2012
    Publication date: November 7, 2013
    Applicant: Red Hat, Inc.
    Inventors: Mircea Markus, Manik Surtani
  • Patent number: 8402106
    Abstract: An apparatus and a method for operating on data at a cache node of a data grid system is described. An asynchronous future-based interface of a computer system receives a request to operate on a cache node of a cluster. An acknowledgment is sent back upon receipt of the request prior to operating on the cache node. The cache node is then operated on based on the request. The operation is replicated to other cache nodes in the cluster. An acknowledgment that the operation has been completed in the cluster is sent back.
    Type: Grant
    Filed: April 14, 2010
    Date of Patent: March 19, 2013
    Assignee: Red Hat, Inc.
    Inventor: Manik Surtani
  • Publication number: 20130019000
    Abstract: A client computing system identifies a start of a multi-operational transaction pertaining to access of data stored in caches being managed by nodes residing in Java Virtual Machines in an in-memory data grid. The client computing system stores transaction context data indicating the start of the multi-operational transaction and identifies an application request to perform an operation pertaining to the multi-operational transaction. The application request is from an application that resides outside of the Java Virtual Machines of the nodes. The client computing system determines the transaction context of the operation based on the transaction context data and sends an operation request over a network to a managing node in the in-memory data grid to manage the multi-operational transaction. The operation request includes header data based on the transaction context data.
    Type: Application
    Filed: July 14, 2011
    Publication date: January 17, 2013
    Inventors: Mircea Markus, Manik Surtani
  • Publication number: 20120246190
    Abstract: A node in a data grid receives a client request to store an object in a database, the request including the object. The node divides the object into a plurality of key value pairs and links the plurality of key value pairs. The node then stores the plurality of key value pairs in the data grid.
    Type: Application
    Filed: March 23, 2011
    Publication date: September 27, 2012
    Inventors: Manik Surtani, Galder Zamarreño
  • Publication number: 20120246202
    Abstract: A proxy server for a data grid receives an object and a client request to store the object in a database using a first database protocol, wherein the request and the object have a first format that complies with the first database protocol. The first proxy server translates at least one of the object or the request into a second format that complies with a second protocol used by the data grid. A node of the data grid then processes the request to store the object on the data grid.
    Type: Application
    Filed: March 23, 2011
    Publication date: September 27, 2012
    Inventors: Manik Surtani, Galder Zamarreño