Patents by Inventor David Matthew Kruse
David Matthew Kruse 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: 11775476Abstract: Examples described herein generally relate to maintaining a snapshot of a multitier distributed file system. A snapshot directory volume of a directory volume can be created at least in part by copying, to the snapshot directory volume, metadata of the directory volume. Based on a file access request, it can be determined whether the file has not been snapshotted. If not, a snapshot file record of the file, and associated with the snapshot directory volume.Type: GrantFiled: December 20, 2021Date of Patent: October 3, 2023Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Mathew George, David Matthew Kruse, Vladimir Petter, Roopesh C Battepati, Henry Gabryjelski
-
Publication number: 20220114141Abstract: Examples described herein generally relate to maintaining a snapshot of a multitier distributed file system. A snapshot directory volume of a directory volume can be created at least in part by copying, to the snapshot directory volume, metadata of the directory volume. Based on a file access request, it can be determined whether the file has not been snapshotted. If not, a snapshot file record of the file, and associated with the snapshot directory volume.Type: ApplicationFiled: December 20, 2021Publication date: April 14, 2022Inventors: Mathew GEORGE, David Matthew KRUSE, Vladimir PETTER, Roopesh C BATTEPATI, Henry GABRYJELSKI
-
Patent number: 11204892Abstract: Examples described herein generally relate to maintaining a snapshot of a multitier distributed file system. A snapshot directory volume of a directory volume can be created at least in part by copying, to the snapshot directory volume, metadata of the directory volume. Based on a file access request, it can be determined whether the file has not been snapshotted. If not, a snapshot file record of the file, and associated with the snapshot directory volume.Type: GrantFiled: March 21, 2019Date of Patent: December 21, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Mathew George, David Matthew Kruse, Vladimir Petter, Roopesh C Battepati, Henry Gabryjelski
-
Patent number: 10956321Abstract: A virtual secure mode is enabled for a virtual machine operating in a computing environment that is associated with a plurality of different trust levels. First, a virtual secure mode image is loaded into one or more memory pages of a virtual memory space of the virtual machine. Then, the one or more memory pages of the virtual memory space are made inaccessible to one or more trust levels having a relatively lower trust level than a launching trust level that is used by a virtual secure mode loader to load the virtual secure mode image. A target virtual trust level is also enabled on a launching virtual processor for the virtual machine that is higher than the launching trust level.Type: GrantFiled: January 6, 2019Date of Patent: March 23, 2021Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Niels T. Ferguson, Yevgeniy Anatolievich Samsonov, Kinshumann, Samartha Chandrashekar, John Anthony Messec, Mark Fishel Novak, Christopher McCarron, Amitabh Prakash Tamhane, Qiang Wang, David Matthew Kruse, Nir Ben-Zvi, Anders Bertil Vinberg
-
Patent number: 10826749Abstract: Embodiments provide a method and system for transferring data between different computing devices. Specifically, a communication session is established between a first computing device and a second computing device. The communication session may be established using a first communication protocol. The first computing device creates a virtual memory object which is bound to one or more memory blocks of the first computing device. A path to the virtual memory object is generated and the path is transmitted to the second computing device using the communication session. The second computing device may then read or write data directly into/from the virtual memory object using a second communication protocol that is different from the first communication protocol. The data is written into and read from the virtual memory object using file system commands.Type: GrantFiled: June 11, 2019Date of Patent: November 3, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: David Matthew Kruse, Lars Reuther, Kevin Michael Broas
-
Publication number: 20200301880Abstract: Examples described herein generally relate to maintaining a snapshot of a multitier distributed file system. A snapshot directory volume of a directory volume can be created at least in part by copying, to the snapshot directory volume, metadata of the directory volume. Based on a file access request, it can be determined whether the file has not been snapshotted. If not, a snapshot file record of the file, and associated with the snapshot directory volume.Type: ApplicationFiled: March 21, 2019Publication date: September 24, 2020Inventors: Mathew GEORGE, David Matthew KRUSE, Vladimir PETTER, Roopesh C. BATTEPATI, Henry GABRYJELSKI
-
Publication number: 20190296957Abstract: Embodiments provide a method and system for transferring data between different computing devices. Specifically, a communication session is established between a first computing device and a second computing device. The communication session may be established using a first communication protocol. The first computing device creates a virtual memory object which is bound to one or more memory blocks of the first computing device. A path to the virtual memory object is generated and the path is transmitted to the second computing device using the communication session. The second computing device may then read or write data directly into/from the virtual memory object using a second communication protocol that is different from the first communication protocol. The data is written into and read from the virtual memory object using file system commands.Type: ApplicationFiled: June 11, 2019Publication date: September 26, 2019Applicant: Microsoft Technology Licensing, LLCInventors: David Matthew Kruse, Lars Reuther, Kevin Michael Broas
-
Patent number: 10404520Abstract: Embodiments provide a method and system for transferring data between different computing devices. Specifically, a communication session is established between a first computing device and a second computing device. The communication session may be established using a first communication protocol. The first computing device creates a virtual memory object which is bound to one or more memory blocks of the first computing device. A path to the virtual memory object is generated and the path is transmitted to the second computing device using the communication session. The second computing device may then read or write data directly into/from the virtual memory object using a second communication protocol that is different from the first communication protocol. The data is written into and read from the virtual memory object using file system commands.Type: GrantFiled: May 29, 2013Date of Patent: September 3, 2019Assignee: Microsoft Technology Licensing, LLCInventors: David Matthew Kruse, Lars Reuther, Kevin Michael Broas
-
Publication number: 20190155728Abstract: A virtual secure mode is enabled for a virtual machine operating in a computing environment that is associated with a plurality of different trust levels. First, a virtual secure mode image is loaded into one or more memory pages of a virtual memory space of the virtual machine. Then, the one or more memory pages of the virtual memory space are made inaccessible to one or more trust levels having a relatively lower trust level than a launching trust level that is used by a virtual secure mode loader to load the virtual secure mode image. A target virtual trust level is also enabled on a launching virtual processor for the virtual machine that is higher than the launching trust level.Type: ApplicationFiled: January 6, 2019Publication date: May 23, 2019Inventors: Niels T. Ferguson, Yevgeniy Anatolievich Samsonov, Kinshumann, Samartha Chandrashekar, John Anthony Messec, Mark Fishel Novak, Christopher McCarron, Amitabh Prakash Tamhane, Qiang Wang, David Matthew Kruse, Nir Ben-Zvi, Anders Bertil Vinberg
-
Patent number: 10284626Abstract: The embodiments described herein generally relate to a protocol for implementing data operations, e.g., a version of SMB, atop RDMA transports. In embodiments, systems and methods use the protocol definition, which specifies new messages for negotiating an RDMA connection and for transferring SMB2 data using the negotiated communication. A new protocol message may include new header information to determine message size, number of messages, and other information for sending the SMB2 data over RDMA. The header information is used to accommodate differences in message size requirements between RDMA and SMB2. The SMB Direct protocol allows SMB2 data to be fragmented into multiple individual RDMA messages that a receiver may then logically concatenate into a single SMB2 request or SMB2 response. The SMB Direct protocol also may allow SMB2 to transfer application data via efficient RDMA direct placement and to signal the application data's availability when the transfer is complete.Type: GrantFiled: April 8, 2016Date of Patent: May 7, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Thomas M. Talpey, Gregory Robert Kramer, David Matthew Kruse
-
Patent number: 10176095Abstract: A virtual secure mode is enabled for a virtual machine operating in a computing environment that is associated with a plurality of different trust levels. First, a virtual secure mode image is loaded into one or more memory pages of a virtual memory space of the virtual machine. Then, the one or more memory pages of the virtual memory space are made inaccessible to one or more trust levels having a relatively lower trust level than a launching trust level that is used by a virtual secure mode loader to load the virtual secure mode image. A target virtual trust level is also enabled on a launching virtual processor for the virtual machine that is higher than the launching trust level.Type: GrantFiled: August 22, 2016Date of Patent: January 8, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Niels T. Ferguson, Yevgeniy Anatolievich Samsonov, Kinshumann, Samartha Chandrashekar, John Anthony Messec, Mark Fishel Novak, Christopher McCarron, Amitabh Prakash Tamhane, Qiang Wang, David Matthew Kruse, Nir Ben-Zvi, Anders Bertil Vinberg
-
Patent number: 10108630Abstract: Described are embodiments for providing unique identifiers for files or objects across servers in a server cluster. Embodiments include generating a unique identifier that includes at least three portions. The first portion includes a node identifier which identifies the particular server in a cluster which created the unique identifier. The second portion includes a major sequence number that is incremented when a server is rebooted or otherwise taken off-line and then brought back online. Additionally, the major sequence number is incremented when all of the minor sequence numbers, which are included in a third portion of the unique identifier, have been used. The minor sequence numbers in the third portion are incremented for every unique file or object requested.Type: GrantFiled: April 7, 2011Date of Patent: October 23, 2018Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: David Matthew Kruse, Diaa E. Fathalla
-
Patent number: 9578017Abstract: Deploying an encrypted entity on a trusted entity is illustrated herein. A method includes, at a trusted entity, wherein the trusted entity is trusted by an authority as a result of providing a verifiable indication of certain characteristics of the trusted entity meeting certain requirements, receiving an encrypted entity from an untrusted entity. The untrusted entity is not trusted by the authority. At the trusted entity, a trust credential from the authority is used to obtain a key from a key distribution service. The key distribution service is trusted by the authority. The key is used to decrypt the encrypted entity to allow the encrypted entity to be deployed at the trusted entity.Type: GrantFiled: October 1, 2014Date of Patent: February 21, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Niels T. Ferguson, Yevgeniy Anatolievich Samsonov, Kinshuman Kinshumann, Samartha Chandrashekar, John Anthony Messec, Mark Fishel Novak, Christopher McCarron, Amitabh Prakash Tamhane, Qiang Wang, David Matthew Kruse, Nir Ben-Zvi, Anders Bertil Vinberg
-
Publication number: 20160357988Abstract: A virtual secure mode is enabled for a virtual machine operating in a computing environment that is associated with a plurality of different trust levels. First, a virtual secure mode image is loaded into one or more memory pages of a virtual memory space of the virtual machine. Then, the one or more memory pages of the virtual memory space are made inaccessible to one or more trust levels having a relatively lower trust level than a launching trust level that is used by a virtual secure mode loader to load the virtual secure mode image. A target virtual trust level is also enabled on a launching virtual processor for the virtual machine that is higher than the launching trust level.Type: ApplicationFiled: August 22, 2016Publication date: December 8, 2016Inventors: Niels T. Ferguson, Yevgeniy Anatolievich Samsonov, Kinshuman Kinshumann, Samartha Chandrashekar, John Anthony Messec, Mark Fishel Novak, Christopher McCarron, Amitabh Prakash Tamhane, Qiang Wang, David Matthew Kruse, Nir Ben-Zvi, Anders Bertil Vinberg
-
Publication number: 20160226951Abstract: The embodiments described herein generally relate to a protocol for implementing data operations, e.g., a version of SMB, atop RDMA transports. In embodiments, systems and methods use the protocol definition, which specifies new messages for negotiating an RDMA connection and for transferring SMB2 data using the negotiated communication. A new protocol message may include new header information to determine message size, number of messages, and other information for sending the SMB2 data over RDMA. The header information is used to accommodate differences in message size requirements between RDMA and SMB2. The SMB Direct protocol allows SMB2 data to be fragmented into multiple individual RDMA messages that a receiver may then logically concatenate into a single SMB2 request or SMB2 response. The SMB Direct protocol also may allow SMB2 to transfer application data via efficient RDMA direct placement and to signal the application data's availability when the transfer is complete.Type: ApplicationFiled: April 8, 2016Publication date: August 4, 2016Applicant: Microsoft Technology Licensing, LLCInventors: Thomas M. Talpey, Gregory Robert Kramer, David Matthew Kruse
-
Patent number: 9331955Abstract: The embodiments described herein generally relate to a protocol for implementing data operations, e.g., a version of SMB, atop RDMA transports. In embodiments, systems and methods use the protocol definition, which specifies new messages for negotiating an RDMA connection and for transferring SMB2 data using the negotiated communication. A new protocol message may include new header information to determine message size, number of messages, and other information for sending the SMB2 data over RDMA. The header information is used to accommodate differences in message size requirements between RDMA and SMB2. The SMB Direct protocol allows SMB2 data to be fragmented into multiple individual RDMA messages that a receiver may then logically concatenate into a single SMB2 request or SMB2 response. The SMB Direct protocol also may allow SMB2 to transfer application data via efficient RDMA direct placement and to signal the application data's availability when the transfer is complete.Type: GrantFiled: June 29, 2011Date of Patent: May 3, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Thomas M. Talpey, Gregory Robert Kramer, David Matthew Kruse
-
Patent number: 9292539Abstract: Described are embodiments for allowing clients that access a distributed file system to locally cache directory metadata. The client may request a read lease which allows the client to cache the directory metadata locally and service requests received from the same application which originally requested the directory metadata using the cache. In addition, the client may also request a handle lease which allows a client to delay the closing of a directory handle and allow the handle to be reused to service subsequent directory metadata requests from the same or a different application. A client may also request a write lease which allows an application on the client to modify the directory metadata, such as by creating or deleting new files in the directory, or changing their attributes, and cache those changes.Type: GrantFiled: February 5, 2015Date of Patent: March 22, 2016Assignee: Microsoft Technology Licensing, LLCInventors: David Matthew Kruse, Mathew George, Sarosh Cyrus Havewala, Christian Gregory Allred, Neal Robert Christiansen
-
Patent number: 9286293Abstract: Aspects of the subject matter described herein relate to client-side caching. In aspects, when a client receives a request for data that is located on a remote server, the client first checks a local cache to see if the data is stored in the local cache. If the data is not stored in the local cache, the client may check a peer cache to see if the data is stored in the peer cache. If the data is not stored in the peer cache, the client obtains the data from the remote server, caches it locally, and publishes to the peer cache that the client has a copy of the data.Type: GrantFiled: November 28, 2008Date of Patent: March 15, 2016Assignee: Microsoft Technology Licensing, LLCInventors: Thomas Ewan Jolly, James T. Pinkerton, Eileen C. Brown, David Matthew Kruse, Prashanth Prahalad, Vikrant H. Desai
-
Patent number: 9246949Abstract: Embodiments of the present disclosure provide for establishing an authenticated session between a client computing device and a remote computing device. In certain embodiments, a connection is established between the client computing device and the remote computing device. Once the connection is established, the client computing device sends a number of requests to the client computing device including a negotiate request, a setup request, and a validation request. In response to the requests, the client computing device receives a number of responses from the remote computing device including a negotiate response, setup response and a validation response. Once the responses have been received, a determination is made as to whether information contained in the validation response matches information contained in the negotiate response. If the information matches, an authenticated session is established between the remote computing device and the client computing device.Type: GrantFiled: December 15, 2014Date of Patent: January 26, 2016Assignee: Microsoft Technology Licensing, LLCInventors: David Matthew Kruse, Mathew George, Iuliu Rus
-
Publication number: 20150319160Abstract: Deploying an encrypted entity on a trusted entity is illustrated herein. A method includes, at a trusted entity, wherein the trusted entity is trusted by an authority as a result of providing a verifiable indication of certain characteristics of the trusted entity meeting certain requirements, receiving an encrypted entity from an untrusted entity. The untrusted entity is not trusted by the authority. At the trusted entity, a trust credential from the authority is used to obtain a key from a key distribution service. The key distribution service is trusted by the authority. The key is used to decrypt the encrypted entity to allow the encrypted entity to be deployed at the trusted entity.Type: ApplicationFiled: October 1, 2014Publication date: November 5, 2015Inventors: Niels T. Ferguson, Yevgeniy Anatolievich Samsonov, Kinshuman Kinshumann, Samartha Chandrashekar, John Anthony Messec, Mark Fishel Novak, Christopher McCarron, Amitabh Prakash Tamhane, Qiang Wang, David Matthew Kruse, Nir Ben-Zvi, Anders Bertil Vinberg