Patents by Inventor Gordon Davis

Gordon Davis 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: 20060265555
    Abstract: In a first aspect, a first method is provided for sharing processor resources. The first method includes the steps of (1) grouping a plurality of physical registers into at least one array, wherein registers in each of the at least one array share read and write ports and wherein at least two types of execution units are coupled to each of the at least one array; and (2) storing different types of data at different times in at least one of the registers from the at least one array, wherein each of the different types of data is associated with at least a different one of the execution units. Numerous other aspects are provided.
    Type: Application
    Filed: May 19, 2005
    Publication date: November 23, 2006
    Applicant: International Business Machines Corporation
    Inventors: Gordon Davis, Jeffrey Derby
  • Publication number: 20060224830
    Abstract: A method and system for improving the performance of a cache. The cache may include an array of tag entries where each tag entry includes an additional bit (“reused bit”) used to indicate whether its associated cache line has been reused, i.e., has been requested or referenced by the processor. By tracking whether a cache line has been reused, data (cache line) that may not be reused may be replaced with the new incoming cache line prior to replacing data (cache line) that may be reused. By replacing data in the cache memory that might not be reused prior to replacing data that might be reused, the cache hit may be improved thereby improving performance.
    Type: Application
    Filed: March 30, 2005
    Publication date: October 5, 2006
    Applicant: IBM Corporation
    Inventors: Gordon Davis, Santiago Leon, Hans-Werner Tast
  • Publication number: 20060209898
    Abstract: A codec detects congestion in a packet network and responds via a session control protocol to re-negotiate codec-type and/or parameters with the receiving codec to reduce bit rate for supporting a session. Once the connection and session are established, encoded packets start flowing between the two codecs. A control entity sends and receives network congestion control packets periodically in the session. The congestion control packets provide a “heartbeat” signal to the receiving codec. When the network is not congested, all “heartbeat” packets will be passed through the network. As network congestion increases, routers within the network discard excess packets to prevent network failure. The codecs respond to the missing packets by slowing down the bit rate or proceeding to renegotiate a lower bit rate via the session control protocol. If there are no missing packets, the codecs detect if the session is operating at the highest bit rate, and if not, re-negotiate a higher bit rate.
    Type: Application
    Filed: February 7, 2006
    Publication date: September 21, 2006
    Inventors: Youssef Abdelilah, Gordon Davis, Jeffrey Derby, Dongming Hwang, Clark Jeffries, Malcolm Ware, Hua Ye
  • Publication number: 20060190613
    Abstract: A method for increasing the capacity of a connection table in a firewall accelerator by means of mapping packets in one session with some common security actions into one table entry. For each of five Network Address Translation (NAT) configurations, a hash function is specified. The hash function takes into account which of four possible arrival types a packet at a firewall accelerator may have. When different arrival types of packets in the same session are processed, two or more arrival types may have the same hash value.
    Type: Application
    Filed: February 23, 2005
    Publication date: August 24, 2006
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Everett Corl, Gordon Davis, Clark Jeffries, Steven Perrin, Hiroshi Takada, Victoria Thio
  • Publication number: 20060173831
    Abstract: A method and apparatus are used for finding the longest prefix match in a variable length prefix search when searching a direct table within a routing table structure of a network processor. The search through the routing table structure is expedited by hashing a first segment of an internet protocol address with a virtual private network number followed by concatenating the unhashed bits of the IP address to the result of the hash operation to form an input key. Patterns are compared a bit at a time until an exact match or the best match is found. The search is conducted in a search tree that provides that the matching results will be the best possible match.
    Type: Application
    Filed: February 14, 2006
    Publication date: August 3, 2006
    Applicant: International Business Machines Corporation
    Inventors: Claude Basso, Jean Calvignac, Gordon Davis, Piyush Patel
  • Publication number: 20060168583
    Abstract: Systems and methods for distributing thread instructions in the pipeline of a multi-threading digital processor are disclosed. More particularly, hardware and software are disclosed for successively selecting threads in an ordered sequence for execution in the processor pipeline. If a thread to be selected cannot execute, then a complementary thread is selected for execution.
    Type: Application
    Filed: January 25, 2005
    Publication date: July 27, 2006
    Inventors: Claude Basso, Jean Calvignac, Chih-jen Chang, Gordon Davis, Harm Hofstee, Fabrice Verplanken, Colin Verrilli
  • Publication number: 20060039376
    Abstract: A method and structure is provided for buffering data packets having a header and a remainder in a network processor system. The network processor system has a processor on a chip and at least one buffer on the chip. Each buffer on the chip is configured to buffer the header of the packets in a preselected order before execution in the processor, and the remainder of the packet is stored in an external buffer apart from the chip. The method comprises utilizing the header information to identify the location and extent of the remainder of the packet. The entire selected packet is stored in the external buffer when the buffer of the stored header of the given packet is full, and moving only the header of a selected packet stored in the external buffer to the buffer on the chip when the buffer on the chip has space therefor.
    Type: Application
    Filed: June 15, 2004
    Publication date: February 23, 2006
    Applicant: International Business Machines Corporation
    Inventors: Claude Basso, Jean Calvignac, Chih-jen Chang, Gordon Davis, Fabrice Verplanken
  • Publication number: 20060039457
    Abstract: A low power DSL modem transmitter, suitable for incorporation in integrated DSLAM server line cards, transmits full power physical frames which include a control channel and a data field when data is available for transmission and physical frames having only a control channel or a control channel and a low power synchronization field when data is not available for transmission. And a method for controlling the total power dissipated in the integrated DSLAM by selectively restricting the flow of data packets to the DSLs.
    Type: Application
    Filed: September 28, 2005
    Publication date: February 23, 2006
    Applicant: International Business Machines Corporation
    Inventors: Gordon Davis, Jeffrey Derby, Evangelos Eleftheriou, Sedat Oelcer, Malcolm Ware
  • Publication number: 20060026342
    Abstract: Access arbiters are used to prioritize read and write access requests to individual memory banks in DRAM memory devices, particularly fast cycle DRAMs. This serves to optimize the memory bandwidth available for the read and the write operations by avoiding consecutive accesses to the same memory bank and by minimizing dead cycles. The arbiter first divides DRAM accesses into write accesses and read accesses. The access requests are divided into accesses per memory bank with a threshold limit imposed on the number of accesses to each memory bank. The write receive packets are rotated among the banks based on the write queue status. The status of the write queue for each memory bank may also be used for system flow control. The arbiter also typically includes the ability to determine access windows based on the status of the command queues, and to perform arbitration on each access window.
    Type: Application
    Filed: July 27, 2004
    Publication date: February 2, 2006
    Applicant: International Business Machines Corporation
    Inventors: Jean Calvignac, Chih-Jen Chang, Gordon Davis, Fabrice Verplanken
  • Publication number: 20060020600
    Abstract: The present invention relates to a method and computer system device for applying a plurality of rules to data packets within a network computer system. A filter rule decision tree is updated by adding or deleting a rule. If deleting a filter rule then the decision tree is provided to a network data plane processor with an incremental delete of the filter rule. If adding a filter rule then either providing an incremental insertion of the filter rule to the decision tree or rebuilding the first decision tree into a second decision tree responsive to comparing a parameter to a threshold. In one embodiment the parameter and thresholds relate to depth values of the tree filter rule chained branches. In another the parameter and thresholds relate to a total count of rule additions since a building of the relevant tree.
    Type: Application
    Filed: July 20, 2004
    Publication date: January 26, 2006
    Applicant: International Business Machines Corporation
    Inventors: Everett Corl, Gordon Davis, Clark Jeffries
  • Publication number: 20050240604
    Abstract: The present invention relates to a method and system for compressing a tree structure. The method of the present invention includes providing a compressed format block for representing a plurality of levels of the tree structure, where the plurality of levels comprises a set of nodes. The method also includes compressing each node in the set of nodes into the compressed format block, such that the plurality of levels is traversed in a single memory access.
    Type: Application
    Filed: April 27, 2004
    Publication date: October 27, 2005
    Applicant: International Business Machines Corporation
    Inventors: Everett Corl, Gordon Davis, Marco Heddes, Piyush Patel, Ravinder Sabhikhi
  • Publication number: 20050237939
    Abstract: The present invention relates to a method and system for managing a plurality of multi-field classification rules. The method includes providing a first table that includes a plurality of entries corresponding to a plurality of rules relating to an ingress context and providing a second table that includes a plurality of entries corresponding to a plurality of rules relating to an egress context. The method also includes utilizing the first table and the second table to identify any rules relating to the ingress context and any rules relating to the egress context that match a search key.
    Type: Application
    Filed: April 27, 2004
    Publication date: October 27, 2005
    Applicant: International Business Machines Corporation
    Inventors: Everett Corl, Gordon Davis, Marco Heddes, Piyush Patel, Ravinder Sabhikhi
  • Publication number: 20050237938
    Abstract: The present invention relates to a method and system for storing a plurality of multi-field classification rules in a computer system. Each multi-field classification rule includes a rule specification that itself includes a plurality of fields and a plurality of field definitions corresponding to the fields. The method of the present invention includes providing a virtual rule table, where the table stores a plurality of field definitions, and for each of the plurality of multi-field classification rules, compressing the rule specification by replacing at least one field definition with an associated index into the virtual rule table. The method also includes storing each of the compressed rule specifications and the virtual rule table in a shared segment of memory.
    Type: Application
    Filed: April 27, 2004
    Publication date: October 27, 2005
    Applicant: International Business Machines Corporation
    Inventors: Everett Corl, Gordon Davis, Marco Heddes, Piyush Patel, Ravinder Sabhikhi
  • Patent number: 6957182
    Abstract: A coder generates a first output providing first data from which a decoder can produce a reconstructed signal and a second output providing second, enhancement, data whereby a decoder receiving both the first and second data can produce a higher quality reconstructed signal. Packets of data are assembled for transmission, each packet containing primary data which includes the first data in respect of a temporal portion of the signal and the second data in respect of the same portion of the signal and secondary data which includes the first data in respect of a different temporal portion of the signal.
    Type: Grant
    Filed: September 14, 1999
    Date of Patent: October 18, 2005
    Assignee: British Telecommunications public limited company
    Inventors: Rory Stewart Turnbull, Andrew Gordon Davis
  • Publication number: 20050188129
    Abstract: A method, computer program product and system for facilitating inter-digital signal processing (DSP) data communications. A direct memory access (DMA) controller may be configured to facilitate transfers of data between a first and a second DSP processor core coupled to the DMA controller. The DMA controller may read a data structure, referred to as a “buffer descriptor block,” to perform the data transfer. The buffer descriptor block may store both a source address and a destination address indicating where the data is to be retrieved and stored. The buffer descriptor block may further store a value, e.g., number of bytes, indicating a size of the data to be transferred. The DMA controller may then transfer the data located at the source address in the first DSP processor core, with a size, e.g., number of bytes, indicated from the buffer descriptor block, to the destination address in the second DSP processor core.
    Type: Application
    Filed: February 20, 2004
    Publication date: August 25, 2005
    Applicant: International Business Machines Corporation
    Inventors: Youseff Abdelilah, Bartholomew Blaner, Gordon Davis, Jeffrey Derby, Joseph Garvey, Malcolm Ware, Hua Ye
  • Publication number: 20050185581
    Abstract: The present invention provides for a computer network method and system that applies “hysteresis” to an active queue management algorithm. If a queue is at a level below a certain low threshold and a burst of packets arrives at a network node, then the probability of dropping the initial packets in the burst is recalculated, but the packets are not dropped. However, if the queue level crosses beyond a hysteresis threshold, then packets are discarded pursuant to a drop probability. Also, according to the present invention, queue level may be decreased until it becomes less than the hysteresis threshold, with packets dropped per the drop probability until the queue level decreases to at least a low threshold. In one embodiment, an adaptive algorithm is also provided to adjust the transmit probability for each flow together with hysteresis to increase the packet transmit rates to absorb bursty traffic.
    Type: Application
    Filed: February 19, 2004
    Publication date: August 25, 2005
    Applicant: International Business Machines Corporation
    Inventors: Jeffrey Bradford, Gordon Davis, Dongming Hwang, Clark Jeffries, Srinivasan Ramani, Kartik Sudeep, Ken Vu
  • Publication number: 20050177644
    Abstract: A pipeline configuration is described for use in network traffic management for the hardware scheduling of events arranged in a hierarchical linkage. The configuration reduces costs by minimizing the use of external SRAM memory devices. This results in some external memory devices being shared by different types of control blocks, such as flow queue control blocks, frame control blocks and hierarchy control blocks. Both SRAM and DRAM memory devices are used, depending on the content of the control block (Read-Modify-Write or ‘read’ only) at enqueue and dequeue, or Read-Modify-Write solely at dequeue. The scheduler utilizes time-based calendars and weighted fair queueing calendars in the egress calendar design. Control blocks that are accessed infrequently are stored in DRAM memory while those accessed frequently are stored in SRAM.
    Type: Application
    Filed: February 5, 2004
    Publication date: August 11, 2005
    Applicant: International Business Machines Corporation
    Inventors: Claude Basso, Jean Calvignac, Chih-jen Chang, Gordon Davis, Fabrice Verplanken
  • Publication number: 20050080995
    Abstract: A method and system for improving the performance of a cache. The cache may include a tag entry that identifies the previously requested address by the processor whose data was not located in the cache. If the processor requests that address a second time, then there is a significant probability that the address will be accessed again. When the processor requests the address identified by the tag entry a second time, the cache is updated by inserting the data located at that address and evicting the data located in the least recently used entry. In this manner, data will not be evicted from the cache unless there is a significant probability that the data placed in the cache will likely be accessed again. Hence, data may not be evicted in the cache by the processor and replaced with data that will not be reused, such as in an interrupt routine.
    Type: Application
    Filed: October 14, 2003
    Publication date: April 14, 2005
    Applicant: International Business Machines Corporation
    Inventors: Gordon Davis, Thomas Genduso
  • Publication number: 20050060428
    Abstract: The classification system of a network device includes a cache in which a mapping between predefined characteristics of TCP/IP packets and associated actions are stored in response to the first “Frequent Flyer” packet in of a session. Selected characteristics from subsequent received packets of that session are correlated with the predefined characteristics and the stored actions are applied to the received packets if the selected characteristics and the predefined characteristics match, thus reducing the processing required for subsequent packets. The packets selected for caching may be data packets. For mismatched characteristics, the full packet search of the classification system is used to determine the action to apply to the received packet.
    Type: Application
    Filed: September 11, 2003
    Publication date: March 17, 2005
    Applicant: International Business Machines Corporation
    Inventors: Everett Corl, Gordon Davis, Clark Jeffries, Natarajan Vaidhyanathan, Colin Verrilli
  • Publication number: 20050050188
    Abstract: A procedure is used to provide data structures that handle large numbers of active data entries and a high rate of additions and deletions of active entries. The procedure utilizes one or more of the following modifications. Timers are removed from individual session table entries and are linked via pointers. Bilateral links are established between the session table and the timer structure. Aging/timer checks are applied to the timer control block (TCB). A chain of TCBs, optionally including an excess of blocks, may be used along with packing of multiple TCBs into a single memory location. This excess of blocks permits a terminated session to continue to occupy a TCB until the timer process progresses to that block location in the chain of blocks.
    Type: Application
    Filed: September 3, 2003
    Publication date: March 3, 2005
    Applicant: International Business Machines Corporation
    Inventors: Gordon Davis, Marco Heddes, Dongming Hwang