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: 9535678Abstract: 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: GrantFiled: April 27, 2016Date of Patent: January 3, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Richard A. Warren, Sudarshan Raghunathan, Adam P. Jenkins
-
Publication number: 20160239289Abstract: 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: ApplicationFiled: April 27, 2016Publication date: August 18, 2016Inventors: Richard A. Warren, Sudarshan Raghunathan, Adam P. Jenkins
-
Patent number: 9354924Abstract: 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: GrantFiled: October 22, 2014Date of Patent: May 31, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Richard A. Warren, Sudarshan Raghunathan, Adam P. Jenkins
-
Patent number: 9176769Abstract: 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: GrantFiled: June 29, 2012Date of Patent: November 3, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Sudarshan Raghunathan, Richard A. Warren, Adam P. Jenkins
-
Publication number: 20150040141Abstract: 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: ApplicationFiled: October 22, 2014Publication date: February 5, 2015Inventors: Richard A. Warren, Sudarshan Raghunathan, Adam P. Jenkins
-
Patent number: 8924944Abstract: 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: GrantFiled: June 29, 2012Date of Patent: December 30, 2014Assignee: Microsoft CorporationInventors: Richard A. Warren, Sudarshan Raghunathan, Adam P. Jenkins
-
Patent number: 8893155Abstract: 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: GrantFiled: March 14, 2013Date of Patent: November 18, 2014Assignee: Microsoft CorporationInventors: Richard A. Warren, Sudarshan Raghunathan, Adam P. Jenkins
-
Publication number: 20140282614Abstract: 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: ApplicationFiled: March 14, 2013Publication date: September 18, 2014Inventors: Richard A. Warren, Sudarshan Raghunathan, Adam P. Jenkins
-
Patent number: 8751877Abstract: 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: GrantFiled: November 18, 2011Date of Patent: June 10, 2014Assignee: Microsoft CorporationInventors: Sudarshan Raghunathan, C. David Callahan, II, Adam P. Jenkins
-
Publication number: 20140006473Abstract: 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: ApplicationFiled: June 29, 2012Publication date: January 2, 2014Applicant: MICROSOFT CORPORATIONInventors: Sudarshan Raghunathan, Richard A. Warren, Adam P. Jenkins
-
Publication number: 20140007060Abstract: 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: ApplicationFiled: June 29, 2012Publication date: January 2, 2014Applicant: Microsoft CorporationInventors: Richard A. Warren, Sudarshan Raghunathan, Adam P. Jenkins
-
Publication number: 20130132783Abstract: 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: ApplicationFiled: November 18, 2011Publication date: May 23, 2013Applicant: MICROSOFT CORPORATIONInventors: Sudarshan Raghunathan, C. David Callahan, II, Adam P. Jenkins