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: 11157388
    Abstract: 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: Grant
    Filed: July 10, 2020
    Date of Patent: October 26, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: 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: 10560853
    Abstract: 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: Grant
    Filed: June 8, 2016
    Date of Patent: February 11, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: 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: 10382305
    Abstract: 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: Grant
    Filed: November 15, 2013
    Date of Patent: August 13, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: 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: 10057302
    Abstract: 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: Grant
    Filed: November 15, 2013
    Date of Patent: August 21, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Scott M. Bragg, Piyush Goyal, James Christopher Gray, Thomas W. Kuehnel, Triptpal Singh Lamba, Darya Mazandarany, Sidharth Uday Nabar, Saumaya Sharma
  • Publication number: 20160295428
    Abstract: 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: Application
    Filed: June 8, 2016
    Publication date: October 6, 2016
    Inventors: 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: 9369342
    Abstract: 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: Grant
    Filed: November 15, 2013
    Date of Patent: June 14, 2016
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: 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: 20150142946
    Abstract: 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: Application
    Filed: November 15, 2013
    Publication date: May 21, 2015
    Inventors: 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: 20150139074
    Abstract: 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: Application
    Filed: November 15, 2013
    Publication date: May 21, 2015
    Inventors: 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: 20150142590
    Abstract: 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: Application
    Filed: November 15, 2013
    Publication date: May 21, 2015
    Inventors: James Christopher Gray, Triptpal Singh Lamba, David Neil MacDonald, Sidharth Uday Nabar
  • Publication number: 20150142947
    Abstract: 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: Application
    Filed: November 15, 2013
    Publication date: May 21, 2015
    Inventors: 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: 20150142980
    Abstract: 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: Application
    Filed: November 15, 2013
    Publication date: May 21, 2015
    Inventors: Scott M. Bragg, Piyush Goyal, James Christopher Gray, Thomas W. Kuehnel, Triptpal Singh Lamba, Darya Mazandarany, Sidharth Uday Nabar, Saumaya Sharma
  • Publication number: 20140071895
    Abstract: 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: Application
    Filed: November 15, 2013
    Publication date: March 13, 2014
    Inventors: 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: 8473956
    Abstract: 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: Grant
    Filed: January 15, 2008
    Date of Patent: June 25, 2013
    Assignee: Microsoft Corporation
    Inventors: Charles E. Kindel, James Christopher Gray, Neil S. Fishman, James M. Lyon, Alexander Dadiomov
  • Patent number: 8055698
    Abstract: 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: Grant
    Filed: January 30, 2007
    Date of Patent: November 8, 2011
    Assignee: Microsoft Corporation
    Inventors: James Christopher Gray, Todd R. Headrick
  • Publication number: 20090183086
    Abstract: 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: Application
    Filed: March 30, 2009
    Publication date: July 16, 2009
    Applicant: Microsoft Corporation
    Inventors: Sergey Solyanik, James Christopher Gray
  • Publication number: 20090183162
    Abstract: 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: Application
    Filed: January 15, 2008
    Publication date: July 16, 2009
    Applicant: MICROSOFT CORPORATION
    Inventors: Charles E. Kindel, James Christopher Gray, Neil S. Fishman, James M. Lyon, Alexander Dadiomov
  • Patent number: 7533099
    Abstract: 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: Grant
    Filed: December 2, 2004
    Date of Patent: May 12, 2009
    Assignee: Microsoft Corporation
    Inventors: Sergey Solyanik Solyanik, James Christopher Gray
  • Publication number: 20080250085
    Abstract: 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: Application
    Filed: April 9, 2007
    Publication date: October 9, 2008
    Applicant: Microsoft Corporation
    Inventors: James Christopher Gray, Cesare John Saretto, Charles Kindel
  • Publication number: 20080201477
    Abstract: 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: Application
    Filed: February 15, 2007
    Publication date: August 21, 2008
    Applicant: Microsoft Corporation
    Inventors: James Christopher Gray, James Lyon
  • Publication number: 20080195676
    Abstract: 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: Application
    Filed: February 14, 2007
    Publication date: August 14, 2008
    Applicant: Microsoft Corporation
    Inventors: James Lyon, James Christopher Gray