Patents by Inventor Raymond M. Lim

Raymond M. Lim 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: 8706896
    Abstract: Output logic generates read requests using a programmable schedule that controls read bandwidth for multiple data streams and stores the read requests in a queuing device. The output logic also dequeues the read requests based on a similar programmable schedule, forwards the read requests to the memory, and reads data units from the memory based on the read requests.
    Type: Grant
    Filed: August 16, 2012
    Date of Patent: April 22, 2014
    Assignee: Juniper Networks, Inc.
    Inventors: Song Zhang, Phil Lacroute, Anurag P. Gupta, Raymond M. Lim, Avanindra Godbole, Debashis Basu
  • Publication number: 20120311175
    Abstract: Output logic generates read requests using a programmable schedule that controls read bandwidth for multiple data streams and stores the read requests in a queuing device. The output logic also dequeues the read requests based on a similar programmable schedule, forwards the read requests to the memory, and reads data units from the memory based on the read requests.
    Type: Application
    Filed: August 16, 2012
    Publication date: December 6, 2012
    Applicant: JUNIPER NETWORKS, INC.
    Inventors: Song ZHANG, Phil LACROUTE, Anurag P. GUPTA, Raymond M. LIM, Avanindra GODBOLE, Debashis BASU
  • Patent number: 8271672
    Abstract: Output logic generates read requests using a programmable schedule that controls read bandwidth for multiple data streams and stores the read requests in a queuing device. The output logic also dequeues the read requests based on a similar programmable schedule, forwards the read requests to the memory, and reads data units from the memory based on the read requests.
    Type: Grant
    Filed: August 31, 2001
    Date of Patent: September 18, 2012
    Assignee: Juniper Networks, Inc.
    Inventors: Song Zhang, Phil Lacroute, Anurag P. Gupta, Raymond M. Lim, Avanindra Godbole, Debashis Basu
  • Patent number: 8085780
    Abstract: A packet header processing engine includes a level 2 (L2) header generation unit and a level 3 (L3) header generation unit. The L2 and L3 header generation units are implemented in parallel with one another. The L2 generation unit writes L2 header information to a first buffer and the L3 generation unit writes L3 header information to a second buffer. When the L2 and L3 header generation units finish processing a packet, the packet may be unloaded from the first and second buffer while a new packet is simultaneously loaded to the packet header processing engine.
    Type: Grant
    Filed: January 27, 2010
    Date of Patent: December 27, 2011
    Assignee: Juniper Networks, Inc.
    Inventors: Raymond M. Lim, Jeffrey G. Libby
  • Patent number: 7859999
    Abstract: A system for multicasting a packet of data to a single data stream is provided. The system may determine a size of the packet and may send a single copy of the packet if the size of the packet exceeds a threshold value. A number of copies of the packet yet to be multicast may be ascertained if the size of the packet of data does not exceed the threshold value. Copies of the packet may be transmitted based on the number of copies of the packet yet to be multicast.
    Type: Grant
    Filed: September 20, 2007
    Date of Patent: December 28, 2010
    Assignee: Juniper Networks, Inc.
    Inventors: Debashis Basu, Avanindra Godbole, Raymond M. Lim, Jeffrey G. Libby
  • Patent number: 7724737
    Abstract: A network device includes a memory and a packet forwarding engine. The memory stores a multicast list table, tag descriptor data and layer 2 (L2) encapsulation data. The packet forwarding engine receives a first pointer to an entry in the multicast list table, the entry including a second pointer to the tag descriptor data. The packet forwarding engine utilizes the second pointer to retrieve the tag descriptor data, the tag descriptor data including a third pointer to the encapsulation data. The packet forwarding engine constructs a packet header utilizing the retrieved encapsulation data and appends the packet header to a packet payload for forwarding out of the packet forwarding engine.
    Type: Grant
    Filed: November 21, 2007
    Date of Patent: May 25, 2010
    Assignee: Juniper Networks, Inc.
    Inventors: Pradeep Sindhu, Raymond M. Lim, Dennis C. Ferguson
  • Patent number: 7680116
    Abstract: A processing engine for processing header data includes a level 2 (L2) header generation unit and a level 3 (L3) header generation unit. The L2 and L3 header generation units are implemented in parallel with one another. The L2 generation unit writes L2 header information to a first buffer and the L3 generation unit writes L3 header information to a second buffer. When the L2 and L3 header generation units finish processing a data unit, the data unit may be unloaded from the first and second buffer while a new data unit is simultaneously loaded to the header processing engine.
    Type: Grant
    Filed: March 27, 2007
    Date of Patent: March 16, 2010
    Assignee: Juniper Networks, Inc.
    Inventors: Raymond M. Lim, Jeffrey G. Libby
  • Patent number: 7616562
    Abstract: A packet header processing engine receives a header of a packet. The received header includes a size of the packet. A maximum transfer unit size of a destination interface of the packet may be determined. The packet header processing engine determines whether the size of the packet exceeds the maximum transfer unit size of the destination interface. If the size of the packet does not exceed the maximum transfer unit size of the destination interface, the packet header processing engine generates a new header from the received header. If the size of the packet exceeds the maximum transfer unit size of the destination interface, the packet header processing engine generates a fragment header from the received header. The packet header processing engine may recycle the fragment header for further processing in addition to forming a first fragment packet from the fragment header.
    Type: Grant
    Filed: May 22, 2007
    Date of Patent: November 10, 2009
    Assignee: Juniper Networks, Inc.
    Inventors: Raymond M. Lim, Jeffrey G. Libby
  • Patent number: 7317721
    Abstract: A network device includes a memory and a packet forwarding engine. The memory stores a multicast list table, tag descriptor data and layer 2 (L2) encapsulation data. The packet forwarding engine receives a first pointer to an entry in the multicast list table, the entry including a second pointer to the tag descriptor data. The packet forwarding engine utilizes the second pointer to retrieve the tag descriptor data, the tag descriptor data including a third pointer to the encapsulation data. The packet forwarding engine constructs a packet header utilizing the retrieved encapsulation data and appends the packet header to a packet payload for forwarding out of the packet forwarding engine.
    Type: Grant
    Filed: April 12, 2002
    Date of Patent: January 8, 2008
    Assignee: Juniper Networks, Inc.
    Inventors: Pradeep Sindhu, Raymond M. Lim, Dennis C. Ferguson
  • Patent number: 7292529
    Abstract: A system for multicasting a packet of data to a single data stream is provided. The system may determine a size of the packet and may send a single copy of the packet if the size of the packet exceeds a threshold value. A number of copies of the packet yet to be multicast may be ascertained if the size of the packet of data does not exceed the threshold value. Copies of the packet may be transmitted based on the number of copies of the packet yet to be multicast.
    Type: Grant
    Filed: July 31, 2002
    Date of Patent: November 6, 2007
    Assignee: Juniper Networks, Inc.
    Inventors: Debashis Basu, Avanindra Godbole, Raymond M. Lim, Jeffrey Glenn Libby
  • Patent number: 7239630
    Abstract: A packet header processing engine includes a level 2 (L2) header generation unit and a level 3 (L3) header generation unit. The L2 and L3 header generation units are implemented in parallel with one another. The L2 generation unit may include a single execution section and the L3 generation unit may include multiple parallel execution sections. When both the L2 and L3 generation units complete their operations on a particular packet, a build component combines the generated L2 and L3 information to form a complete packet header.
    Type: Grant
    Filed: March 22, 2002
    Date of Patent: July 3, 2007
    Assignee: Juniper Networks, Inc.
    Inventors: Raymond M. Lim, Jeffrey G. Libby
  • Patent number: 7212530
    Abstract: A packet header processing engine includes a level 2 (L2) header generation unit and a level 3 (L3) header generation unit. The L2 and L3 header generation units are implemented in parallel with one another. The L2 generation unit writes L2 header information to a first buffer and the L3 generation unit writes L3 header information to a second buffer. When the L2 and L3 header generation units finish processing a packet, the packet may be unloaded from the first and second buffer while a new packet is simultaneously loaded to the packet header processing engine.
    Type: Grant
    Filed: March 22, 2002
    Date of Patent: May 1, 2007
    Assignee: Juniper Networks, Inc.
    Inventors: Raymond M. Lim, Jeffrey G. Libby
  • Patent number: 7180893
    Abstract: A packet header processing engine includes a level 2 (L2) header generation unit and a level 3 (L3) header generation unit. The L2 and L3 header generation units are implemented in parallel with one another. The L2 generation unit writes L2 header information to a first buffer and the L3 generation unit writes L3 header information to a second buffer. When both the L2 and L3 generation units complete their operations for a particular packet, a build component combines the generated L2 and L3 header information from the buffers to form a complete packet header.
    Type: Grant
    Filed: March 22, 2002
    Date of Patent: February 20, 2007
    Assignee: Juniper Networks, Inc.
    Inventors: Pradeep Sindhu, Raymond M. Lim, Jeffrey G. Libby
  • Patent number: 7158520
    Abstract: A packet header processing engine includes a level 2 (L2) header generation unit and a level 3 (L3) header generation unit. The L2 and L3 header generation units are implemented in parallel with one another. Mailbox registers allow the L2 and L3 header generation units to communicate with one another. The L2 header generation unit may write to a specified mailbox register only when a valid bit corresponding to the mailbox register indicates that the register does not contain valid data. After writing to the mailbox register, the L2 header generation unit changes the state of the valid bit. The L3 register then reads from the mailbox register and changes the state of the valid bit. A similar implementation of the mailbox registers allows data to flow from the L3 header generation unit to the L2 header generation unit.
    Type: Grant
    Filed: March 22, 2002
    Date of Patent: January 2, 2007
    Assignee: Juniper Networks, Inc.
    Inventors: Pradeep Sindhu, Raymond M. Lim, Jeffrey G. Libby
  • Patent number: 6941433
    Abstract: A system for determining a memory read latency includes a memory, a memory read circuit, and a latency detector. An identifiable pattern of data is written to at least one location in the memory, and a read request and the address of the identified pattern are sent to the memory. The latency detector determines a read latency period based on detecting the identifiable pattern of data.
    Type: Grant
    Filed: May 22, 2002
    Date of Patent: September 6, 2005
    Assignee: Juniper Networks, Inc.
    Inventors: Jeffrey G. Libby, Raymond M. Lim