Patents by Inventor Randall E. Aull

Randall E. Aull 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: 10715381
    Abstract: Embodiments described herein are directed to mechanisms that enable roles (e.g., host vs. function, power provider vs. power consumer, master vs. slave, server vs. client, source vs. sink, upstream vs. downstream) to be dynamically assigned between two interconnected dual-role devices in an intelligent and deterministic manner based on the available context on each device.
    Type: Grant
    Filed: October 9, 2018
    Date of Patent: July 14, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Firdosh K. Bhesania, Anthony Y. Chen, Vivek Gupta, Andrea A. Keating, Randall E. Aull, Rahul Ramadas, Robert E. Harris, Jr., Jayson L. Kastens, Philip A. Froese, Cong Yang
  • Publication number: 20190052525
    Abstract: Embodiments described herein are directed to mechanisms that enable roles (e.g., host vs. function, power provider vs. power consumer, master vs. slave, server vs. client, source vs. sink, upstream vs. downstream) to be dynamically assigned between two interconnected dual-role devices in an intelligent and deterministic manner based on the available context on each device.
    Type: Application
    Filed: October 9, 2018
    Publication date: February 14, 2019
    Inventors: Firdosh K. Bhesania, Anthony Y. Chen, Vivek Gupta, Andrea A. Keating, Randall E. Aull, Rahul Ramadas, Robert E. Harris Jr., Jayson L. Kastens, Philip A. Froese, Cong Yang
  • Patent number: 10122576
    Abstract: Embodiments described herein are directed to mechanisms that enable roles (e.g., host vs. function, power provider vs. power consumer, master vs. slave, server vs. client, source vs. sink, upstream vs. downstream) to be dynamically assigned between two interconnected dual-role devices in an intelligent and deterministic manner based on the available context on each device.
    Type: Grant
    Filed: September 21, 2015
    Date of Patent: November 6, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Firdosh K. Bhesania, Anthony Y. Chen, Vivek Gupta, Andrea A. Keating, Randall E. Aull, Rahul Ramadas, Robert E. Harris, Jr., Jayson L. Kastens, Philip A. Froese, Cong Yang
  • Publication number: 20160277235
    Abstract: Embodiments described herein are directed to mechanisms that enable roles (e.g., host vs. function, power provider vs. power consumer, master vs. slave, server vs. client, source vs. sink, upstream vs. downstream) to be dynamically assigned between two interconnected dual-role devices in an intelligent and deterministic manner based on the available context on each device.
    Type: Application
    Filed: September 21, 2015
    Publication date: September 22, 2016
    Inventors: Firdosh K. Bhesania, Anthony Y. Chen, Vivek Gupta, Andrea A. Keating, Randall E. Aull, Rahul Ramadas, Robert E. Harris, JR., Jayson L. Kastens, Philip A. Froese, Cong Yang
  • Patent number: 9430413
    Abstract: This document describes techniques for detecting state loss on a device. These techniques permit a computer connected to a device to forgo, in many cases, reinitializing the device when returning to a normal-power mode.
    Type: Grant
    Filed: June 19, 2014
    Date of Patent: August 30, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Janet L. Schneider, Doron J. Holan, Randall E. Aull
  • Patent number: 9424225
    Abstract: In embodiments of driver interface functions to interface client function drivers, a set of serial communication protocol driver interfaces are exposed by a core driver stack, and the serial communication protocol driver interfaces include driver interface functions to interface with client function drivers that correspond to client devices configured for data communication in accordance with the serial communication protocol. A client function driver can check for the availability of a driver interface function before interfacing with the core driver stack via the serial communication protocol driver interfaces. A contract version identifier can also be received from the client function driver via an extension of the driver interface functions, where the contract version identifier indicates a set of operation rules by which the client function driver interfaces with the core driver stack.
    Type: Grant
    Filed: May 4, 2015
    Date of Patent: August 23, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Randall E. Aull, Doron J. Holan, Mukund Sankaranarayan
  • Patent number: 9417708
    Abstract: A computer receives data from a keyboard having one or more keys which cause generation of keyboard data that quantitatively describe the relative force applied to those keys. The keyboard data are transmitted in an HID report containing identifiers for one or more keys that have been pressed and force data for each key. The force data may be a multi-bit value quantifying the key force, or a null indicator signaling that the key is not force-sensing. Keyboard data messages are then prepared which identify keys pressed, contain force data, and may indicate whether the force data updates previous force data. Force updates are only provided to application programs registering for key force data. In other aspects of the disclosed subject matter, key repeat messages are automatically generated for a key held pressed by a user. The key repeat messages are generated at a rate controlled by the amount of force applied to the key.
    Type: Grant
    Filed: February 11, 2014
    Date of Patent: August 16, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Randall E. Aull, Firdosh K. Bhesania, Michael William John McCracken, Hirofumi Yamamoto, Steven N. Bathiche, Timothy T. Brewer
  • Patent number: 9342427
    Abstract: A computer system that recognizes multi-function devices and associates functions with multi-function devices. Each multi-function device may be represented by a multi-function object, allowing tools, applications or other components within the computer to take actions relating to the entire device or relating to a function based on the association of that function with other functions in the same device. These actions include displaying information about devices, instead of or in addition to information about functions. Actions also include selecting functions based on proximity within a device. Functions may be associated with a multi-function device using a unique device identifier provided by the device or generated for the function based on a connection hierarchy between functions and the computer. Devices may be configured to provide the same identifier regardless of the transport over which the device is accessed.
    Type: Grant
    Filed: January 24, 2013
    Date of Patent: May 17, 2016
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Doron J. Holan, Esaias E. Greeff, Douglas K. Brubacher, Randall E. Aull, Narayanan Ganapathy, James G. Cavalaris
  • Publication number: 20150317278
    Abstract: In embodiments of driver interface functions to interface client function drivers, a set of serial communication protocol driver interfaces are exposed by a core driver stack, and the serial communication protocol driver interfaces include driver interface functions to interface with client function drivers that correspond to client devices configured for data communication in accordance with the serial communication protocol. A client function driver can check for the availability of a driver interface function before interfacing with the core driver stack via the serial communication protocol driver interfaces. A contract version identifier can also be received from the client function driver via an extension of the driver interface functions, where the contract version identifier indicates a set of operation rules by which the client function driver interfaces with the core driver stack.
    Type: Application
    Filed: May 4, 2015
    Publication date: November 5, 2015
    Inventors: Randall E. Aull, Doron J. Holan, Mukund Sankaranarayan
  • Patent number: 9081902
    Abstract: A computer system that accesses multi-transport devices and associates device instances of the multi-transport device with each other. Devices provide the same device identifier such as a device unique identifier regardless of the transport over which the device is accessed. A visual representation for the multi-transport device may be provided to a user using the device identifier. Also, a single functional representation for the multi-transport device may be provided based on an identifier provided by each function of the device. The functional representation may be independent of the addition and removal of transports and allows abstracting device access via multiple transports from a user and an application. Transports may be selected at an application and/or a system level. Operating characteristics of available transports may be used to select a desired transport, based on transport requirements specified by the application, the user or the system.
    Type: Grant
    Filed: June 20, 2008
    Date of Patent: July 14, 2015
    Assignee: Microsoft Technology Licensing, LLC.
    Inventors: James G. Cavalaris, Narayanan Ganapathy, Doron J. Holan, Randall E. Aull, Paresh J. Maisuria
  • Patent number: 9043497
    Abstract: In embodiments of driver interface functions to interface client function drivers, a set of serial communication protocol driver interfaces are exposed by a core driver stack, and the serial communication protocol driver interfaces include driver interface functions to interface with client function drivers that correspond to client devices configured for data communication in accordance with the serial communication protocol. A client function driver can check for the availability of a driver interface function before interfacing with the core driver stack via the serial communication protocol driver interfaces. A contract version identifier can also be received from the client function driver via an extension of the driver interface functions, where the contract version identifier indicates a set of operation rules by which the client function driver interfaces with the core driver stack.
    Type: Grant
    Filed: August 5, 2013
    Date of Patent: May 26, 2015
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Randall E. Aull, Doron J. Holan, Mukund Sankaranarayan
  • Publication number: 20140354550
    Abstract: Disclosed are techniques and systems for obtaining contextual information at least in part from a keyboard, to improve typing efficiencies and user experience. The contextual information may include keyboard attributes, typing metadata, user actions, and the like. The keyboard may be configured to detect an input event at the keyboard. A human interface device (HID) stack is configured to receive the contextual information, and a keyboard manager is configured to determine an output based at least in part on the input event and the contextual information. The output may be a most probable function (non-text-based output), or character or word (text-based output) that can be suggested or used to auto-correct application data. In some embodiments, the user action received in the contextual information may be translated to a gesture to manipulate application data.
    Type: Application
    Filed: September 6, 2013
    Publication date: December 4, 2014
    Applicant: Microsoft Corporation
    Inventors: Rouella J. Mendonca, Alex G. Snitkovskiy, Hirofumi Yamamoto, Randall E. Aull, Nathan C. Sherman, James C. Marshall, Scott Mail
  • Publication number: 20140304433
    Abstract: This document describes techniques for detecting state loss on a device. These techniques permit a computer connected to a device to forgo, in many cases, reinitializing the device when returning to a normal-power mode.
    Type: Application
    Filed: June 19, 2014
    Publication date: October 9, 2014
    Inventors: Janet L. Schneider, Doron J. Holan, Randall E. Aull
  • Publication number: 20140232573
    Abstract: A computer receives data from a keyboard having one or more keys which cause generation of keyboard data that quantitatively describe the relative force applied to those keys. The keyboard data are transmitted in an HID report containing identifiers for one or more keys that have been pressed and force data for each key. The force data may be a multi-bit value quantifying the key force, or a null indicator signaling that the key is not force-sensing. Keyboard data messages are then prepared which identify keys pressed, contain force data, and may indicate whether the force data updates previous force data. Force updates are only provided to application programs registering for key force data. In other aspects of the disclosed subject matter, key repeat messages are automatically generated for a key held pressed by a user. The key repeat messages are generated at a rate controlled by the amount of force applied to the key.
    Type: Application
    Filed: February 11, 2014
    Publication date: August 21, 2014
    Applicant: Microsoft Corporation
    Inventors: Randall E. Aull, Firdosh K. Bhesania, Michael William John McCracken, Hirofumi Yamamoto, Steven N. Bathiche, Timothy T. Brewer
  • Patent number: 8782386
    Abstract: This document describes techniques for detecting state loss on a device. These techniques permit a computer connected to a device to forgo, in many cases, reinitializing the device when returning to a normal-power mode.
    Type: Grant
    Filed: September 24, 2010
    Date of Patent: July 15, 2014
    Assignee: Microsoft Corporation
    Inventors: Janet L. Schneider, Doron J. Holan, Randall E. Aull
  • Patent number: 8738835
    Abstract: In embodiments of HID over simple peripheral buses, a peripheral sensor receives inputs from a peripheral device, and the peripheral sensor implements an HID SPB interface to interface the peripheral device with a computing system via a simple peripheral bus (SPB) in an HID data format. The peripheral sensor can also receive extensibility data for a proprietary function of the peripheral device, and communicate the inputs from the peripheral device and the extensibility data via the simple peripheral bus in the computing system. Alternatively or in addition, a peripheral sensor can generate sensor data and the HID SPB interface interfaces the peripheral sensor with the computing system via the simple peripheral bus. The peripheral sensor can then communicate the sensor data as well as extensibility data for a proprietary function of the peripheral sensor via the simple peripheral bus in the HID data format to the computing system.
    Type: Grant
    Filed: August 13, 2013
    Date of Patent: May 27, 2014
    Assignee: Microsoft Corporation
    Inventors: Firdosh K. Bhesania, Arvind R. Aiyar, Randall E. Aull, David Abzarian
  • Patent number: 8648812
    Abstract: A computer receives data from a keyboard having one or more keys which cause generation of keyboard data that quantitatively describe the relative force applied to those keys. The keyboard data are transmitted in an HID report containing identifiers for one or more keys that have been pressed and force data for each key. The force data may be a multi-bit value quantifying the key force, or a null indicator signaling that the key is not force-sensing. Keyboard data messages are then prepared which identify keys pressed, contain force data, and may indicate whether the force data updates previous force data. Force updates are only provided to application programs registering for key force data. In other aspects of the invention, key repeat messages are automatically generated for a key held pressed by a user. The key repeat messages are generated at a rate controlled by the amount of force applied to the key.
    Type: Grant
    Filed: July 28, 2008
    Date of Patent: February 11, 2014
    Assignee: Microsoft Corporation
    Inventors: Randall E. Aull, Firdosh K. Bhesania, Michael William John McCracken, Hirofumi Yamamoto, Steven N. Bathiche, Timothy T. Brewer
  • Publication number: 20130332643
    Abstract: In embodiments of HID over simple peripheral buses, a peripheral sensor receives inputs from a peripheral device, and the peripheral sensor implements an HID SPB interface to interface the peripheral device with a computing system via a simple peripheral bus (SPB) in an HID data format. The peripheral sensor can also receive extensibility data for a proprietary function of the peripheral device, and communicate the inputs from the peripheral device and the extensibility data via the simple peripheral bus in the computing system. Alternatively or in addition, a peripheral sensor can generate sensor data and the HID SPB interface interfaces the peripheral sensor with the computing system via the simple peripheral bus. The peripheral sensor can then communicate the sensor data as well as extensibility data for a proprietary function of the peripheral sensor via the simple peripheral bus in the HID data format to the computing system.
    Type: Application
    Filed: August 13, 2013
    Publication date: December 12, 2013
    Applicant: Microsoft Corporation
    Inventors: Firdosh K. Bhesania, Arvind R. Aiyar, Randall E. Aull, David Abzarian
  • Publication number: 20130326543
    Abstract: In embodiments of driver interface functions to interface client function drivers, a set of serial communication protocol driver interfaces are exposed by a core driver stack, and the serial communication protocol driver interfaces include driver interface functions to interface with client function drivers that correspond to client devices configured for data communication in accordance with the serial communication protocol. A client function driver can check for the availability of a driver interface function before interfacing with the core driver stack via the serial communication protocol driver interfaces. A contract version identifier can also be received from the client function driver via an extension of the driver interface functions, where the contract version identifier indicates a set of operation rules by which the client function driver interfaces with the core driver stack.
    Type: Application
    Filed: August 5, 2013
    Publication date: December 5, 2013
    Inventors: Randall E. Aull, Doron J. Holan, Mukund Sankaranarayan
  • Patent number: 8521942
    Abstract: In embodiments of human interface device (HID) over simple peripheral buses, a peripheral sensor receives inputs from a peripheral device, and the peripheral sensor implements an HID SPB interface to interface the peripheral device with a computing system via a simple peripheral bus (SPB) in an HID data format. The peripheral sensor can receive extensibility data for a proprietary function of the peripheral device, and communicate the inputs from the peripheral device and the extensibility data via the simple peripheral bus in the computing system. Alternatively or in addition, a peripheral sensor can generate sensor data and the HID SPB interface interfaces the peripheral sensor with the computing system via the simple peripheral bus. The peripheral sensor can then communicate the sensor data as well as extensibility data for a proprietary function of the peripheral sensor via the simple peripheral bus in the HID data format to the computing system.
    Type: Grant
    Filed: March 21, 2011
    Date of Patent: August 27, 2013
    Assignee: Microsoft Corporation
    Inventors: Firdosh K. Bhesania, Arvind R. Aiyar, Randall E. Aull, David Abzarian