Patents by Inventor David Cheon

David Cheon 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: 7127601
    Abstract: A system and method for facilitating delivery of instructions for operating a controller (e.g., an FPGA—Field Programmable Gate Array) of a hardware device (e.g., a network interface circuit) of a computer system. A device driver for the hardware device comprises traditional device driver functionality (e.g., for managing operation of the device at a layer above the physical layer), plus a set of instructions for operating the controller. During attachment of the device driver to the hardware device, or during subsequent hardware initialization of the device, the set of instructions for operating the controller is downloaded to the controller from the device driver.
    Type: Grant
    Filed: May 30, 2002
    Date of Patent: October 24, 2006
    Assignee: Sun Microsystems, Inc.
    Inventor: David Cheon
  • Patent number: 7076787
    Abstract: A system and method for implementing any one of multiple communication protocols with a single device driver. During initialization (e.g., after being attached to network interface device), a device driver receives a call (e.g., an ioctl) identifying a protocol to be implemented (e.g., PPP or SRP). The device driver configures device soft state structures for each network interface device with protocol-specific attributes (e.g., MTU size, references to protocol-specific packet handling functions). In response to an upper level protocol request (e.g., DL_INFO_REQ), the device driver dynamically assembles protocol-specific data to answer the request.
    Type: Grant
    Filed: May 30, 2002
    Date of Patent: July 11, 2006
    Assignee: Sun Microsystems, Inc.
    Inventors: David Cheon, Jici Gao
  • Patent number: 6792610
    Abstract: A system and method for facilitating attachment of a communication interface device driver to multiple logical devices defined on a single physical communication interface device. For each attachment procedure, an identifier of the affected physical device is read and a corresponding device soft state structure is located (or created, if one does not exist). For each attached logical device, a counter of the number of attachments for the physical device is incremented, and the device information pointer and instance identifier assigned to the logical device are noted. When the final logical device is attached, the physical device can be initialized. The device information pointer for a selected logical device (e.g., one having a particular binding name) is used as a parameter in one or more DDI functions.
    Type: Grant
    Filed: May 30, 2002
    Date of Patent: September 14, 2004
    Assignee: Sun Microsystems, Inc.
    Inventor: David Cheon
  • Publication number: 20030225916
    Abstract: A system and method for implementing a data link layer protocol (e.g., SRP) in a network node having multiple network interface circuits or devices. A single device driver may be executed to operate all of the network interface devices. Separate, interconnected device soft state data structures may be implemented for each network interface device. Link layer functionality (e.g., for encapsulating or receiving a packet) may be embedded in the device driver, thereby avoiding the need for a separate link layer Streams module. In an SRP network, the node periodically conducts a topology discovery process and generates a topology map (e.g., a doubly linked list) reflecting the results. A routing table indicating which ring to use for each other network node, depending on hop count, can then be constructed.
    Type: Application
    Filed: May 30, 2002
    Publication date: December 4, 2003
    Inventors: David Cheon, Jici Gao
  • Publication number: 20030225942
    Abstract: A system and method for facilitating delivery of instructions for operating a controller (e.g., an FPGA—Field Programmable Gate Array) of a hardware device (e.g., a network interface circuit) of a computer system. A device driver for the hardware device comprises traditional device driver functionality (e.g., for managing operation of the device at a layer above the physical layer), plus a set of instructions for operating the controller. During attachment of the device driver to the hardware device, or during subsequent hardware initialization of the device, the set of instructions for operating the controller is downloaded to the controller from the device driver.
    Type: Application
    Filed: May 30, 2002
    Publication date: December 4, 2003
    Inventor: David Cheon
  • Publication number: 20030225931
    Abstract: A system and method for implementing any one of multiple communication protocols with a single device driver. During initialization (e.g., after being attached to network interface device), a device driver receives a call (e.g., an ioctl) identifying a protocol to be implemented (e.g., PPP or SRP). The device driver configures device soft state structures for each network interface device with protocol-specific attributes (e.g., MTU size, references to protocol-specific packet handling functions). In response to an upper level protocol request (e.g., DL_INFO_REQ), the device driver dynamically assembles protocol-specific data to answer the request.
    Type: Application
    Filed: May 30, 2002
    Publication date: December 4, 2003
    Inventors: David Cheon, Jici Gao
  • Publication number: 20030225930
    Abstract: A system and method for facilitating attachment of a communication interface device driver to multiple logical devices defined on a single physical communication interface device. For each attachment procedure, an identifier of the affected physical device is read and a corresponding device soft state structure is located (or created, if one does not exist). For each attached logical device, a counter of the number of attachments for the physical device is incremented, and the device information pointer and instance identifier assigned to the logical device are noted. When the final logical device is attached, the physical device can be initialized. The device information pointer for a selected logical device (e.g., one having a particular binding name) is used as a parameter in one or more DDI functions.
    Type: Application
    Filed: May 30, 2002
    Publication date: December 4, 2003
    Inventor: David Cheon