Employing Particular Searching Function (e.g., Hashing, Alternate, Re-routing) Patents (Class 370/395.32)
  • Patent number: 7710882
    Abstract: A method is disclosed for computing routing information for a data communications network comprising a plurality of nodes. The method comprises the step performed at a computing node of receiving from a remote node in the network a routing information update representing a change of state of the network. The method further comprises processing the update to identify a change of state type and setting, dependent on the change of state type, a delay interval after which routing information is to be computed from the update.
    Type: Grant
    Filed: March 3, 2004
    Date of Patent: May 4, 2010
    Assignee: Cisco Technology, Inc.
    Inventors: Stefano Benedetto Previdi, Clarence Filsfils
  • Publication number: 20100098081
    Abstract: Methods and systems for performing parallel membership queries to Bloom filters for Longest Prefix Matching, where address prefix memberships are determined in sets of prefixes sorted by prefix length. Hash tables corresponding to each prefix length are probed from the longest to the shortest match in the vector, terminating when a match is found or all of the lengths are searched. The performance, as determined by the number of dependent memory accesses per lookup, is held constant for longer address lengths or additional unique address prefix lengths in the forwarding table given that memory resources scale linearly with the number of prefixes in the forwarding table. For less than 2 Mb of embedded RAM and a commodity SRAM, the present technique achieves average performance of one hash probe per lookup and a worst case of two hash probes and one array access per lookup.
    Type: Application
    Filed: September 24, 2009
    Publication date: April 22, 2010
    Inventors: Sarang Dharmapurikar, Praveen Krishnamurthy, David Edward Taylor
  • Patent number: 7697519
    Abstract: Embodiments of the present disclosure provide for packet processing in a network device. One method includes parsing incoming packets in a number of received flows to extract information from various packet fields. A number of bandwidth meters are used to track application bandwidth usage over a particular time interval in association with each flow. The meters are referenced with a hash algorithm and a drop probability for a particular packet is adjusted using the bandwidth meters and a number of factors.
    Type: Grant
    Filed: October 31, 2006
    Date of Patent: April 13, 2010
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Manfred R. Arndt
  • Patent number: 7698458
    Abstract: Techniques are provided for using the mobility support features of IPv6 to allow client and server nodes to communicate without the continuing intervention of a load-balancing node that selected the server node. A load-balancing node intercepts a TCP SYN packet addressed to a virtual IP address. The load-balancing node selects a server node from among multiple server nodes, and sends the packet toward the server node. The server node sends an IPv6 packet toward the client node. The packet contains a Binding Update option that specifies the virtual IP address as a Home Address. This information causes the client node to replace destination addresses in outgoing IP packets so that packets that the client node would have sent toward the virtual IP address are sent toward the selected server node's IP address instead. Consequently, the IP packets are routed toward the selected server node instead of the load-balancing node.
    Type: Grant
    Filed: June 1, 2005
    Date of Patent: April 13, 2010
    Assignee: Akamai Technologies, Inc.
    Inventors: Zaide Liu, Richard David Day, Eric Sven-Johan Swildens
  • Patent number: 7693149
    Abstract: A programmable packet switching controller has a packet buffer, a pattern match module, a programmable packet classification engine and an application engine. The packet buffer stores inbound packets, and includes a header data extractor to extract header data from the inbound packets and to store the extracted header data in a header data cache. The header data extractor also generates a header data cache index and provides it to the packet classification engine for it to retrieve the extracted header data. The packet classification engine has a decision tree-based classification logic for classifying a packet. Each of the leaves of the tree represents a packet classification. The packet classification engine uses the header data cache index to retrieve the header data to perform multiple header checks, starting at a root of the tree and traversing branches until a leaf has been reached. The application engine has a number of programmable sub-engines arrayed in a pipelined architecture.
    Type: Grant
    Filed: July 5, 2006
    Date of Patent: April 6, 2010
    Assignee: Alcatel-Lucent USA Inc.
    Inventors: Jim Cathey, Timothy S. Michels
  • Patent number: 7693061
    Abstract: There is provided a traffic placement method in a communications network, the communications network comprising a plurality of nodes, the nodes being connected to one another by links, the method comprising selecting a (possibly non-strict) subset from a given set of traffic flow demands and calculating a plurality of paths for the selected demands under consideration of a set of constraints using an algorithm hybridization combining backtrack search with local consistency techniques (BT+CS) and guiding search by the use of one or more probe generators, that is, search techniques that solve a routing sub-problem or an arbitrary relaxation of the traffic placement problem. By using a hybrid algorithm that integrates other solvers (search techniques) into BT+CS through the use of probe generators, a more powerful search strategy can be achieved compared to BT+CS or the individual search techniques.
    Type: Grant
    Filed: April 2, 2004
    Date of Patent: April 6, 2010
    Assignee: Cisco Technology, Inc.
    Inventors: Hani El-Sakkout, Vassilis Liatsos, Stefano Novello
  • Patent number: 7694009
    Abstract: A method and system is provided for balancing work load for a plurality of computer processors in a multiple processor computer system. In such a system, there are a plurality of packets to be processed. First, a plurality of hash buckets are generated and each packet is assigned to a bucket by performing a predetermined hash function. The different hash buckets are then assigned to the processors based on the workload of all the processors. In connection with processing connections with a timer thread, a plurality of connections are processed with a plurality of timer threads. A plurality of hash buckets are provided, and each connection is mapped to one of the hash buckets. Further, each hash bucket is assigned to a processor timer thread based on a workload thereof.
    Type: Grant
    Filed: December 7, 2005
    Date of Patent: April 6, 2010
    Assignee: Novell, Inc.
    Inventors: Vipul Shah, N. S. S. Narasimha Rao, Alka Agrawal, Subrata Sarkar, Kumar Subramanian, Himanshu Shukla
  • Patent number: 7688823
    Abstract: An efficient mechanism for wire-tapping network traffic is disclosed. In one embodiment of the invention, a primary forwarding lookup process and a secondary forwarding lookup process are performed in parallel and independently of each other. The primary forwarding lookup process determines the output interface to which the packet is to be routed regardless of whether the packet is to be intercepted. The secondary forwarding lookup process determines whether the packet is to be intercepted and also determines the output interface to which a copy of the packet is to be routed. Because the lookup processes are performed independently and in parallel, normal packet forwarding can be performed at line rate or near line rate while the packets are intercepted.
    Type: Grant
    Filed: June 4, 2003
    Date of Patent: March 30, 2010
    Assignee: Alcatel-Lucent USA Inc.
    Inventors: Prashanth Ishwar, Apurva Mehta, Juan Sanchez, Apoorv Saxena, Shiva Shenoy
  • Patent number: 7684402
    Abstract: A method for fast look-up in a connection-oriented communication includes generating a connection associated information according to peer information of a first peer and a second peer, storing the connection associated information into the first peer and the second peer, and building a connection between the first peer and the second peer according to the connection associated information. Generating the connection associated information includes generating an index and a way.
    Type: Grant
    Filed: May 15, 2006
    Date of Patent: March 23, 2010
    Assignee: Faraday Technology Corp.
    Inventors: Chih-Feng Chien, Chung-Yu Wei
  • Patent number: 7680107
    Abstract: A network device for selecting a port from a trunk group on which to transmit a multicast packet. The network device includes at least one trunk group including a plurality of physical ports. The network device is connected to at least one other network device by a number of the plurality of physical ports. The network device also includes a table with a plurality of entries, wherein each entry is associated with the number of the plurality of physical ports on the network device. Each entry specifies if a packet should be transmitted on one of the plurality of physical ports.
    Type: Grant
    Filed: November 30, 2005
    Date of Patent: March 16, 2010
    Assignee: Broadcom Corporation
    Inventor: Mohan Kalkunte
  • Publication number: 20100061377
    Abstract: In an embodiment, a method is provided. The method of this embodiment provides in response to receiving a packet, looking up a packet characteristic in one of at least one protocol table to determine one or more fields of the packet to use as a hash value, applying a hash function to the hash value to obtain a hash result, and using the hash result to determine one of a plurality of processors on which to process the packet.
    Type: Application
    Filed: August 28, 2009
    Publication date: March 11, 2010
    Applicant: INTEL CORPORATION
    Inventors: Stephen D. Goglin, Linden Cornett
  • Patent number: 7676599
    Abstract: A system and method of binding a client with a server. Embodiments of the present invention allow a client to receive and maintain a set of “best-fit” server IP addresses. The best fit server IP addresses establish a hierarchy of server addresses that are used by a client to maintain a binding with a server without using the DNS. Communicating the set of best-fit server IP addresses to a specific client is accomplished using extensions to one or more network protocols already used to support client/server communications, thus minimizing the amount of code needed to support the additional information transfer.
    Type: Grant
    Filed: January 26, 2005
    Date of Patent: March 9, 2010
    Assignee: i2 Telecom IP Holdings, Inc.
    Inventors: John M. Cooney, Awais Ali, Fabrizio Talucci, Charlie Zimmerman
  • Patent number: 7675918
    Abstract: Methods and systems for preemption in a network having a core device with at least one egress interface are disclosed. In one embodiment, the method includes performing flow-based hash utilizing a plurality of hash-buckets each set to a first state or a second state and computing a load based on a rate measurement that excludes flows which hash into hash-buckets having a state set to the second state. The computed load is compared to a preemption threshold and if the computed load exceeds the preemption threshold, the state of at least one of the hash-buckets is changed from the first state to the second state. An action, such as dropping all packets or marking all packets, is performed on flows hashing in a hash-bucket in the second state.
    Type: Grant
    Filed: November 13, 2006
    Date of Patent: March 9, 2010
    Assignee: Cisco Technology, Inc
    Inventors: Anna Charny, Francois Le Faucheur
  • Patent number: 7668160
    Abstract: Methods for performing packet classification. In one embodiment, packets are classified using a rule bit vector optimization scheme, wherein original rule bit vectors in recursive flow classification (RFC) chunks are optimized by removing useless bits that have no effect on the ultimate rule identified by an associated RFC lookup process. The unique optimized rule bit vectors for associated chunks are then cross-producted to produce an optimized downstream chunk. In another embodiment, a rule database splitting scheme is employed. Under this technique, split criteria is defined to split a rule database, such as splitting based on a particular field value or range. A respective set of downstream chunks is then generated for each partition, beginning with the chunks in a split phase. The applicable rule bit vectors for the chunks associated with a common group and partition are identified, and then unique applicable rule bit vectors for those chunks are cross-producted to produce downstream chunks.
    Type: Grant
    Filed: March 31, 2005
    Date of Patent: February 23, 2010
    Assignee: Intel Corporation
    Inventors: Harsha L. Narayan, Alok Kumar
  • Patent number: 7669234
    Abstract: Methods and associated systems for processing data are disclosed. A hashing function sequentially processes a hash key to generate a hash value. A policy management system processes packets according to defined policies.
    Type: Grant
    Filed: February 12, 2003
    Date of Patent: February 23, 2010
    Assignee: Broadcom Corporation
    Inventor: Mark L. Buer
  • Publication number: 20100040067
    Abstract: In one embodiment, IP lookup into a routing table having prefixes of different prefix lengths is performed by hashing a candidate prefix value to generate a plurality of hash values, where m seed hash values are generated by applying m seed hash functions and one or more additional hash values are generated by combining two or more of the seed hash values in different ways, e.g., using a bit-wise XOR function. The hash values are used to perform membership probes into a Bloom filter programmed with the prefixes corresponding to all of the different prefix lengths in the routing table without having to expand any of the prefixes programmed into the Bloom filter.
    Type: Application
    Filed: August 13, 2008
    Publication date: February 18, 2010
    Applicant: LUCENT TECHNOLOGIES INC.
    Inventors: Fang Hao, Muralidharan S. Kodialam, Haoyu Song
  • Patent number: 7664114
    Abstract: Systems in the current art provide capacity planning for packet networks. These systems require input data that characterizes traffic demands. The demands may be expressed as matrixes that record the number of bytes and packets exchanged between access routers or service nodes for each type-of-service. This invention defines a system and method to calculate these traffic matrixes. Access routers in a service node export flow records to a Record Collector. The flow records are processed to create ingress and egress records that are stored on the Record Collector. This data is uploaded to a Capacity Planning Server at which the traffic matrixes are generated. The egress access router(s) for a flow are determined by searching for matching ingress and egress records. Matching records have identical source and destination addresses. This algorithm requires no knowledge of the complex topology and routing protocols that are used within packet networks. Sampled or non-sampled flow records may be used.
    Type: Grant
    Filed: September 29, 2005
    Date of Patent: February 16, 2010
    Assignee: AT&T Corp.
    Inventors: Joseph Golan, Danielle Liu, Joseph Thomas O'Neil
  • Patent number: 7660310
    Abstract: In an embodiment of the invention, a technique for indexing data is disclosed. The technique comprises receiving packets; counting the received packets; determining whether there is a pattern associated with the received packets; and using a first algorithm if it is determined that there is a pattern.
    Type: Grant
    Filed: June 23, 2004
    Date of Patent: February 9, 2010
    Assignee: EMC Corporation
    Inventor: Mayank Joshi
  • Patent number: 7656881
    Abstract: In one embodiment, a system comprises a plurality of nodes that are communicatively coupled to one another. Each of the plurality of nodes, in the absence of any faults, is communicatively coupled to at least a first neighbor node and a first neighbor's neighbor node and a second neighbor node and a second neighbor's neighbor node. When at least a first clique and a second clique exist within the plurality of nodes and a first node included in the first clique successfully receives a synchronization message associated with the second clique from the first neighbor node of the first node and the first neighbor's neighbor node of the first node, the first node does the following. The first node defects to the second clique and synchronizes to the synchronization message. The first node also communicates a join message to at least the second neighbor node of the first node and the second neighbor's neighbor node of the first node.
    Type: Grant
    Filed: December 13, 2006
    Date of Patent: February 2, 2010
    Assignee: Honeywell International Inc.
    Inventors: Brendan Hall, Michael Paulitsch, Kevin R. Driscoll
  • Patent number: 7656887
    Abstract: A function block containing a process-cache tag for storing process-cache tags in the pre-stage of a process cache and an FIFO queue for each tag entry are installed as a traffic controller. The traffic controller stacks packet groups, identified as being from the same flow, in the same FIFO queue. Each FIFO queue records the logged state of the corresponding process queues, and when a packet arrives at an FIFO queue entry in a non-registered state, only its first packet is conveyed to a function block for processing the process-cache misses, and then it awaits registration in a process cache. Access to the process cache from the FIFO queue is implemented at the time that registration of the second and subsequent packets in the process cache are completed. This allows packets other than the first packet in the flow to always access the process cache for a cache hit.
    Type: Grant
    Filed: August 3, 2005
    Date of Patent: February 2, 2010
    Assignee: Hitachi, Ltd.
    Inventor: Michitaka Okuno
  • Publication number: 20100020807
    Abstract: A communication node includes: a routing information storing unit configured to store, as routing information, node information indicating a succeeding node and a preceding node in a ring network using a distributed hash table; and a routing information updating unit configured to update the node information, wherein when the succeeding node becomes inaccessible, the routing information updating unit acquires node information from one predetermined node accessible on the network at all times, determines, based on the acquired node information, whether the node that has supplied the node information satisfies a determination criterion for becoming its succeeding node, and designates the node that has supplied the node information as its succeeding node if the determination criterion is satisfied, while acquires node information from the preceding node indicated by the acquired node information if the determination criterion is not satisfied, and determines whether the node that has supplied the node informatio
    Type: Application
    Filed: July 27, 2009
    Publication date: January 28, 2010
    Inventor: Honggang WANG
  • Patent number: 7653075
    Abstract: A network system includes a first device and a second device separated by a network having asymmetric routes in which traffic forwarded in a first direction from the first device to the second device may travel a different route than traffic forwarded in a second direction from the second device to the first device. At least three intermediate processing devices are located between the first device and the second device, wherein at least two of the intermediate processing devices are located along different asymmetric routes. The intermediate processing devices intercept a communication flow between the first device and the second device, and encapsulate the communication flow within network tunnels so that communications associated with the communication flow in the first direction and the second direction are forwarded between a same set of at least two of the intermediate processing devices.
    Type: Grant
    Filed: May 15, 2006
    Date of Patent: January 26, 2010
    Assignee: Juniper Networks, Inc.
    Inventors: Balraj Singh, Nitin Gugle
  • Patent number: 7650427
    Abstract: Techniques are provided for using the mobility support features of IPv6 to allow client and server nodes to communicate without the continuing intervention of a load-balancing node that selected the server node. A load-balancing node intercepts a TCP SYN packet addressed to a virtual IP address. The load-balancing node selects a server node from among multiple server nodes, and sends the packet toward the server node. The server node sends an IPv6 packet toward the client node. The packet contains a Binding Update option that specifies the virtual IP address as a Home Address. This information causes the client node to replace destination addresses in outgoing IP packets so that packets that the client node would have sent toward the virtual IP address are sent toward the selected server node's IP address instead. Consequently, the IP packets are routed toward the selected server node instead of the load-balancing node.
    Type: Grant
    Filed: June 1, 2005
    Date of Patent: January 19, 2010
    Assignee: Akamai Technologies, Inc.
    Inventors: Zaide Liu, Richard David Day, Eric Sven-Johan Swildens
  • Patent number: 7649854
    Abstract: A system and method for providing channels within application servers, messaging systems, and transaction-based systems. Network traffic internal to the server is carried over these channels. This allows the administrator to segregate internal network traffic, usually for security or performance reasons. In addition administrators have finer, dynamic, control over external network channels.
    Type: Grant
    Filed: May 16, 2005
    Date of Patent: January 19, 2010
    Assignee: BEA Systems, Inc.
    Inventor: Andrew Piper
  • Patent number: 7646767
    Abstract: A method and system for routing fiber channel frames using a fiber channel switch element is provided. The switch element includes, a hashing module whose output is used to select the column from a look up table to route frames. The method includes, indexing a look up table using domain, area, virtual storage area network identifier, a hashing module output and/or AL_PA values; selecting a column from the look up table based on a column select signal; and routing a frame if a route is valid. The hashing module takes a fiber channel header to generate a pseudo random value used for selecting a column from the look up table. The hashing module uses same field values in an exchange to generate the pseudo random value. A hash function is used on a frame's OX_ID, D_ID, S_ID, and/or RX_ID to route fiber channel frames.
    Type: Grant
    Filed: July 20, 2004
    Date of Patent: January 12, 2010
    Assignee: QLOGIC, Corporation
    Inventors: Frank R Dropps, Edward C McGlaughlin, Steven M Betker
  • Patent number: 7633875
    Abstract: A method and system for performing route calculations in a link state routing protocol at a node within a computer network. The method includes evaluating existing routes of the node when new route information is received and recalculating routes for the node only when the new route information improves at least one of the existing routes or at least one of the existing routes is made worse or lost.
    Type: Grant
    Filed: March 31, 2006
    Date of Patent: December 15, 2009
    Assignee: Cisco Technology, Inc.
    Inventor: John Harper
  • Publication number: 20090304006
    Abstract: A method is described that involves, in view of a first default entry for a first subnet that is reachable through a first network service, where the first default entry has a numeric destination value, and in view of a second default entry for a second subnet that is reachable through a second network service, wherein the second default entry has the numeric destination value, sorting the first and second default entries by deciding that the first network service is ranked higher than the second network service. The method further involves configuring the first default entry within a routing table to have the numeric destination and not an interface component within the first default entry's search term, and, configuring the second default entry within the routing table to have the numeric destination and the second network service's interface component within the second default entry's search term.
    Type: Application
    Filed: September 30, 2008
    Publication date: December 10, 2009
    Applicant: Apple Inc.
    Inventors: Cahya Masputra, Dieter Siegmund, Vincent Lubet
  • Publication number: 20090304005
    Abstract: A routing table lookup algorithm is described that, for a first outbound packet, performs a first route lookup into the routing table with a first search key that includes the first packet's destination address and a first network interface identifier, and, for a second outbound packet, performs a second route lookup into the routing table with a second search key that includes the second outbound packet's destination address but does not include any network interface identifier.
    Type: Application
    Filed: September 30, 2008
    Publication date: December 10, 2009
    Applicant: Apple Inc.
    Inventors: Cahya Masputra, Dieter Siegmund, Vincent Lubet
  • Publication number: 20090296717
    Abstract: A switch controller includes a plurality of ports, a hash table, and a hash table control unit. The plurality of ports includes at least one bus port associated with ports connected to other switch controllers. The hash table stores MAC addresses and VLAN ids of ports within a network. The hash table control unit hashes a MAC address and a VLAN id of a packet to a first hash table location.
    Type: Application
    Filed: August 11, 2009
    Publication date: December 3, 2009
    Inventors: Eitan Medina, David Shemla
  • Publication number: 20090296716
    Abstract: A method and system for routing fibre channel frames using a fibre channel switch element is provided. The switch element includes, a hashing module whose output is used to select the column from a look up table to route frames. The method includes, indexing a look up table using domain, area, virtual storage area network identifier, a hashing module output and/or AL_PA values; selecting a column from the look up table based on a column select signal; and routing a frame if a route is valid. The hashing module takes a fibre channel header to generate a pseudo random value used for selecting a column from the look up table. The hashing module uses same field values in an exchange to generate the pseudo random value. A hash function is used on a frame's OX_ID, D_ID, S_ID, and/or RX_ID to route fibre channel frames.
    Type: Application
    Filed: April 29, 2009
    Publication date: December 3, 2009
    Inventors: Frank R. Dropps, Edward C. McGlaughin, Steven M. Betker
  • Patent number: 7623520
    Abstract: A method used for routing a data packet in a router having a first table used for recording a plurality of destination IP address and second table used for recording destination MAC address, wherein the plurality of destination IP address are different. The method includes: receiving a data packet and retrieving a destination IP address from the data packet; looking up an indication value corresponding to the destination IP address from the first table; selecting a destination MAC address from the second table according to the indication value as a nexthop for the data packet; and transmitting the data packet to the nexthop.
    Type: Grant
    Filed: March 21, 2005
    Date of Patent: November 24, 2009
    Assignee: Realtek Semiconductor Corp.
    Inventors: Chih-Hua Huang, Chun-Feng Liu, Jin-Ru Chen
  • Patent number: 7623534
    Abstract: Distribution of content between publishers and consumers is accomplished using an overlay network that may make use of XML language to facilitate content identification. The overlay network includes a plurality of routers that may be in communication with each other and the publishers and consumers on the Internet. Content and queries are identified by content descriptors that are routed from the originator to a nearest router in the overlay network. The nearest router, for each unique content descriptor, generates a hash identification of the content descriptor which is used by remaining routers in the overlay network to provide the appropriate functions with respect to the content descriptor. In particular, this allows all routers in the overlay network except the nearest router to properly route content without processing every content descriptor.
    Type: Grant
    Filed: December 30, 2005
    Date of Patent: November 24, 2009
    Assignee: AT&T Intellectual Property I, LP
    Inventors: Kadangode Ramakrishnan, William Fenner, Michael Rabinovich, Divesh Srivastava, Yin Zhang
  • Publication number: 20090274154
    Abstract: A hash function is applied to a set of data to generate a hash. A first subset of the hash is used to lookup an entry in a lookup table for a forwarding database. A second subset of the hash is used to identify, within the entry, data comprising an offset. The offset is applied to a location identified in the forwarding database by the first subset of the hash to determine an entry in the forwarding database. Optionally, the lookup mechanism is used in conjunction with one or more other forwarding databases. A method of updating the forwarding database within the double hash lookup framework is also described.
    Type: Application
    Filed: April 26, 2006
    Publication date: November 5, 2009
    Applicant: Marvell Semiconductor Israel Ltd.
    Inventors: Yaniv Kopelman, Ruven Torok, Dan Aharoni
  • Patent number: 7613110
    Abstract: Load balanced transport of best efforts traffic together with delay-bounded traffic over a multilink bundle combines fragmentation and fragment distribution for best efforts packets with per-flow balancing for delay-bounded traffic. In the preferred embodiments, the best efforts packets receive Multilink Protocol treatment, including fragmentation and addition of sequence headers. Fragments of packets for one such communication go over the various links within the bundle, as appropriate for load balancing on the links. For each delay-bounded flow, such as for a VOIP service, the sending node hashes the packet header data and applies all packets for the flow to one of the links, assigned as a function of the hash value. Different flow headers produce different hash results; therefore the node sends different flows over the different links in a substantially balanced manner.
    Type: Grant
    Filed: July 15, 2004
    Date of Patent: November 3, 2009
    Assignee: Cisco Technology, Inc.
    Inventor: Dana Blair
  • Patent number: 7609722
    Abstract: A transmitting apparatus and method is described that determines, on a frame-by-frame basis, whether to transmit a compressed frame or a non-compressed frame, depending upon whether the compressed frame or the non-compressed frame will actually be smaller in size. The frame that is smaller is indicated for transmission, with a header of the frame being adapted to include a compression flag indicating whether that frame is the compressed or the non-compressed frame. After wireless transmission and reception, the received frame is, if needed, decompressed if so indicated by the compression flag.
    Type: Grant
    Filed: February 14, 2003
    Date of Patent: October 27, 2009
    Assignee: Atheros Communications, Inc.
    Inventors: Jeffrey S. Kuskin, Jeffrey M. Gilbert
  • Patent number: 7609657
    Abstract: An address learning method for a network device having a plurality of connection ports, at least one of which is electrically connected to a terminal device. The method includes a fetching process, a hashed-address generating process, a data registering process and an address registering process. The fetching process fetches an address data string from a first memory unit by a programmable logic device (PLD). The hashed-address generating process generates a hashed-address by the programmable logic device. The data registering process writes the address data string into an address data table. The address registering process writes the hashed-address into a hashed-address table. A network device for performing the address data learning method is also disclosed.
    Type: Grant
    Filed: August 29, 2006
    Date of Patent: October 27, 2009
    Assignee: Accton Technology Corporation
    Inventors: Chih-Chiang Lee, Li-Hua Wu, Jia-Jang Young
  • Patent number: 7606236
    Abstract: A method and apparatus for improving forwarding information base (FIB) lookup performance. An FIB is partitioned into a multiple portions that are distributed across segments of a multi-channel SRAM store to form a distributed FIB that is accessible to a network processor. Primary entries corresponding to a linked list of FIB entries are stored in a designated FIB portion. Secondary FIB entries are stored in other FIB portions (a portion of the secondary FIB entries may also be stored in the designated primary entry portion), enabling multiple FIB entries to be concurrently accessed via respective channels. A portion of the secondary FIB entries may also be stored in a secondary (e.g., DRAM) store. A depth level threshold is set to limit the number of accesses to a linked list of FIB entries by a network processor micro-engine thread, wherein an access depth that would exceed the threshold generates an exception that is handled by a separate execution thread to maintain line-rate throughput.
    Type: Grant
    Filed: May 21, 2004
    Date of Patent: October 20, 2009
    Assignee: Intel Corporation
    Inventor: Eswar M. Eduri
  • Patent number: 7606231
    Abstract: A network device for processing data on a data network including a plurality of ports, configured to receive data packets and to send out processed data packets, a modification engine configured to parse, evaluate and modify the data packets to produce the processed data packets and a series of search engine pipeline stages configured to perform lookup searches through a plurality of search engines. The series of search engine pipeline stages perform search requests in sequential processing steps and any stage of the series of search engine pipeline stages may submit a particular search request to the plurality of search engines and receive search results particular to a particular data packet at a respective processing step.
    Type: Grant
    Filed: March 17, 2005
    Date of Patent: October 20, 2009
    Assignee: Broadcom Corporation
    Inventors: Brandon Carl Smith, Jun Cao
  • Patent number: 7602785
    Abstract: The present invention relates to a method and system of performing parallel membership queries to Bloom filters for Longest Prefix Matching, where address prefix memberships are determined in sets of prefixes sorted by prefix length. Hash tables corresponding to each prefix length are probed from the longest to the shortest match in the vector, terminating when a match is found or all of the lengths are searched. The performance, as determined by the number of dependent memory accesses per lookup, is held constant for longer address lengths or additional unique address prefix lengths in the forwarding table given that memory resources scale linearly with the number of prefixes in the forwarding table. For less than 2 Mb of embedded RAM and a commodity SRAM, the present technique achieves average performance of one hash probe per lookup and a worst case of two hash probes and one array access per lookup.
    Type: Grant
    Filed: February 9, 2005
    Date of Patent: October 13, 2009
    Assignee: Washington University
    Inventors: Sarang Dharmapurikar, Praveen Krishnamurthy, David Edward Taylor
  • Patent number: 7602787
    Abstract: Methods and apparatus are disclosed herein for classifying packets using ternary and binary content-addressable memory stages to classify packets. One such system uses a stage of one or more TCAMS followed by a second stage one or more CAMS (or alternatively some other binary associative memories such as hash tables or TRIEs) to classify a packet. One exemplary system includes TCAMs for handling input and output classification and a forwarding CAM to classify packets for Internet Protocol (IP) forwarding decisions on a flow label. This input and output classification may include, but is not limited to routing, access control lists (ACLs), quality of service (QoS), network address translation (NAT), encryption, etc. These IP forwarding decisions may include, but are not limited to IP source and destination addresses, protocol type, flags and layer 4 source and destination ports, a virtual local area network (VLAN) id and/or other fields.
    Type: Grant
    Filed: December 28, 2005
    Date of Patent: October 13, 2009
    Assignee: Cisco Technology, Inc.
    Inventor: David R. Cheriton
  • Patent number: 7602789
    Abstract: A system and method for detecting new connection rates for network traffic that employs a set of tables and a hash function. Information identifying a connection is hashed to a hash value using the hash function. Each hash value identifies a location in a first table and a second table. The hash values for the connections detected during a predetermined time period are stored in the first table. The hash values for the connections detected during the predetermined time period preceding the current time period are stored in the second table. As the hash values are stored in the first table, they are compared to the hash values stored in the second table to identify new connections. The new connections are accumulated. The second table is then cleared, and the hash values for the detected connections in the next time period are stored in the second table.
    Type: Grant
    Filed: October 23, 2006
    Date of Patent: October 13, 2009
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventor: Alan R. Albrecht
  • Publication number: 20090238189
    Abstract: A system includes a physical NIC associated with the computer and including receive rings for storing network traffic addressed to the VNIC, where the receive rings include a local receive ring for storing local traffic and a forwarding receive ring for storing forwarding traffic. The physical NIC further includes a hardware classifier configured to register a local Internet Protocol (IP) address associated with the VNIC in a lookup table, receive a packet including a destination IP address, classify the packet as local traffic or forwarding traffic using the lookup table, and store the packet in the local receive ring or the forwarding receive ring based on the type. The VNIC is configured to retrieve the packet from the receive ring, and process the packet in a type-specific manner based on the receive ring where the packet was stored, where the type-specific manner is different for local traffic and forwarding traffic.
    Type: Application
    Filed: March 24, 2008
    Publication date: September 24, 2009
    Applicant: Sun Microsystems, Inc.
    Inventors: Sunay Tripathi, Erik Nordmark, Nicolas G. Droux
  • Patent number: 7586853
    Abstract: In a communications network environment, nodes, such as personal computers, are assigned co-ordinates in a co-ordinate space which is independent of network address and physical location. Each node maintains links to a limited set of other nodes by storing the network addresses for those selected nodes. Each stored network address represents a link in co-ordinate space. It becomes possible for any node to obtain the network address for a target node by initiating a query message to a node for which it has the network address, which query message is propagated through the network between nodes which have the network address for a next node across co-ordinate space. When a receiving node finds it is the target node, or is as close in co-ordinate space as it is possible to forward the query message, it returns its own network address to the initiating node. This technique can also be used to retrieve information other than network addresses—such as objects.
    Type: Grant
    Filed: October 11, 2002
    Date of Patent: September 8, 2009
    Assignee: British Telecommunications plc
    Inventors: Erwin R. Bonsma, Cefn R. Hoile
  • Patent number: 7586892
    Abstract: A method and apparatus of scheduling jobs each having respective (i) length of execution time and (ii) requested frequency of occurrence includes for each given job, allocation of a respective set of start times in a cycle in a manner that evenly spreads the given jobs over the cycle. Idle time slots are added or padded into the cycle in a manner which reduces jitter (i.e., the differences in spacing between consecutive occurrences of the same job). The method and apparatus enable a balance between period approximation and jitter reduction to be optimally achieved.
    Type: Grant
    Filed: April 26, 2004
    Date of Patent: September 8, 2009
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Boaz Patt-Shamir, Zvika Brakerski
  • Patent number: 7584303
    Abstract: In one embodiment, the method for inspecting packets comprises broadcasting data units of packets to a plurality of finite state machine (FSM) comparison units, where each of the FSM comparison units implements a portion of a signature. The method further includes comparing the data units of the packets to signatures, including each FSM comparison unit of the plurality of FSM comparison units independently comparing one of the data units to its associated portion of one signature. The method also includes combining results of the plurality of FSM comparison units independently processing the data units using a logic combinatorial circuit.
    Type: Grant
    Filed: December 19, 2003
    Date of Patent: September 1, 2009
    Assignee: Forte 10 Networks, Inc.
    Inventor: Livio Ricciulli
  • Patent number: 7580356
    Abstract: An exemplary embodiment provides for a method for recording network traffic data that can be used in a network device operably disposed in a network, wherein the network device comprises a measurement data structure including at least one entry and a corresponding measurement key and wherein the at least one entry comprises at least one measurement attribute. The method includes receiving a packet and matching the packet to a data flow. A measurement policy for the data flow is identified, wherein the measurement policy comprises one or more measurement axes corresponding to respective data flow attributes, and a rule set relating to at least one of the one or more measurement axes. The rule set is applied to dynamically select one or more of the measurement axes in the measurement policy to be applied to the data flow. A measurement key is created based on the selected one or more measurement axes and attributes of the data flow corresponding to the selected one or more measurement axes.
    Type: Grant
    Filed: March 16, 2006
    Date of Patent: August 25, 2009
    Assignee: Packeteer, Inc.
    Inventors: Sanjeev K. Mishra, Farzad Ghannadian, Li Fang
  • Patent number: 7577151
    Abstract: Method and apparatus for implementing use of a network connection table. In one aspect, searching for network connections includes receiving a packet, and zeroing particular fields of connection information from the packet if a new connection is to be established. The connection information is converted to an address for a location in a direct table using a table access process. The direct table stores patterns and reference information for new and existing connections. The connection information is compared with at least one pattern stored in the direct table at the address to find reference information for the received packet.
    Type: Grant
    Filed: April 1, 2005
    Date of Patent: August 18, 2009
    Assignee: International Business Machines Corporation
    Inventors: Claude Basso, Jean Louis Calvignac, Chih-Jen Chang, Philippe Damon, Natarajan Vaidhyanathan, Fabrice Jean Verplanken, Colin Beaton Verrilli
  • Publication number: 20090201935
    Abstract: An apparatus and method are provided for allocating a plurality of packets to different processor threads. In operation, a plurality of packets are parsed to gather packet information. Additionally, a parse operation is performed utilizing the packet information to generate a key, and a hash algorithm is performed on this key to produce a hash. Further, the packets are allocated to different processor threads, utilizing the hash or the key.
    Type: Application
    Filed: February 8, 2008
    Publication date: August 13, 2009
    Inventors: David T. Hass, Kaushik Kuila, Ahmed Shahid
  • Publication number: 20090196297
    Abstract: In one embodiment, a technique for selecting a topology, in a multi-topology routing network, based on a source-destination pair of a packet is provided. The packet may be routed on a preferred path of the selected topology. By selecting the same topology for the source-destination pair even if the source and destination addresses are swapped, upstream and downstream traffic may be routed in a symmetrical manner. For some embodiments, a topology may be selected using a hash value that is generated using an algorithm that is commutative with respect to the source and destination addresses.
    Type: Application
    Filed: February 1, 2008
    Publication date: August 6, 2009
    Inventor: Khalil JABR
  • Publication number: 20090196296
    Abstract: An embodiment of the invention provides an apparatus and method for data verification by challenge. The apparatus and method perform acts including: sending a hash value of a data piece in a sender; if the hash value matches a stored hash value in a receiver, then sending a challenge from the receiver to the sender; sending a sample data set from the data piece in the sender, wherein the sample data set is determined by a window that is identified by the challenge; comparing the sample data set with a data set that is overlapped by the window for a stored data piece in the receiver; and performing a response based on the comparison of the sample data set and the stored data set that is overlapped by the window for the stored data piece.
    Type: Application
    Filed: January 31, 2008
    Publication date: August 6, 2009
    Inventor: Thomas Vachuska