Patents by Inventor Philip A. Thomas

Philip A. Thomas 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: 8717889
    Abstract: In some embodiments, an apparatus includes a module within a first stage of a switch fabric, a module within a second stage of the switch fabric, and a module within a third stage of the switch fabric. The module within the first stage is configured to send data to the module within the second stage. The module within the second stage is configured to send data to the module within the third stage. The module within the second stage is configured to send a first suspension indicator to the module within the third stage. The module within the third stage is configured to send a second suspension indicator to the module within the first stage in response to the first suspension indicator. The module within the first stage is configured to stop sending data to the module within the second stage in response to the second suspension indicator.
    Type: Grant
    Filed: August 24, 2012
    Date of Patent: May 6, 2014
    Assignee: Juniper Networks, Inc.
    Inventor: Philip A. Thomas
  • Patent number: 8713220
    Abstract: A network device includes a main storage memory and a queue handling component. The main storage memory includes multiple memory banks which store a plurality of packets for multiple output queues. The queue handling component controls write operations to the multiple memory banks and controls read operations from the multiple memory banks, where the read operations for at least one of the multiple output queues alternates sequentially between the each of the multiple memory banks, and where the read operations and the write operations occur during a same clock period on different ones of the multiple memory banks.
    Type: Grant
    Filed: December 31, 2012
    Date of Patent: April 29, 2014
    Assignee: Juniper Networks, Inc.
    Inventors: Anurag Agrawal, Philip A. Thomas
  • Patent number: 8713221
    Abstract: First in, first out (FIFO) queues may be used to transfer data between a producer clock domain and a number of consumer clock domains. In one implementation, a control component for the FIFO queues may include a number of counters, corresponding to each of the consumer clock domains, each of the counters maintaining a count value relating to an amount of data read by the corresponding consumer clock domain. The control component may additionally include a credit deduction component coupled to the count values of the counters, the credit deduction component determining whether any of the count values is above a threshold, and in response to the determination that any of the count values is above the threshold, reducing the count value of each of the counters and issuing a write pulse signal to the producer clock domain, the write pulse signal causing the producer clock domain to perform a write operation to the FIFO queues.
    Type: Grant
    Filed: December 1, 2010
    Date of Patent: April 29, 2014
    Assignee: Juniper Networks, Inc.
    Inventors: Anurag Agrawal, Philip A Thomas
  • Patent number: 8705500
    Abstract: A method includes installing an interface card having a first module of a switch fabric and a second module of the switch fabric, and an interface card having a third module of the switch fabric in a first chassis, within a first time period. The switch fabric is in a first configuration and is operable as a three-stage switch fabric after the first time period and before a second time period. The interface card having the third module is removed from the first chassis within the second time period. An interface card having a fourth module of the switch fabric and a fifth module of the switch fabric is installed in the first chassis within the second time period. The switch fabric is in a transitional configuration and is operable as a three-stage switch fabric after the second time period but before the third time period. The interface card having the third module is installed in a second chassis and the first chassis is operatively coupled with the second chassis within the third time period.
    Type: Grant
    Filed: November 5, 2009
    Date of Patent: April 22, 2014
    Assignee: Juniper Networks, Inc.
    Inventors: Gunes Aybay, Anurag Agrawal, Jean-Marc Frailong, Fuguang Shi, Philip A. Thomas
  • Patent number: 8687629
    Abstract: A network device includes a hybrid switch fabric configured for switching packets and circuits that includes a packet switching portion that distributes packets across a plurality of packet ports of fabric chips within the hybrid switch fabric and operates in accordance with packet switching behavior requirements, and a circuit switching portion for switching circuits, wherein the circuit switching portion of the hybrid switch fabric directly connects a single input of the hybrid switch fabric to a single output of the hybrid switch fabric via a pre-determined path through the fabric chips and operates in accordance with circuit switching behavior requirements. The packet switching portion and the circuit switching portion include one or more fabric chips, wherein the fabric chips each include a plurality of ports each dynamically configurable as one of a packet port for receiving and outputting packet-switched data and a circuit port for receiving and outputting circuit-switched data.
    Type: Grant
    Filed: February 22, 2010
    Date of Patent: April 1, 2014
    Assignee: Juniper Networks, Inc.
    Inventors: Kireeti Kompella, Philip A. Thomas, Anurag Agrawal
  • Patent number: 8625596
    Abstract: A multi-chassis network device may automatically detect whether cables connected between chassis devices are correctly inserted. The device may insert, into a first data stream output from a first port of the device, control information identifying the first port. The device may receive, from a second data stream received by the first port of the device, second control information identifying a second port, at another device connected to the device via a cable. The device may determine, based on the second control information, whether the connection of the first port to the second port, via the cable, is valid and cause, when the connection of the first port to the second port is determined to not be valid, the device to output an indication that the connection is not valid or to reconfigure the device to make the connection of the first port to the second port valid.
    Type: Grant
    Filed: December 30, 2010
    Date of Patent: January 7, 2014
    Assignee: Juniper Networks, Inc.
    Inventors: Philip A. Thomas, Anurag Agrawal
  • Patent number: 8612508
    Abstract: A device may include a compressor. The compressor may receive a first number of inputs, each of the inputs having a predetermined width. The compressor may also compute a one's complement sum of the first number of inputs to generate carry bits having the predetermined width and sum bits having the predetermined width, modify the carry bits by moving a most significant bit of the carry bits to a least significant bit position, and output the modified carry bits and the sum bits.
    Type: Grant
    Filed: October 6, 2008
    Date of Patent: December 17, 2013
    Assignee: Juniper Networks, Inc.
    Inventors: Anurag Agrawal, Philip A. Thomas
  • Patent number: 8364864
    Abstract: A network device includes a main storage memory and a queue handling component. The main storage memory includes multiple memory banks which store a plurality of packets for multiple output queues. The queue handling component controls write operations to the multiple memory banks and controls read operations from the multiple memory banks, where the read operations for at least one of the multiple output queues alternates sequentially between the each of the multiple memory banks, and where the read operations and the write operations occur during a same clock period on different ones of the multiple memory banks.
    Type: Grant
    Filed: March 17, 2010
    Date of Patent: January 29, 2013
    Assignee: Juniper Networks, Inc.
    Inventors: Anurag Agrawal, Philip A. Thomas
  • Publication number: 20120320742
    Abstract: In some embodiments, an apparatus includes a module within a first stage of a switch fabric, a module within a second stage of the switch fabric, and a module within a third stage of the switch fabric. The module within the first stage is configured to send data to the module within the second stage. The module within the second stage is configured to send data to the module within the third stage. The module within the second stage is configured to send a first suspension indicator to the module within the third stage. The module within the third stage is configured to send a second suspension indicator to the module within the first stage in response to the first suspension indicator. The module within the first stage is configured to stop sending data to the module within the second stage in response to the second suspension indicator.
    Type: Application
    Filed: August 24, 2012
    Publication date: December 20, 2012
    Applicant: Juniper Networks, Inc.
    Inventor: Philip A. Thomas
  • Patent number: 8325749
    Abstract: In one embodiment, a method can include receiving at an egress schedule module a request to schedule transmission of a group of cells from an ingress queue through a switch fabric of a multi-stage switch. The ingress queue can be associated with an ingress stage of the multi-stage switch. The egress schedule module can be associated with an egress stage of the multi-stage switch. The method can also include determining, in response to the request, that an egress port at the egress stage of the multi-stage switch is available to transmit the group of cells from the multi-stage switch.
    Type: Grant
    Filed: December 24, 2008
    Date of Patent: December 4, 2012
    Assignee: Juniper Networks, Inc.
    Inventors: Sarin Thomas, Srihari Vegesna, Pradeep Sindhu, Chi-Chung Kenny Chen, Jean-Marc Frailong, David J. Ofelt, Philip A. Thomas, Chang-Hong Wu
  • Patent number: 8279863
    Abstract: In some embodiments, a method includes sending a signal to a first module associated with a stage of a switch fabric and receiving a signal from the first module a first amount of time after sending the signal to the first module. A signal is sent to a second module associated with the stage of the switch fabric and a signal is received from the second module a second amount of time after sending the signal to the second module. The second amount of time is less than the first amount of time. A cell of a first data packet is sent to the first module and a cell of a second data packet is sent to the second module a third amount of time after sending the cell of the first data packet. The third amount of time is associated with the difference between the first amount of time and the second amount of time.
    Type: Grant
    Filed: June 30, 2009
    Date of Patent: October 2, 2012
    Assignee: Juniper Networks, Inc.
    Inventors: Sathish Shenoy, Anurag Agrawal, Philip A. Thomas
  • Patent number: 8254255
    Abstract: In some embodiments, an apparatus includes a module within a first stage of a switch fabric, a module within a second stage of the switch fabric, and a module within a third stage of the switch fabric. The module within the first stage is configured to send data to the module within the second stage. The module within the second stage is configured to send data to the module within the third stage. The module within the second stage is configured to send a first suspension indicator to the module within the third stage. The module within the third stage is configured to send a second suspension indicator to the module within the first stage in response to the first suspension indicator. The module within the first stage is configured to stop sending data to the module within the second stage in response to the second suspension indicator.
    Type: Grant
    Filed: December 29, 2008
    Date of Patent: August 28, 2012
    Assignee: Juniper Networks, Inc.
    Inventor: Philip A. Thomas
  • Publication number: 20110228795
    Abstract: A network device includes a main storage memory and a queue handling component. The main storage memory includes multiple memory banks which store a plurality of packets for multiple output queues. The queue handling component controls write operations to the multiple memory banks and controls read operations from the multiple memory banks, where the read operations for at least one of the multiple output queues alternates sequentially between the each of the multiple memory banks, and where the read operations and the write operations occur during a same clock period on different ones of the multiple memory banks.
    Type: Application
    Filed: March 17, 2010
    Publication date: September 22, 2011
    Applicant: Juniper Networks, Inc.
    Inventors: Anurag AGRAWAL, Philip A. Thomas
  • Patent number: 7966442
    Abstract: In general, this disclosure describes techniques of storing data in and retrieving data from a cache of a computing device. More specifically, techniques are described for utilizing a “perfect hash” function to implement an associative cache within a computing device. That is, the associative cache implements a fully associative map between a predetermined set of addresses and data values, employing only a single tag fetch comparison.
    Type: Grant
    Filed: May 17, 2010
    Date of Patent: June 21, 2011
    Assignee: Juniper Networks, Inc.
    Inventors: Ramesh Panwar, Philip A. Thomas
  • Patent number: 7877549
    Abstract: In general, this disclosure describes techniques of ensuring cache coherency in a multi-processor computing system. More specifically, a relaxed coherency mechanism is described that provides the appearance of strong coherency and consistency to correctly written software executing on the multi-processor system. The techniques, as described herein, combine software synchronization instructions with certain hardware-implemented instructions to ensure cache coherency.
    Type: Grant
    Filed: June 12, 2007
    Date of Patent: January 25, 2011
    Assignee: Juniper Networks, Inc.
    Inventors: Ramesh Panwar, Philip A. Thomas
  • Publication number: 20100329249
    Abstract: In some embodiments, a method includes sending a signal to a first module associated with a stage of a switch fabric and receiving a signal from the first module a first amount of time after sending the signal to the first module. A signal is sent to a second module associated with the stage of the switch fabric and a signal is received from the second module a second amount of time after sending the signal to the second module. The second amount of time is less than the first amount of time. A cell of a first data packet is sent to the first module and a cell of a second data packet is sent to the second module a third amount of time after sending the cell of the first data packet. The third amount of time is associated with the difference between the first amount of time and the second amount of time.
    Type: Application
    Filed: June 30, 2009
    Publication date: December 30, 2010
    Inventors: Sathish Shenoy, Anurag Agrawal, Philip A. Thomas
  • Publication number: 20100165843
    Abstract: In some embodiments, an apparatus includes a module within a first stage of a switch fabric, a module within a second stage of the switch fabric, and a module within a third stage of the switch fabric. The module within the first stage is configured to send data to the module within the second stage. The module within the second stage is configured to send data to the module within the third stage. The module within the second stage is configured to send a first suspension indicator to the module within the third stage. The module within the third stage is configured to send a second suspension indicator to the module within the first stage in response to the first suspension indicator. The module within the first stage is configured to stop sending data to the module within the second stage in response to the second suspension indicator.
    Type: Application
    Filed: December 29, 2008
    Publication date: July 1, 2010
    Inventor: Philip A. Thomas
  • Publication number: 20100165983
    Abstract: In some embodiments, an apparatus includes a first housing, a second housing and at least one cable. The first housing includes a first interface card of a switch fabric. The second housing includes a second interface card of the switch fabric and a third interface card of the switch fabric. The second interface card of the switch fabric is operatively and physically coupled to the third interface card of the switch fabric via a midplane. The second interface card defines a plane that is nonparallel to the a plane defined by the third interface card and a plane defined by the midplane. The plane defined by the third interface card is nonparallel to the plane defined by the second interface card and the plane defined by the midplane. The cable is configured to operatively couple the first interface card to the second interface card.
    Type: Application
    Filed: December 29, 2008
    Publication date: July 1, 2010
    Inventors: Gunes Aybay, Jaya Bandyopadhyay, Jean-Marc Frailong, Pradeep Sindhu, Philip A. Thomas, Anjan Venkatramani
  • Publication number: 20100165984
    Abstract: In some embodiments, an apparatus includes a first housing, a second housing and at least one cable. The first housing includes a first interface card of a switch fabric. The second housing includes a second interface card of the switch fabric and a third interface card of the switch fabric. The second interface card of the switch fabric is operatively and physically coupled to the third interface card of the switch fabric via a midplane. The second interface card defines a plane that is nonparallel to the a plane defined by the third interface card and a plane defined by the midplane. The plane defined by the third interface card is nonparallel to the plane defined by the second interface card and the plane defined by the midplane. The cable is configured to operatively couple the first interface card to the second interface card.
    Type: Application
    Filed: December 29, 2008
    Publication date: July 1, 2010
    Inventors: Gunes Aybay, Jaya Bandyopadhyay, Jean-Marc Frailong, Pradeep Sindhu, Philip A. Thomas, Anjan Venkatramani
  • Publication number: 20100158031
    Abstract: In one embodiment, a method can include receiving at an egress schedule module a request to schedule transmission of a group of cells from an ingress queue through a switch fabric of a multi-stage switch. The ingress queue can be associated with an ingress stage of the multi-stage switch. The egress schedule module can be associated with an egress stage of the multi-stage switch. The method can also include determining, in response to the request, that an egress port at the egress stage of the multi-stage switch is available to transmit the group of cells from the multi-stage switch.
    Type: Application
    Filed: December 24, 2008
    Publication date: June 24, 2010
    Inventors: Sarin Thomas, Srihari Vegesna, Pradeep Sindhu, Chi-Chung Kenny Chen, Jean-Marc Frailong, David J. Ofelt, Philip A. Thomas, Chang-Hong Wu