Patents by Inventor James Christopher Gray
James Christopher Gray 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: 11157388Abstract: Identifying a trace based on wait chain coverage analysis comprises identifying a scenario covered by a plurality of traces, as well as a plurality of scenario phases. Each phase has corresponding phase beginning and ending, and is covered by corresponding trace(s) of the plurality of traces. For each prior instance of each phase, a corresponding wait chain comprising a series of wait operations is identified. After identifying signatures configured to match a subset of wait operations in wait chain(s), at least a signature coverage is calculated over the identified corresponding wait chains. The signature coverage characterizes portions(s) of these wait chains that are matched by the signature(s). Based on calculating the signature coverage, one or more of the plurality of traces are identified as having unknown wait states, based on the identified trace(s) corresponding to a larger amount of uncovered wait chain portions than others of the plurality of traces.Type: GrantFiled: July 10, 2020Date of Patent: October 26, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Scotia Clover Baker, Ilia Sacson, Deepthi Sri Dhulipalla, James Christopher Gray, Manikanta Reddy Dornala, Minxiao Zhou, Travis Alcantara, Yash Sharma, Vibhor Bhatt, Qi Zhang, Ishfaq Mohammad Ismail
-
Patent number: 10560853Abstract: Embodiments provision captive portals on network access points (NAPs). In response to a request from a NAP owner, a cloud service associates a NAP with the NAP owner and provides a control channel for configuring the NAP. The NAP owner inputs configuration settings describing the captive portal. The cloud service processes the configuration settings to generate configuration data. The cloud service transmits the configuration data to the NAP. The NAP applies the configuration data to configure the NAP. Some embodiments configure Wi-Fi hotspots with captive portals for gated access to the Internet.Type: GrantFiled: June 8, 2016Date of Patent: February 11, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Adam R. Dyba, Piyush Goyal, James Christopher Gray, Shai Guday, Thomas W. Kuehnel, Triptpal Singh Lamba, David Neil MacDonald, Darya Mazandarany, Saumaya Sharma
-
Patent number: 10382305Abstract: Embodiments apply a set of sequenced instructions to connect to a network through a captive portal. A computing device detects a network access point and obtains the instruction set corresponding to the network access point. The instruction set is derived by a cloud service from crowdsourced data describing interactions between mobile computing devices and the network access point. Applying the instruction set includes performing actions such as navigating web pages to accept terms and conditions, provide user or device information, and more.Type: GrantFiled: November 15, 2013Date of Patent: August 13, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Mohammad Shabbir Alam, Javier Flores Assad, Nicholas A. Banks, Piyush Goyal, James Christopher Gray, Shai Guday, Thomas W. Kuehnel, Triptpal Singh Lamba, David Neil MacDonald, Darya Mazandarany, Sidharth Uday Nabar, Christopher R. Rice, Saumaya Sharma, Douglas E. Stamper
-
Patent number: 10057302Abstract: Embodiments personalize a set of network access points (NAPs) acting as captive portals for each user and/or user device. A cloud service, or the user device, accesses context describing the user device. The context identifies at least one NAP, and may include accounting data. One of the NAP is selected for connection based on the context, and an instruction set associated with the selected NAP is provided for replay by the user device to connect through the NAP. In some embodiments, instructions within the instruction set are also personalized to the user and/or user device based on the context.Type: GrantFiled: November 15, 2013Date of Patent: August 21, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Scott M. Bragg, Piyush Goyal, James Christopher Gray, Thomas W. Kuehnel, Triptpal Singh Lamba, Darya Mazandarany, Sidharth Uday Nabar, Saumaya Sharma
-
Publication number: 20160295428Abstract: Embodiments provision captive portals on network access points (NAPs). In response to a request from a NAP owner, a cloud service associates a NAP with the NAP owner and provides a control channel for configuring the NAP. The NAP owner inputs configuration settings describing the captive portal. The cloud service processes the configuration settings to generate configuration data. The cloud service transmits the configuration data to the NAP. The NAP applies the configuration data to configure the NAP. Some embodiments configure Wi-Fi hotspots with captive portals for gated access to the Internet.Type: ApplicationFiled: June 8, 2016Publication date: October 6, 2016Inventors: Adam R. Dyba, Piyush Goyal, James Christopher Gray, Shai Guday, Thomas W. Kuehnel, Triptpal Singh Lamba, David Neil MacDonald, Darya Mazandarany, Saumaya Sharma
-
Patent number: 9369342Abstract: Embodiments provision captive portals on network access points (NAPs). In response to a request from a NAP owner, a cloud service associates a NAP with the NAP owner and provides a control channel for configuring the NAP. The NAP owner inputs configuration settings describing the captive portal. The cloud service processes the configuration settings to generate configuration data. The cloud service transmits the configuration data to the NAP. The NAP applies the configuration data to configure the NAP. Some embodiments configure Wi-Fi hotspots with captive portals for gated access to the Internet.Type: GrantFiled: November 15, 2013Date of Patent: June 14, 2016Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Adam R. Dyba, Piyush Goyal, James Christopher Gray, Shai Guday, Thomas W. Kuehnel, Triptpal Singh Lamba, David Neil MacDonald, Darya Mazandarany, Saumaya Sharma
-
Publication number: 20150142946Abstract: Embodiments apply a set of sequenced instructions to connect to a network through a captive portal. A computing device detects a network access point and obtains the instruction set corresponding to the network access point. The instruction set is derived by a cloud service from crowdsourced data describing interactions between mobile computing devices and the network access point. Applying the instruction set includes performing actions such as navigating web pages to accept terms and conditions, provide user or device information, and more.Type: ApplicationFiled: November 15, 2013Publication date: May 21, 2015Inventors: Mohammad Shabbir Alam, Javier Flores Assad, Nicholas A. Banks, Piyush Goyal, James Christopher Gray, Shai Guday, Thomas W. Kuehnel, Triptpal Singh Lamba, David Neil MacDonald, Darya Mazandarany, Sidharth Uday Nabar, Christopher R. Rice, Saumaya Sharma, Douglas E. Stamper
-
Publication number: 20150139074Abstract: Embodiments generate and provide connection quality data for networks based on past performance of those networks. Network experience data and corresponding device context are received from a first set of mobile devices. The received data is processed to generate the connection quality data, which is distributed to a second set of mobile devices for use in selecting a network and establishing a connection. Feedback describing performance of the selected network is received and applied to adjust the previously generated connection quality data. In some embodiments, the connection quality data represents voice over Internet Protocol (VoIP) call quality.Type: ApplicationFiled: November 15, 2013Publication date: May 21, 2015Inventors: Ryan H. Bane, Adam R. Dyba, Aurelio Navarro Belletti Garcia, James Christopher Gray, Shai Guday, Tyler E. Hennessy, Ayman Kaheel, Shobana Kapoor, Triptpal Singh Lamba, Darya Mazandarany, Michael Hao Mi, Christopher R. Rice, Tomasz W. Rogozik, Peter Schmatz, Michael Svanholm Thomsen, Robert C. Villahermosa
-
Publication number: 20150142590Abstract: Embodiments recommend network coverage for a user based on a connection history of the user and connection quality data for networks. The connection history describes connection of the user over time via at least one mobile computing device to one or more networks. Connection quality data describing performance of the networks is obtained. Based on the connection history and the connection quality data, recommended network coverage for the user is defined. In some embodiments, a customized out-of-the-box experience (OOBE) for wireless services is provided for the user.Type: ApplicationFiled: November 15, 2013Publication date: May 21, 2015Inventors: James Christopher Gray, Triptpal Singh Lamba, David Neil MacDonald, Sidharth Uday Nabar
-
Publication number: 20150142947Abstract: Embodiments provision captive portals on network access points (NAPs). In response to a request from a NAP owner, a cloud service associates a NAP with the NAP owner and provides a control channel for configuring the NAP. The NAP owner inputs configuration settings describing the captive portal. The cloud service processes the configuration settings to generate configuration data. The cloud service transmits the configuration data to the NAP. The NAP applies the configuration data to configure the NAP. Some embodiments configure Wi-Fi hotspots with captive portals for gated access to the Internet.Type: ApplicationFiled: November 15, 2013Publication date: May 21, 2015Inventors: Adam R. Dyba, Piyush Goyal, James Christopher Gray, Shai Guday, Thomas W. Kuehnel, Triptpal Singh Lamba, David Neil MacDonald, Darya Mazandarany, Saumaya Sharma
-
Publication number: 20150142980Abstract: Embodiments personalize a set of network access points (NAPs) acting as captive portals for each user and/or user device. A cloud service, or the user device, accesses context describing the user device. The context identifies at least one NAP, and may include accounting data. One of the NAP is selected for connection based on the context, and an instruction set associated with the selected NAP is provided for replay by the user device to connect through the NAP. In some embodiments, instructions within the instruction set are also personalized to the user and/or user device based on the context.Type: ApplicationFiled: November 15, 2013Publication date: May 21, 2015Inventors: Scott M. Bragg, Piyush Goyal, James Christopher Gray, Thomas W. Kuehnel, Triptpal Singh Lamba, Darya Mazandarany, Sidharth Uday Nabar, Saumaya Sharma
-
Publication number: 20140071895Abstract: Embodiments select networks for connection based on application-specific quality scores. A request is received from an application for a network connection. Connection quality data for nearby networks is accessed. The connection quality data is derived from crowdsourced data. The connection quality data is adjusted based on a device context to produce an application-specific quality score for each of the networks. One or more of the networks are selected for connection based on the application-specific quality scores. In some embodiments, a single network connection endpoint is provided to the application to abstract connection management details from the application.Type: ApplicationFiled: November 15, 2013Publication date: March 13, 2014Inventors: Ryan H. Bane, Adam R. Dyba, Brent E. Ford, Aurelio Navarro Belletti Garcia, James Christopher Gray, Shai Guday, Tyler E. Hennessy, Ayman Kaheel, Triptpal Singh Lamba, Darya Mazandarany, Michael Hao Mi, Sidharth Uday Nabar, Christopher R. Rice, Peter Schmatz, Michael Svanholm Thomsen
-
Patent number: 8473956Abstract: A priority based scheduling system for a server prioritizes multiple tasks that are defined using various constraints, which may include relationships defined between different tasks, performance parameters for each task, and completion constraints. The system may track actual performance of a task and update the performance parameters over time. Some embodiments may include a status monitoring agent that may detect that a monitored network parameter has changed that may cause a scheduled task to be raised or lowered in priority. The system may be used to schedule and execute one time tasks as well as recurring tasks, and may execute those tasks during a rigid or flexible periodic time window. Many of the tasks may be pausable and resumable, and such tasks may be performed in increments over successive time windows.Type: GrantFiled: January 15, 2008Date of Patent: June 25, 2013Assignee: Microsoft CorporationInventors: Charles E. Kindel, James Christopher Gray, Neil S. Fishman, James M. Lyon, Alexander Dadiomov
-
Patent number: 8055698Abstract: A network recycle bin is used to store deleted files in a managed directory that is available across a network connection. Files stored in a shared directory or other network-accessible file storage system are moved to the managed directory upon deletion. Because the managed folder is part of the network-accessible file system, any permissions, authorizations, or settings for files may be unaltered after movement into the managed folder. In some embodiments, a local recycle bin may be merged with a network recycle bin from a user experience.Type: GrantFiled: January 30, 2007Date of Patent: November 8, 2011Assignee: Microsoft CorporationInventors: James Christopher Gray, Todd R. Headrick
-
Publication number: 20090183086Abstract: Systems and methods for providing a componentized remote user interface are disclosed. Such user interfaces are particularly suitable for use in remote configuration of a device, such as a headless device, that is in network communication with a computer. The user interface may be a web page rendered from an HTML file that defines the web page and a separate file that includes script for associating a value with a variable parameter. The HTML file may include a reference to the variable parameter and incorporate the other file therein by reference. When the web page is rendered, the device parses the HTML file to identify the file incorporated therein by reference and substitutes the parameter value provided in the file for the variable included in the HTML file. Thus, the rendered web page may include the actual value of the parameter, and the HTML file need not have the actual value hard-coded therein.Type: ApplicationFiled: March 30, 2009Publication date: July 16, 2009Applicant: Microsoft CorporationInventors: Sergey Solyanik, James Christopher Gray
-
Publication number: 20090183162Abstract: A priority based scheduling system for a server prioritizes multiple tasks that are defined using various constraints, which may include relationships defined between different tasks, performance parameters for each task, and completion constraints. The system may track actual performance of a task and update the performance parameters over time. Some embodiments may include a status monitoring agent that may detect that a monitored network parameter has changed that may cause a scheduled task to be raised or lowered in priority. The system may be used to schedule and execute one time tasks as well as recurring tasks, and may execute those tasks during a rigid or flexible periodic time window. Many of the tasks may be pausable and resumable, and such tasks may be performed in increments over successive time windows.Type: ApplicationFiled: January 15, 2008Publication date: July 16, 2009Applicant: MICROSOFT CORPORATIONInventors: Charles E. Kindel, James Christopher Gray, Neil S. Fishman, James M. Lyon, Alexander Dadiomov
-
Patent number: 7533099Abstract: Systems and methods for providing a componentized remote user interface are disclosed. Such user interfaces are particularly suitable for use in remote configuration of a device, such as a headless device, that is in network communication with a computer. The user interface may be a web page rendered from an HTML file that defines the web page and a separate file that includes script for associating a value with a variable parameter. The HTML file may include a reference to the variable parameter and incorporate the other file therein by reference. When the web page is rendered, the device parses the HTML file to identify the file incorporated therein by reference and substitutes the parameter value provided in the file for the variable included in the HTML file. Thus, the rendered web page may include the actual value of the parameter, and the HTML file need not have the actual value hard-coded therein.Type: GrantFiled: December 2, 2004Date of Patent: May 12, 2009Assignee: Microsoft CorporationInventors: Sergey Solyanik Solyanik, James Christopher Gray
-
Publication number: 20080250085Abstract: A backup system has a set of temporary backup data stored on a data storage system. When performing a backup operation for a device over a network, a block of data on the device may be compared to blocks of the temporary backup data. If the block of data already exists on the backup system in the temporary backup data, the block of data is not transferred over the network. Comparisons between blocks of data may be performed by calculating and comparing a hash value for the blocks.Type: ApplicationFiled: April 9, 2007Publication date: October 9, 2008Applicant: Microsoft CorporationInventors: James Christopher Gray, Cesare John Saretto, Charles Kindel
-
Publication number: 20080201477Abstract: A DHCP response is intercepted and the DNS address in the DHCP response is placed with an address for a server device when the server device is present on a local network. When the server device is not present, the DNS address from the DHCP response is used. The server device may provide authentication, shared resources, or other services to devices within a local area network and may also serve as a gateway to other networks including the Internet.Type: ApplicationFiled: February 15, 2007Publication date: August 21, 2008Applicant: Microsoft CorporationInventors: James Christopher Gray, James Lyon
-
Publication number: 20080195676Abstract: A backup system may create one or more archived copies of a file system, such as through successive periodic backup operations. When a virus or other malicious software is found on a system, that system's backup data is scanned to determine the last uninfected backup. A full or partial restore of the system may be performed using the last uninfected backup. In some cases, a malicious software scan may be performed by a second system on the backup data of a first system that has been infected. By using a second system, any malicious software on the first system may not be operating on the system that performs the malicious software scan.Type: ApplicationFiled: February 14, 2007Publication date: August 14, 2008Applicant: Microsoft CorporationInventors: James Lyon, James Christopher Gray