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: 9170636
    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: June 25, 2014
    Date of Patent: October 27, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Srinivas Raghu Gatta, Kamalavasan Srinivasan, Andrew J. Ritz, David G. Thaler, Dmitry A. Anipko, Alexander Malysh
  • Publication number: 20150215185
    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: April 6, 2015
    Publication date: July 30, 2015
    Inventors: David G. Thaler, Kamalavasan Srinivasan, Andrew J. Ritz, Srinivas Raghu Gatta, Osman N. Ertugay, Poornananda R. Gaddehosur, Dmitry A. Anipko
  • Patent number: 9049660
    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: September 9, 2011
    Date of Patent: June 2, 2015
    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: 20150052373
    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: October 28, 2014
    Publication date: February 19, 2015
    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: 8917742
    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: Grant
    Filed: July 13, 2011
    Date of Patent: December 23, 2014
    Assignee: Microsoft Corporation
    Inventors: Osman N. Ertugay, David G. Thaler, Mahender Hari, Andrew J. Ritz, Alireza Dabagh
  • Publication number: 20140369358
    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: Application
    Filed: August 29, 2014
    Publication date: December 18, 2014
    Inventors: Dmitry A. Anipko, Deepak Bansal, Aaron J. Schrader, Benjamin M. Schultz, Rajesh Sundaram, David G. Thaler
  • Patent number: 8892710
    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: September 9, 2011
    Date of Patent: November 18, 2014
    Assignee: Microsoft Corporation
    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: 20140310546
    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: June 25, 2014
    Publication date: October 16, 2014
    Inventors: Srinivas Raghu Gatta, Kamalavasan Srinivasan, Andrew J. Ritz, David G. Thaler, Dmitry A. Anipko, Alexander Malysh
  • Patent number: 8825883
    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: February 29, 2008
    Date of Patent: September 2, 2014
    Assignee: Microsoft Corporation
    Inventors: Dmitry A. Anipko, Deepak Bansal, Aaron J. Schrader, Benjamin M. Schultz, Rajesh Sundaram, David G. Thaler
  • Patent number: 8806250
    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: September 9, 2011
    Date of Patent: August 12, 2014
    Assignee: Microsoft Corporation
    Inventors: Srinivas Raghu Gatta, Kamalavasan Srinivasan, Andrew J. Ritz, David G. Thaler, Dmitry A. Anipko, Alexander Malysh
  • Patent number: 8473744
    Abstract: Disclosed is an authentication mechanism that enables an information recipient to ascertain that the information comes from the sender it purports to be from. This mechanism integrates a private/public key pair with selection by the sender of a portion of its address. The sender derives its address from its public key, for example, by using a hash of the key. The recipient verifies the association between the address and the sender's private key. The recipient may retrieve the key from an insecure resource and know that it has the correct key because only that key can produce the sender's address in the message. The hash may be made larger than the sender-selectable portion of the address. The recipient may cache public key/address pairs and use the cache to detect brute force attacks and to survive denial of service attacks. The mechanism may be used to optimize security negotiation algorithms.
    Type: Grant
    Filed: November 1, 2006
    Date of Patent: June 25, 2013
    Assignee: Microsoft Corporation
    Inventors: Art Shelest, David G. Thaler, Gregory O'Shea, Michael Roe, Brian D. Zill
  • Publication number: 20130067059
    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: September 9, 2011
    Publication date: March 14, 2013
    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: 20130067060
    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: September 9, 2011
    Publication date: March 14, 2013
    Inventors: David G. Thaler, Kamalavasan Srinivasan, Andrew J. Ritz, Srinivas Raghu Gatta, Osman N. Ertugay, Poornananda R. Gaddehosur, Dmitry A. Anipko
  • Publication number: 20130067061
    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: September 9, 2011
    Publication date: March 14, 2013
    Inventors: Suhail Khalid, Alexander Corradini, Michael A. Ziller, Ravi T. Rao, David G. Thaler, Andrew J. Ritz
  • Publication number: 20130067260
    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: September 9, 2011
    Publication date: March 14, 2013
    Inventors: Srinivas Raghu Gatta, Kamalavasan Srinivasan, Andrew J. Ritz, David G. Thaler, Dmitry A. Anipko, Alexander Malysh
  • Patent number: 8364847
    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: March 17, 2008
    Date of Patent: January 29, 2013
    Assignee: Microsoft Corporation
    Inventors: Dmitry Anipko, David G. Thaler, Deepak Bansal, Benjamin M. Schultz, Rajesh Sundaram
  • Publication number: 20130019042
    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: July 13, 2011
    Publication date: January 17, 2013
    Applicant: Microsoft Corporation
    Inventors: Osman N. Ertugay, David G. Thaler, Mahender Hari, Andrew J. Ritz, Alireza Dabagh
  • Patent number: 8255546
    Abstract: An application program interface (API) for sending and receiving endpoint registration data and peer-to-peer network cloud data has a registration call for adding endpoint data to a peer-to-peer network. The API may receive explicit data regarding address information or may be instructed to select and maintain suitable address information as the topology of the peer-to-peer network changes. Blocking and non-blocking calls are exposed for retrieving information peer-to-peer network endpoint data.
    Type: Grant
    Filed: September 30, 2005
    Date of Patent: August 28, 2012
    Assignee: Microsoft Corporation
    Inventors: Noah Horton, David G. Thaler, Brian R. Lieuallen, Upshur Warren Parks, III, Jeremy L. Dewey, Todd R. Manion, Scott A. Senkeresty
  • Patent number: 8166538
    Abstract: A unified architecture for enabling remote access to a network is provided. The network may comprise, as examples, a virtual private network (VPN) and/or a peer-to-peer network. In one embodiment, the architecture includes components installed on a client device/node and a gateway/supernode. Components implemented on the client device may facilitate access in a manner similar to that of a traditional VPN, while components on the gateway may facilitate access in a manner similar to an application proxy. Communication between the client device and gateway may occur, as an example, via a Secure Sockets Layer (SSL) communication protocol.
    Type: Grant
    Filed: July 8, 2005
    Date of Patent: April 24, 2012
    Assignee: Microsoft Corporation
    Inventors: Abolade Gbadegesin, Arvind M. Murching, David G. Thaler, Henry L. Sanders, Narendra C. Gidwani, Paul G. Mayfield
  • Patent number: 8165013
    Abstract: A networked computer system in which a gateway is selected for efficient transmission over a network using a layered protocol. When a transmission over the network fails, information at multiple protocol layers indicates the usability of the gateway through which the failed transmission was made. In a layered protocol with an application or connection layer, a path layer and a link layer, information at the link layer is used to determine whether retransmission through the same gateway should be attempted. Information at the path layer is used to determine whether the gateway is faulty. Information from the application or connection layer is used to determine whether responses are received to transmissions. These determinations are used in setting the status of the gateway, which in turn is used to prioritize gateways when selecting a gateway for future transmissions.
    Type: Grant
    Filed: April 14, 2006
    Date of Patent: April 24, 2012
    Assignee: Microsoft Corporation
    Inventors: Abolade Gbadegesin, Amit Aggarwal, David G. Thaler