Patents by Inventor David G. Thaler

David G. Thaler 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: 10623497
    Abstract: The application is directed to a computer-implemented method and apparatus for provisioning an Internet of Things (IoT) device on an IoT network. The application is also directed to a method for managing access to functionality of an IoT device in a networked group.
    Type: Grant
    Filed: October 11, 2016
    Date of Patent: April 14, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David G. Thaler, Justin Allen Hutchings, Kevin M. Kane, Daniel Stelian Mihai, Arvind R. Padole, Pawel R. Winogrodzki, Greg M. Zaverucha
  • Patent number: 10404791
    Abstract: A load balancer receives a client request from a client device for a connection to an application. The load balancer queries a monitoring server for a list of one or more application servers associated with the application. The monitoring server determines, based on cache state information of the plurality of application servers, the list of one or more application servers. The load balancer establishes a connection on behalf of the client device to one of the application servers.
    Type: Grant
    Filed: December 4, 2015
    Date of Patent: September 3, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Ranjit Puri, Benjamin M. Schultz, David G. Thaler
  • Patent number: 10153959
    Abstract: Network communication and cost awareness techniques are described. In one or more implementations, functionality is exposed through one or more application programming interfaces (APIs) that is accessible to a plurality of applications of the computing device to perform network communication. Data is returned to one or more of the plurality of applications regarding a cost network used to perform the network communication.
    Type: Grant
    Filed: June 8, 2017
    Date of Patent: December 11, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Suhail Khalid, Alexander Corradini, Michael A. Ziller, Ravi T. Rao, David G. Thaler, Andrew J. Ritz
  • Publication number: 20180103039
    Abstract: The application is directed to a computer-implemented method and apparatus for provisioning an Internet of Things (IoT) device on an IoT network. The application is also directed to a method for managing access to functionality of an IoT device in a networked group.
    Type: Application
    Filed: October 11, 2016
    Publication date: April 12, 2018
    Inventors: David G. Thaler, Justin Allen Hutchings, Kevin M. Kane, Daniel Stelian Mihai, Arvind R. Padole, Pawel R. Winogrodzki, Greg M. Zaverucha
  • Patent number: 9939876
    Abstract: Operating system management of network interface devices is described. In one or more implementations, a determination is made by an operating system that network traffic associated with one or more applications of the computing device has completed. Responsive to the determination, a network interface device is caused to transition to a mode to reduce power consumption of the network interface device by the operating system.
    Type: Grant
    Filed: October 9, 2015
    Date of Patent: April 10, 2018
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Srinivas Raghu Gatta, Kamalavasan Srinivasan, Andrew J. Ritz, David G. Thaler, Dmitry A. Anipko, Alexander Malysh
  • Publication number: 20170272341
    Abstract: Network communication and cost awareness techniques are described. In one or more implementations, functionality is exposed through one or more application programming interfaces (APIs) that is accessible to a plurality of applications of the computing device to perform network communication. Data is returned to one or more of the plurality of applications regarding a cost network used to perform the network communication.
    Type: Application
    Filed: June 8, 2017
    Publication date: September 21, 2017
    Inventors: Suhail Khalid, Alexander Corradini, Michael A. Ziller, Ravi T. Rao, David G. Thaler, Andrew J. Ritz
  • Patent number: 9736050
    Abstract: Keep alive management techniques are described. In one or more implementations, a keep alive interval is calculated by an operating system of the computing device. The keep alive interval is used to maintain one or more notification channels between one or more applications of the computing device and a network.
    Type: Grant
    Filed: July 22, 2016
    Date of Patent: August 15, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Srinivas Raghu Gatta, Kamalavasan Srinivasan, Osman N. Ertugay, David G. Thaler, Dmitry A. Anipko, Jeroen Vanturennout, Mohammad Saifur Rahman, Poornananda R. Gaddehosur
  • Patent number: 9705844
    Abstract: Disclosed are an approach form managing and assigning addresses in a connectivity platform that allows for proprietary connectivity modules (Providers) to plug into the operating system. In this disclosure, when a user/application/computing device, connects to another user on another computing device an address is generated for that user. However, because of a limited number of addresses that are available in an address space, it is necessary to ensure that a conflicting address is not present. To ensure this the connectivity platform determines if the address assigned is in conflict with another address associated with users that are located on the other computing devices. If an address is found to be in conflict the connectivity platform reassigns the address until a non-conflicting address is found. If a non-conflicting address cannot be found the connectivity platform blocks the connection between the user and the other user.
    Type: Grant
    Filed: December 28, 2012
    Date of Patent: July 11, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Dmitry Anipko, David G. Thaler, Deepak Bansal, Benjamin M. Schultz, Rajesh Sundaram
  • Patent number: 9680724
    Abstract: Network communication and cost awareness techniques are described. In one or more implementations, functionality is exposed through one or more application programming interfaces (APIs) that is accessible to a plurality of applications of the computing device to perform network communication. Data is returned to one or more of the plurality of applications regarding a cost network used to perform the network communication.
    Type: Grant
    Filed: May 9, 2016
    Date of Patent: June 13, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Suhail Khalid, Alexander Corradini, Michael A. Ziller, Ravi T. Rao, David G. Thaler, Andrew J. Ritz
  • Publication number: 20170163724
    Abstract: A load balancer receives a client request from a client device for a connection to an application. The load balancer queries a monitoring server for a list of one or more application servers associated with the application. The monitoring server determines, based on cache state information of the plurality of application servers, the list of one or more application servers. The load balancer establishes a connection on behalf of the client device to one of the application servers.
    Type: Application
    Filed: December 4, 2015
    Publication date: June 8, 2017
    Inventors: Ranjit Puri, Benjamin M. Schultz, David G. Thaler
  • Patent number: 9596153
    Abstract: Wake pattern management techniques are described. In one or more implementations, network traffic received by a network interface device of a computing device is monitored and a traffic pattern is recognized in the monitored network traffic. An application of the computing device is identified that corresponds to the recognized traffic pattern and responsive to this identification, at least a portion of the identified application is woken.
    Type: Grant
    Filed: February 8, 2016
    Date of Patent: March 14, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David G. Thaler, Kamalavasan Srinivasan, Andrew J. Ritz, Srinivas Raghu Gatta, Osman N. Ertugay, Poornananda R. Gaddehosur, Dmitry A. Anipko
  • Patent number: 9544213
    Abstract: Keep alive management techniques are described. In one or more implementations, a keep alive interval is calculated by an operating system of the computing device. The keep alive interval is used to maintain one or more notification channels between one or more applications of the computing device and a network.
    Type: Grant
    Filed: October 28, 2014
    Date of Patent: January 10, 2017
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Srinivas Raghu Gatta, Kamalavasan Srinivasan, Osman N. Ertugay, David G. Thaler, Dmitry A. Anipko, Jeroen Vanturennout, Mohammad Saifur Rahman, Poornananda R. Gaddehosur
  • Patent number: 9509659
    Abstract: Disclosed are a connectivity platform that allows for proprietary connectivity modules to plug into the operating system and also allows the operating system users and various existing networking applications in the operating system that are authorized by those providers to use that connectivity via existing APIs without the need for the applications to change or for extra configuration of the application to be performed. In an example disclosed herein, the providers provide NAT or firewall traversal and implement the appropriate transport mechanism. This allows for applications and computing devices to communicate in environments where connectivity is prevented by intermediate systems.
    Type: Grant
    Filed: August 29, 2014
    Date of Patent: November 29, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Dmitry A. Anipko, Deepak Bansal, Aaron J. Schrader, Benjamin M. Schultz, Rajesh Sundaram, David G. Thaler
  • Publication number: 20160330098
    Abstract: Keep alive management techniques are described. In one or more implementations, a keep alive interval is calculated by an operating system of the computing device. The keep alive interval is used to maintain one or more notification channels between one or more applications of the computing device and a network.
    Type: Application
    Filed: July 22, 2016
    Publication date: November 10, 2016
    Inventors: Srinivas Raghu Gatta, Kamalavasan Srinivasan, Osman N. Ertugay, David G. Thaler, Dmitry A. Anipko, Jeroen Vanturennout, Mohammad Saifur Rahman, Poornananda R. Gaddehosur
  • Publication number: 20160254977
    Abstract: Network communication and cost awareness techniques are described. In one or more implementations, functionality is exposed through one or more application programming interfaces (APIs) that is accessible to a plurality of applications of the computing device to perform network communication. Data is returned to one or more of the plurality of applications regarding a cost network used to perform the network communication.
    Type: Application
    Filed: May 9, 2016
    Publication date: September 1, 2016
    Inventors: Suhail Khalid, Alexander Corradini, Michael A. Ziller, Ravi T. Rao, David G. Thaler, Andrew J. Ritz
  • Publication number: 20160226727
    Abstract: Wake pattern management techniques are described. In one or more implementations, network traffic received by a network interface device of a computing device is monitored and a traffic pattern is recognized in the monitored network traffic. An application of the computing device is identified that corresponds to the recognized traffic pattern and responsive to this identification, at least a portion of the identified application is woken.
    Type: Application
    Filed: February 8, 2016
    Publication date: August 4, 2016
    Inventors: David G. Thaler, Kamalavasan Srinivasan, Andrew J. Ritz, Srinivas Raghu Gatta, Osman N. Ertugay, Poornananda R. Gaddehosur, Dmitry A. Anipko
  • Patent number: 9344335
    Abstract: Network communication and cost awareness techniques are described. In one or more implementations, functionality is exposed through one or more application programming interfaces (APIs) that is accessible to a plurality of applications of the computing device to perform network communication. Data is returned to one or more of the plurality of applications regarding a cost network used to perform the network communication.
    Type: Grant
    Filed: September 9, 2011
    Date of Patent: May 17, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Suhail Khalid, Alexander Corradini, Michael A. Ziller, Ravi T. Rao, David G. Thaler, Andrew J. Ritz
  • Patent number: 9294379
    Abstract: Wake pattern management techniques are described. In one or more implementations, network traffic received by a network interface device of a computing device is monitored and a traffic pattern is recognized in the monitored network traffic. An application of the computing device is identified that corresponds to the recognized traffic pattern and responsive to this identification, at least a portion of the identified application is woken.
    Type: Grant
    Filed: April 6, 2015
    Date of Patent: March 22, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David G. Thaler, Kamalavasan Srinivasan, Andrew J. Ritz, Srinivas Raghu Gatta, Osman N. Ertugay, Poornananda R. Gaddehosur, Dmitry A. Anipko
  • Publication number: 20160034018
    Abstract: Operating system management of network interface devices is described. In one or more implementations, a determination is made by an operating system that network traffic associated with one or more applications of the computing device has completed. Responsive to the determination, a network interface device is caused to transition to a mode to reduce power consumption of the network interface device by the operating system.
    Type: Application
    Filed: October 9, 2015
    Publication date: February 4, 2016
    Inventors: Srinivas Raghu Gatta, Kamalavasan Srinivasan, Andrew J. Ritz, David G. Thaler, Dmitry A. Anipko, Alexander Malysh
  • Publication number: 20150312159
    Abstract: A network interface that connects a computing device to a network may be configured to process incoming packets and determine an action to take with respect to each packet, thus decreasing processing demands on a processor of the computing device. The action may be indicating the packet to an operating system of the computing device immediately, storing the packet in a queue of one or more queues or discarding the packet. When the processor is interrupted, multiple packets aggregated on the network interface may be indicated to the operating system all at once to increase the device's power efficiency. Hardware of the network interface may be programmed to process the packets using filter criteria specified by the operating system based on information gathered by the operating system, such as firewall rules.
    Type: Application
    Filed: December 22, 2014
    Publication date: October 29, 2015
    Inventors: Osman N. Ertugay, David G. Thaler, Mahender Hari, Andrew J. Ritz, Alireza Dabagh