Patents by Inventor Adam P. Jenkins

Adam P. Jenkins 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: 9535678
    Abstract: Object serialization is used to communicate references regarding shim objects. Shim objects are instantiated on one or more ranks of a distributed software application. The shim objects store a registration object in a distributed object cache for each rank. The registration object includes a unique identifier for a distributed array object and a reference to a local portion of the distributed array. The shim objects are serialized for communication of the stored references from a master rank of the distributed application to one or more worker ranks of the distributed application. Upon serializing the shim objects, the shim object's stored references are communicated from the distributed object cache for that rank to the one or more worker ranks of the distributed application. The shim objects are subsequently removed so that references to the underlying distributed array object are also removed, and memory previously allocated to the unique identifier is recoverable.
    Type: Grant
    Filed: April 27, 2016
    Date of Patent: January 3, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Richard A. Warren, Sudarshan Raghunathan, Adam P. Jenkins
  • Publication number: 20160239289
    Abstract: Embodiments are directed to establishing registration objects for distributed processes, to managing memory on worker processes of a distributed software application and to using object serialization to communicate references to shim objects. In one scenario, a computer system accesses distributed process instances in a distributed runtime and creates a registration object for each of the process instances in the distributed runtime. The registration object includes a key value pair, where the key includes a unique identifier (ID) that identifies a distributed array instance associated with the distributed process, and the value includes a reference to a local portion of the distributed array instance. The computer system then maintains a mapping between the unique ID and the distributed array instance using the registration object. As such, the key value refers to the local portion of the same distributed array instance on each distributed process of the distributed runtime.
    Type: Application
    Filed: April 27, 2016
    Publication date: August 18, 2016
    Inventors: Richard A. Warren, Sudarshan Raghunathan, Adam P. Jenkins
  • Patent number: 9354924
    Abstract: Embodiments are directed to establishing registration objects for distributed processes, to managing memory on worker processes of a distributed software application and to using object serialization to communicate references to shim objects. In one scenario, a computer system accesses distributed process instances in a distributed runtime and creates a registration object for each of the process instances in the distributed runtime. The registration object includes a key value pair, where the key includes a unique identifier (ID) that identifies a distributed array instance associated with the distributed process, and the value includes a reference to a local portion of the distributed array instance. The computer system then maintains a mapping between the unique ID and the distributed array instance using the registration object. As such, the key value refers to the local portion of the same distributed array instance on each distributed process of the distributed runtime.
    Type: Grant
    Filed: October 22, 2014
    Date of Patent: May 31, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Richard A. Warren, Sudarshan Raghunathan, Adam P. Jenkins
  • Patent number: 9176769
    Abstract: Embodiments are directed to using object serialization to communicate references to shim objects and to managing memory on worker processes of a distributed software application. In one scenario, a computer system instantiates shim objects on one or more ranks of a distributed application. The shim objects are configured to store a reference to an instance of a native partitioned array, where the reference includes a unique identifier for the native partitioned array instance. The computer system then serializes the shim objects for communication of the stored references from the master rank of the distributed application to various other worker ranks of the distributed application. Then, upon serializing the shim objects, the computer system communicates the shim object's stored references to the other worker ranks of the distributed application.
    Type: Grant
    Filed: June 29, 2012
    Date of Patent: November 3, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Sudarshan Raghunathan, Richard A. Warren, Adam P. Jenkins
  • Publication number: 20150040141
    Abstract: Embodiments are directed to establishing registration objects for distributed processes, to managing memory on worker processes of a distributed software application and to using object serialization to communicate references to shim objects. In one scenario, a computer system accesses distributed process instances in a distributed runtime and creates a registration object for each of the process instances in the distributed runtime. The registration object includes a key value pair, where the key includes a unique identifier (ID) that identifies a distributed array instance associated with the distributed process, and the value includes a reference to a local portion of the distributed array instance. The computer system then maintains a mapping between the unique ID and the distributed array instance using the registration object. As such, the key value refers to the local portion of the same distributed array instance on each distributed process of the distributed runtime.
    Type: Application
    Filed: October 22, 2014
    Publication date: February 5, 2015
    Inventors: Richard A. Warren, Sudarshan Raghunathan, Adam P. Jenkins
  • Patent number: 8924944
    Abstract: Embodiments are directed to providing a generic software function for a plurality of data types in a distributed environment and to implementing type checking at compile time and at runtime. In one scenario, a computer system receives a portion of software code for a distributed software application, where the software code is written as a generic function in a computer programming language that supports reflection. The computer system presents a function signature at runtime to a just-in-time (JIT) compiler. The function signature describes which of multiple different input and output data types the generic function is configured to work with. The computer system also implements reflection at runtime to resolve each generic function to a function pointer after compilation by the JIT.
    Type: Grant
    Filed: June 29, 2012
    Date of Patent: December 30, 2014
    Assignee: Microsoft Corporation
    Inventors: Richard A. Warren, Sudarshan Raghunathan, Adam P. Jenkins
  • Patent number: 8893155
    Abstract: Embodiments are directed to establishing registration objects for distributed processes, to managing memory on worker processes of a distributed software application and to using object serialization to communicate references to shim objects. In one scenario, a computer system accesses distributed process instances in a distributed runtime and creates a registration object for each of the process instances in the distributed runtime. The registration object includes a key value pair, where the key includes a unique identifier (ID) that identifies a distributed array instance associated with the distributed process, and the value includes a reference to a local portion of the distributed array instance. The computer system then maintains a mapping between the unique ID and the distributed array instance using the registration object. As such, the key value refers to the local portion of the same distributed array instance on each distributed process of the distributed runtime.
    Type: Grant
    Filed: March 14, 2013
    Date of Patent: November 18, 2014
    Assignee: Microsoft Corporation
    Inventors: Richard A. Warren, Sudarshan Raghunathan, Adam P. Jenkins
  • Publication number: 20140282614
    Abstract: Embodiments are directed to establishing registration objects for distributed processes, to managing memory on worker processes of a distributed software application and to using object serialization to communicate references to shim objects. In one scenario, a computer system accesses distributed process instances in a distributed runtime and creates a registration object for each of the process instances in the distributed runtime. The registration object includes a key value pair, where the key includes a unique identifier (ID) that identifies a distributed array instance associated with the distributed process, and the value includes a reference to a local portion of the distributed array instance. The computer system then maintains a mapping between the unique ID and the distributed array instance using the registration object. As such, the key value refers to the local portion of the same distributed array instance on each distributed process of the distributed runtime.
    Type: Application
    Filed: March 14, 2013
    Publication date: September 18, 2014
    Inventors: Richard A. Warren, Sudarshan Raghunathan, Adam P. Jenkins
  • Patent number: 8751877
    Abstract: In an embodiment, a computer system accesses various different data entries in dense data array, where at least one of those data entries in the dense data array is invalid. The computer system creates an associated sparse data array that includes multiple data entries with zero values as well as data entries with non-zero values. The non-zero data entries are configured to store location information and data values for each of the invalid data entries in the dense array. The zero-value data entries are inferred from the location information of the non-zero data entries. The computer system stores the location information and data values of the non-zero data entries in the sparse data array. Those data values stored in the sparse array are proportional to the number of invalid values in the dense array.
    Type: Grant
    Filed: November 18, 2011
    Date of Patent: June 10, 2014
    Assignee: Microsoft Corporation
    Inventors: Sudarshan Raghunathan, C. David Callahan, II, Adam P. Jenkins
  • Publication number: 20140007060
    Abstract: Embodiments are directed to providing a generic software function for a plurality of data types in a distributed environment and to implementing type checking at compile time and at runtime. In one scenario, a computer system receives a portion of software code for a distributed software application, where the software code is written as a generic function in a computer programming language that supports reflection. The computer system presents a function signature at runtime to a just-in-time (JIT) compiler. The function signature describes which of multiple different input and output data types the generic function is configured to work with. The computer system also implements reflection at runtime to resolve each generic function to a function pointer after compilation by the JIT.
    Type: Application
    Filed: June 29, 2012
    Publication date: January 2, 2014
    Applicant: Microsoft Corporation
    Inventors: Richard A. Warren, Sudarshan Raghunathan, Adam P. Jenkins
  • Publication number: 20140006473
    Abstract: Embodiments are directed to using object serialization to communicate references to shim objects and to managing memory on worker processes of a distributed software application. In one scenario, a computer system instantiates shim objects on one or more ranks of a distributed application. The shim objects are configured to store a reference to an instance of a native partitioned array, where the reference includes a unique identifier for the native partitioned array instance. The computer system then serializes the shim objects for communication of the stored references from the master rank of the distributed application to various other worker ranks of the distributed application. Then, upon serializing the shim objects, the computer system communicates the shim object's stored references to the other worker ranks of the distributed application.
    Type: Application
    Filed: June 29, 2012
    Publication date: January 2, 2014
    Applicant: MICROSOFT CORPORATION
    Inventors: Sudarshan Raghunathan, Richard A. Warren, Adam P. Jenkins
  • Publication number: 20130132783
    Abstract: In an embodiment, a computer system accesses various different data entries in dense data array, where at least one of those data entries in the dense data array is invalid. The computer system creates an associated sparse data array that includes multiple data entries with zero values as well as data entries with non-zero values. The non-zero data entries are configured to store location information and data values for each of the invalid data entries in the dense array. The zero-value data entries are inferred from the location information of the non-zero data entries. The computer system stores the location information and data values of the non-zero data entries in the sparse data array. Those data values stored in the sparse array are proportional to the number of invalid values in the dense array.
    Type: Application
    Filed: November 18, 2011
    Publication date: May 23, 2013
    Applicant: MICROSOFT CORPORATION
    Inventors: Sudarshan Raghunathan, C. David Callahan, II, Adam P. Jenkins