Patents by Inventor Deepak Goel

Deepak 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).

  • Patent number: 10157123
    Abstract: An apparatus includes a scheduler module operatively coupled to each memory block from a set of memory blocks via a shared address bus. The scheduler module is configured to receive a group of memory commands from a set of memory controllers. Each memory controller from the set of memory controllers is uniquely associated with a different memory block from the set of memory blocks. The scheduler module is configured to classify each memory command from the group of memory commands into a category based at least in part on memory commands previously sent to the set of memory blocks via the shared address bus. The scheduler module is configured to select an order in which to send each memory command from the group of memory commands to the set of memory blocks via the shared address bus based at least in part on the category of each memory command.
    Type: Grant
    Filed: October 31, 2017
    Date of Patent: December 18, 2018
    Assignee: Juniper Networks, Inc.
    Inventors: Srinivas Vaduvatha, Deepak Goel, Shahriar Ilislamloo
  • Patent number: 10134096
    Abstract: In an embodiment, a method comprises receiving, at a social network coupon platform, a request to display coupon data regarding a particular coupon that is provided by a coupon provider, wherein a user that is registered with a social network provider initiated the request; in response to receiving the request, sending, from the social network coupon platform, the coupon data to be displayed to the user; receiving, at the social network coupon platform, from the social network provider, profile data that includes profile information of the user; in response to receiving the profile data, allowing the user access to the particular coupon; wherein the method is performed by one or more computing devices.
    Type: Grant
    Filed: March 27, 2014
    Date of Patent: November 20, 2018
    Assignee: QUOTIENT TECHNOLOGY INC.
    Inventors: Matthias Eichstaedt, Deepak Goel, Sunil Keshav Bopardikar
  • Patent number: 10097516
    Abstract: A method may include obtaining a match vector that indicates one or more filter rules that are potentially applicable to a packet. The method may include partitioning the match vector into a plurality of segments. The method may include generating a summary vector that identifies one or more portions of the match vector that include one or more match bits. A match bit may indicate one of the one or more filter rules that is potentially applicable to the packet. The method may include obtaining a relevant segment of the match vector. The relevant segment may include at least one of the portions of the match vector identified by the summary vector. The method may include determining a filter rule to apply based on the match vector and based on the one or more match bits. The method may include applying the filter rule to the packet.
    Type: Grant
    Filed: March 13, 2017
    Date of Patent: October 9, 2018
    Assignee: Juniper Networks, Inc.
    Inventors: Deepak Goel, Patrick Kerharo, Jigar K. Savla
  • Publication number: 20180288505
    Abstract: A network system for a data center is described in which a switch fabric provides full mesh interconnectivity such that any servers may communicate packet data to any other of the servers using any of a number of parallel data paths. Moreover, according to the techniques described herein, edge-positioned access nodes, optical permutation devices and core switches of the switch fabric may be configured and arranged in a way such that the parallel data paths provide single L2/L3 hop, full mesh interconnections between any pairwise combination of the access nodes, even in massive data centers having tens of thousands of servers. The plurality of optical permutation devices permute communications across the optical ports based on wavelength so as to provide full-mesh optical connectivity between edge-facing ports and core-facing ports without optical interference.
    Type: Application
    Filed: March 28, 2018
    Publication date: October 4, 2018
    Inventors: Pradeep Sindhu, Satish Deo, Deepak Goel, Sunil Mekad
  • Publication number: 20180287818
    Abstract: A network system for a data center is described in which a switch fabric provides full mesh interconnectivity such that any servers may communicate packet data to any other of the servers using any of a number of parallel data paths. Moreover, according to the techniques described herein, edge-positioned access nodes, permutation devices and core switches of the switch fabric may be configured and arranged in a way such that the parallel data paths provide single L2/L3 hop, full mesh interconnections between any pairwise combination of the access nodes, even in massive data centers having tens of thousands of servers. The access nodes may be arranged within access node groups, and permutation devices may be used within the access node groups to spray packets across the access node groups prior to injection within the switch fabric, thereby increasing the fanout and scalability of the network system.
    Type: Application
    Filed: March 28, 2018
    Publication date: October 4, 2018
    Inventors: Deepak Goel, Pradeep Sindhu, Srihari Raju Vegesna, Robert William Bowdidge, Ayaskant Pani
  • Publication number: 20180287965
    Abstract: A network system for a data center is described in which a switch fabric provides full mesh interconnectivity such that any servers may communicate packet data to any other of the servers using any of a number of parallel data paths. Moreover, according to the techniques described herein, edge-positioned access nodes, optical permutation devices and core switches of the switch fabric may be configured and arranged in a way such that the parallel data paths provide single L2/L3 hop, full mesh interconnections between any pairwise combination of the access nodes, even in massive data centers having tens of thousands of servers.
    Type: Application
    Filed: March 28, 2018
    Publication date: October 4, 2018
    Inventors: Pradeep Sindhu, Deepak Goel, Jean-Marc Frailong, Srihari Raju Vegesna, Wael Noureddine, Phillip A. Thomas, Satish Deo, Sunil Mekad, Ayaskant Pani
  • Patent number: 10019128
    Abstract: The present disclosure is directed to systems and method for providing a virtual appliance. One or more application delivery controller appliances intermediary to a plurality of clients and a plurality of servers perform a plurality of application delivery control functions on network traffic communicated between the plurality of clients and the plurality of servers. A virtual application delivery controller is deployed on a device intermediary to the plurality of clients and the plurality of servers. The virtual application delivery controller executing on the device performs one or more of the plurality of application delivery control functions on network traffic communicated between the plurality of clients and the plurality of servers.
    Type: Grant
    Filed: September 19, 2014
    Date of Patent: July 10, 2018
    Assignee: Citrix Systems, Inc.
    Inventors: Thomas Goodwin, Rajiv Mirani, Abhishek Chauhan, Frank Suchomel, Deepak Goel
  • Publication number: 20180137167
    Abstract: A query builder provided according to an aspect of the present invention facilitates users to conveniently generate database queries directed to database servers storing data elements organized according to attributes. In an embodiment, configuration data indicating a comparison predicate to be used for each combination of an attribute and a conditional operation is maintained. A user may then provide as inputs a first attribute, a first conditional operation and a first value. In response, the query builder examines the configuration data to determine a first comparison predicate specified for the combination of the first attribute and the first conditional operation. The query builder incorporates the first value in the first comparison predicate to construct a second comparison predicate and then forms a first database query with the second comparison predicate.
    Type: Application
    Filed: January 16, 2018
    Publication date: May 17, 2018
    Inventor: Deepak Goel
  • Publication number: 20180081567
    Abstract: Methods and apparatus for buffer allocation and memory management are described. A plurality of buffers of a memory may be allocated, by a memory controller, with the buffers having variable sizes. The memory controller may maintain a mapping table that associates each of a plurality of access keys to a respective one of a plurality of page addresses of a plurality of pages of the memory. Each of the buffers may respectively include one or more contiguous pages of the plurality of pages of the memory. Each page of the plurality of pages may include one or more blocks of the memory. The mapping table may include one or more entries organized in a tree structure.
    Type: Application
    Filed: November 9, 2016
    Publication date: March 22, 2018
    Inventors: Deepak Goel, Wael Noureddine, Paul Kim
  • Publication number: 20180081580
    Abstract: Methods and apparatus for buffer allocation and memory management are described. A plurality of buffers of a memory may be allocated, by a memory controller, with the buffers having variable sizes. The memory controller may maintain a mapping table that associates each of a plurality of access keys to a respective one of a plurality of page addresses of a plurality of pages of the memory. Each of the buffers may respectively include one or more contiguous pages of the plurality of pages of the memory. Each page of the plurality of pages may include one or more blocks of the memory.
    Type: Application
    Filed: September 19, 2016
    Publication date: March 22, 2018
    Inventors: Deepak Goel, Pradeep Sindhu, Bertrand Serlet, Wael Noureddine, Paul Kim
  • Patent number: 9904702
    Abstract: A query builder provided according to an aspect of the present invention facilitates users to conveniently generate database queries directed to database servers storing data elements organized according to attributes. In an embodiment, configuration data indicating a comparison predicate to be used for each combination of an attribute and a conditional operation is maintained. A user may then provide as inputs a first attribute, a first conditional operation and a first value. In response, the query builder examines the configuration data to determine a first comparison predicate specified for the combination of the first attribute and the first conditional operation. The query builder incorporates the first value in the first comparison predicate to construct a second comparison predicate and then forms a first database query with the second comparison predicate.
    Type: Grant
    Filed: December 4, 2012
    Date of Patent: February 27, 2018
    Assignee: Oracle International Corporation
    Inventor: Deepak Goel
  • Patent number: 9811453
    Abstract: An apparatus includes a scheduler module operatively coupled to each memory block from a set of memory blocks via a shared address bus. The scheduler module is configured to receive a group of memory commands from a set of memory controllers. Each memory controller from the set of memory controllers is uniquely associated with a different memory block from the set of memory blocks. The scheduler module is configured to classify each memory command from the group of memory commands into a category based at least in part on memory commands previously sent to the set of memory blocks via the shared address bus. The scheduler module is configured to select an order in which to send each memory command from the group of memory commands to the set of memory blocks via the shared address bus based at least in part on the category of each memory command.
    Type: Grant
    Filed: July 31, 2013
    Date of Patent: November 7, 2017
    Assignee: Juniper Networks, Inc.
    Inventors: Srinivas Vaduvatha, Deepak Goel, Shahriar Ilislamloo
  • Patent number: 9756151
    Abstract: Described herein is a method and system for distributing requests and responses across a multi-core system. Each core executes a packet engine that further processes data packets allocated to that core. A flow distributor executing within the multi-core system forwards client requests to a packet engine on a core that is selected based on a value generated when a hash is applied to a tuple comprising a client IP address, a client port, a server IP address and a server port identified in the request. The packet engine maintains the client IP address, selects a first port of the core, and determines whether a hash of a tuple comprising those values identifies the selected core. A modification is then made to the client request so that the client request includes a tuple comprising the client IP address, the server IP address, the first port and the server port.
    Type: Grant
    Filed: July 14, 2014
    Date of Patent: September 5, 2017
    Assignee: CITRIX SYSTEMS, INC.
    Inventor: Deepak Goel
  • Publication number: 20170187624
    Abstract: A device may receive a packet that includes a destination address. The device may analyze a first Bloom filter, based on the destination address, in order to identify a prefix range entry associated with the destination address and included in a set of prefix range entries associated with the first Bloom filter. The device may analyze a second Bloom filter, based on the destination address and the identified prefix range entry, in order to identify a prefix length entry associated with the destination address and included in a set of prefix length entries associated with the second Bloom filter. The device may determine routing information associated with the identified prefix length entry. The routing information may identify a longest prefix match associated with the destination address. The device may provide the packet based on the routing information.
    Type: Application
    Filed: March 9, 2017
    Publication date: June 29, 2017
    Inventors: Deepak Goel, Mugdha G. PATIL, Paul KIM
  • Publication number: 20170187687
    Abstract: A method may include obtaining a match vector that indicates one or more filter rules that are potentially applicable to a packet. The method may include partitioning the match vector into a plurality of segments. The method may include generating a summary vector that identifies one or more portions of the match vector that include one or more match bits. A match bit may indicate one of the one or more filter rules that is potentially applicable to the packet. The method may include obtaining a relevant segment of the match vector. The relevant segment may include at least one of the portions of the match vector identified by the summary vector. The method may include determining a filter rule to apply based on the match vector and based on the one or more match bits. The method may include applying the filter rule to the packet.
    Type: Application
    Filed: March 13, 2017
    Publication date: June 29, 2017
    Inventors: Deepak Goel, Patrick KERHARO, Jigar K. SAVLA
  • Patent number: 9661094
    Abstract: Described herein is a method and system for distributing request and responses across a multi-core system. Each core executes a packet engine that further processes data packets allocated to that core. A flow distributor executing within the multi-core system forwards client requests to a packet engine on a core that is selected based on a value generated when a hash is applied to a tuple comprising a client IP address, a client port, a server IP address and a server port identified in the request. The packet engine selects a first IP address and a first port of the core, and determines whether a hash of a tuple comprising those values identifies the selected core. A modification is then made to the client request so that the client request includes a tuple comprising the first IP address, the server IP address, the first port and the server port.
    Type: Grant
    Filed: February 13, 2015
    Date of Patent: May 23, 2017
    Assignee: CITRIX SYSTEMS, INC.
    Inventors: Deepak Goel, Jyotheesh Rao Kurma, Sandhya Gopinath
  • Publication number: 20170087462
    Abstract: In an embodiment, a method comprises causing, to be displayed to a user through a web page of a social network provider that provides a social network, contest data that indicates an online contest; receiving, at a particular entity, input that indicates an intention by the user to participate in the online contest; sending, from the particular entity, request data that indicates a request, by the particular entity, for one or more permissions that allows the particular entity to access information from the social network provider about the user; after sending the request data, receiving, at the particular entity, acceptance data that indicates that the user accepts the request; in response to receiving the acceptance data, causing the user to be entered in the online contest; wherein the method is performed by one or more computing devices.
    Type: Application
    Filed: December 7, 2016
    Publication date: March 30, 2017
    Inventors: Matthias Eichstaedt, Sunil K. Bopardikar, Deepak Goel
  • Patent number: 9596215
    Abstract: A method may include obtaining a match vector that indicates one or more filter rules that are potentially applicable to a packet. The method may include partitioning the match vector into a plurality of segments. The method may include generating a summary vector that identifies one or more portions of the match vector that include one or more match bits. A match bit may indicate one of the one or more filter rules that is potentially applicable to the packet. The method may include obtaining a relevant segment of the match vector. The relevant segment may include at least one of the portions of the match vector identified by the summary vector. The method may include determining a filter rule to apply based on the match vector and based on the one or more match bits. The method may include applying the filter rule to the packet.
    Type: Grant
    Filed: April 27, 2015
    Date of Patent: March 14, 2017
    Assignee: Juniper Networks, Inc.
    Inventors: Deepak Goel, Patrick Kerharo, Jigar K. Savla
  • Patent number: 9596181
    Abstract: A device may receive a packet that includes a destination address. The device may analyze a first Bloom filter, based on the destination address, in order to identify a prefix range entry associated with the destination address and included in a set of prefix range entries associated with the first Bloom filter. The device may analyze a second Bloom filter, based on the destination address and the identified prefix range entry, in order to identify a prefix length entry associated with the destination address and included in a set of prefix length entries associated with the second Bloom filter. The device may determine routing information associated with the identified prefix length entry. The routing information may identify a longest prefix match associated with the destination address. The device may provide the packet based on the routing information.
    Type: Grant
    Filed: October 20, 2014
    Date of Patent: March 14, 2017
    Assignee: Juniper Networks, Inc.
    Inventors: Deepak Goel, Mugdha G. Patil, Paul Kim
  • Patent number: 9552588
    Abstract: In an embodiment, a method comprises causing, to be displayed to a user through a web page of a social network provider that provides a social network, contest data that indicates an online contest; receiving, at a particular entity, input that indicates an intention by the user to participate in the online contest; sending, from the particular entity, request data that indicates a request, by the particular entity, for one or more permissions that allows the particular entity to access information from the social network provider about the user; after sending the request data, receiving, at the particular entity, acceptance data that indicates that the user accepts the request; in response to receiving the acceptance data, causing the user to be entered in the online contest; wherein the method is performed by one or more computing devices.
    Type: Grant
    Filed: July 2, 2012
    Date of Patent: January 24, 2017
    Assignee: Quotient Technology Inc.
    Inventors: Matthias Eichstaedt, Sunil K. Bopardikar, Deepak Goel