Patents by Inventor Dushyanth Narayanan

Dushyanth Narayanan 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: 11894035
    Abstract: A holographic data storage system comprises an emitter system, a holographic recording medium, and an input waveguide network formed of one or more multimode optical waveguides. The holographic recording medium has multiple recording regions, each optically coupled to a corresponding one of multiple out-coupling regions of the input waveguide network, the holographic data storage system arranged to persistently write data of an input beam, received at any one of the out-coupling regions, to the corresponding recording region. A controller is coupled to at least one of the emitter system and at least one controllable guiding element of the input waveguide network and controls at least one optical characteristic of the input beam or the at least one guiding element, so as to guide the input beam from an in-coupling region to any selected one of the multiple out-coupling regions. Similar waveguide networks are provided for carrying reference and output beams.
    Type: Grant
    Filed: February 22, 2021
    Date of Patent: February 6, 2024
    Assignee: Microsoft Technology Licensing, LLC.
    Inventors: Douglas James Kelly, Benn Charles Thomsen, Dushyanth Narayanan, Antony Ian Taylor Rowstron, Andreas Georgiou
  • Publication number: 20230360674
    Abstract: A holographic data storage system comprises an emitter system, a holographic recording medium, and an input waveguide network formed of one or more multimode optical waveguides. The holographic recording medium has multiple recording regions, each optically coupled to a corresponding one of multiple out-coupling regions of the input waveguide network, the holographic data storage system arranged to persistently write data of an input beam, received at any one of the out-coupling regions, to the corresponding recording region. A controller is coupled to at least one of the emitter system and at least one controllable guiding element of the input waveguide network and controls at least one optical characteristic of the input beam or the at least one guiding element, so as to guide the input beam from an in-coupling region to any selected one of the multiple out-coupling regions. Similar waveguide networks are provided for carrying reference and output beams.
    Type: Application
    Filed: February 22, 2021
    Publication date: November 9, 2023
    Inventors: Douglas James KELLY, Benn Charles THOMSEN, Dushyanth NARAYANAN, Antony Ian Taylor ROWSTRON, Andreas GEORGIOU
  • Publication number: 20230120717
    Abstract: A method of performing a write operation in a holographic data storage system, in which schedule schedules at least one write operation across multiple non-contiguous write intervals, the write operation pertaining to a set of data to be stored in a region of a holographic recording medium. In each of the non-contiguous write intervals, the region of the holographic recording medium is exposed to an interference pattern caused by interference between a reference beam and an input beam carrying the set of data. The multiple non-contiguous write intervals have a total aggregate duration of sufficient length to cause a persistent state change in the exposed region, such that the set of data is recoverable from that region by the end of a final write interval of the multiple non-contiguous write intervals.
    Type: Application
    Filed: February 22, 2021
    Publication date: April 20, 2023
    Inventors: Jiaqi CHU, Benn Charles THOMSEN, Dushyanth NARAYANAN, Antony Ian Taylor ROWSTRON
  • Publication number: 20230104873
    Abstract: In an optical data transfer system, a beam modulator is configured to embed a set of data in an input beam. A multimode optical waveguide network has an in-coupling region for receiving the input beam. The multimode optical waveguide network is configured to guide the input beam to an out-coupling region of the multimode optical waveguide network. A spatial coherent detector is configured to measure a phase and an amplitude of an output optical field at multiple locations. The output optical field is at least partially defined by the input beam and thus exhibiting distortion effects caused by the passage of the beam through the multimode waveguide network. Signal processing is applied to an output of the spatial coherent detector, in order to compensate for the distortion effects, and thereby recover, from the output of the spatial coherent detector, the set of data embedded in the input beam.
    Type: Application
    Filed: March 15, 2021
    Publication date: April 6, 2023
    Inventors: Douglas James KELLY, Benn Charles THOMSEN, Dushyanth NARAYANAN, Antony Ian Taylor ROWSTRON
  • Publication number: 20230048079
    Abstract: A multimode optical waveguide network comprises a parent waveguide and a plurality of child waveguides. Each waveguide is a multimode optical waveguide having a first surface region, multiple second surface regions, and at least one guiding element attached to a surface of the waveguide or embedded within the waveguide, each second surface region of the parent waveguide optically coupled to the first surface region of a corresponding child waveguide. The guiding element(s) of the parent waveguide is arranged to guide a beam, from or to its first surface region, to or from any selected second surface region of its multiple second surface regions. The guiding element(s) of each of the waveguides is configurable for selecting the second surface region of that waveguide and/or responsive to at least one beam characteristic for selecting the second surface region of that waveguide via modulation of the at least one beam characteristic.
    Type: Application
    Filed: February 22, 2021
    Publication date: February 16, 2023
    Inventors: Douglas James KELLY, Benn Charles THOMSEN, Dushyanth NARAYANAN, Antony Ian Taylor ROWSTRON, Andreas GEORGIOU
  • Patent number: 11157038
    Abstract: In various examples, there is provided methods performed by nodes in a cluster of nodes to establish a master clock at a new master node following a reconfiguration of the nodes included in the cluster, whereby the master clock is provided by an old master node prior to the reconfiguration, and synchronize a local clock of slave nodes to clock of the new master node. The new master node sends a message to the slave nodes instructing them to disable their respective local clocks, receives acknowledgements that the local clocks have been disabled, waits until a time at which all leases have expired for any nodes removed from the cluster, sets the value of its clock to be greater than a maximum value that could have been provided by the old master node at the time the leases expired and indicates to the other nodes to re-enable their local clocks.
    Type: Grant
    Filed: March 2, 2020
    Date of Patent: October 26, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Miguel Castro, Dushyanth Narayanan, Aleksandar Dragojevic, Matthew Renzelmann, Alexander Shamis, Richendra Khanna, Stanko Novakovic, Anders Gjerdrum, Georgios Chatzopoulos
  • Patent number: 10929376
    Abstract: In various examples, there is provided methods performed by nodes in a cluster of nodes for performing transactions comprising one or more read operations and/or one or more write operations. The node comprises a local clock which is synchronized with a master clock and maintains a measure of uncertainty indicating current minimum and maximum values of the master clock. The method to perform transactions involving read operations generates a read timestamp representing a point in time which is earlier than a current minimum value of the master clock. The method then reads the objects and determines, for each of them, whether a timestamp associated with that object is later than the read timestamp. If so, an error handling procedure is performed for that object.
    Type: Grant
    Filed: March 22, 2018
    Date of Patent: February 23, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Miguel Castro, Dushyanth Narayanan, Aleksandar Dragojevic, Matthew Renzelmann, Alexander Shamis, Richendra Khanna, Stanko Novakovic, Anders Gjerdrum, Georgios Chatzopoulos
  • Patent number: 10810179
    Abstract: A distributed graph database that enables scaling and efficient processing is described. The distributed graph database can, for example, scale up to petabytes of data to enable transactional processing of graph data with low latency and low processing overhead. The distributed graph database can include a cluster of devices and a remote direct memory access (RDMA)-based communication layer to perform low latency messaging between devices of the cluster of devices. Additionally, the distributed graph database can include a shared memory layer that provides one or more data structures, a transaction layer to facilitate query processing, and a graph database layer stored in computer-readable media and executed on a processor to implement a graph data model. In at least one example, the graph data model can be mapped to the one or more data structures.
    Type: Grant
    Filed: May 13, 2016
    Date of Patent: October 20, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Knut Magne Risvik, Ming-Chuan Wu, Dushyanth Narayanan, Matthew Renzelmann, Alexander Shamis, Miguel Oom Temudo De Castro, Aleksandar Dragojevic, Chiranjeeb Buragohain, Richendra Khanna, Timothy Tan
  • Publication number: 20200201381
    Abstract: In various examples, there is provided methods performed by nodes in a cluster of nodes to establish a master clock at a new master node following a reconfiguration of the nodes included in the cluster, whereby the master clock is provided by an old master node prior to the reconfiguration, and synchronize a local clock of slave nodes to clock of the new master node. The new master node sends a message to the slave nodes instructing them to disable their respective local clocks, receives acknowledgements that the local clocks have been disabled, waits until a time at which all leases have expired for any nodes removed from the cluster, sets the value of its clock to be greater than a maximum value that could have been provided by the old master node at the time the leases expired and indicates to the other nodes to re-enable their local clocks.
    Type: Application
    Filed: March 2, 2020
    Publication date: June 25, 2020
    Inventors: Miguel Castro, Dushyanth Narayanan, Aleksandar Dragojevic, Matthew Renzelmann, Alexander Shamis, Richendra Khanna, Stanko Novakovic, Anders Gjerdrum, Georgios Chatzopoulos
  • Patent number: 10678445
    Abstract: A server at a cluster of servers in a data center is described. The server comprises a memory which is part of a distributed memory of the cluster. The server has at least one processor executing transactions and lock-free reads on software objects stored in regions of the distributed memory, the software objects and details of the transactions being replicated in the distributed memory. The server has a network interface card arranged to receive a message indicating a new configuration of the cluster comprising addition, removal or potential failure of at least one of the other servers. The processor is configured to use a recovery process which enables the lock-free reads and committed ones of the transactions to retain the properties of atomicity, consistency, isolation and durability across configuration changes.
    Type: Grant
    Filed: July 20, 2015
    Date of Patent: June 9, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Dushyanth Narayanan, Aleksandar Dragojevic, Miguel Oom Temudo de Castro
  • Patent number: 10613578
    Abstract: In various examples, there is provided methods performed by nodes in a cluster of nodes to establish a master clock at a new master node following a reconfiguration of the nodes included in the cluster, whereby the master clock is provided by an old master node prior to the reconfiguration, and synchronize a local clock of slave nodes to clock of the new master node. The new master node sends a message to the slave nodes instructing them to disable their respective local clocks, receives acknowledgements that the local clocks have been disabled, waits until a time at which all leases have expired for any nodes removed from the cluster, sets the value of its clock to be greater than a maximum value that could have been provided by the old master node at the time the leases expired and indicates to the other nodes to re-enable their local clocks.
    Type: Grant
    Filed: March 22, 2018
    Date of Patent: April 7, 2020
    Assignee: CLOCK SYNCHRONIZATION
    Inventors: Miguel Castro, Dushyanth Narayanan, Aleksandar Dragojevic, Matthew Renzelmann, Alexander Shamis, Richendra Khanna, Stanko Novakovic, Anders Gjerdrum, Georgios Chatzopoulos
  • Publication number: 20190294711
    Abstract: In various examples, there is provided methods performed by nodes in a cluster of nodes for performing transactions comprising one or more read operations and/or one or more write operations. The node comprises a local clock which is synchronized with a master clock and maintains a measure of uncertainty indicating current minimum and maximum values of the master clock. The method to perform transactions involving read operations generates a read timestamp representing a point in time which is earlier than a current minimum value of the master clock. The method then reads the objects and determines, for each of them, whether a timestamp associated with that object is later than the read timestamp. If so, an error handling procedure is performed for that object.
    Type: Application
    Filed: March 22, 2018
    Publication date: September 26, 2019
    Inventors: Miguel CASTRO, Dushyanth NARAYANAN, Aleksandar DRAGOJEVIC, Matthew James RENZELMANN, Alexander SHAMIS, Richendra KHANNA, Stanko NOVAKOVIC, Anders GJERDRUM, Georgios CHATZOPOULOS
  • Publication number: 20190294204
    Abstract: In various examples, there is provided methods performed by nodes in a cluster of nodes to establish a master clock at a new master node following a reconfiguration of the nodes included in the cluster, whereby the master clock is provided by an old master node prior to the reconfiguration, and synchronize a local clock of slave nodes to clock of the new master node. The new master node sends a message to the slave nodes instructing them to disable their respective local clocks, receives acknowledgements that the local clocks have been disabled, waits until a time at which all leases have expired for any nodes removed from the cluster, sets the value of its clock to be greater than a maximum value that could have been provided by the old master node at the time the leases expired and indicates to the other nodes to re-enable their local clocks.
    Type: Application
    Filed: March 22, 2018
    Publication date: September 26, 2019
    Inventors: Miguel CASTRO, Dushyanth NARAYANAN, Aleksandar DRAGOJEVIC, Matthew RENZELMANN, Alexander SHAMIS, Richendra KHANNA, Stanko NOVAKOVIC, Anders GJERDRUM, Georgios CHATZOPOULOS
  • Patent number: 9817860
    Abstract: Methods of generating filters automatically from data processing jobs are described. In an embodiment, these filters are automatically generated from a compiled version of the data processing job using static analysis which is applied to a high-level representation of the job. The executable filter is arranged to suppress rows and/or columns within the data to which the job is applied and which do not affect the output of the job. The filters are generated by a filter generator and then stored and applied dynamically at a filtering proxy that may be co-located with the storage node that holds the data. In another embodiment, the filtered data may be cached close to a compute node which runs the job and data may be provided to the compute node from the local cache rather than from the filtering proxy.
    Type: Grant
    Filed: December 13, 2011
    Date of Patent: November 14, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Christos Gkantsidis, Dimitrios Vytiniotis, Orion Hodson, Dushyanth Narayanan, Antony Rowstron
  • Publication number: 20170091246
    Abstract: A distributed graph database that enables scaling and efficient processing is described. The distributed graph database can, for example, scale up to petabytes of data to enable transactional processing of graph data with low latency and low processing overhead. The distributed graph database can include a cluster of devices and a remote direct memory access (RDMA)-based communication layer to perform low latency messaging between devices of the cluster of devices. Additionally, the distributed graph database can include a shared memory layer that provides one or more data structures, a transaction layer to facilitate query processing, and a graph database layer stored in computer-readable media and executed on a processor to implement a graph data model. In at least one example, the graph data model can be mapped to the one or more data structures.
    Type: Application
    Filed: May 13, 2016
    Publication date: March 30, 2017
    Inventors: Knut Magne Risvik, Ming-Chuan Wu, Dushyanth Narayanan, Matthew Renzelmann, Alexander Shamis, Miguel Oom Temudo De Castro, Aleksandar Dragojevic, Chiranjeeb Buragohain, Richendra Khanna, Timothy Tan
  • Publication number: 20160364158
    Abstract: A server at a cluster of servers in a data center is described. The server comprises a memory which is part of a distributed memory of the cluster. The server has at least one processor executing transactions and lock-free reads on software objects stored in regions of the distributed memory, the software objects and details of the transactions being replicated in the distributed memory. The server has a network interface card arranged to receive a message indicating a new configuration of the cluster comprising addition, removal or potential failure of at least one of the other servers. The processor is configured to use a recovery process which enables the lock-free reads and committed ones of the transactions to retain the properties of atomicity, consistency, isolation and durability across configuration changes.
    Type: Application
    Filed: July 20, 2015
    Publication date: December 15, 2016
    Inventors: Dushyanth Narayanan, Aleksandar Dragojevic, Miguel Oom Temudo de Castro
  • Patent number: 8819236
    Abstract: Resource optimization for online services is described. In one example, objects (such as mailboxes or other data associated with an online service) are assigned to network elements (such as servers) by inferring a relationship graph from log data relating to usage of the online service. The graph has a node for each object, and connections between each pair of objects having data items in common. Each connection has a weight relating to the number of common data items. The graph is partitioned into a set of clusters, such that each cluster has nodes joined by connections with a high weight relative to the weight of connections between nodes in different clusters. The objects are then distributed to the network elements such that objects corresponding to nodes in the same cluster are located on the same network element.
    Type: Grant
    Filed: December 16, 2010
    Date of Patent: August 26, 2014
    Assignee: Microsoft Corporation
    Inventors: Christos Gkantsidis, Thomas Karagiannis, Dushyanth Narayanan, Antony Rowstron
  • Publication number: 20130152088
    Abstract: Methods of generating filters automatically from data processing jobs are described. In an embodiment, these filters are automatically generated from a compiled version of the data processing job using static analysis which is applied to a high-level representation of the job. The executable filter is arranged to suppress rows and/or columns within the data to which the job is applied and which do not affect the output of the job. The filters are generated by a filter generator and then stored and applied dynamically at a filtering proxy that may be co-located with the storage node that holds the data. In another embodiment, the filtered data may be cached close to a compute node which runs the job and data may be provided to the compute node from the local cache rather than from the filtering proxy.
    Type: Application
    Filed: December 13, 2011
    Publication date: June 13, 2013
    Applicant: Microsoft Corporation
    Inventors: Christos Gkantsidis, Dimitrios Vytiniotis, Orion Hodson, Dushyanth Narayanan, Antony Rowstron
  • Patent number: 8458514
    Abstract: Methods of memory management are described which can accommodate non-maskable failures in pages of physical memory. In an embodiment, when an impending non-maskable failure in a page of memory is identified, a pristine page of physical memory is used to replace the page containing the impending failure and memory mappings are updated to remap virtual pages from the failed page to the pristine page. When a new page of virtual memory is then allocated by a process, the failed page may be reused if the process identifies that it can accommodate failures and the process is provided with location information for impending failures. In another embodiment, a process may expose information on failure-tolerant regions of virtual address space such that a physical page of memory containing failures only in failure-tolerant regions may be used to store the data instead of using a pristine page.
    Type: Grant
    Filed: December 10, 2010
    Date of Patent: June 4, 2013
    Assignee: Microsoft Corporation
    Inventors: Timothy Harris, Karin Strauss, Orion Hodson, Dushyanth Narayanan
  • Patent number: 8375141
    Abstract: Methods of querying a large number of endsystems are described in which metadata is replicated between endsystems. When a query is injected, an available endsystem receives a message relating to the query which identifies a range of endsystems for which that available endsystem is responsible. The available endsystem then generates completeness data for the range of endsystems based on data stored at the endsystem and this completeness data is transmitted to the sender of the message. The methods may be implemented using device-executable instructions which may be stored on device readable media.
    Type: Grant
    Filed: September 29, 2006
    Date of Patent: February 12, 2013
    Assignee: Microsoft Corporation
    Inventors: Antony Rowstron, Richard Mortier, Austin Donnelly, Dushyanth Narayanan