Patents by Inventor Denton E. Gentry, Jr.

Denton E. Gentry, Jr. 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).

  • Publication number: 20240031326
    Abstract: Described herein are systems, methods, and software to manage communications for a network with overlapping IPv4 addressing subnets. In one example, a method of operating a gateway includes receiving a first packet that encapsulates a second packet, the second packet comprising an IPv6 destination address. The method further includes decapsulating the first packet to obtain the second packet, translating the IPv6 destination address to an IPv4 destination address, and communicating the second packet with the IPv4 destination address in place of the IPv6 destination address to a destination computing element.
    Type: Application
    Filed: January 20, 2023
    Publication date: January 25, 2024
    Inventors: Denton E. Gentry, JR., Bradley J. Fitzpatrick, Maya Kaczorowski, David Crawshaw
  • Patent number: 7328294
    Abstract: The present invention relates to handling interrupts in a multiprocessor system. An interrupt controller can receive input from a variety of interrupt sources, such as peripheral components and peripheral interfaces. Interrupts and their associated characteristics are identified. In one example, interrupt characteristics can be compared with characteristics of other interrupts handled by processors in the multiprocessor system. Interrupt characteristics are used to select a processor to run a routine for handling the associated interrupt. Intelligent selection provides efficient and effective distribution of interrupts.
    Type: Grant
    Filed: December 3, 2001
    Date of Patent: February 5, 2008
    Assignee: Sun Microsystems, Inc.
    Inventors: Ted Kim, Denton E. Gentry, Jr.
  • Patent number: 6650640
    Abstract: A system and method are provided for managing information concerning a network flow comprising packets sent from a source entity to a destination entity served by a network interface. A network flow is established for each datagram sent from the source entity to the destination entity. A flow key, identifying the source and destination entities, is stored in a data structure along with information concerning validity of the flow, sequence of data in the flow datagram and how recently the flow was active. Once a flow is established, it is updated each time a packet containing data from the flow's datagram is received. When such a packet is received, an operation code is generated for identifying whether the packet is suitable for a particular network interface function. An operation code may, for example, indicate that a packet contains data to be re-assembled with other data from the same flow. Another operation code may indicate that a packet is not suitable for data re-assembly.
    Type: Grant
    Filed: March 1, 1999
    Date of Patent: November 18, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: Shimon Muller, Denton E. Gentry, Jr.
  • Patent number: 6606301
    Abstract: A high performance network interface receives network traffic in the form of packets. Prior to being transferred to a host computer, a packet is stored in a packet queue. A system and method are provided for randomly discarding a packet if the rate of packet transfers cannot keep pace with the rate of packet arrivals at the queue. When a packet must be dropped a selected packet may be discarded as it arrives at the queue, or a packet already in the queue may be dropped. A packet queue is apportioned into multiple regions, any of which may overlap or share a common boundary. A probability indicator is associated with a region to specify the probability of a packet being discarded when the level of traffic stored in the queue is within the region. A counter may be employed in conjunction with a probability indicator to identify individual packets. Probability indicators may differ from region to region so that the probability of discarding a packet fluctuates as the level of traffic stored in the queue changes.
    Type: Grant
    Filed: March 1, 1999
    Date of Patent: August 12, 2003
    Assignee: Sun Microsystems, Inc.
    Inventors: Shimon Muller, Linda T. Cheng, Denton E. Gentry, Jr.
  • Patent number: 6483804
    Abstract: A system and method are provided for identifying related packets in a communication flow for the purpose of collectively processing them through a protocol stack comprising one or more protocols under which the packets were transmitted. A packet received at a network interface is parsed to retrieve information from one or more protocol headers. A flow key is generated to identify a communication flow that includes the packet, and is stored in a database of flow keys. When the packet is placed in a queue to be transferred to a host computer, the flow key and/or its flow number (e.g., its index into the database) is stored in a separate queue. Near to the time at which the packet is transferred to the host computer, a dynamic packet batching module searches for a packet that is related to the packet being transferred (i.e., is in the same flow) but which will be transferred later in time.
    Type: Grant
    Filed: March 1, 1999
    Date of Patent: November 19, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Shimon Muller, Denton E. Gentry, Jr.
  • Patent number: 6480489
    Abstract: A system and method are provided for transferring a packet received from a network to a host computer according to an operation code associated with the packet. A packet received at a network interface is parsed to retrieve information from a header portion of the packet. A flow key is generated for a received packet that was formatted with one of a set of predetermined protocols. A packet's flow key identifies a communication flow that comprises the packet. Based on some of the retrieved information, a code is associated with the packet to inform a transfer engine how the packet should be transferred to host memory. Based on a packet's code, the transfer engine stores the packet in one or more host memory buffers. If the packet was formatted with one of the set of predetermined protocols, its data is re-assembled in a re-assembly buffer with data from other packets in the same communication flow. Re-assembled data may be provided to a destination application or user through page flipping.
    Type: Grant
    Filed: March 1, 1999
    Date of Patent: November 12, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Shimon Muller, Denton E. Gentry, Jr., Linda T. Cheng, John E. Watkins
  • Patent number: 6467008
    Abstract: A network interface is polled by a process operating on a host computer system. Each time the network interface is polled the process determines whether any packets have been transferred to the host. If so, they are processed. Interrupts that would normally be issued from the network interface in response to the transfer of packets are suppressed or postponed during the polling mode of operation. If, however, a predetermined period of time has elapsed or a predetermined number of packets have been transferred since a previous poll or a previous interrupt, then an interrupt may be generated.
    Type: Grant
    Filed: March 1, 1999
    Date of Patent: October 15, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Denton E. Gentry, Jr., Linda T. Cheng
  • Patent number: 6453360
    Abstract: A high performance network interface is provided for receiving a packet from a network and transferring it to a host computer system. A header portion of a received packet is parsed by a parser module to determine the packet's compatibility with, or conformance to, one or more pre-selected protocols. If compatible, a number of processing functions may be performed to increase the efficiency with which the packet is handled. In one function, a re-assembly engine re-assembles, in a re-assembly buffer, data portions of multiple packets in a single communication flow or connection. Header portions of such packets are stored in a header buffer. An incompatible packet may be stored in another buffer. In another function, a packet batching module determines when multiple packets in one flow are transferred to the host computer system, so that their header portions are processed collectively rather than being interspersed with headers of other flows' packets.
    Type: Grant
    Filed: March 1, 1999
    Date of Patent: September 17, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Shimon Muller, Denton E. Gentry, Jr., John E. Watkins, Linda T. Cheng
  • Patent number: 6434651
    Abstract: A network interface is polled by a process operating on a host computer system. Each time the network interface is polled, the process determines whether any packets have been received. If so, they are processed. Interrupts that would normally be issued by the network interface in response to the transfer of packets to the host system are suppressed or postponed during the polling mode of operation. If, however, a predetermined period of time has elapsed or a predetermined number of packets have been received since a previous poll or a previous interrupt, then an interrupt may be generated. The rate at which interrupts may be issued is modulated to decrease the interrupt-processing burden placed on the processor. A time counter may be used to track the passage of time and a packet counter may be used to track the number of packets transferred by the network interface.
    Type: Grant
    Filed: March 1, 1999
    Date of Patent: August 13, 2002
    Assignee: Sun Microsystems, Inc.
    Inventor: Denton E. Gentry, Jr.
  • Patent number: 6389468
    Abstract: A system and method are provided for distributing or sharing the processing of network traffic (e.g., through a protocol stack on a host computer system) received at a multiprocessor computer system. A packet formatted according to one or more communication protocols is received from a network entity at a network interface circuit of a multiprocessor computer. A header portion of the packet is parsed to retrieve information stored in one or more protocol headers, such as source and destination identifiers or a virtual communication connection identifier. In one embodiment, a source identifier and a destination identifier are combined to form a flow key that is subjected to a hash function. The modulus of the result of the hash function over the number of processors in the multiprocessor computer is then calculated. In another embodiment a modulus operation is performed on the packet's virtual communication connection identifier.
    Type: Grant
    Filed: March 1, 1999
    Date of Patent: May 14, 2002
    Assignee: Sun Microsystems, Inc.
    Inventors: Shimon Muller, Denton E. Gentry, Jr.
  • Patent number: 6356951
    Abstract: A high performance network interface receives network traffic in the form of packets. The network interface parses one or more headers of a received packet in order to determine whether the packet has been formatted with a pre-selected protocol. If so, one or more efficient enhancements in the processing of a packet may be enabled for the packet. During parsing, header data that may be useful in the processing enhancements may be saved. A packet conforming to one or more of a set of pre-selected protocols may be more completely parsed than a packet not conforming to any of the pre-selected protocols. Instructions for parsing a packet to determine a protocol and to extract useful data are stored in a writeable random-access memory. The instructions may be replaced, modified or supplemented depending upon the composition of network traffic and the protocols selected for enhanced processing.
    Type: Grant
    Filed: March 1, 1999
    Date of Patent: March 12, 2002
    Assignee: Sun Microsystems, Inc.
    Inventor: Denton E. Gentry, Jr.
  • Patent number: 6021446
    Abstract: A network device such as an Asynchronous Transfer Method (ATM) device with a high level interrupt which begins processing a packet and transfers process control to a lower level software interrupt which completes the packet processing. Prior to the transfer of process control, the hardware interrupt generates a put information for the packet which is then retrieved and utilized by the software interrupt to process the packet. A unique generation number is assigned to each data stream generated for the packet. The generation number associated with a given packet's put information is compared to the generation number of a data stream to which the packet is destined to. If the generation numbers are equal, it is assumed that the data stream to which the packet is destined to has not been changed and the packet is forwarded to the data stream for further processing.
    Type: Grant
    Filed: July 11, 1997
    Date of Patent: February 1, 2000
    Assignee: Sun Microsystems, Inc.
    Inventor: Denton E. Gentry, Jr.
  • Patent number: 5663952
    Abstract: A circuit and method for generating a checksum for a TCP packet on the fly. A stream of 32-bit data words from a TCP packet is split into two 16-bit data word streams and separately summed using 16-bit adders. The carry-out from the adders is tied to the carry-in thereof so as to incorporate any carry bits generated into the sum. At the end of the data stream, three further summing cycles are used in order to generate the final 16-bit one's complement checksum. First, the two 16-bit data stream partial sums are added together, including any carry bit from one of the adders while the carry-out from the other adder is stored. In the second cycle the stored carry-out and the carry-out from the first cycle are added into the sum. In the third cycle, any carry bit generated in the second cycle is added to the sum so as to produce the final checksum.
    Type: Grant
    Filed: July 7, 1995
    Date of Patent: September 2, 1997
    Assignee: Sun Microsystems, Inc.
    Inventor: Denton E. Gentry, Jr.