Patents by Inventor John Andrew Fingerhut

John Andrew Fingerhut 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: 7480308
    Abstract: Packets and packets fragments possibly received out of sequence are distributed into an expandable set of queues. For each particular packet or fragment, a queue within a set of queues is identified that does not contain a packet or packet fragment that is subsequent to the particular packet or fragment, and the particular packet or fragment is enqueued therein. If there is not such a queue available, a new queue is added to the set of queues. A data structure is typically updated for packet fragments to identify when all fragments have been received and the order of queues containing the packet fragments in order of their position within the reassembled packet. This ordered list of the queues is communicated to a reassembly mechanism to retrieve the packet fragments and to reassemble the packet. Resequencing of packets is similarly performed, and may be part of the reassembly process.
    Type: Grant
    Filed: March 29, 2004
    Date of Patent: January 20, 2009
    Assignee: Cisco Technology, Inc.
    Inventors: Earl T. Cohen, John Andrew Fingerhut, John J. Williams, Jr.
  • Publication number: 20080181229
    Abstract: Sequences of items may be maintained using ordered locks. These items may correspond to anything, but using ordered locks to maintain sequences of packets, especially for maintaining requisite packet orderings when distributing packets to be processed to different packet processing engines, may be particularly useful. For example, in response to a particular packet processing engine completing processing of a particular packet, a gather instruction is attached to the particular identifier of a particular ordered lock associated with the particular packet. If no longer needed for further processing, the packet processing engine is immediately released to be able to process another packet or perform another function. The gather instruction is typically performed in response to the particular ordered lock being acquired by the particular identifier, with the gather instruction causing the processed particular packet to be sent.
    Type: Application
    Filed: April 3, 2008
    Publication date: July 31, 2008
    Applicant: Cisco Technology, Inc. a corporation of California
    Inventors: John J. Williams, John Andrew Fingerhut, Doron Shoham, Shimon Listman
  • Patent number: 7362762
    Abstract: Sequences of items may be maintained using ordered locks. These items may correspond to anything, but using ordered locks to maintain sequences of packets, especially for maintaining requisite packet orderings when distributing packets to be processed to different packet processing engines, may be particularly useful. For example, in response to a particular packet processing engine completing processing of a particular packet, a gather instruction is attached to the particular identifier of a particular ordered lock associated with the particular packet. If no longer needed for further processing, the packet processing engine is immediately released to be able to process another packet or perform another function. The gather instruction is performed in response to the particular ordered lock being acquired by the particular identifier, with the gather instruction causing the processed particular packet to be sent.
    Type: Grant
    Filed: July 16, 2004
    Date of Patent: April 22, 2008
    Assignee: Cisco Technology, Inc.
    Inventors: John J. Williams, Jr., John Andrew Fingerhut, Doron Shoham, Shimon Listman
  • Publication number: 20070192861
    Abstract: A method and system to detect an evasion attack are provided. The system may include a repository to store signature fragments that together constitute an attack signature, an interceptor to intercept a data packet associated with a network connection, a string-matching module to determine whether the payload of the data packet includes any of the stored signature fragments thereby identifying a match, a responder to perform a prevention action in response to the match, and a detector to detect that a size of the data packet is less than a size threshold. The system may further include a state machine to commence maintaining a state for the network connection in response to the detector determining that the size of the data packet is less than the size threshold.
    Type: Application
    Filed: October 23, 2006
    Publication date: August 16, 2007
    Inventors: George Varghese, Flavio Giovanni Bonomi, John Andrew Fingerhut
  • Patent number: 7009976
    Abstract: Methods and apparatus are disclosed for using barrier phases to synchronize processes and components in a packet switching system, including, for example, but not limited to the use of barrier phases in the coordinated timing of the sending of information (e.g., flow control information) within a packet switching system, and the use of barrier phases in a packet sequence number windowing protocol. In one implementation, elements are assigned to one of multiple ordered sets of a barrier groups, wherein each element of a barrier group must be set to a common barrier state before any element of a next a barrier group can switch to a next barrier state, and once all elements of a particular barrier group switch to a new barrier state, all the elements of the next barrier group begin to switch to the next barrier state.
    Type: Grant
    Filed: June 27, 2001
    Date of Patent: March 7, 2006
    Assignee: Cisco Technology, Inc.
    Inventors: Jonathan E. Michelson, John J. Williams, Jr., Thomas Dejanovic, John Andrew Fingerhut
  • Patent number: 6990063
    Abstract: Methods and apparatus are disclosed for distributing fault indications and maintaining and using a data structure indicating faults to route traffic in a packet switching system. In one embodiment, a packet switching system detects faults and propagates indications of these faults to the input interfaces of a packet switch, so the packet switch can adapt the selection of a route over which to send a particular packet. Faults are identified by various components of the packet switching system and relayed to one or more switching components to generate a broadcast packet destined for all input ports (i.e., to each I/O interface in a packet switch having folded input and output interfaces). Other embodiments, generate one or more multicast or unicast packets. The I/O interface maintains one or more data structures indicating the state of various portions of the packet switching system.
    Type: Grant
    Filed: March 7, 2000
    Date of Patent: January 24, 2006
    Assignees: Cisco Technology, Inc., Washington University
    Inventors: Daniel E. Lenoski, William N. Eatherton, John Andrew Fingerhut, Jonathan S. Turner
  • Patent number: 6907041
    Abstract: Methods and apparatus for forwarding packets in a multistage interconnection network are provided which timestamp packets using a substantially system-wide timing reference and a merge sorting variant to restore packets to the proper order, using the timestamp information carried in the packets. One implementation determines when packets passing along different paths in the network can be safely forwarded, even when no packets have recently been received on some of the paths, by forwarding status messages along otherwise idle paths. The status messages provide information that can be used by downstream components to allow them to determine when packets passing over other paths can safely be forwarded. One implementation simultaneously resequences packets being delivered to all n outputs of the multistage interconnection network. The resequencing operations are distributed among a plurality of switching elements making up the interconnection network.
    Type: Grant
    Filed: March 7, 2000
    Date of Patent: June 14, 2005
    Assignees: Cisco Technology, Inc., Washington University
    Inventors: Jonathan S. Turner, Zubin D. Dittia, John Andrew Fingerhut
  • Patent number: 6826186
    Abstract: According to the invention, methods and apparatus are disclosed for selecting one of multiple of paths between two points over which to route a data item based on the destination of the data item and the traffic between the two points over the multiple paths. A switching system can use the disclosed methods and apparatus to more efficiently distribute data packets among switching fabrics than currently accomplished by known techniques. In one implementation, distribution cycles have been established for sending data between two points, where each path between the endpoints is used a predetermined number of times (e.g., one, two) within each cycle. To economize the amount of traffic data collected, the multiple paths can be partitioned into subsets for which traffic data is maintained only for the current subset. Additionally, the distribution of traffic between the two points can be further partitioned into traffic of a particular type or priority between the two points.
    Type: Grant
    Filed: March 7, 2000
    Date of Patent: November 30, 2004
    Assignee: Cisco Technology, Inc.
    Inventors: Zubin D. Dittia, John Andrew Fingerhut, Daniel E. Lenoski
  • Patent number: 6747972
    Abstract: In one implementation, a first set of packet switch sequence numbers is used for end-to-end resequencing of packets within a packet switch, and a second set of interconnection network sequence number is used in the resequencing of packets within an interconnection network of the packet switch. A packet switch sequence number is maintained at each input interface of the packet switch for each output interface, while each output interface maintains a packet switch sequence number for each input interface. A corresponding sequence number is added to packets sent between corresponding input-output interface pairs. Similarly, an interconnection network sequence number is maintained at each input port of an interconnection network for each output port, while each output port maintains an interconnection network sequence number for each input port. A corresponding sequence number is added to packets sent between corresponding input-output port pairs.
    Type: Grant
    Filed: March 7, 2000
    Date of Patent: June 8, 2004
    Assignee: Cisco Technology, Inc.
    Inventors: Daniel E. Lenoski, William N. Eatherton, Zubin D. Dittia, John Andrew Fingerhut
  • Patent number: 6654342
    Abstract: Methods and apparatus are disclosed for accumulating and distributing flow control information via update messages and piggybacked flow control information in other messages. One implementation operates using at least two techniques. Using a first technique, for every packet entering the switching system from a line card, the switching system conveys flow control information (typically congestion or both congestion and no-congestion indications) for the packet's destination to the line card. Using a second technique, the switching system will periodically convey congestion and no-congestion indications for all destinations to the line cards. In one implementation, when the first technique is used to provide only congestion indications, the periodic distribution of flow control information using the second technique provides non-congested indications which allows the line cards and their sources to resume or begin sending to the non-congested destinations.
    Type: Grant
    Filed: March 7, 2000
    Date of Patent: November 25, 2003
    Assignee: Cisco Technology, Inc.
    Inventors: Zubin D. Dittia, William N. Eatherton, John Andrew Fingerhut, Michael B. Galles, Jonathan S. Turner