Patents by Inventor Michael J. Novak

Michael J. Novak 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).

  • Publication number: 20230080984
    Abstract: A file system executing on a computing device may store a placeholder for a file on secondary storage of the computing device. The placeholder may comprise a sparse data stream containing none or some of the data of the file and information which enables the remotely stored data of the file to be retrieved from the network. As some or all of the data for the file is being stored remotely, the computing device may rely on a storage virtualization provider to create metadata for the file. Thus, the file system executing on the computing device may receive, from the storage virtualization provider, a request to store metadata associated with the file. In response to this request, the file system may store the metadata as a Binary Large Object (BLOB) in a secondary data stream of the placeholder for the file.
    Type: Application
    Filed: November 21, 2022
    Publication date: March 16, 2023
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Neal R. CHRISTIANSEN, Craig Ashley BARKHOUSE, Michael J. NOVAK, Ping XIE
  • Patent number: 11580088
    Abstract: Technologies are described for generating, acquiring, transferring, and manipulating sets of interaction representations, where an interaction representation represents user interaction with content on a computer device, typically using a software application. The set can be represented as an interaction representation. To facilitate set creation, including adding items to a set, a request can be sent to an application to provide an interaction representation, such as an interaction representation of a current state of user-content interaction associated with the software application. Sets can be associated with different types, where the set type can determine whether, and what types, of interaction representations can be added to a set. Sets can be associated with expiration events, where the interaction representation for the set, and in some cases the component interaction representations, can be deleted upon the occurrence of the expiration event. In some cases, a set can be designated not to expire.
    Type: Grant
    Filed: November 28, 2017
    Date of Patent: February 14, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Michael J. Novak, Brian R. Meyers, Anshul Rawat, Valerie L. Wang, John C. Whytock
  • Patent number: 11507534
    Abstract: A file system executing on a computing device may store a placeholder for a file on secondary storage of the computing device. The placeholder may comprise a sparse data stream containing none or some of the data of the file and information which enables the remotely stored data of the file to be retrieved from the network. As some or all of the data for the file is being stored remotely, the computing device may rely on a storage virtualization provider to create metadata for the file. Thus, the file system executing on the computing device may receive, from the storage virtualization provider, a request to store metadata associated with the file. In response to this request, the file system may store the metadata as a Binary Large Object (BLOB) in a secondary data stream of the placeholder for the file.
    Type: Grant
    Filed: December 20, 2017
    Date of Patent: November 22, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Neal R. Christiansen, Craig Ashley Barkhouse, Michael J. Novak, Ping Xie
  • Patent number: 11061775
    Abstract: A computing system includes at least one processor and memory storing instructions executable by the at least one processor, wherein the instructions, when executed, cause the computing system to instruct a synchronization engine to synchronize first and second versions of a file, the first version being stored on a first storage system and the second version being stored on a second storage system, receive a backoff indicator corresponding to the file, based on the backoff indicator, instruct the synchronization engine to backoff synchronizing changes to the file, and allow the changes to the file to be synchronized by a co-authoring application, maintain a first set of collaborative metadata indicative of content of the first version of the file, and maintain a second set of collaborative metadata indicative of content of the second version of the file.
    Type: Grant
    Filed: March 18, 2019
    Date of Patent: July 13, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jack Allen Nichols, Benjamin M. Yim, Adam Christopher Czeisler, Amnon I. Govrin, Michal Krzysztof Piaseczny, Marcus Eduardo Markiewicz, Daniel Vincent Fiordalis, Jonathan Alexander Bockelman, Marcelo Albuquerque Fernandes Mas, Chris J. Guzak, Michael J. Novak, Juan-Lee Pang, Tyler Kien Beam
  • Patent number: 11061623
    Abstract: Storage virtualization techniques allow files and directories to be stored remotely, for example, by a cloud storage provider, but in a manner that appears to a user or application running on a local computing device as if the files are stored locally—even though the data of those files and directories may not be resident on the local computing device. That is, the contents of files and directories that may exist in the cloud look and behave as if they were stored locally on a computing device. The level of hydration of placeholders may be monitored and operations may be performed to reduce the impact of excessive hydration on the resources of the computing device.
    Type: Grant
    Filed: April 28, 2017
    Date of Patent: July 13, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Neal R. Christiansen, Ravisankar V Pudipeddi, Ping Xie, Craig Ashley Barkhouse, Michael J. Novak
  • Patent number: 10853220
    Abstract: Technology related to determining a user engagement with software programs is disclosed. In one example of the disclosed technology, a method can include receiving a plurality of signals indicating states of the computer and a software application executing on the computer. The method can include combining the signals to determine a user engagement with the software application. The method can include storing a user engagement log based on the determined user engagement with the software application.
    Type: Grant
    Filed: May 9, 2017
    Date of Patent: December 1, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Chani A. Doggett, Brian R. Meyers, Colleen E. Hamilton, Kiran Tatapudi, Michael J. Novak, Kenneth M. Tubbs, Sriram Srinivasan
  • Patent number: 10795747
    Abstract: Systems, methods, and apparatuses are disclosed for file synchronizing service status monitoring and error handling. A client device includes a local file system access manager that includes a status interface. The status interface is configured to receive a status message from a client-side sync manager of the client device. The client-side sync manager that communicates with a server-side sync manager at a server to synchronize data objects between file systems of the client device and server. The status message corresponds to a state of the client-side sync manager during a multi-stage start-up process for the client-side sync manager. A status caller in an application of the client device can retrieve the status message from the status interface. The status message can also be provided to a user interface for display to a user of the client device, and/or to a telemetry server for use in improving the file synchronizing service.
    Type: Grant
    Filed: May 17, 2018
    Date of Patent: October 6, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Michael J. Novak, Ping Xie, Jack A. Nichols, Valeh Valiollah Pour Amiri, Ioannis Giannoumis
  • Patent number: 10732796
    Abstract: Techniques are described for obtaining user activity information and navigational mnemonic information. The activity information and navigational mnemonic information can be used to control information presented in displays in a manner that can assist a user in locating an activity using displayed navigational mnemonics. User activity information can include an application identifier and a content identifier. Navigational mnemonic information can include a resource identifier and a relevance identifier. A user can search for activities based on a relationship between a navigational mnemonic and an activity, such as a temporal relationship. Applications can register both activity information and navigational mnemonic information through an interface, and a navigational mnemonic feed service can provide navigation mnemonics that are not directly related to user activity on user computer devices.
    Type: Grant
    Filed: July 27, 2017
    Date of Patent: August 4, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Thomas H. Alphin, III, Kenneth Lynn Crocker, Colleen E. Hamilton, Brian R. Meyers, Michael J. Novak
  • Patent number: 10693748
    Abstract: Technology related to an activity feed service is disclosed. In one example of the disclosed technology, a method can include receiving updates to activity streams, where a respective activity stream indicates an engagement of a respective user with applications executing on a respective client device connected to a network. The different activity streams associated with a particular user can be merged to generate a merged activity stream associated with the particular user. The different received activity streams can correspond to different respective client devices. The merged activity stream associated with the particular user can be transmitted over the network.
    Type: Grant
    Filed: May 9, 2017
    Date of Patent: June 23, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Chani A. Doggett, Brian R. Meyers, John E. Gallardo, Abolade Gbadegesin, Michael J. Novak, Yisheng Yao, Bartosz H. Paliswiat, Kiran Tatapudi, Colleen E. Hamilton, Shawn P. Henry, Kenneth M. Tubbs, Sriram Srinivasan, Mahmut Arslan
  • Patent number: 10671245
    Abstract: Techniques are described for creating and modifying task records and for controlling information displayed to a user in corresponding task representations. The task records are associated with more or more user activities, where each activity is associated with a record having an identifier for the activity, an application identifier that indicates a software application associated with the activity, and a content identifier identifying content associated with the software application and the activity. The activity records can include activation information. A user can select a task representation and resume one or more activities associated with the task. Tasks records can be shared between different computer devices of the user, and with different users. Task and activity records can be associated with navigational mnemonics. Representations of task and activity records can be displayed proximate representations of associated navigational mnemonics to help a user locate tasks and activities of interest.
    Type: Grant
    Filed: July 27, 2017
    Date of Patent: June 2, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Thomas H. Alphin, III, Kenneth Lynn Crocker, Brian R. Meyers, Michael J. Novak, Valerie Louise Wang
  • Patent number: 10627995
    Abstract: Techniques are described for creating and modifying task records and for controlling information displayed to a user in corresponding task representations. The task records are associated with more or more user activities, where each activity is associated with a record having an identifier for the activity, an application identifier that indicates a software application associated with the activity, and a content identifier identifying content associated with the software application and the activity. The activity records can include activation information. A user can select a task representation and resume one or more activities associated with the task. Tasks records can be shared between different computer devices of the user, and with different users. Task and activity records can be associated with navigational mnemonics. Representations of task and activity records can be displayed proximate representations of associated navigational mnemonics to help a user locate tasks and activities of interest.
    Type: Grant
    Filed: July 27, 2017
    Date of Patent: April 21, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Thomas H. Alphin, III, Kenneth Lynn Crocker, Brian R. Meyers, Michael J. Novak, Valerie Louise Wang
  • Publication number: 20190354427
    Abstract: Systems, methods, and apparatuses are disclosed for file synchronizing service status monitoring and error handling. A client device includes a local file system access manager that includes a status interface. The status interface is configured to receive a status message from a client-side sync manager of the client device. The client-side sync manager that communicates with a server-side sync manager at a server to synchronize data objects between file systems of the client device and server. The status message corresponds to a state of the client-side sync manager during a multi-stage start-up process for the client-side sync manager. A status caller in an application of the client device can retrieve the status message from the status interface. The status message can also be provided to a user interface for display to a user of the client device, and/or to a telemetry server for use in improving the file synchronizing service.
    Type: Application
    Filed: May 17, 2018
    Publication date: November 21, 2019
    Inventors: Michael J. Novak, Ping Xie, Jack A. Nichols, Valeh Valiollah Pour Amiri, Ioannis Giannoumis
  • Patent number: 10467230
    Abstract: Techniques are described for obtaining and displaying user activity information. For example, user activity information can include an application identifier, a content identifier, and a relevance identifier. A summary display is rendered for display that presents user activity information for user activities meeting relevance criteria. A user can select to view an activity details view, presenting information regarding all of their activity over a time period. A user can search for activities meeting particular criteria, and can view past activities along with applications currently being executed by the user.
    Type: Grant
    Filed: February 24, 2017
    Date of Patent: November 5, 2019
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Thomas H. Alphin, III, Kenneth Lynn Crocker, Brian R. Meyers, Michael J. Novak
  • Patent number: 10423406
    Abstract: A statement in a software code segment for an application that associates the software code segment to a feature is identified. The software code segment includes a first code block and a second code block for the feature. A feature configuration for the feature is read from a manifest that lists a set of features in the application. When a staging option corresponds to a first staging option, the statement is evaluated against the staging option to remove one of the first code block and the second code block in executable code. When the staging option corresponds to a second staging option, the first software code block and the second code block are included in the executable code. The first code block and the second code block are configurable at runtime to be selected or not selected. The first version or the second version of the executable code are output.
    Type: Grant
    Filed: August 30, 2017
    Date of Patent: September 24, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Michael J. Novak, Sivaramakrishna Mopati, Gerald Haslhofer, Marc Wautier
  • Publication number: 20190213082
    Abstract: A computing system includes at least one processor and memory storing instructions executable by the at least one processor, wherein the instructions, when executed, cause the computing system to instruct a synchronization engine to synchronize first and second versions of a file, the first version being stored on a first storage system and the second version being stored on a second storage system, receive a backoff indicator corresponding to the file, based on the backoff indicator, instruct the synchronization engine to backoff synchronizing changes to the file, and allow the changes to the file to be synchronized by a co-authoring application, maintain a first set of collaborative metadata indicative of content of the first version of the file, and maintain a second set of collaborative metadata indicative of content of the second version of the file.
    Type: Application
    Filed: March 18, 2019
    Publication date: July 11, 2019
    Inventors: Jack Allen NICHOLS, Benjamin M. Yim, Adam Christopher Czeisler, Amnon I. Govrin, Michal Krzysztof Piaseczny, Marcus Eduardo Markiewicz, Daniel Vincent Fiordalis, Jonathan Alexander Bockelman, Marcelo Albuquerque Fernandes Mas, Chris J. Guzak, Michael J. Novak, Juan-Lee Pang, Tyler Kien Beam
  • Patent number: 10282255
    Abstract: A synchronization engine detects a notification of a change to a file. It determines whether an application associated with the file has indicated that the file is to be synchronized by the application. If so, the changes to the file are synchronized between a cloud-based storage system and a local disk by the application. Collaborative metadata, associated with the synchronized file, is updated to indicate a state of a copy of the file on the local disk and a copy of the file in the cloud-based storage system. The collaborative metadata is stored by the synchronization engine.
    Type: Grant
    Filed: March 4, 2016
    Date of Patent: May 7, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Jack Allen Nichols, Benjamin M. Yim, Adam Christopher Czeisler, Amnon I. Govrin, Michal Krzysztof Piaseczny, Marcus Eduardo Markiewicz, Daniel Vincent Fiordalis, Jonathan Alexander Bockelman, Marcelo Albuquerque Fernandes Mas, Chris J. Guzak, Michael J. Novak, Juan-Lee Pang, Tyler Kien Beam
  • Publication number: 20190065179
    Abstract: A statement in a software code segment for an application that associates the software code segment to a feature is identified. The software code segment includes a first code block and a second code block for the feature. A feature configuration for the feature is read from a manifest that lists a set of features in the application. When a staging option corresponds to a first staging option, the statement is evaluated against the staging option to remove one of the first code block and the second code block in executable code. When the staging option corresponds to a second staging option, the first software code block and the second code block are included in the executable code. The first code block and the second code block are configurable at runtime to be selected or not selected. The first version or the second version of the executable code are output.
    Type: Application
    Filed: August 30, 2017
    Publication date: February 28, 2019
    Inventors: Michael J. NOVAK, Sivaramakrishna MOPATI, Gerald HASLHOFER, Marc WAUTIER
  • Publication number: 20190050440
    Abstract: Technologies are described for generating, acquiring, transferring, and manipulating sets of interaction representations, where an interaction representation represents user interaction with content on a computer device, typically using a software application. The set can be represented as an interaction representation. To facilitate set creation, including adding items to a set, a request can be sent to an application to provide an interaction representation, such as an interaction representation of a current state of user-content interaction associated with the software application. Sets can be associated with different types, where the set type can determine whether, and what types, of interaction representations can be added to a set. Sets can be associated with expiration events, where the interaction representation for the set, and in some cases the component interaction representations, can be deleted upon the occurrence of the expiration event. In some cases, a set can be designated not to expire.
    Type: Application
    Filed: November 28, 2017
    Publication date: February 14, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Michael J. NOVAK, Brian R. MEYERS, Anshul RAWAT, Valerie L. WANG, John C. WHYTOCK
  • Publication number: 20190050378
    Abstract: Techniques are described for generating, acquiring, transferring, and manipulating interaction representations, where an interaction representation records user interaction with content on a computer device. An interaction representation can be interconverted between an instance of an interaction representation data type and a serialized interaction representation. An interaction representation can be incorporated into an instance of a shareable data type that can be included in an application context shared by multiple applications. A serialized interaction representation can be associated with metadata information describing the content, information useable to access the content, and information useable to generate a visual representation of the content. At least certain interaction representations can be updatable, including when an update is made to a related interaction representation.
    Type: Application
    Filed: November 29, 2017
    Publication date: February 14, 2019
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Michael J. NOVAK, Brian R. MEYERS, Anshul RAWAT, Elizabeth SALOWITZ, Daniel OLIVER
  • Publication number: 20180329905
    Abstract: A file system executing on a computing device may store a placeholder for a file on secondary storage of the computing device. The placeholder may comprise a sparse data stream containing none or some of the data of the file and information which enables the remotely stored data of the file to be retrieved from the network. As some or all of the data for the file is being stored remotely, the computing device may rely on a storage virtualization provider to create metadata for the file. Thus, the file system executing on the computing device may receive, from the storage virtualization provider, a request to store metadata associated with the file. In response to this request, the file system may store the metadata as a Binary Large Object (BLOB) in a secondary data stream of the placeholder for the file.
    Type: Application
    Filed: December 20, 2017
    Publication date: November 15, 2018
    Inventors: Neal R. Christiansen, Craig Ashley Barkhouse, Michael J. Novak, Ping Xie