Patents by Inventor Siddhartha Puri

Siddhartha Puri 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: 8918478
    Abstract: Embodiments of erasure coded storage aggregation are disclosed. The erasure coded storage aggregation includes storing a data file as erasure coded fragments in a plurality of nodes of one or more data centers. The erasure coded storage aggregation further includes monitoring an access frequency of the data file. Based on the comparison between the access frequency and a predetermined threshold, the data file is either reconstructed from the erasure coded fragments and stored in a storage node or retained as erasure coded fragments in the plurality of nodes of the one or more data centers.
    Type: Grant
    Filed: June 3, 2013
    Date of Patent: December 23, 2014
    Assignee: Microsoft Corporation
    Inventors: Raymond E. Ozzie, John D. Mehr, Siddhartha Puri, Samuel J. McKelvie, Bradley Calder, Matt Pope
  • Patent number: 8671401
    Abstract: Described is a technology by which a series of loop nests corresponding to source code are detected by a compiler, with the series of loop nests tiled together, (thereby increasing the ratio of cache hits to misses in a multi-processor environment). The compiler transforms the series of loop nests into a plurality of tile loops within a controller loop, including using dependency analysis to determine which results from a tile loop need to be pre-computed before another tile loop. For dependency analysis, the compiler may use a directed acyclic graph as a high-level intermediate representation, and split the graph into sub-graphs each representing an array. The compiler uses descriptors processed from the graph to determine the controller loop and the tile loops within that controller loop.
    Type: Grant
    Filed: April 9, 2007
    Date of Patent: March 11, 2014
    Assignee: Microsoft Corporation
    Inventors: Siddhartha Puri, Jaydeep P. Marathe
  • Patent number: 8626566
    Abstract: Providing a market design for a peer-to-peer resource exchange system. Prices for a plurality of resources such as storage space, upload bandwidth, and download bandwidth are calculated and balanced based on previous resource prices, a supply of the resources, and a demand for the resources. Further, prices for operations such as storage and retrieval are determined such that a total of the payments to resource suppliers equals a total of the payments received from the resource consumers. In some embodiments, incoming data operation requests are allocated to the peers such that equilibrium among the peers is achieved.
    Type: Grant
    Filed: December 19, 2011
    Date of Patent: January 7, 2014
    Assignee: Microsoft Corporation
    Inventors: Sven Seuken, Denis Xavier Charles, David Maxwell Chickering, Siddhartha Puri
  • Publication number: 20130275390
    Abstract: Embodiments of erasure coded storage aggregation are disclosed. The erasure coded storage aggregation includes storing a data file as erasure coded fragments in a plurality of nodes of one or more data centers. The erasure coded storage aggregation further includes monitoring an access frequency of the data file. Based on the comparison between the access frequency and a predetermined threshold, the data file is either reconstructed from the erasure coded fragments and stored in a storage node or retained as erasure coded fragments in the plurality of nodes of the one or more data centers.
    Type: Application
    Filed: June 3, 2013
    Publication date: October 17, 2013
    Inventors: Raymond E. Ozzie, John D. Mehr, Siddhartha Puri, Samuel J. McKelvie, Bradley Calder, Matt Pope
  • Patent number: 8533357
    Abstract: A mechanism for sending structured data using a corresponding byte stream. Upon accessing structured data such as a Simple Object Access Protocol (SOAP) envelope, a byte stream is generated. The byte stream includes bytes that represent the structured data, as well as a collection of bytes that represents properties about the byte stream such as, for example, a mode of communication. The byte stream may then be passed to a communication module (e.g., a TCP or Named Pipes module) capable of receiving and transmitting the byte stream.
    Type: Grant
    Filed: December 3, 2004
    Date of Patent: September 10, 2013
    Assignee: Microsoft Corporation
    Inventors: Kenneth D. Wolf, Michael Steven Vernal, Christopher G. Kaler, Elliot Lee Waingold, Erik Bo Christensen, Jeffrey C. Schlimmer, Martin James Gudgin, Siddhartha Puri
  • Patent number: 8458287
    Abstract: Embodiments of erasure coded storage aggregation are disclosed. The erasure coded storage aggregation includes storing a data file as erasure coded fragments in a plurality of nodes of one or more data centers. The erasure coded storage aggregation further includes monitoring an access frequency of the data file. Based on the comparison between the access frequency and a predetermined threshold, the data file is either reconstructed from the erasure coded fragments and stored in a storage node or retained as erasure coded fragments in the plurality of nodes of the one or more data centers.
    Type: Grant
    Filed: July 31, 2009
    Date of Patent: June 4, 2013
    Assignee: Microsoft Corporation
    Inventors: Raymond E. Ozzie, John D. Mehr, Siddhartha Puri, Samuel J. McKelvie, Bradley Calder, Matt Pope
  • Publication number: 20120089439
    Abstract: Providing a market design for a peer-to-peer resource exchange system. Prices for a plurality of resources such as storage space, upload bandwidth, and download bandwidth are calculated and balanced based on previous resource prices, a supply of the resources, and a demand for the resources. Further, prices for operations such as storage and retrieval are determined such that a total of the payments to resource suppliers equals a total of the payments received from the resource consumers. In some embodiments, incoming data operation requests are allocated to the peers such that equilibrium among the peers is achieved.
    Type: Application
    Filed: December 19, 2011
    Publication date: April 12, 2012
    Applicant: MICROSOFT CORPORATION
    Inventors: Sven Seuken, Denis Xavier Charles, David Maxwell Chickering, Siddhartha Puri
  • Patent number: 8108248
    Abstract: Providing a market design for a peer-to-peer resource exchange system. Prices for a plurality of resources such as storage space, upload bandwidth, and download bandwidth are calculated and balanced based on previous resource prices, a supply of the resources, and a demand for the resources. Further, prices for operations such as storage and retrieval are determined such that a total of the payments to resource suppliers equals a total of the payments received from the resource consumers. In some embodiments, incoming data operation requests are allocated to the peers such that equilibrium among the peers is achieved.
    Type: Grant
    Filed: March 6, 2009
    Date of Patent: January 31, 2012
    Assignee: Microsoft Corporation
    Inventors: Sven Seuken, Denis Xavier Charles, David Maxwell Chickering, Siddhartha Puri
  • Publication number: 20110029840
    Abstract: Embodiments of erasure coded storage aggregation are disclosed. The erasure coded storage aggregation includes storing a data file as erasure coded fragments in a plurality of nodes of one or more data centers. The erasure coded storage aggregation further includes monitoring an access frequency of the data file. Based on the comparison between the access frequency and a predetermined threshold, the data file is either reconstructed from the erasure coded fragments and stored in a storage node or retained as erasure coded fragments in the plurality of nodes of the one or more data centers.
    Type: Application
    Filed: July 31, 2009
    Publication date: February 3, 2011
    Applicant: Microsoft Corporation
    Inventors: Raymond E. Ozzie, John D. Mehr, Siddhartha Puri, Samuel J. McKelvie, Bradley Calder, Matt Pope
  • Publication number: 20100228598
    Abstract: Providing a market design for a peer-to-peer resource exchange system. Prices for a plurality of resources such as storage space, upload bandwidth, and download bandwidth are calculated and balanced based on previous resource prices, a supply of the resources, and a demand for the resources. Further, prices for operations such as storage and retrieval are determined such that a total of the payments to resource suppliers equals a total of the payments received from the resource consumers. In some embodiments, incoming data operation requests are allocated to the peers such that equilibrium among the peers is achieved.
    Type: Application
    Filed: March 6, 2009
    Publication date: September 9, 2010
    Applicant: Microsoft Corporation
    Inventors: Sven Seuken, Denis Xavier Charies, David Maxwell chickering, Siddhartha Puri
  • Publication number: 20100174968
    Abstract: Arrangements are provided for efficient erasure coding of files to be distributed and later retrieved from a peer-to-peer network, where such files are broken up into many fragments and stored at peer systems. The arrangements further provide a routine to determine the probability that the file can be reconstructed. The arrangements further provide a method of performing the erasure coding in an optimized fashion, allowing fewer occurrences of disk seeks.
    Type: Application
    Filed: January 2, 2009
    Publication date: July 8, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Denis X. Charles, Siddhartha Puri, Reid Marlow Andersen
  • Patent number: 7747070
    Abstract: A convolutional neural network is implemented on a graphics processing unit. The network is then trained through a series of forward and backward passes, with convolutional kernels and bias matrices modified on each backward pass according to a gradient of an error function. The implementation takes advantage of parallel processing capabilities of pixel shader units on a GPU, and utilizes a set of start-to-finish formulas to program the computations on the pixel shaders. Input and output to the program is done through textures, and a multi-pass summation process is used when sums are needed across pixel shader unit registers.
    Type: Grant
    Filed: August 31, 2005
    Date of Patent: June 29, 2010
    Assignee: Microsoft Corporation
    Inventor: Siddhartha Puri
  • Publication number: 20100088520
    Abstract: A method and system is provided for monitoring the availability of a peer in a P2P system that is used to provide remote storage or remote processing power. In one illustrative example, a recipient peer requests access to a service provisioned by another peer in a peer-to-peer network. The request may be a request to access a file or a file fragment that is being stored on the other peer. In order to make use of the accessed service, after receiving access to the service provisioned by the peer, the recipient peer needs to report to a central server that the service has been rendered. For instance, in some cases the file fragment accessed by the recipient peer may be encrypted, in which case the central server will send the recipient peer a decryption key after receiving the report that the service has been rendered.
    Type: Application
    Filed: October 2, 2008
    Publication date: April 8, 2010
    Applicant: MICROSOFT CORPORATION
    Inventors: Denis X. Charles, Siddhartha Puri
  • Patent number: 7512957
    Abstract: A web services namespace pertains to an infrastructure for enabling creation of a wide variety of applications. The infrastructure provides a foundation for building message-based applications of various scale and complexity. The infrastructure or framework provides APIs for basic messaging, secure messaging, reliable messaging and transacted messaging. In some embodiments, the associated APIs are factored into a hierarchy of namespaces in a manner that balances utility, usability, extensibility and versionability.
    Type: Grant
    Filed: December 3, 2004
    Date of Patent: March 31, 2009
    Assignee: Microsoft Corporation
    Inventors: Shy Cohen, Geary L. Eppley, Douglas M. Purdy, James E. Johnson, Stephen J. Millet, Stephen T. Swartz, Vijay K. Gajjala, Aaron Abraham Stern, Alexander Martin DeJarnatt, Alfred M. Lee, IV, Anand Rjagopalan, Anastasios Kasiolas, Chaitanya D. Upadhyay, Christopher G. Kaler, Craig Andrew Critchley, David Edwin Levin, David Owen Driver, David Wortendyke, Douglas A. Walter, Elliot Lee Waingold, Erik Bo Christensen, Erin P. Honeycutt, Eugene Shvets, Evgeny Osovetsky, Giovanni M. Della-Libera, Jesus Ruiz-Scougall, John David Doty, Jonathan T. Wheeler, Kapil Gupta, Kenneth David Wolf, Krishnan Srinivasan, Lance E. Olson, Matthew Thomas Tavis, Mauro Ottaviani, Max Attar Feingold, Michael James Coulson, Michael Jon Marucheck, Michael Steven Vernal, Michael Thomas Dice, Mohamed-Hany Essam Ramadan, Mohammad Makarechian, Natasha Harish Jethanandani, Richard Dievendorff, Richard Douglas Hill, Ryan Thomas Sturgell, Saurab Nog, Scott Christopher Seely, Serge Sverdlov, Siddhartha Puri, Sowmyanarayanan K. Srinivasan, Stefan Batres, Stefan Harrington Pharies, Tirunelveli Vishwanath, Tomasz Janczuk, Uday S. Hegde, Umesh Madan, Vaithialingam B. Balayogan, Vipul Arunkant Modi, Yaniv Pessach, Yasser Shohoud
  • Publication number: 20080250401
    Abstract: Described is a technology by which a series of loop nests corresponding to source code are detected by a compiler, with the series of loop nests tiled together, (thereby increasing the ratio of cache hits to misses in a multi-processor environment). The compiler transforms the series of loop nests into a plurality of tile loops within a controller loop, including using dependency analysis to determine which results from a tile loop need to be pre-computed before another tile loop. For dependency analysis, the compiler may use a directed acyclic graph as a high-level intermediate representation, and split the graph into sub-graphs each representing an array. The compiler uses descriptors processed from the graph to determine the controller loop and the tile loops within that controller loop.
    Type: Application
    Filed: April 9, 2007
    Publication date: October 9, 2008
    Applicant: Microsoft Corporation
    Inventors: Siddhartha Puri, Jaydeep P. Marathe
  • Publication number: 20070047802
    Abstract: A convolutional neural network is implemented on a graphics processing unit. The network is then trained through a series of forward and backward passes, with convolutional kernels and bias matrices modified on each backward pass according to a gradient of an error function. The implementation takes advantage of parallel processing capabilities of pixel shader units on a GPU, and utilizes a set of start-to-finish formulas to program the computations on the pixel shaders. Input and output to the program is done through textures, and a multi-pass summation process is used when sums are needed across pixel shader unit registers.
    Type: Application
    Filed: August 31, 2005
    Publication date: March 1, 2007
    Applicant: Microsoft Corporation
    Inventor: Siddhartha Puri
  • Publication number: 20060150200
    Abstract: A web services namespace pertains to an infrastructure for enabling creation of a wide variety of applications. The infrastructure provides a foundation for building message-based applications of various scale and complexity. The infrastructure or framework provides APIs for basic messaging, secure messaging, reliable messaging and transacted messaging. In some embodiments, the associated APIs are factored into a hierarchy of namespaces in a manner that balances utility, usability, extensibility and versionability.
    Type: Application
    Filed: December 3, 2004
    Publication date: July 6, 2006
    Applicant: Microsoft Corporation
    Inventors: Shy Cohen, Geary Eppley, Douglas Purdy, James Johnson, Stephen Millet, Stephen Swartz, Vijay Gajjala, Aaron Stern, Alexander DeJarnatt, Alfred Lee, Anand Rjagopalan, Anastasios Kasiolas, Chaitanya Upadhyay, Christopher Kaler, Craig Critchley, David Levin, David Driver, David Wortendyke, Douglas Walter, Elliot Waingold, Erik Christensen, Erin Honeycutt, Eugene Shvets, Evgeny Osovetsky, Giovanni Della-Libera, Jesus Ruiz-Scougall, John Doty, Jonathan Wheeler, Kapil Gupta, Kenneth Wolf, Krishnan Srinivasan, Lance Olson, Matthew Tavis, Mauro Ottaviani, Max Feingold, Michael Coulson, Michael Marucheck, Michael Vernal, Michael Dice, Mohamed-Hany Ramadan, Mohammad Makarechian, Natasha Jethanandani, Richard Dievendorff, Richard Hill, Ryan Sturgell, Saurab Nog, Scott Seely, Serge Sverdlov, Siddhartha Puri, Sowmyanarayanan Srinivasan, Stefan Batres, Stefan Pharies, Tirunelveli Vishwanath, Tomasz Janczuk, Uday Hegde, Umesh Madan, Vaithialingam Balayogan, Vipul Modi, Yaniv Pessach, Yasser Shohoud
  • Publication number: 20060133427
    Abstract: A mechanism for sending structured data using a corresponding byte stream. Upon accessing structured data such as a Simple Object Access Protocol (SOAP) envelope, a byte stream is generated. The byte stream includes bytes that represent the structured data, as well as a collection of bytes that represents properties about the byte stream such as, for example, a mode of communication. The byte stream may then be passed to a communication module (e.g., a TCP or Named Pipes module) capable of receiving and transmitting the byte stream.
    Type: Application
    Filed: December 3, 2004
    Publication date: June 22, 2006
    Applicant: Microsoft Corporation
    Inventors: Kenneth Wolf, Michael Vernal, Christopher Kaler, Elliot Waingold, Eric Christensen, Jeffrey Schlimmer, Martin Gudgin, Siddhartha Puri