Patents by Inventor Eric Badger

Eric Badger 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: 12086087
    Abstract: Methods and apparatus for improved send/receive operations in network interface fabrics. In one exemplary embodiment, mechanisms and protocols for enhanced inter-process (and inter-endpoint) communication, including within very large scale topologies involving e.g., hundreds or even thousands of nodes or endpoints, such as a large-scale high-performance compute or network fabric, are described. In one implementation, the methods and apparatus avoid frequent kernel transitions (and the performance penalties associated therewith) associated with prior approaches through use of UMCs (user message contexts) are created, which contain TX and RX queues that can be read and written directly from user space. A KMC (kernel message context) is also used, in which TX queues are written from the kernel such that access can be arbitrated between unrelated processes. These functions allow for, among other things, significant portions of the foregoing kernel accesses to be obviated.
    Type: Grant
    Filed: May 26, 2022
    Date of Patent: September 10, 2024
    Assignee: GigaIO Networks, Inc.
    Inventor: Eric Badger
  • Patent number: 11593291
    Abstract: Methods and apparatus for efficient scaling of fabric architectures such as those based on PCIe technology, including up to very large fabrics and numbers of hosts/devices for use in ultra-high performance applications such as for example data centers and computing clusters. In one aspect, methods and apparatus for using Non-Transparent Bridge (NTB) technology to export Message Signaled Interrupts (MSIs) to external hosts are described. In a further aspect, an IO Virtual Address (IOVA) space is created is used as a method of sharing an address space between hosts, including across the foregoing NTB(s). Additionally, a Fabric Manager (FM) entity is disclosed and utilized for programming e.g., PCIe switch hardware to effect a desired host/fabric configuration.
    Type: Grant
    Filed: September 10, 2019
    Date of Patent: February 28, 2023
    Assignee: GigaIO Networks, Inc.
    Inventors: Eric Pilmore, Doug Meyer, Michael Haworth, Scott Taylor, Jerry Coffin, Eric Badger
  • Patent number: 11593288
    Abstract: Methods and apparatus for efficient data transmit and receive operations using polling of memory queues associated with interconnect fabric interface. In one embodiment, Non-Transparent Bridge (NTB) technology used to transact the data transmit/receive operations and a hardware accelerator card used implement a notification mechanism in order to optimize of receive queue polling are disclosed. The accelerator card comprises a notification address configured to signal the presence of data, and a notification acknowledgement region configured to store flags associated with memory receive queues. In one implementation, the interconnect fabric is based on PCIe technology, including up to very large fabrics and numbers of hosts/devices for use in ultra-high performance applications such as for example data centers and computing clusters.
    Type: Grant
    Filed: October 1, 2020
    Date of Patent: February 28, 2023
    Assignee: GigalO Networks, Inc.
    Inventor: Eric Badger
  • Publication number: 20220294743
    Abstract: Methods and apparatus for improved send/receive operations in network interface fabrics. In one exemplary embodiment, mechanisms and protocols for enhanced inter-process (and inter-endpoint) communication, including within very large scale topologies involving e.g., hundreds or even thousands of nodes or endpoints, such as a large-scale high-performance compute or network fabric, are described. In one implementation, the methods and apparatus avoid frequent kernel transitions (and the performance penalties associated therewith) associated with prior approaches through use of UMCs (user message contexts) are created, which contain TX and RX queues that can be read and written directly from user space. A KMC (kernel message context) is also used, in which TX queues are written from the kernel such that access can be arbitrated between unrelated processes. These functions allow for, among other things, significant portions of the foregoing kernel accesses to be obviated.
    Type: Application
    Filed: May 26, 2022
    Publication date: September 15, 2022
    Inventor: Eric Badger
  • Patent number: 11403247
    Abstract: Methods and apparatus for improved send/receive operations in network interface fabrics. In one exemplary embodiment, mechanisms and protocols for enhanced inter-process (and inter-endpoint) communication, including within very large scale topologies involving e.g., hundreds or even thousands of nodes or endpoints, such as a large-scale high-performance compute or network fabric, are described. In one implementation, the methods and apparatus avoid frequent kernel transitions (and the performance penalties associated therewith) associated with prior approaches through use of UMCs (user message contexts) are created, which contain TX and RX queues that can be read and written directly from user space. A KMC (kernel message context) is also used, in which TX queues are written from the kernel such that access can be arbitrated between unrelated processes. These functions allow for, among other things, significant portions of the foregoing kernel accesses to be obviated.
    Type: Grant
    Filed: September 9, 2020
    Date of Patent: August 2, 2022
    Assignee: GigaIO Networks, Inc.
    Inventor: Eric Badger
  • Publication number: 20210103535
    Abstract: Methods and apparatus for efficient data transmit and receive operations using polling of memory queues associated with interconnect fabric interface. In one embodiment, Non-Transparent Bridge (NTB) technology used to transact the data transmit/receive operations and a hardware accelerator card used implement a notification mechanism in order to optimize of receive queue polling are disclosed. The accelerator card comprises a notification address configured to signal the presence of data, and a notification acknowledgement region configured to store flags associated with memory receive queues. In one implementation, the interconnect fabric is based on PCIe technology, including up to very large fabrics and numbers of hosts/devices for use in ultra-high performance applications such as for example data centers and computing clusters.
    Type: Application
    Filed: October 1, 2020
    Publication date: April 8, 2021
    Inventor: Eric Badger
  • Publication number: 20210073158
    Abstract: Methods and apparatus for improved send/receive operations in network interface fabrics. In one exemplary embodiment, mechanisms and protocols for enhanced inter-process (and inter-endpoint) communication, including within very large scale topologies involving e.g., hundreds or even thousands of nodes or endpoints, such as a large-scale high-performance compute or network fabric, are described. In one implementation, the methods and apparatus avoid frequent kernel transitions (and the performance penalties associated therewith) associated with prior approaches through use of UMCs (user message contexts) are created, which contain TX and RX queues that can be read and written directly from user space. A KMC (kernel message context) is also used, in which TX queues are written from the kernel such that access can be arbitrated between unrelated processes. These functions allow for, among other things, significant portions of the foregoing kernel accesses to be obviated.
    Type: Application
    Filed: September 9, 2020
    Publication date: March 11, 2021
    Inventor: Eric Badger
  • Publication number: 20210075745
    Abstract: Methods and apparatus for improved polling efficiency in networks such as those with interface fabrics. In one exemplary embodiment, the methods and apparatus provide efficient alternatives to linear or other polling methods by allocating queues (whether statically or dynamically) to groups or sets of queues based on one or more attributes associated therewith. Higher priority queue sets or groups are polled according to a different scheme than those in other, lower priority groups, thereby providing significant economies relative to a process where all queues are checked by rote each polling increment. In another disclosed approach, a flag is associated with each queue (or subset of all queues) which indicates to a reading process that the queue has been written since its last poll. In one variant, the queue flags comprise a single byte, and the queues are “tiered” such that one flag can be used to represent multiple queues.
    Type: Application
    Filed: September 9, 2020
    Publication date: March 11, 2021
    Inventor: Eric Badger
  • Publication number: 20200081858
    Abstract: Methods and apparatus for efficient scaling of fabric architectures such as those based on PCIe technology, including up to very large fabrics and numbers of hosts/devices for use in ultra-high performance applications such as for example data centers and computing clusters. In one aspect, methods and apparatus for using Non-Transparent Bridge (NTB) technology to export Message Signaled Interrupts (MSIs) to external hosts are described. In a further aspect, an IO Virtual Address (IOVA) space is created is used as a method of sharing an address space between hosts, including across the foregoing NTB(s). Additionally, a Fabric Manager (FM) entity is disclosed and utilized for programming e.g., PCIe switch hardware to effect a desired host/fabric configuration.
    Type: Application
    Filed: September 10, 2019
    Publication date: March 12, 2020
    Inventors: Eric Philmore, Doug Meyer, Michael Haworth, Scott Taylor, Jerry Coffin, Eric Badger
  • Patent number: 10120568
    Abstract: Example apparatus and methods concern controlling a hover-sensitive input/output interface. One example apparatus includes a proximity detector that detects an object in a hover-space associated with the input/output interface. The apparatus produces characterization data concerning the object. The characterization data may be independent of where in the hover-space the object is located. The apparatus selectively controls the activation, display, and deactivation of user interface elements displayed by the apparatus on the input/output interface as a function of the characterization data and interface state.
    Type: Grant
    Filed: October 8, 2015
    Date of Patent: November 6, 2018
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Lynn Dai, Dan Hwang, Bo-June Hsu, Raymond Quan, Eric Badger, Jose Rodriguez, Peter Gregory Davis
  • Publication number: 20160026385
    Abstract: Example apparatus and methods concern controlling a hover-sensitive input/output interface. One example apparatus includes a proximity detector that detects an object in a hover-space associated with the input/output interface. The apparatus produces characterization data concerning the object. The characterization data may be independent of where in the hover-space the object is located. The apparatus selectively controls the activation, display, and deactivation of user interface elements displayed by the apparatus on the input/output interface as a function of the characterization data and interface state.
    Type: Application
    Filed: October 8, 2015
    Publication date: January 28, 2016
    Inventors: Lynn Dai, Dan Hwang, Bo-June Hsu, Raymond Quan, Eric Badger, Jose Rodriguez, Peter Gregory Davis
  • Patent number: 9170736
    Abstract: Example apparatus and methods concern controlling a hover-sensitive input/output interface. One example apparatus includes a proximity detector that detects an object in a hover-space associated with the input/output interface. The apparatus produces characterization data concerning the object. The characterization data may be independent of where in the hover-space the object is located. The apparatus selectively controls the activation, display, and deactivation of user interface elements displayed by the apparatus on the input/output interface as a function of the characterization data and interface state.
    Type: Grant
    Filed: September 16, 2013
    Date of Patent: October 27, 2015
    Inventors: Lynn Dai, Dan Hwang, Bo-June Hsu, Raymond Quan, Eric Badger, Jose Rodriguez, Peter Gregory Davis
  • Publication number: 20150082216
    Abstract: Example apparatus and methods concern controlling a hover-sensitive input/output interface. One example apparatus includes a proximity detector that detects an object in a hover-space associated with the input/output interface. The apparatus produces characterization data concerning the object. The characterization data may be independent of where in the hover-space the object is located. The apparatus selectively controls the activation, display, and deactivation of user interface elements displayed by the apparatus on the input/output interface as a function of the characterization data and interface state.
    Type: Application
    Filed: September 16, 2013
    Publication date: March 19, 2015
    Applicant: Microsoft Corporation
    Inventors: Lynn Dai, Dan Hwang, Paul Hsu, Raymond Quan, Eric Badger, Jose Rodriguez, Peter Gregory Davis
  • Patent number: 8862468
    Abstract: A system and method of refining context-free grammars (CFGs). The method includes deriving back-off grammar (BOG) rules from an initially developed CFG and utilizing the initial CFG and the derived BOG rules to recognize user utterances. Based on a response of the initial CFG and the derived BOG rules to the user utterances, at least a portion of the derived BOG rules are utilized to modify the initial CFG and thereby produce a refined CFG. The above method can carried out iterativey, with each new iteration utilizing a refined CFG from preceding iterations.
    Type: Grant
    Filed: December 22, 2011
    Date of Patent: October 14, 2014
    Assignee: Microsoft Corporation
    Inventors: Timothy Paek, Max Chickering, Eric Badger
  • Publication number: 20120095752
    Abstract: A system and method of refining context-free grammars (CFGs). The method includes deriving back-off grammar (BOG) rules from an initially developed CFG and utilizing the initial CFG and the derived BOG rules to recognize user utterances. Based on a response of the initial CFG and the derived BOG rules to the user utterances, at least a portion of the derived BOG rules are utilized to modify the initial CFG and thereby produce a refined CFG. The above method can carried out iterativey, with each new iteration utilizing a refined CFG from preceding iterations.
    Type: Application
    Filed: December 22, 2011
    Publication date: April 19, 2012
    Applicant: Microsoft Corporation
    Inventors: Timothy Paek, Max Chickering, Eric Badger
  • Patent number: 8126827
    Abstract: Embodiments are configured to provide one or more candidates based in part on an input identifier associated with an input interface. In an embodiment, a system includes an input method editor (IME) that can be configured to provide one or more candidates based in part on a prediction model and one or more input scope values associated with an input interface. The IME can also operate to store an entered string including one or more associated input scope values to a storage component. The stored information can be used when suggesting candidates.
    Type: Grant
    Filed: July 8, 2011
    Date of Patent: February 28, 2012
    Assignee: Microsoft Corporation
    Inventors: Eric Badger, Drew Elliott Linerud, Daryn Elliot Robbins, Jason Michael Bower
  • Patent number: 8108205
    Abstract: A system and method of refining context-free grammars (CFGs). The method includes deriving back-off grammar (BOG) rules from an initially developed CFG and utilizing the initial CFG and the derived BOG rules to recognize user utterances. Based on a response of the initial CFG and the derived BOG rules to the user utterances, at least a portion of the derived BOG rules are utilized to modify the initial CFG and thereby produce a refined CFG. The above method can carried out iterativey, with each new iteration utilizing a refined CFG from preceding iterations.
    Type: Grant
    Filed: December 1, 2006
    Date of Patent: January 31, 2012
    Assignee: Microsoft Corporation
    Inventors: Timothy Paek, Max Chickering, Eric Badger
  • Publication number: 20110270786
    Abstract: Embodiments are configured to provide one or more candidates based in part on an input identifier associated with an input interface. In an embodiment, a system includes an input method editor (IME) that can be configured to provide one or more candidates based in part on a prediction model and one or more input scope values associated with an input interface. The IME can also operate to store an entered string including one or more associated input scope values to a storage component. The stored information can be used when suggesting candidates.
    Type: Application
    Filed: July 8, 2011
    Publication date: November 3, 2011
    Applicant: Microsoft Corporation
    Inventors: Eric Badger, Drew Elliott Linerud, Daryn Elliot Robbins, Jason Michael Bower
  • Patent number: 8010465
    Abstract: Embodiments are configured to provide one or more candidates based in part on an input identifier associated with an input interface. In an embodiment, a system includes an input method editor (IME) that can be configured to provide one or more candidates based in part on a prediction model and one or more input scope values associated with an input interface. The IME can also operate to store an entered string including one or more associated input scope values to a storage component. The stored information can be used when suggesting candidates.
    Type: Grant
    Filed: February 26, 2008
    Date of Patent: August 30, 2011
    Assignee: Microsoft Corporation
    Inventors: Eric Badger, Drew Elliott Linerud, Daryn Elliot Robbins, Jason Michael Bower
  • Patent number: 7769142
    Abstract: Asynchronous voice messaging is employed to enable individuals to send voice clips back and forth over a network. In at least some embodiments, the voice clips reside in the form of discrete, manageable objects that can be easily managed by the user. In addition, some embodiments described provide hand-free/eyes-free functionality that can permit a user to create and send (or receive and play) a voice message without having to physically enter an intended recipient's address or otherwise digitally manipulate the device over which the message is sent or received.
    Type: Grant
    Filed: December 28, 2005
    Date of Patent: August 3, 2010
    Assignee: Microsoft Corporation
    Inventors: John R. Selbie, Stacia Scott, Leah Pearlman, Raghuveer Simha, Duoc Nguyen, Ahmed Azmy Hassan, John S Holmes, Alexandra Heron, Ram Aringunrum, Eric Badger, Timothy Sharpe