Patents by Inventor Matthew R. Ayers
Matthew R. Ayers 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: 11272017Abstract: Application notification techniques are described. Implementations are described in which a representation of an application may include notifications that pertain to the application. Techniques are further described which may be used to manage the notifications, including replacement of notifications, use of queues, overrides, selection of notifications based on execution state of an application, cycling a display of a plurality of notifications, cycling a display of different subsets of notifications, examination of a manifest of an application to determine criteria to be used to display the notifications, display priority of the notifications, and so on.Type: GrantFiled: October 23, 2014Date of Patent: March 8, 2022Assignee: Microsoft Technology Licensing, LLCInventors: Tyler J. Donahue, Brian K. McNeil, Kevin Michael Woley, Matthew R. Ayers, Gaurav S. Anand, Anshul Rawat, Relja Ivanovic
-
Patent number: 9762518Abstract: Various embodiments provide session-based filtering to filter messages in a cooperative manner between a client and a service provider. In at least some embodiments, a service provider can establish a messaging session with a client and deliver messages to the client. The client can implement various client-side techniques to filter some of the messages based on various client designated criteria. The service provider can obtain feedback from the client indicative of one or more of the delivered messages that have been filtered. The service provider can dynamically create a session-based list based on the feedback and use the list during the session to block messages on the server-side according to the client designated criteria. When the session concludes, the session-based list can be discarded. In this manner, message filtering can occur without persistent storage of state data for the filtering at the service provider.Type: GrantFiled: November 30, 2015Date of Patent: September 12, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Kevin Michael Woley, Gaurav S. Anand, Rajeev Dutt, Matthew R. Ayers, Darren Louie, George Joy
-
Publication number: 20170134354Abstract: This document describes various techniques for distributing credentials based on hardware profiles. A resource access request including a hardware profile is transmitted to a remote entity having access to a previous hardware profile and a credential useful to access a resource is received if at least a portion of the hardware profile matches the previous hardware profile.Type: ApplicationFiled: January 23, 2017Publication date: May 11, 2017Applicant: Microsoft Technology Licensing, LLCInventors: Gaurav S. Anand, Kevin Michael Woley, Matthew R. Ayers, Rajeev Dutt, Eric Fleischman
-
Patent number: 9553858Abstract: This document describes various techniques for distributing credentials based on hardware profiles. A resource access request including a hardware profile is transmitted to a remote entity having access to a previous hardware profile and a credential useful to access a resource is received if at least a portion of the hardware profile matches the previous hardware profile.Type: GrantFiled: October 25, 2013Date of Patent: January 24, 2017Assignee: Microsoft Technology Licensing, LLCInventors: Gaurav S. Anand, Kevin Michael Woley, Matthew R. Ayers, Rajeev Dutt, Eric Fleischman
-
Publication number: 20160080302Abstract: Various embodiments provide session-based filtering to filter messages in a cooperative manner between a client and a service provider. In at least some embodiments, a service provider can establish a messaging session with a client and deliver messages to the client. The client can implement various client-side techniques to filter some of the messages based on various client designated criteria. The service provider can obtain feedback from the client indicative of one or more of the delivered messages that have been filtered. The service provider can dynamically create a session-based list based on the feedback and use the list during the session to block messages on the server-side according to the client designated criteria. When the session concludes, the session-based list can be discarded. In this manner, message filtering can occur without persistent storage of state data for the filtering at the service provider.Type: ApplicationFiled: November 30, 2015Publication date: March 17, 2016Inventors: Kevin Michael Woley, Gaurav S. Anand, Rajeev Dutt, Matthew R. Ayers, Darren Louie, George Joy
-
Patent number: 9225538Abstract: Stateless application notifications are described that enable third parties to provide messages to client applications. A communication channel can be established between a notification service and an application. Upon request, the notification service can generate obfuscated routing data for the channel, which can be in the form of a channel handle or token. The routing data can be encrypted and digitally signed to obscure the content and format of the routing data from third parties. An application service possessing the obfuscated routing data can package a notification with the data and send the package to the notification service for delivery. The application service does so without knowing the channel particulars encoded by the obfuscated routing data. The notification service that produces the obfuscated routing data can decrypt and interpret the data, and deliver the notification on the channel to an appropriate endpoint application on behalf of the application service.Type: GrantFiled: September 1, 2011Date of Patent: December 29, 2015Assignee: Microsoft Technology Licensing, LLCInventors: George Joy, Cheuk Wan William Lau, Darren Louie, Yosef Firstenberg, Ravikant Cherukuri, Kevin Michael Woley, Matthew R. Ayers, Gaurav S. Anand
-
Patent number: 9209993Abstract: Various embodiments provide session-based filtering to filter messages in a cooperative manner between a client and a service provider. In at least some embodiments, a service provider can establish a messaging session with a client and deliver messages to the client. The client can implement various client-side techniques to filter some of the messages based on various client designated criteria. The service provider can obtain feedback from the client indicative of one or more of the delivered messages that have been filtered. The service provider can dynamically create a session-based list based on the feedback and use the list during the session to block messages on the server-side according to the client designated criteria. When the session concludes, the session-based list can be discarded. In this manner, message filtering can occur without persistent storage of state data for the filtering at the service provider.Type: GrantFiled: November 16, 2010Date of Patent: December 8, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Kevin Michael Woley, Gaurav S. Anand, Rajeev Dutt, Matthew R. Ayers, Darren Louie, George Joy
-
Patent number: 9124669Abstract: Various embodiments enable automatic cooperative logging of information associated with a connection between at least two computing devices. In some cases, a first computing device can automatically trigger logging on a second computing device upon detection of at least one scenario. Alternately or additionally, the second computing device can respond to the first computing device with additional and/or supplemental logging requests.Type: GrantFiled: March 21, 2014Date of Patent: September 1, 2015Assignee: Microsoft Technology Licensing, LLCInventors: Darren Louie, Jeroen Vanturennout, Gaurav S. Anand, Kevin Michael Woley, Benjamin D. L. Stewart, Donovan P. Regan, George Joy, Matthew R. Ayers, Sachin Jagadish Patil, Basel Abdus Salam, Mohammad Saifur Rahman, Kandarp Dinesh Jani
-
Publication number: 20150046829Abstract: Application notification techniques are described. Implementations are described in which a representation of an application may include notifications that pertain to the application. Techniques are further described which may be used to manage the notifications, including replacement of notifications, use of queues, overrides, selection of notifications based on execution state of an application, cycling a display of a plurality of notifications, cycling a display of different subsets of notifications, examination of a manifest of an application to determine criteria to be used to display the notifications, display priority of the notifications, and so on.Type: ApplicationFiled: October 23, 2014Publication date: February 12, 2015Inventors: Tyler J. Donahue, Brian K. McNeil, Kevin Michael Woley, Matthew R. Ayers, Gaurav S. Anand, Anshul Rawat, Relja Ivanovic
-
Patent number: 8893033Abstract: Application notification techniques are described. Implementations are described in which a representation of an application may include notifications that pertain to the application. Techniques are further described which may be used to manage the notifications, including replacement of notifications, use of queues, overrides, selection of notifications based on execution state of an application, cycling a display of a plurality of notifications, cycling a display of different subsets of notifications, examination of a manifest of an application to determine criteria to be used to display the notifications, display priority of the notifications, and so on.Type: GrantFiled: May 27, 2011Date of Patent: November 18, 2014Assignee: Microsoft CorporationInventors: Tyler J. Donahue, Brian K McNeil, Kevin Michael Woley, Matthew R. Ayers, Gaurav S. Anand, Anshul Rawat, Relja Ivanovic
-
Publication number: 20140207855Abstract: Various embodiments enable automatic cooperative logging of information associated with a connection between at least two computing devices. In some cases, a first computing device can automatically trigger logging on a second computing device upon detection of at least one scenario. Alternately or additionally, the second computing device can respond to the first computing device with additional and/or supplemental logging requests.Type: ApplicationFiled: March 21, 2014Publication date: July 24, 2014Inventors: Darren Louie, Jeroen Vanturennout, Gaurav S. Anand, Kevin Michael Woley, Benjamin D. L. Stewart, Donovan P. Regan, George Joy, Matthew R. Ayers, Sachin Jagadish Patil, Basel Abdus Salam, Mohammad Saifur Rahman, Kandarp Dinesh Jani
-
Patent number: 8683263Abstract: Various embodiments enable automatic cooperative logging of information associated with a connection between at least two computing devices. In some cases, a first computing device can automatically trigger logging on a second computing device upon detection of at least one scenario. Alternately or additionally, the second computing device can respond to the first computing device with additional and/or supplemental logging requests.Type: GrantFiled: September 9, 2011Date of Patent: March 25, 2014Assignee: Microsoft CorporationInventors: Darren Louie, Jeroen Vanturennout, Gaurav S. Anand, Kevin Michael Woley, Benjamin D. L. Stewart, Donovan P. Regan, George Joy, Matthew R. Ayers, Sachin Jagadish Patil, Basel Abdus Salam, Mohammad Saifur Rahman, Kandarp Dinesh Jani
-
Publication number: 20140059664Abstract: This document describes various techniques for distributing credentials based on hardware profiles. A resource access request including a hardware profile is transmitted to a remote entity having access to a previous hardware profile and a credential useful to access a resource is received if at least a portion of the hardware profile matches the previous hardware profile.Type: ApplicationFiled: October 25, 2013Publication date: February 27, 2014Applicant: Microsoft CorporationInventors: Gaurav S. Anand, Kevin Michael Woley, Matthew R. Ayers, Rajeev Dutt, Eric Fleischman
-
Patent number: 8621439Abstract: Modern application tracing techniques are described herein that enable dynamic logging of events declared in a static manifest. Various events for logging can be declared in a static manifest. The static manifest may then be compiled to translate the declared events into a library of corresponding functions that can be called by “modern” applications written using dynamic code. Calls made to these functions from dynamic code are converted to corresponding static events and forwarded to existing tracing application programming interfaces (APIs) designed to handle logging of static events for “legacy” applications that use compiled code. In this manner, static functions that are compatible with tracing APIs can be created and called dynamically from dynamic code. This can occur without requiring administrative rights to install the code and while preserving existing features for legacy applications, such that a tracing log can include events from both modern applications and legacy applications.Type: GrantFiled: September 6, 2011Date of Patent: December 31, 2013Assignee: Microsoft CorporationInventors: Michael H. Krause, Zoran Dimov, Alex Bendetov, Haseeb Ahmed, Matthew R. Ayers
-
Patent number: 8572699Abstract: This document describes various techniques for distributing credentials based on hardware profiles. A resource access request including a hardware profile is transmitted to a remote entity having access to a previous hardware profile and a credential useful to access a resource is received if at least a portion of the hardware profile matches the previous hardware profile.Type: GrantFiled: November 18, 2010Date of Patent: October 29, 2013Assignee: Microsoft CorporationInventors: Gaurav S. Anand, Kevin Michael Woley, Matthew R. Ayers, Rajeev Dutt, Eric Fleischman
-
Publication number: 20130067288Abstract: Various embodiments enable automatic cooperative logging of information associated with a connection between at least two computing devices. In some cases, a first computing device can automatically trigger logging on a second computing device upon detection of at least one scenario. Alternately or additionally, the second computing device can respond to the first computing device with additional and/or supplemental logging requests.Type: ApplicationFiled: September 9, 2011Publication date: March 14, 2013Applicant: Microsoft CorporationInventors: Darren Louie, Jeroen Vanturennout, Gaurav S. Anand, Kevin Michael Woley, Benjamin D.L. Stewart, Donovan P. Regan, George Joy, Matthew R. Ayers
-
Publication number: 20130061046Abstract: Stateless application notifications are described that enable third parties to provide messages to client applications. A communication channel can be established between a notification service and an application. Upon request, the notification service can generate obfuscated routing data for the channel, which can be in the form of a channel handle or token. The routing data can be encrypted and digitally signed to obscure the content and format of the routing data from third parties. An application service possessing the obfuscated routing data can package a notification with the data and send the package to the notification service for delivery. The application service does so without knowing the channel particulars encoded by the obfuscated routing data. The notification service that produces the obfuscated routing data can decrypt and interpret the data, and deliver the notification on the channel to an appropriate endpoint application on behalf of the application service.Type: ApplicationFiled: September 1, 2011Publication date: March 7, 2013Applicant: Microsoft CorporationInventors: George Joy, Cheuk Wan William Lau, Darren Louie, Yosef Firstenberg, Ravikant Cherukuri, Kevin Michael Woley, Matthew R. Ayers, Gaurav S. Anand
-
Publication number: 20130061212Abstract: Modern application tracing techniques are described herein that enable dynamic logging of events declared in a static manifest. Various events for logging can be declared in a static manifest. The static manifest may then be compiled to translate the declared events into a library of corresponding functions that can be called by “modern” applications written using dynamic code. Calls made to these functions from dynamic code are converted to corresponding static events and forwarded to existing tracing application programming interfaces (APIs) designed to handle logging of static events for “legacy” applications that use compiled code. In this manner, static functions that are compatible with tracing APIs can be created and called dynamically from dynamic code. This can occur without requiring administrative rights to install the code and while preserving existing features for legacy applications, such that a tracing log can include events from both modern applications and legacy applications.Type: ApplicationFiled: September 6, 2011Publication date: March 7, 2013Applicant: Microsoft CorporationInventors: Michael H. Krause, Zoran Dimov, Alex Bendetov, Haseeb Ahmed, Matthew R. Ayers
-
Publication number: 20120304117Abstract: Application notification tag techniques are described. Implementations are described in which a representation of an application may include notifications that pertain to the application. Techniques are further described which may be used to manage the notifications, including replacement of notifications, use of queues, overrides, selection of notifications based on execution state of an application, cycling a display of a plurality of notifications, cycling a display of different subsets of notifications, examination of a manifest of an application to determine criteria to be used to display the notifications, display priority of the notifications, and so on.Type: ApplicationFiled: May 27, 2011Publication date: November 29, 2012Inventors: Tyler J. Donahue, Nazia Zaman, Kevin Michael Woley, Matthew R. Ayers, Gaurav S. Anand, Anshul Rawat, Relja Ivanovic
-
Publication number: 20120304116Abstract: Application notification techniques are described. Implementations are described in which a representation of an application may include notifications that pertain to the application. Techniques are further described which may be used to manage the notifications, including replacement of notifications, use of queues, overrides, selection of notifications based on execution state of an application, cycling a display of a plurality of notifications, cycling a display of different subsets of notifications, examination of a manifest of an application to determine criteria to be used to display the notifications, display priority of the notifications, and so on.Type: ApplicationFiled: May 27, 2011Publication date: November 29, 2012Inventors: Tyler J. Donahue, Brian K. McNeil, Kevin Michael Woley, Matthew R. Ayers, Gaurav S. Anand, Anshul Rawat, Relja Ivanovic