Patents by Inventor James W. Mickens
James W. Mickens 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: 11422907Abstract: While connected to cloud storage, a computing device writes data and metadata to the cloud storage, indicates success of the write to an application of the computing device, and, after indicating success to the application, writes the data and metadata to local storage of the computing device. The data and metadata may be written to different areas of the local storage. The computing device may also determine that it has recovered from a crash or has connected to the cloud storage after operating disconnected and reconcile the local storage with the cloud storage. The reconciliation may be based at least on a comparison of the metadata stored in the area of the local storage with metadata received from the cloud storage. The cloud storage may store each item of data contiguously with its metadata as an expanded block.Type: GrantFiled: August 19, 2013Date of Patent: August 23, 2022Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: James W. Mickens, Jeremy E. Elson, Edmund B. Nightingale, Bin Fan, Asim Kadav, Osama Khan
-
Patent number: 10740195Abstract: This document relates to data storage techniques. One example can buffer write commands and cause the write commands to be committed to storage in flush epoch order. Another example can maintain a persistent log of write commands that are arranged in the persistent log in flush epoch order. Both examples may provide a prefix consistent state in the event of a crash.Type: GrantFiled: September 25, 2018Date of Patent: August 11, 2020Assignee: Microsoft Technology Licensing, LLCInventors: James W. Mickens, Amar Phanishayee, Vijaychidambaram Velayudhan Pillai
-
Publication number: 20190087287Abstract: This document relates to data storage techniques. One example can buffer write commands and cause the write commands to be committed to storage in flush epoch order. Another example can maintain a persistent log of write commands that are arranged in the persistent log in flush epoch order. Both examples may provide a prefix consistent state in the event of a crash.Type: ApplicationFiled: September 25, 2018Publication date: March 21, 2019Applicant: Microsoft Technology Licensing, LLCInventors: James W. MICKENS, Amar PHANISHAYEE, Vijaychidambaram VELAYUDHAN PILLAI
-
Patent number: 10114709Abstract: This document relates to data storage techniques. One example can buffer write commands and cause the write commands to be committed to storage in flush epoch order. Another example can maintain a persistent log of write commands that are arranged in the persistent log in flush epoch order. Both examples may provide a prefix consistent state in the event of a crash.Type: GrantFiled: October 19, 2016Date of Patent: October 30, 2018Assignee: Microsoft Technology Licensing, LLCInventors: James W. Mickens, Amar Phanishayee, Vijaychidambaram Velayudhan Pillai
-
Patent number: 9798631Abstract: This document relates to data storage techniques. One example can buffer write commands and cause the write commands to be committed to storage in flush epoch order. Another example can maintain a persistent log of write commands that are arranged in the persistent log in flush epoch order. Both examples may provide a prefix consistent state in the event of a crash.Type: GrantFiled: March 28, 2014Date of Patent: October 24, 2017Assignee: Microsoft Technology Licensing, LLCInventors: James W. Mickens, Amar Phanishayee, Vijaychidambaram Velayudhan Pillai
-
Patent number: 9778856Abstract: The subject disclosure is directed towards one or more parallel storage components for parallelizing block-level input/output associated with remote file data. Based upon a mapping scheme, the file data is partitioned into a plurality of blocks in which each may be equal in size. A translator component of the parallel storage may determine a mapping between the plurality of blocks and a plurality of storage nodes such that at least a portion of the plurality of blocks is accessible in parallel. Such a mapping, for example, may place each block in a different storage node allowing the plurality of blocks to be retrieved simultaneously and in its entirety.Type: GrantFiled: August 30, 2012Date of Patent: October 3, 2017Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Bin Fan, Asim Kadav, Edmund Bernard Nightingale, Jeremy E. Elson, Richard F. Rashid, James W. Mickens
-
Publication number: 20170039114Abstract: This document relates to data storage techniques. One example can buffer write commands and cause the write commands to be committed to storage in flush epoch order. Another example can maintain a persistent log of write commands that are arranged in the persistent log in flush epoch order. Both examples may provide a prefix consistent state in the event of a crash.Type: ApplicationFiled: October 19, 2016Publication date: February 9, 2017Applicant: Microsoft Technology Licensing, LLCInventors: James W. MICKENS, Amar PHANISHAYEE, Vijaychidambaram VELAYUDHAN PILLAI
-
Patent number: 9292367Abstract: A state migration module (SMM) is described herein which seamlessly, efficiently, and correctly transfers application state between user computing devices, or between different interactions with the application on the same device that occur at different respective times. The SMM operates by capturing the current state of an application relative to the operation of a high-level execution platform (such as a browser) on which the application runs, rather than capturing the overall low-level state of the computing that runs the application. The SMM can include additional provisions designed to improve the efficiency of state migration, such as asynchronous migration, incremental delta-based migration, etc.Type: GrantFiled: April 8, 2014Date of Patent: March 22, 2016Assignee: Microsoft CorporationInventor: James W. Mickens
-
Publication number: 20160036923Abstract: Migration functionality is described herein for efficiently migrating application state information among user devices. The migration functionality operates by receiving factor information that describes a context in which a user is using an application on a first user device. For instance, the factor information may describe the manner in which the user has used the application on various user devices on prior occasions, together with characteristics of the user's current environment. The migration functionality then determines, based on the factor information, whether to transfer application state information from the first user device to at least a second user device. The application state information captures at least a dynamic runtime state of the application on the first user device.Type: ApplicationFiled: August 3, 2014Publication date: February 4, 2016Inventors: Amar Phanishayee, Sharad Agarwal, James W. Mickens, David A. Devecsery
-
Patent number: 9250940Abstract: A baseline set of graph information associated with a predefined execution environment of a program may be obtained, the baseline set associated with a baseline time interval. The predefined execution environment includes predefined environment objects, at least a portion of which are dynamically mutatable. A second set of graph information associated with the predefined execution environment may be obtained, the second set associated with a second time interval that is later in time than the baseline time interval. The baseline set and the second set may be compared to detect virtualization activity associated with a dynamic runtime.Type: GrantFiled: December 21, 2012Date of Patent: February 2, 2016Assignee: Microsoft Technology Licensing, LLCInventor: James W. Mickens
-
Publication number: 20150286511Abstract: A state migration module (SMM) is described herein which seamlessly, efficiently, and correctly transfers application state between user computing devices, or between different interactions with the application on the same device that occur at different respective times. The SMM operates by capturing the current state of an application relative to the operation of a high-level execution platform (such as a browser) on which the application runs, rather than capturing the overall low-level state of the computing that runs the application. The SMM can include additional provisions designed to improve the efficiency of state migration, such as asynchronous migration, incremental delta-based migration, etc.Type: ApplicationFiled: April 8, 2014Publication date: October 8, 2015Applicant: Microsoft CorporationInventor: James W. Mickens
-
Publication number: 20150220439Abstract: This document relates to data storage techniques. One example can buffer write commands and cause the write commands to be committed to storage in flush epoch order. Another example can maintain a persistent log of write commands that are arranged in the persistent log in flush epoch order. Both examples may provide a prefix consistent state in the event of a crash.Type: ApplicationFiled: March 28, 2014Publication date: August 6, 2015Applicant: MICROSOFT CORPORATIONInventors: James W. MICKENS, Amar PHANISHAYEE, Vijaychidambaram VELAYUDHAN PILLAI
-
Patent number: 9077681Abstract: Web page loading time may be decreased with the use of a page-maintained storage cache on a client device. In various implementations, a server may receive a request for a web page from a web browser that is on the client device. The server may provide a chunk reassembler to the client device that determines whether any chunks in the web page are already stored on the client device. Subsequently, the server may send one or more chunk of the web page to the client device when the chunk reassembler determines that the one or more chunks of the web page are missing from the client device. The chunk reassembler may then instruct the web browser to assemble the one or more received chunks with the one or more chunks that are stored on the client device into the web page for presentation on the client device.Type: GrantFiled: October 5, 2010Date of Patent: July 7, 2015Assignee: Microsoft Technology Licensing, LLCInventor: James W. Mickens
-
Publication number: 20150052392Abstract: While connected to cloud storage, a computing device writes data and metadata to the cloud storage, indicates success of the write to an application of the computing device, and, after indicating success to the application, writes the data and metadata to local storage of the computing device. The data and metadata may be written to different areas of the local storage. The computing device may also determine that it has recovered from a crash or has connected to the cloud storage after operating disconnected and reconcile the local storage with the cloud storage. The reconciliation may be based at least on a comparison of the metadata stored in the area of the local storage with metadata received from the cloud storage. The cloud storage may store each item of data contiguously with its metadata as an expanded block.Type: ApplicationFiled: August 19, 2013Publication date: February 19, 2015Applicant: Microsoft CorporationInventors: James W. Mickens, Jeremy E. Elson, Edmund B. Nightingale, Bin Fan, Asim Kadav, Osama Khan
-
Publication number: 20140181819Abstract: A baseline set of graph information associated with a predefined execution environment of a program may be obtained, the baseline set associated with a baseline time interval. The predefined execution environment includes predefined environment objects, at least a portion of which are dynamically mutatable. A second set of graph information associated with the predefined execution environment may be obtained, the second set associated with a second time interval that is later in time than the baseline time interval. The baseline set and the second set may be compared to detect virtualization activity associated with a dynamic runtime.Type: ApplicationFiled: December 21, 2012Publication date: June 26, 2014Applicant: MICROSOFT CORPORATIONInventor: James W. Mickens
-
Publication number: 20140068224Abstract: The subject disclosure is directed towards one or more parallel storage components for parallelizing block-level input/output associated with remote file data. Based upon a mapping scheme, the file data is partitioned into a plurality of blocks in which each may be equal in size. A translator component of the parallel storage may determine a mapping between the plurality of blocks and a plurality of storage nodes such that at least a portion of the plurality of blocks is accessible in parallel. Such a mapping, for example, may place each block in a different storage node allowing the plurality of blocks to be retrieved simultaneously and in its entirety.Type: ApplicationFiled: August 30, 2012Publication date: March 6, 2014Applicant: MICROSOFT CORPORATIONInventors: Bin Fan, Asim Kadav, Edmund Bernard Nightingale, Jeremy E. Elson, Richard F. Rashid, James W. Mickens
-
Publication number: 20130159779Abstract: In one embodiment, a remote debugging infrastructure may allow a local application 114 to be debugged in real time. A remote debugging operator 120 may establish a connection with an execution platform 112 via a local application 114 activated by the execution platform 112. The remote debugging operator 120 may access an operational state of the local application 114.Type: ApplicationFiled: December 19, 2011Publication date: June 20, 2013Applicant: Microsoft CorporationInventor: James W. Mickens
-
Patent number: 8307077Abstract: The described implementations relate to collaborative speed determination in distributed systems. One method estimates upload speeds of a plurality of hosts. The method sends a first bandwidth probe from a first host to a second host. The method receives, at the first host, a second bandwidth probe sent from the second host. The method determines which of the first and second bandwidth probes was relatively slower. The method designates either of the first or second hosts that sent the relatively slower bandwidth probe as a loser and takes a speed of the bandwidth probe of the loser as a first estimate of the loser's upload speed.Type: GrantFiled: August 3, 2011Date of Patent: November 6, 2012Assignee: Microsoft CorporationInventors: John R. Douceur, James W. Mickens, Thomas Moscibroda, Debmalya Panigrahi
-
Patent number: 8244721Abstract: The claimed subject matter provides a system and/or a method that facilitates generating a personalized query result for a specific user. An interface can receive at least one of a portion of a text query to be searched or a portion of personalized content related to a user that submits the portion of the text query. A personalization component can combine the portion of personalized content related to the user with a portion of personalized content related to one or more disparate users to create group personalized content, wherein the group personalized content is compared with the portion of the text query to identify a relationship there between to generate a personalized query result in accordance with the relationship.Type: GrantFiled: February 13, 2008Date of Patent: August 14, 2012Assignee: Microsoft CorporationInventors: Meredith June Morris, Jaime Brooks Teevan, James W. Mickens, Saleema Amershi
-
Publication number: 20120084346Abstract: Web page loading time may be decreased with the use of a page-maintained storage cache on a client device. In various implementations, a server may receive a request for a web page from a web browser that is on the client device. The server may provide a chunk reassembler to the client device that determines whether any chunks in the web page are already stored on the client device. Subsequently, the server may send one or more chunk of the web page to the client device when the chunk reassembler determines that the one or more chunks of the web page are missing from the client device. The chunk reassembler may then instruct the web browser to assemble the one or more received chunks with the one or more chunks that are stored on the client device into the web page for presentation on the client device.Type: ApplicationFiled: October 5, 2010Publication date: April 5, 2012Applicant: MICROSOFT CORPORATIONInventor: James W. Mickens