Patents by Inventor Mohit Saxena

Mohit Saxena 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: 20170139834
    Abstract: In one embodiment, a system includes a cache storage device and a processor and logic integrated with and/or executable by the processor. The logic is configured to receive a write request including data to be written to the cache storage device. The logic is also configured to determine a size of the write request. Moreover, the logic is configured to select a chunk size from among a plurality of chunk sizes designated for storing data in the cache storage device. In addition, the logic is configured to allocate a fine block descriptor (FBD) having the selected chunk size to the write request.
    Type: Application
    Filed: November 17, 2015
    Publication date: May 18, 2017
    Inventors: Aayush Gupta, James L. Hafner, Mohit Saxena
  • Publication number: 20170139832
    Abstract: In one embodiment, a system includes a cache storage device and a processor and logic integrated with and/or executable by the processor. The logic is configured to receive a plurality of access requests for data in the cache storage device, each request being directed to data in a common cache block descriptor (CBD). The CBD stores metadata corresponding to a storage location of the data in the cache storage device. The logic is also configured to update a request queue to reflect each access request from the plurality of access requests in an order in which individual access requests were received. Moreover, the logic is configured to delay at least some overlapping access requests.
    Type: Application
    Filed: November 17, 2015
    Publication date: May 18, 2017
    Inventors: Aayush Gupta, James L. Hafner, Mohit Saxena
  • Publication number: 20170124138
    Abstract: In one embodiment, a computer-implemented method for object-granular policy assignment in an object storage environment includes: automatically assigning a plurality of objects stored within the object storage environment to one or more policies; and locating one or more of the objects among a plurality of policy rings within the object storage environment based on semantics of the one or more policies. A virtual namespace maps each object to at least one of the policy rings based on the one or more policies assigned to the object; and the virtual namespace is scalable with a number of the plurality of objects stored within the object storage environment. Corresponding systems and computer program products are also disclosed.
    Type: Application
    Filed: November 3, 2015
    Publication date: May 4, 2017
    Inventors: Nagapramod S. Mandagere, Mohit Saxena
  • Publication number: 20170083539
    Abstract: The embodiments relate to performing a write operation in a filesystem. Replica files embedded with respective sets of data are stored are on persistent storage local to replica nodes of the filesystem. The storage includes atomically updating the replica files to the replica nodes. Each set of data has information for self-characterizing each replica file. A map stored at persistent storage local to a remote node is updated. The map maintains information for identifying each replica file stored at each replica node.
    Type: Application
    Filed: September 22, 2015
    Publication date: March 23, 2017
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventor: Mohit Saxena
  • Publication number: 20170077961
    Abstract: Embodiments relate to dynamically selecting an erasure code. State data is tracked to ascertain frequency of file access. One of at least two erasure codes are selected based on the tracked state data in order to lower data recovery cost. The erasure code may be selected as either a product code or a local reconstruction code. Each erasure code includes a mode that is either a fast code or a compact code. The fast code features a low recovery cost and the compact code features a low storage overhead for less frequently accessed data. Data is encoded with one of the selected erasure codes and one of the modes of the selected erasure code. Data blocks are dynamically converted between the fast and compact codes of the selected erasure code responsive to a workload change.
    Type: Application
    Filed: November 29, 2016
    Publication date: March 16, 2017
    Applicant: International Business Machines Corporation
    Inventors: Mario Blaum, James L. Hafner, David A. Pease, Mohit Saxena, Mingyuan Xia
  • Patent number: 9595979
    Abstract: Embodiments relate to a system with multiple erasure codes, and selecting and encoding for a write file with one of the codes to mitigate costs associated with storage recovery. The codes include a fast recovery code for frequently accessed data and a higher storage efficiency code for less frequently accessed data. State data is tracked to ascertain frequency of access to the file. One of the erasure codes is dynamically selected based on the tracked data, with the focus of the code select to lower recovery costs, and the data is encoded with the selected erasure code. Accordingly, the original coding of the write file is subject to change based on the tracked state data.
    Type: Grant
    Filed: January 20, 2015
    Date of Patent: March 14, 2017
    Assignee: International Business Machines Corporation
    Inventors: Mario Blaum, James L. Hafner, David A. Pease, Mohit Saxena, Mingyuan Xia
  • Patent number: 9521088
    Abstract: A packet quota value, which indicates a maximum number of network packets that a network appliance processes before switching to a different task, is modified. Log data, which includes multiple log entries spanning a time interval, is accessed. Each log entry includes a processing time that indicates how much time the network appliance spent performing network traffic tasks before switching to the different task. The log data is analyzed. Responsive to the analysis indicating that a current state of network traffic is heavier than a maximum state of network traffic that was observed during the time interval, the packet quota value is increased. Responsive to the analysis indicating that the current state of network traffic is lighter than a minimum state of network traffic that was observed during the time interval, the packet quota value is decreased.
    Type: Grant
    Filed: May 9, 2013
    Date of Patent: December 13, 2016
    Assignee: Citrix Systems, Inc.
    Inventors: Mohit Saxena, Ramanjaneyulu Y Talla, Saravana Annamalaisami
  • Publication number: 20160336970
    Abstract: Embodiments relate to a system with multiple erasure codes, and selecting and encoding for a write file with one of the codes to mitigate costs associated with storage recovery. The codes include a fast recovery code for frequently accessed data and a higher storage efficiency code for less frequently accessed data. State data is tracked to ascertain frequency of access to the file. One of the erasure codes is dynamically selected based on the tracked data, with the focus of the code select to lower recovery costs, and the data is encoded with the selected erasure code. Accordingly, the original coding of the write file is subject to change based on the tracked state data.
    Type: Application
    Filed: August 1, 2016
    Publication date: November 17, 2016
    Applicant: International Business Machines Corporation
    Inventors: Mario Blaum, James L. Hafner, David A. Pease, Mohit Saxena, Mingyuan Xia
  • Publication number: 20160232016
    Abstract: Embodiments of the invention relate to a para-virtual I/O system. A state of a filesystem associated with a para-virtual I/O system is updated, which includes performing semantic journaling in support of the update. The semantic journaling includes writing one or more data blocks and logging metadata updates to a journal. A cache flush request is received and classified based on semantic information of the system. The classification provides an order of commands for processing the received request. The classification is converted into an order of committed writes, and the order of committed writes is processed. The processing includes enforcing the order of committed writes to provide a consistent virtual disk image.
    Type: Application
    Filed: April 15, 2016
    Publication date: August 11, 2016
    Applicant: International Business Machines Corporation
    Inventors: David A. Pease, Mohit Saxena, Pin Zhou
  • Publication number: 20160224580
    Abstract: A filesystem includes a pool of data blocks and a pool of index blocks. Non-overlapping subpools of data blocks, including a first subpool of data blocks and a second subpool of data blocks, are identified within the pool of data blocks. Likewise, non-overlapping subpools of index blocks, including a first subpool of index blocks and a second subpool of index blocks, are identified within the pool of index blocks. A first file group is mounted within a global namespace on a first mount point on the filesystem. A second file group is also mounted within the global namespace on a second mount point on the filesystem. The first subpool of data blocks and the first subpool of index blocks are allocated to the first mounted file group, and the second subpool of data blocks and the second subpool of index blocks are allocated to the second mounted file group.
    Type: Application
    Filed: February 4, 2015
    Publication date: August 4, 2016
    Inventors: Reshu Jain, Prasenjit Sarkar, Mohit Saxena, Rui Zhang
  • Publication number: 20160211869
    Abstract: Embodiments relate to a system with multiple erasure codes, and selecting and encoding for a write file with one of the codes to mitigate costs associated with storage recovery. The codes include a fast recovery code for frequently accessed data and a higher storage efficiency code for less frequently accessed data. State data is tracked to ascertain frequency of access to the file. One of the erasure codes is dynamically selected based on the tracked data, with the focus of the code select to lower recovery costs, and the data is encoded with the selected erasure code. Accordingly, the original coding of the write file is subject to change based on the tracked state data.
    Type: Application
    Filed: January 20, 2015
    Publication date: July 21, 2016
    Applicant: International Business Machines Corporation
    Inventors: Mario Blaum, James L. Hafner, David A. Pease, Mohit Saxena, Mingyuan Xia
  • Patent number: 9384142
    Abstract: Embodiments of the invention relate to a para-virtual I/O system. A consistent para-virtual I.O system architecture is provided with a new virtual disk interface and a semantic journaling mechanism. The virtual disk interface is extended with two primitives for flushing and ordering I/O, both of the primitives being exported to para-virtual I/O drivers in a guest operating system. The ordering primitive guarantees ordering of preceeding writes, and the flushing primitive enforces order and durability. The guest drivers selectively uses both of these primitives based on semantics of the data being persisted from the para-virtual cache hierarchy to physical disk. The order of committed writes is enforced in order to enable a consistent start recovered after a crash.
    Type: Grant
    Filed: September 16, 2014
    Date of Patent: July 5, 2016
    Assignee: International Business Machines Corporation
    Inventors: David A. Pease, Mohit Saxena, Pin Zhou
  • Publication number: 20160124812
    Abstract: A method for storing and recovering data for a file system includes a write process that performs a write instruction for data that includes atomically updating corresponding data blocks and metadata-links on a storage medium. The metadata-links contain links from data blocks to parent metadata blocks and links from metadata blocks to the parent metadata blocks. A journal-less recovery process that detects one or more inconsistencies for file system blocks comprising data blocks or metadata blocks upon a system failure based on one or more comparisons of information for the file system blocks.
    Type: Application
    Filed: November 4, 2014
    Publication date: May 5, 2016
    Inventors: Prasenjit Sarkar, Mohit Saxena
  • Publication number: 20160077972
    Abstract: Embodiments of the invention relate to a para-virtual I/O system. A consistent para-virtual I.O system architecture is provided with a new virtual disk interface and a semantic journaling mechanism. The virtual disk interface is extended with two primitives for flushing and ordering I/O, both of the primitives being exported to para-virtual I/O drivers in a guest operating system. The ordering primitive guarantees ordering of preceeding writes, and the flushing primitive enforces order and durability. The guest drivers selectively uses both of these primitives based on semantics of the data being persisted from the para-virtual cache hierarchy to physical disk. The order of committed writes is enforced in order to enable a consistent start recovered after a crash.
    Type: Application
    Filed: September 16, 2014
    Publication date: March 17, 2016
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: David A. Pease, Mohit Saxena, Pin Zhou
  • Publication number: 20150301883
    Abstract: The present disclosure describes systems and methods for propagating port state to intermediary devices of a cluster in a static link aggregation environment. The methods and systems include a cluster comprising a plurality of intermediary devices in communication with a network device via a static link aggregation comprising aggregated ports from different intermediary devices of the cluster. A first device of the static link aggregation is configured to detect that a health of the first device is below a predetermined threshold and, responsive to the detection, identify one or more ports in the aggregated ports as down. A second device of the link aggregation is configured to, responsive to the identification, remove the ports from a distribution list for the static link aggregation. Upon detection that a health of a device is above a predetermined threshold, the first device may identify the ports as up.
    Type: Application
    Filed: June 29, 2015
    Publication date: October 22, 2015
    Inventors: Ramanjaneyulu Y. Talla, Aakash Jain, Narendra Kataria, Sandhya Gopinath, Mohit Saxena
  • Patent number: 9124514
    Abstract: The present application is directed towards sharing data link layer information of network traffic distributed across a cluster of intermediary devices. A method for sharing data link layer information across a cluster includes receiving a request packet at a first intermediary device. The first intermediary device identifies a first set of data link layer information from a data link layer of the request packet. The first intermediary device modifies the request packet for transmission on a common data backplane of the cluster to include the first set of data link layer information in the request packet. The modified request packet includes a second set of data link layer information that differs from the first set of data link layer information at the data link layer. The first intermediary device transmits the modified request packet on the common data backplane of the cluster to other devices of the cluster.
    Type: Grant
    Filed: June 15, 2012
    Date of Patent: September 1, 2015
    Assignee: CITRIX SYSTEMS, INC.
    Inventors: Sandhya Gopinath, Abhishek Chauhan, Henk Bots, Mohit Saxena, Ramanjaneyulu Y Talla, Vivekanand Rangaraman
  • Patent number: 9071537
    Abstract: The present disclosure describes systems and methods for propagating port state to intermediary devices of a cluster in a static link aggregation environment. The methods and systems include a cluster comprising a plurality of intermediary devices in communication with a network device via a static link aggregation comprising aggregated ports from different intermediary devices of the cluster. A first device of the static link aggregation is configured to detect that a health of the first device is below a predetermined threshold and, responsive to the detection, identify one or more ports in the aggregated ports as down. A second device of the link aggregation is configured to, responsive to the identification, remove the ports from a distribution list for the static link aggregation. Upon detection that a health of a device is above a predetermined threshold, the first device may identify the ports as up.
    Type: Grant
    Filed: June 15, 2012
    Date of Patent: June 30, 2015
    Assignee: CITRIX SYSTEMS, INC.
    Inventors: Ramanjaneyulu Y Talla, Aakash Jain, Narendra Kataria, Sandhya Gopinath, Mohit Saxena
  • Publication number: 20140237172
    Abstract: A transactional memory system uses a volatile memory as primary storage for transactions. Data is selectively stored in a non-volatile memory to impart durability to the transactional memory system to allow the transactional memory system to be restored to a consistent state in the event of data loss to the volatile memory.
    Type: Application
    Filed: September 14, 2011
    Publication date: August 21, 2014
    Inventors: Mehul A. Shah, Slavros Hartzopoulos, Arif A. Merchant, Mohit Saxena
  • Patent number: 8644157
    Abstract: The present solution is directed to a system for handling network interface card (NIC) congestion by a NIC aware application. The system may include a device having a plurality of network interface cards (NICs), a transmission queue corresponding to a NIC of the plurality of NICs; and an overflow queue for storing packets for the NIC when congested. The system may also include an application executing on the device outputting a plurality of packets to the transmission queue responsive to detecting that the NIC is identified as not congested. The device identifies the NIC as congested responsive to determining that a number of packets stored in the transmission queue has reached a predetermined threshold and responsive to detecting identification of the NIC as congested, the application stores one or more packets to the overflow queue. The device transmits one or more of the plurality of packets stored in the transmission queue and transmits a predetermined number of packets from the overflow queue.
    Type: Grant
    Filed: March 28, 2011
    Date of Patent: February 4, 2014
    Assignee: Citrix Systems, Inc.
    Inventors: Ashok Kumar Jagadeeswaran, Saravana Annamalaisami, Ramanjaneyulu Talla, Jyotheesh Rao Kurma, Mohit Saxena
  • Publication number: 20130336337
    Abstract: The present application is directed towards sharing data link layer information of network traffic distributed across a cluster of intermediary devices. A method for sharing data link layer information across a cluster includes receiving a request packet at a first intermediary device. The first intermediary device identifies a first set of data link layer information from a data link layer of the request packet. The first intermediary device modifies the request packet for transmission on a common data backplane of the cluster to include the first set of data link layer information in the request packet. The modified request packet includes a second set of data link layer information that differs from the first set of data link layer information at the data link layer. The first intermediary device transmits the modified request packet on the common data backplane of the cluster to other devices of the cluster.
    Type: Application
    Filed: June 15, 2012
    Publication date: December 19, 2013
    Inventors: SANDHYA GOPINATH, ABHISHEK CHAUHAN, HENK BOTS, MOHIT SAXENA, RAMANJANEYULU Y. TALLA, VIVEKANAND RANGARAMAN