Patents by Inventor Gerald Cheung
Gerald Cheung 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: 8189576Abstract: A system includes an input device configured to receive a packet having a header and a packet processing device. The packet processing device is configured to examine the header, identify at least one function from a group of functions based on at least a portion of the header, where the group of functions includes an index table lookup function, a filtering function, and a longest best match lookup function, perform the identified at least one function for the packet to obtain a result, and forward the packet using the result.Type: GrantFiled: August 18, 2004Date of Patent: May 29, 2012Assignee: Juniper Networks, Inc.Inventors: Dennis C. Ferguson, Rajiv Patel, Gerald Cheung, Pradeep S. Sindhu
-
Patent number: 8170028Abstract: A network device includes an input interface, at least one processing path and an output interface. The input interface receives data units on a plurality of streams and assigns a first sequence number to each of the received data units. The at least one processing path performs a route look-up for each of the data units, where the route look-up determines a routing destination for a respective data unit. The output interface assigns a second sequence number to each of the processed data units based on a number of memory references associated with the route look-up for each of the data units and re-orders the processed data units based on the second sequence number assigned to each of the processed data units.Type: GrantFiled: July 29, 2009Date of Patent: May 1, 2012Assignee: Juniper Networks, Inc.Inventors: Dennis C Ferguson, Hann-Hwan Ju, Atsushi Kasuya, Gerald Cheung, Devereaux C Chen
-
Publication number: 20120027019Abstract: Ordering logic ensures that data items being processed by a number of parallel processing units are unloaded from the processing units in the original per-flow order that the data items were loaded into the parallel processing units. The ordering logic includes a pointer memory, a tail vector, and a head vector. Through these three elements, the ordering logic keeps track of a number of “virtual queues” corresponding to the data flows. A round robin arbiter unloads data items from the processing units only when a data item is at the head of its virtual queue.Type: ApplicationFiled: September 30, 2011Publication date: February 2, 2012Applicant: JUNIPER NETWORKS, INC.Inventors: Dennis C. FERGUSON, Philippe LACROUTE, Chi-Chung CHEN, Gerald CHEUNG, Tatao CHUANG, Pankaj PATEL, Viswesh ANANTHAKRISHNAN
-
Patent number: 8059543Abstract: Ordering logic ensures that data items being processed by a number of parallel processing units are unloaded from the processing units in the original per-flow order that the data items were loaded into the parallel processing units. The ordering logic includes a pointer memory, a tail vector, and a head vector. Through these three elements, the ordering logic keeps track of a number of “virtual queues” corresponding to the data flows. A round robin arbiter unloads data items from the processing units only when a data item is at the head of its virtual queue.Type: GrantFiled: June 15, 2010Date of Patent: November 15, 2011Assignee: Juniper Networks, Inc.Inventors: Dennis C. Ferguson, Philippe Lacroute, Chi-Chung Chen, Gerald Cheung, Tatao Chuang, Pankaj Patel, Viswesh Anathakrishnan
-
Publication number: 20110264822Abstract: Methods and devices for processing packets are provided.Type: ApplicationFiled: June 17, 2011Publication date: October 27, 2011Applicant: JUNIPER NETWORKS, INC.Inventors: Dennis C. FERGUSON, Rajiv PATEL, Gerald CHEUNG, Pradeep SINDHU
-
Patent number: 7986629Abstract: Methods and devices for processing packets are provided. The processing device may Include an input interface for receiving data units containing header information of respective packets; a first module configurable to perform packet filtering based on the received data units; a second module configurable to perform traffic analysis based on the received data units; a third module configurable to perform load balancing based on the received data units; and a fourth module configurable to perform route lookups based on the received data units.Type: GrantFiled: January 29, 2010Date of Patent: July 26, 2011Assignee: Juniper Networks, Inc.Inventors: Dennis C. Ferguson, Rajiv Patel, Gerald Cheung, Pradeep Sindhu
-
Publication number: 20100246584Abstract: Ordering logic ensures that data items being processed by a number of parallel processing units are unloaded from the processing units in the original per-flow order that the data items were loaded into the parallel processing units. The ordering logic includes a pointer memory, a tail vector, and a head vector. Through these three elements, the ordering logic keeps track of a number of “virtual queues” corresponding to the data flows. A round robin arbiter unloads data items from the processing units only when a data item is at the head of its virtual queue.Type: ApplicationFiled: June 15, 2010Publication date: September 30, 2010Applicant: JUNIPER NETWORKS, INC.Inventors: Dennis C. FERGUSON, Philippe LACROUTE, Chi-Chung CHEN, Gerald CHEUNG, Tatao CHUANG, Pankaj PATEL, Viswesh ANANTHAKRISHNAN
-
Patent number: 7764606Abstract: Ordering logic ensures that data items being processed by a number of parallel processing units are unloaded from the processing units in the original per-flow order that the data items were loaded into the parallel processing units. The ordering logic includes a pointer memory, a tail vector, and a head vector. Through these three elements, the ordering logic keeps track of a number of “virtual queues” corresponding to the data flows. A round robin arbiter unloads data items from the processing units only when a data item is at the head of its virtual queue.Type: GrantFiled: May 30, 2007Date of Patent: July 27, 2010Assignee: Juniper Networks, Inc.Inventors: Dennis C. Ferguson, Philippe Lacroute, Chi-Chung Chen, Gerald Cheung, Tatao Chuang, Pankaj Patel, Viswesh Ananthakrishnan
-
Publication number: 20100165990Abstract: A network device constructs a notification corresponding to a received multicast data unit, where the notification includes administrative data associated with the multicast data unit that does not include a payload of the multicast data unit. The network device replicates the notification at least three different processing elements at different locations in a processing path of the network device to produce multiple replicated data items and produces a copy of the multicast data unit for each of replicated notifications. The network device forwards each copy of the multicast data unit towards a multicast destination.Type: ApplicationFiled: March 12, 2010Publication date: July 1, 2010Applicant: Juniper Networks, Inc.Inventors: Pradeep SINDHU, Debashis BASU, Pankaj PATEL, Raymond LIM, Avanindra GODBOLE, Tatao CHUANG, Chi-Chung K. CHEN, Jeffrey G. LIBBY, Dennis FERGUSON, Philippe LACROUTE, Gerald CHEUNG
-
Patent number: 7710994Abstract: A network device constructs a notification corresponding to a received multicast data unit, where the notification includes administrative data associated with the multicast data unit that does not include a payload of the multicast data unit. The network device replicates the notification at least three different processing elements at different locations in a processing path of the network device to produce multiple replicated data items and produces a copy of the multicast data unit for each of replicated notifications. The network device forwards each copy of the multicast data unit towards a multicast destination.Type: GrantFiled: September 12, 2007Date of Patent: May 4, 2010Assignee: Juniper Networks, Inc.Inventors: Pradeep Sindhu, Debashis Basu, Pankaj Patel, Raymond Lim, Avanindra Godbole, Tatao Chuang, Chi-Chung K. Chen, Jeffrey G. Libby, Dennis Fersuson, Philippe Lacroute, Gerald Cheung
-
Patent number: 7688727Abstract: Methods and devices for processing packets are provided. The processing device may Include an input interface for receiving data units containing header information of respective packets; a first module configurable to perform packet filtering based on the received data units; a second module configurable to perform traffic analysis based on the received data units; a third module configurable to perform load balancing based on the received data units; and a fourth module configurable to perform route lookups based on the received data units.Type: GrantFiled: December 21, 2006Date of Patent: March 30, 2010Assignee: Juniper Networks, Inc.Inventors: Dennis C. Ferguson, Rajiv Patel, Gerald Cheung, Pradeep Sindhu
-
Patent number: 7586917Abstract: A network device includes an input interface, at least one processing path and an output interface. The input interface receives data units on a plurality of streams and assigns a first sequence number to each of the received data units. The at least one processing path performs a route look-up for each of the data units, where the route look-up determines a routing destination for a respective data unit. The output interface assigns a second sequence number to each of the processed data units based on a number of memory references associated with the route look-up for each of the data units and re-orders the processed data units based on the second sequence number assigned to each of the processed data units.Type: GrantFiled: May 19, 2004Date of Patent: September 8, 2009Assignee: Juniper Networks, Inc.Inventors: Dennis C. Ferguson, Hann-Hwan Ju, Atsushi Kasuya, Gerald Cheung, Devereaux C. Chen
-
Patent number: 7289503Abstract: A network device includes an interface and packet processing logic. The interface receives a multicast packet. The packet processing logic determines identifier data corresponding to the received multicast packet and replicates the identifier data to multiple outgoing packet forward engines at a first point in a processing path. The packet processing logic further replicates the identifier data to multiple data streams at a second point in the processing path and replicates the identifier data to multiple logical interfaces in the same stream at a third point in the processing path.Type: GrantFiled: July 30, 2002Date of Patent: October 30, 2007Assignee: Juniper Networks, Inc.Inventors: Pradeep Sindhu, Debashis Basu, Pankaj Patel, Raymond Lim, Avanindra Godbole, Tatao Chuang, Chi-Chung K. Chen, Jeffrey G. Libby, Dennis Ferguson, Philippe Lacroute, Gerald Cheung
-
Patent number: 7243184Abstract: Ordering logic ensures that data items being processed by a number of parallel processing units are unloaded from the processing units in the original per-flow order that the data items were loaded into the parallel processing units. The ordering logic includes a pointer memory, a tail vector, and a head vector. Through these three elements, the ordering logic keeps track of a number of “virtual queues” corresponding to the data flows. A round robin arbiter unloads data items from the processing units only when a data item is at the head of its virtual queue.Type: GrantFiled: July 12, 2002Date of Patent: July 10, 2007Assignee: Juniper Networks, Inc.Inventors: Dennis C. Ferguson, Philippe Lacroute, Chi-Chung Chen, Gerald Cheung, Tatao Chuang, Pankaj Patel, Visweh Ananthakrishnan
-
Patent number: 7215637Abstract: Methods and devices for processing packets are provided. The processing device may include an input interface for receiving data units containing header information of respective packets; a first module configurable to perform packet filtering based on the received data units; a second module configurable to perform traffic analysis based on the received data units; a third module configurable to perform load balancing based on the received data units; and a fourth module configurable to perform route lookups based on the received data units.Type: GrantFiled: December 14, 2001Date of Patent: May 8, 2007Assignee: Juniper Networks, Inc.Inventors: Dennis C. Ferguson, Rajiv Patel, Gerald Cheung, Pradeep Sindhu
-
Publication number: 20050018682Abstract: A system includes an input device configured to receive a packet having a header and a packet processing device. The packet processing device is configured to examine the header, identify at least one function from a group of functions based on at least a portion of the header, where the group of functions includes an index table lookup function, a filtering function, and a longest best match lookup function, perform the identified at least one function for the packet to obtain a result, and forward the packet using the result.Type: ApplicationFiled: August 18, 2004Publication date: January 27, 2005Inventors: Dennis Ferguson, Rajiv Patel, Gerald Cheung, Pradeep Sindhu
-
Patent number: 6798777Abstract: A method and apparatus for performing a lookup in a switching device of a packet switched network where the lookup includes a plurality of distinct operations each of which returns a result that includes a pointer to a next operation in a sequence of operations for the lookup. The method includes determining a first lookup operation to be executed, executing the first lookup operation including returning a result and determining if the result includes a pointer to another lookup operation in the sequence of operations. If the result includes a pointer to another lookup operation, the lookup operation indicated by the result is executed. Else, the lookup is terminated.Type: GrantFiled: April 17, 2000Date of Patent: September 28, 2004Assignee: Juniper Networks, Inc.Inventors: Dennis C. Ferguson, Rajiv Patel, Gerald Cheung, Pradeep S. Sindhu
-
Patent number: 5978874Abstract: Snooping is implemented on a split transaction snooping bus for a computer system having one or many such buses. Circuit boards including CPU or other devices and/or distributed memory, data input/output buffers, queues including request tag queues, coherent input queues ("CIQ"), and address controller implementing address bus arbitration plug-into one or more split transaction snooping bus systems. All devices snoop on the address bus to learn whether an identified line is owned or shared, and an appropriate owned/shared signal is issued. Receipt of an ignore signal blocks CIQ loading of a transaction until the transaction is reloaded and ignore is deasserted. Ownership of a requested memory line transfers immediately at time of request. Asserted requests are queued such that state transactions on the address bus occur atomically logically without dependence upon the request. Subsequent requests for the same data are tagged to become the responsibility of the owner-requestor.Type: GrantFiled: July 1, 1996Date of Patent: November 2, 1999Assignee: Sun Microsystems, Inc.Inventors: Ashok Singhal, Bjorn Liencres, Jeff Price, Frederick M. Cerauskis, David Broniarczyk, Gerald Cheung, Erik Hagersten, Nalini Agarwal
-
Patent number: 5911052Abstract: A split transaction snooping bus protocol and architecture is provided for use in a system having one or many such buses. Circuit boards including CPU or other devices and/or distributed memory, data input/output buffers, queues including request tag queues, coherent input queues ("CIQ"), and address controller implementing address bus arbitration plug-into one or more split transaction snooping bus systems. All devices snoop on the address bus to learn whether an identified line is owned or shared, and an appropriate owned/shared signal is issued. Receipt of an ignore signal blocks CIQ loading of a transaction until the transaction is reloaded and ignore is deasserted. Ownership of a requested memory line transfers immediately at time of request. Asserted requests are queued such that state transactions on the address bus occur atomically logically without dependence upon the request. Subsequent requests for the same data are tagged to become the responsibility of the owner-requestor.Type: GrantFiled: July 1, 1996Date of Patent: June 8, 1999Assignee: Sun Microsystems, Inc.Inventors: Ashok Singhal, Bjorn Liencres, Jeff Price, Frederick M. Cerauskis, David Broniarczyk, Gerald Cheung, Erik Hagersten, Nalini Agarwal