Claims Analysis
Total Claims: 14
Claim 1
Independent Claim
294 words
In apparatus for maintaining frame forwarding information in a bridge or a router, comprising: a forwarding table having zero or more forwarding entry sets of different sizes, and zero or more free space segments, each said free space segment having a size; a hash table having a plurality of hash table entries, each one of said plurality of hash table entries pointing to one of said one or more forwarding entry sets of different sizes, each one of said plurality of hash table entries containing the size of said one of said one or more forwarding entry sets; a plurality of free queues, each one of said plurality of free queues having an associated free space segment size, and zero or more queue elements indicating those of said free space segments having said size equal to said associated free space segment size; and a forwarding entry adding process, responsive to an input, said input containing an address and forwarding information, for determining a new forwarding entry set size, said new forwarding entry set size equal to a size of a forwarding entry plus a size contained in one of said plurality of hash table entries, said one of said plurality of hash table entries indexed by a value of a hash index field of an output of a hash function applied to said address contained in said input, and for selecting a non-empty free queue having associated free space segment size greater than or equal to said new forwarding entry get size, and for writing a new forwarding entry set to one of said free space segments indicated by a queue element from said non-empty free queue, said new forwarding entry set having a forwarding entry containing said forwarding information contained in said input.
Claim 2
Dependent Claim
294 words
In apparatus for maintaining frame forwarding information in a bridge or a router, comprising: a forwarding table having zero or more forwarding entry sets of different sizes, and zero or more free space segments, each said free space segment having a size; a hash table having a plurality of hash table entries, each one of said plurality of hash table entries pointing to one of said one or more forwarding entry sets of different sizes, each one of said plurality of hash table entries containing the size of said one of said one or more forwarding entry sets; a plurality of free queues, each one of said plurality of free queues having an associated free space segment size, and zero or more queue elements indicating those of said free space segments having said size equal to said associated free space segment size; and a forwarding entry adding process, responsive to an input, said input containing an address and forwarding information, for determining a new forwarding entry set size, said new forwarding entry set size equal to a size of a forwarding entry plus a size contained in one of said plurality of hash table entries, said one of said plurality of hash table entries indexed by a value of a hash index field of an output of a hash function applied to said address contained in said input, and for selecting a non-empty free queue having associated free space segment size greater than or equal to said new forwarding entry get size, and for writing a new forwarding entry set to one of said free space segments indicated by a queue element from said non-empty free queue, said new forwarding entry set having a forwarding entry containing said forwarding information contained in said input.
Claim 3
Dependent Claim
62 words
The apparatus of claim 1 wherein an index into said hash table for a given hash table entry is equal to a hash index field of the output of a hash function applied to a given address, said given hash table entry pointing to a forwarding entry set having a forwarding entry containing forwarding information for received frames containing said given address.
Claim 4
Dependent Claim
49 words
The apparatus of claim 2 one of said forwarding entries in said forwarding entry set having a field equal to a remainder field of the hash output of said hash function applied to said given address, and a second field containing forwarding information for received frames containing said address.
Claim 5
Dependent Claim
66 words
The apparatus of claim 3, further comprising: a plurality of communications segments; frame receiving means, responsive to said communications segments, for receiving a frame from one of said plurality of communications segments; frame forwarding means, responsive to said frame receiving means, said hash table and said forwarding table, for forwarding said frame based on the contents of said frame and forwarding information in said forwarding table.
Claim 6
Dependent Claim
43 words
The apparatus of claim 4 further comprising a mutual exclusion circuit, coupled with said frame forwarding means, said microprocessor, and said memory, for preventing said frame forwarding means from reading said hash table during a write operation by said forwarding entry adding process.
Claim 7
Dependent Claim
50 words
The apparatus of claim 5 further comprising a learning means, responsive to said frame receiving means receiving a frame, for generating said input when no forwarding entry exists in said forwarding entry table having forwarding information for a station address contained in a source address field of said received frame.
Claim 8
Dependent Claim
59 words
The apparatus of claim 6 wherein said address contained in said input generated by said learning means is equal to a station address contained in a source address field of said received frame, and the forwarding information indicates to forward frames with a destination address equal to said station address to the LAN segment said frame is received from.
Claim 9
Dependent Claim
124 words
The apparatus of claim 5 further comprising a forwarding entry deleting means, responsive to a second input, said second input containing a station address, for determining a new forwarding entry set size equal to the size of the existing forwarding entry set for station addresses related to said station address contained in said second input minus the size of one forwarding entry, selecting a non-empty free queue having associated free space segment size greater than or equal to said new forwarding entry set size, and copying said existing forwarding entry set, without the forwarding entry having forwarding information for said station address contained in said second input, to one of said free space segments indicated by a queue element from said non-empty free queue.
Claim 10
Dependent Claim
61 words
The apparatus as in claim 8, further comprising: a timer; an aging process, responsive to said frame receiving means, said timer and said forwarding table for generating said second input when no frame is received containing destination or source address field contents equal to a given station address, said address contained in said second input equal to said given station address.
Claim 11
Independent Claim
246 words
A method for adding forwarding information to a forwarding table, comprising the steps of: receiving an input, said input containing a station address and forwarding information; determining a size of an existing forwarding entry set having forwarding entries for station addresses related to said station address contained in said input, said size of said existing forwarding entry set contained in a hash table entry within a hash table, said hash table entry within said hash table indexed by a value of a hash index field of an output of a hash function applied to said station address contained in said input; determining a new forwarding entry set size equal to said size of said existing forwarding entry set having forwarding entries for station addresses related to said station address contained in said input plus the size of one forwarding entry; selecting a non-empty free queue from a plurality of free queues, said non-empty free queue having one or more elements pointing to free space segments in said forwarding table, said free space segments being of size equal to or greater than said new forwarding entry set size; and writing a new forwarding entry set to one of said free space segments pointed to by one of said one or more queue elements in said non-empty free queue, said new forwarding entry set containing the forwarding entries from said existing forwarding entry set, as well as a forwarding entry containing said forwarding information contained in said input.
Claim 12
Independent Claim
246 words
A method for adding forwarding information to a forwarding table, comprising the steps of: receiving an input, said input containing a station address and forwarding information; determining a size of an existing forwarding entry set having forwarding entries for station addresses related to said station address contained in said input, said size of said existing forwarding entry set contained in a hash table entry within a hash table, said hash table entry within said hash table indexed by a value of a hash index field of an output of a hash function applied to said station address contained in said input; determining a new forwarding entry set size equal to said size of said existing forwarding entry set having forwarding entries for station addresses related to said station address contained in said input plus the size of one forwarding entry; selecting a non-empty free queue from a plurality of free queues, said non-empty free queue having one or more elements pointing to free space segments in said forwarding table, said free space segments being of size equal to or greater than said new forwarding entry set size; and writing a new forwarding entry set to one of said free space segments pointed to by one of said one or more queue elements in said non-empty free queue, said new forwarding entry set containing the forwarding entries from said existing forwarding entry set, as well as a forwarding entry containing said forwarding information contained in said input.
Claim 13
Independent Claim
200 words
A method for deleting forwarding information from a forwarding table, comprising the steps of: receiving an input, said input containing a station address; determining a size of an existing forwarding entry set having forwarding entries for station addresses related to said station address contained in said input, said size of said existing forwarding entry set contained in a hash table entry within a hash table, said hash table entry within said hash table having indexed by a value of a hash index field of an output of a hash function applied to said station address contained in said input; determining a new forwarding entry set size equal to said size of said existing forwarding entry set having forwarding entries for station addresses related to said station address contained in said input minus the size of one forwarding entry; selecting a non-empty free queue having associated free space segment size greater than or equal to said new forwarding entry set size; and copying said existing forwarding entry set, without the forwarding entry having forwarding information for said station address contained in said second input, to one of said free space segments indicated by a queue element from said non-empty free queue.
Claim 14
Independent Claim
200 words
A method for deleting forwarding information from a forwarding table, comprising the steps of: receiving an input, said input containing a station address; determining a size of an existing forwarding entry set having forwarding entries for station addresses related to said station address contained in said input, said size of said existing forwarding entry set contained in a hash table entry within a hash table, said hash table entry within said hash table having indexed by a value of a hash index field of an output of a hash function applied to said station address contained in said input; determining a new forwarding entry set size equal to said size of said existing forwarding entry set having forwarding entries for station addresses related to said station address contained in said input minus the size of one forwarding entry; selecting a non-empty free queue having associated free space segment size greater than or equal to said new forwarding entry set size; and copying said existing forwarding entry set, without the forwarding entry having forwarding information for said station address contained in said second input, to one of said free space segments indicated by a queue element from said non-empty free queue.