Legal claims defining the scope of protection, as filed with the USPTO.
1. A method comprising: receiving a packet, wherein said packet comprises a plurality of fields; parsing said plurality of fields of said packet, wherein said parsing produces an extracted plurality of fields; generating a priority identifier, wherein said priority identifier is based on said extracted plurality of fields; extracting a type-of-service from said packet, wherein said extracting said type-of-service comprises extracting a type-of-service identifier from said extracted plurality of fields, said type-of-service identifier identifies said type-of-service, and said type-of-service is a type-of-service of said packet; and forming an internal identifier by transforming said type-of-service of said packet, wherein said forming comprises extracting an autonomous system identifier from said extracted plurality of fields, and converting said autonomous system identifier into a label, and said transforming uses said priority identifier and said label to form said internal identifier.
2. The method of claim 1 , further comprising: performing a queuing function using said internal identifier.
3. The method of claim 1 , further comprising: generating an index.
4. The method of claim 3 , wherein said priority identifier is further based on said index.
5. The method of claim 3 , wherein said generating said index comprises: looking up said index in an autonomous system table.
6. The method of claim 5 , wherein said index is an autonomous system label.
7. The method of claim 5 , wherein said looking up said index is based on a source address of said packet.
8. The method of claim 5 , further comprising: extracting a source address from said packet.
9. The method of claim 8 , wherein said source address is used in said looking up said index.
10. The method of claim 8 , further comprising: extracting a destination address from said packet.
11. The method of claim 10 , wherein said source address and said destination address are used in said looking up said index.
12. The method of claim 10 , wherein said generating said priority identifier comprises: combining said source address and said destination address to form said index.
13. The method of claim 3 , wherein said generating said priority identifier comprises: looking up said internal identifier in a table using said index.
14. The method of claim 13 , wherein said generating said priority identifier comprises: combining said source address and said destination address to form said index.
15. The method of claim 13 , wherein said table is an intra-switch type-of-service table.
16. The method of claim 13 , wherein said table is a dynamic lookup table.
17. The method of claim 16 , wherein said index has fewer bits than said internal identifier.
18. The method of claim 1 , further comprising: providing a packet service, wherein said providing said packet service uses said internal identifier.
19. The method of claim 1 , wherein said forming comprises: combining said label and said type-of-service identifier to form said internal identifier.
20. The method of claim 1 , wherein said forming further comprises: selecting a transform from a list of transforms, wherein said list is indexed by said label, said selecting is performed using said label, and said transforming is performed according to said transform.
21. The method of claim 1 , wherein said label is a first label, said autonomous system identifier is a source autonomous system identifier, and said forming comprises: extracting a destination autonomous system identifier from said extracted plurality of fields; converting said destination autonomous system identifier into a second label; and combining said first label, said type-of-service identifier, and said second label to form said internal identifier.
22. A computer program product comprising: a plurality of instructions, comprising a first set of instructions, executable on a computer system, configured to receive a packet, wherein said packet comprises a plurality of fields, a second set of instructions, executable on said computer system, configured to parse said plurality of fields of said packet, wherein said parsing produces an extracted plurality of fields, a third set of instructions, executable on said computer system, configured to generate a priority identifier, wherein said priority identifier is based on said extracted plurality of fields, a fourth set of instructions, executable on said computer system, configured to extract a type-of-service from said packet, wherein said fourth set of instructions comprises a first subset of instructions, executable on said computer system, configured to extract a type-of-service identifier from said extracted plurality of fields, said type-of-service identifier identifies said type-of-service, and said type-of-service is a type-of-service of said packet, and a fifth set of instructions, executable on said computer system, configured to form an internal identifier, wherein said fifth set of instructions comprises a second subset of instructions, executable on said computer system, configured to transform said type-of-service of said packet, said second subset of instructions comprises a third sub-subset of instructions, executable on said computer system, configured to extract an autonomous system identifier from said extracted plurality of fields, and a fourth sub-subset of instructions, executable on said computer system, configured to convert said autonomous system identifier into a label, and said second subset of instructions uses said priority identifier and said label to form said internal identifier; and computer readable storage media, wherein said instructions are encoded in said computer readable storage media.
23. The computer program product of claim 22 , further comprising: a sixth set of instructions, executable on said computer system, configured to perform a queuing function using said internal identifier.
24. The computer program product of claim 22 , further comprising: a sixth set of instructions, executable on said computer system, configured to generate an index.
25. The computer program product of claim 24 , wherein said sixth set of instructions comprises: a second subset of instructions, executable on said computer system, configured to look up said index in an autonomous system table.
26. The computer program product of claim 24 , wherein said third set of instructions further comprises: a third subset of instructions, executable on said computer system, configured to look up said internal identifier in a table using said index.
27. The computer program product of claim 26 , further comprising: a seventh set of instructions, executable on said computer system, configured to combine a source address of said packet and a destination address of said packet to form said index.
28. The computer program product of claim 25 , further comprising: a seventh set of instructions, executable on said computer system, configured to extract a source address from said packet.
29. The computer program product of claim 28 , further comprising: a eighth set of instructions, executable on said computer system, configured to extract a destination address from said packet.
30. The computer program product of claim 29 , further comprising: a ninth set of instructions, executable on said computer system, configured to combine said source address and said destination address to form said index.
31. An apparatus comprising: means for receiving a packet, wherein said packet comprises a plurality of fields; means for parsing said plurality of fields of said packet, wherein said means for parsing is configured to produce an extracted plurality of fields; means for generating a priority identifier, wherein said priority identifier is based on said extracted plurality of fields; means for extracting a type-of-service from said packet, wherein said means for extracting said type-of-service comprises a means for extracting a type-of-service identifier from said extracted plurality of fields, said type-of-service identifier identifies said type-of-service, and said type-of-service is a type-of-service of said packet; and means for forming an internal identifier, wherein said means for forming comprises means for transforming said type-of-service of said packet, and said means for transforming comprises a means for extracting an autonomous system identifier from said extracted plurality of fields, and a means for converting said autonomous system identifier into a label, and said means for transforming is configured to use said priority identifier and said label to form said internal identifier.
32. The apparatus of claim 31 , further comprising: means for performing a queuing function using said internal identifier.
33. The apparatus of claim 31 , further comprising: means for generating an index.
34. The apparatus of claim 33 , wherein said means for generating said index comprises: means for looking up said index in an autonomous system table.
35. The apparatus of claim 33 , wherein said means for generating said priority identifier comprises: means for looking up said internal identifier in a table using said index.
36. The apparatus of claim 35 , wherein said means for generating said priority identifier comprises: means for combining said source address and said destination address to form said index.
37. The apparatus of claim 34 , further comprising: means for extracting a source address from said packet.
38. The apparatus of claim 37 , further comprising: means for extracting a destination address from said packet.
39. The apparatus of claim 38 , wherein said means for generating said priority identifier comprises: means for combining said source address and said destination address to form said index.
40. A method comprising: receiving a packet, wherein said packet comprises a plurality of fields; parsing said plurality of fields of said packet, wherein said parsing produces an extracted plurality of fields; selecting a type-of-service transform function from a list of type-of-service transform functions, wherein said selecting is based on a type-of-service of a packet; generating a priority identifier using said type-of-service transform function and said extracted plurality of fields; and forming an internal identifier by transforming said type-of-service of said packet, wherein said transforming uses said priority identifier, and said transforming comprises looking up said type-of-service transform function in a transform table.
41. The method of claim 40 , further comprising: extracting said type-of-service of said packet from said packet, wherein, said extracting said type-of-service comprises extracting a type-of-service identifier from said extracted plurality of fields, and said type-of-service identifier identifies said type-of-service.
42. The method of claim 40 , further comprising: performing a queuing function using said internal identifier.
43. The method of claim 40 , wherein said looking up said type-of-service transform function further comprises: looking up an autonomous system label in an autonomous system table.
44. The method of claim 43 , wherein said looking up said autonomous system label is based on a source address of said packet.
45. The method of claim 43 , wherein said looking up said type-of-service transform function is performed using said autonomous system label.
46. The method of claim 45 , wherein said transforming is performed using said type-of-service transform function.
47. A computer program product comprising: a plurality of instructions, comprising a first set of instructions, executable on a computer system, configured to receive a packet, wherein said packet comprises a plurality of fields, a second set of instructions, executable on a computer system, configured to parse said plurality of fields of said packet, wherein said second set of instructions produces an extracted plurality of fields, a third set of instructions, executable on a computer system, configured to select a type-of-service transform function from a list of type-of-service transform functions, wherein said third set of instructions use a type-of-service of a packet to select said type-of-service transform function, a fourth set of instructions, executable on said computer system, configured to generate a priority identifier using said type-of-service transform function and said extracted plurality of fields, a fifth set of instructions, executable on a computer system, configured to form an internal identifier, wherein said fifth set of instructions comprises a first subset of instructions, executable on said computer system, configured to transform said type-of-service of said packet, and said transforming uses said priority identifier; and computer readable storage media, wherein said instructions are encoded in said computer readable storage media.
48. The computer program product of claim 47 , further comprising: a sixth set of instructions, executable on said computer system, configured to extract said type-of-service of said packet from said packet.
49. The computer program product of claim 48 , further comprising: a seventh set of instructions, executable on said computer system, configured to perform a queuing function using said internal identifier.
50. The computer program product of claim 48 , wherein said first subset of instructions comprises: a first sub-subset of instructions, executable on said computer system, configured to look up said type-of-service transform function in a transform table.
51. The computer program product of claim 50 , wherein said first subset of instructions further comprises: a second sub-subset of instructions, executable on said computer system, configured to look up an autonomous system label in an autonomous system table.
52. An apparatus comprising: means for receiving a packet, wherein said packet comprises a plurality of fields; means for parsing said plurality of fields of said packet, wherein said parsing produces an extracted plurality of fields; means for selecting a type-of-service transform function from a list of type-of-service transform functions, wherein said means for selecting is configured to select said type-of-service transform function based on a type-of-service of a packet; means for generating a priority identifier using said type-of-service transform function and said extracted plurality of fields; and means for forming an internal identifier, wherein said means for forming comprises means for transforming said type-of-service of said packet, and said means for transforming uses said priority identifier.
53. The apparatus of claim 52 , further comprising: means for extracting said type-of-service of said packet from said packet.
54. The apparatus of claim 53 , further comprising: means for performing a queuing function using said internal identifier.
55. The apparatus of claim 52 , wherein said means for transforming comprises: means for looking up said type-of-service transform function in a transform table.
56. The apparatus of claim 55 , wherein said means for transforming further comprises: means for looking up an autonomous system label in an autonomous system table.
57. A network device comprising: an extractor, wherein said network device is configured to receive a packet, said extractor is coupled to receive said packet, and said extractor is configured to extract a plurality of fields from said packet; a parser, wherein said parser is coupled to receive said plurality of fields from said extractor, and said parser is configured to produce an extracted plurality of fields from said plurality of fields; a type-of-service unit, wherein said type-of-service unit is a type-of-service remapper, said type-of-service remapper is configured to generate a priority identifier from an index received by said type-of-service remapper, said parser is coupled to provide said extracted plurality of fields to said type-of-service remapper, and said index is based on said extracted plurality of fields; and a table, wherein said type-of-service remapper is coupled to provide said index to said table, said table is coupled to provide an internal identifier to said type-of-service remapper, in response to receiving said index from said type-of-service remapper, and said type-of-service unit is configured to generate said priority identifier using said internal identifier.
58. The network device of claim 57 , further comprising: a plurality of output queues, wherein said priority identifier identifies a one of said output queues.
59. The network device of claim 58 , wherein said one of said queues is configured to receive said packet.
60. The network device of claim 57 , wherein said index is based on a type-of-service of said packet.
61. The network device of claim 60 , wherein said index is based on an address of said packet.
62. The network device of claim 61 , wherein said address is a source address.
63. The network device of claim 61 , wherein said table is an intra-switch type-of-service table.
64. The network device of claim 61 , further comprising: a combiner, wherein said combiner is configured to generate said index from said type-of-service of said packet, and said combiner is coupled to provide said index to said type-of-service remapper.
65. The network device of claim 64 , further comprising: a mapper, wherein said mapper is configured to generate a label from said address, said mapper is coupled to provide said label to said combiner, and said combiner is further configured to generate said index from said label.
66. The network device of claim 65 , wherein said parser is further configured to extract said type-of-service and said address from said packet, and said parser is coupled to provide said type-of-service to said combiner and to provide said address to said mapper.
67. The network device of claim 57 , further comprising: a combiner, wherein said combiner is configured to generate said index from said type-of-service of said packet, and said combiner is coupled to provide said index to said type-of-service remapper.
68. The network device of claim 67 , further comprising: a mapper, wherein said mapper is configured to generate a label from an address of said packet received by said network device, said mapper is coupled to provide said label to said combiner, and said combiner is further configured to generate said index from said label.
69. The network device of claim 68 , wherein said parser is configured to extract said type-of-service and said address of said packet from said packet, and said parser is coupled to provide said type-of-service to said combiner and to provide said address to said mapper.
70. A network device comprising: an extractor, wherein said network device is configured to receive a packet, said extractor is coupled to receive said packet, and said extractor is configured to extract a plurality of fields from said packet; a parser, wherein said parser is coupled to receive said plurality of fields from said extractor, and said parser is configured to produce an extracted plurality of fields from said plurality of fields; a type-of-service unit, wherein said type-of-service unit is a type-of-service transformer, and said type-of-service transformer is configured to generate a priority identifier based on a type-of-service of said packet, said parser is coupled to provide said extracted plurality of fields to said type-of-service transformer, and said index is based on said extracted plurality of fields; and a transform table, wherein said type-of-service transformer is coupled to provide said index to said transform table, said transform table is coupled to provide an internal identifier to said type-of-service transformer, in response to receiving said index from said type-of-service transformer, and said type-of-service unit is configured to generate said priority identifier using said internal identifier.
71. The network device of claim 70 , further comprising: a transform selector, wherein said transform selector is coupled to provide a type-of-service transform function to said type-of-service transformer.
72. The network device of claim 71 , further comprising: a mapper, wherein said mapper is configured to generate a label from an address of said packet, and said mapper is coupled to provide said label to said transform selector.
73. The network device of claim 72 , wherein said transform selector comprises said transform table, and said transform selector is further configured to select said type-of-service transform function from said transform table using said label.
74. The network device of claim 72 , wherein said address is a source address.
75. The network device of claim 72 , wherein said parser is configured to extract said type-of-service and said address of said packet from said packet, and said parser is coupled to provide said type-of-service to said type-of-service transformer and to provide said address to said mapper.
76. A network device comprising: an extractor, wherein said network device is configured to receive a packet, said extractor is coupled to receive said packet, and said extractor is configured to extract a plurality of fields from said packet; a parser, wherein said parser is coupled to receive said plurality of fields from said extractor, and said parser is configured to produce an extracted plurality of fields from said plurality of fields; a remapper, wherein said remapper comprises a type-of-service unit, said type-of-service unit is a type-of-service transformer, and said type-of-service transformer is configured to generate said priority identifier based on a type-of-service of said packet, said parser is coupled to provide said extracted plurality of fields to said type-of-service transformer, and said index is based on said extracted plurality of fields; and a table, wherein said type-of-service transformer is coupled to provide said index to said table, said table is coupled to provide an internal identifier to said type-of-service transformer, in response to receiving said index from said type-of-service unit, and said type-of-service transformer is configured to generate said priority identifier using said internal identifier.
77. The network device of claim 76 , further comprising: a plurality of output queues, wherein said priority identifier identifies a one of said queues.
78. The network device of claim 77 , wherein said one of said queues receives said packet.
79. The network device of claim 76 , wherein said remapper further comprises a type-of-service remapper, and said type-of-service remapper is configured to generate said priority identifier from said index.
80. The network device of claim 79 , further comprising: a combiner, wherein said combiner is configured to generate said index from said type-of-service of said packet, and said combiner is coupled to provide said index to said type-of-service remapper.
81. The network device of claim 80 , further comprising: a mapper, wherein said mapper is configured to generate a label from an address of said packet received by said network device, said mapper is coupled to provide said label to said combiner, and said combiner is further configured to generate said index from said label.
82. The network device of claim 81 , wherein said parser is configured to extract said type-of-service and said address of said packet from said packet, and said parser is coupled to provide said type-of-service to said combiner and to provide said address to said mapper.
83. The network device of claim 76 , further comprising: a transform selector, wherein said transform selector is coupled to provide an output to said type-of-service transformer.
84. The network device of claim 83 , further comprising: a mapper, wherein said mapper is configured to generate a label from an address of said packet, said mapper is coupled to provide said label to said transform selector, and said transform selector is further configured to generate said output from said label.
85. The network device of claim 84 , wherein said parser is configured to extract said type-of-service and said address of said packet from said packet, and said parser is coupled to provide said type-of-service to said type-of-service transformer and to provide said address to said mapper.
86. A method comprising: receiving a packet, wherein said packet comprises a plurality of fields; parsing said plurality of fields into an extracted plurality of fields; generating a priority identifier, wherein said priority identifier is based on said extracted plurality of fields; extracting an autonomous system identifier from said extracted plurality of fields; converting said autonomous system identifier into a label; extracting a type-of-service identifier from said extracted plurality of fields, wherein said type-of-service identifier identifies said type-of-service; and forming an internal identifier by transforming said extracted plurality of fields, wherein said internal identifier is based at least in part on a type-of-service of said packet, and said transforming uses said priority identifier.
87. The method of claim 86 , wherein said transforming comprises: providing a packet service, wherein said providing said packet service uses said internal identifier.
88. The method of claim 87 , wherein said forming comprises: combining said label and said type-of-service identifier to form said internal identifier.
89. The method of claim 87 , wherein said label is a first label, said autonomous system identifier is a source autonomous system identifier, and said forming comprises: extracting a destination autonomous system identifier from said extracted plurality of fields; converting said destination autonomous system identifier into a second label; and combining said first label, said type-of-service identifier, and said second label to form said internal identifier.
90. A computer system comprising: input circuitry configured to receive a plurality of input flows, wherein said input flows each comprise a plurality of packets, and said packets each comprise a plurality of fields; a plurality of output queues; and a controller coupled to said input circuitry and said plurality of output queues, wherein said controller is configured to receiving a packet, wherein said packet comprises a plurality of fields, parse said plurality of fields into an extracted plurality of fields, generate a priority identifier, wherein said priority identifier is based on said extracted plurality of fields, extract an autonomous system identifier from said extracted plurality of fields, convert said autonomous system identifier into a label, extract a type-of-service identifier from said extracted plurality of fields, wherein said type-of-service identifier identifies said type-of-service, and form an internal identifier by transforming said extracted plurality of fields, wherein said internal identifier is based at least in part on a type-of-service of said packet, and said transforming uses said priority identifier.
91. The computer system of claim 90 , wherein: said controller is further configured to transform said extracted plurality of fields according to an algorithm, and a result of said algorithm is said internal identifier.
92. The computer system of claim 91 , wherein said controller is configured to: providing a packet service, wherein said providing said packet service uses said internal identifier.
93. The computer system of claim 92 , wherein said controller is configured to give preferential treatment to at least one of said output queues.
94. The computer system of claim 93 , wherein said controller is further configured to: combine said label and said type-of-service identifier to form said internal identifier.
95. The computer system of claim 93 , wherein said label is a first label, said autonomous system identifier is a source autonomous system identifier, and said controller is further configured to: extract a destination autonomous system identifier from said extracted plurality of fields; convert said destination autonomous system identifier into a second label; and combine said first label, said type-of-service identifier, and said second label to form said internal identifier.
96. A computer program product comprising: a plurality of instructions, comprising a first set of instructions, executable on a computer system, configured to receive a packet, wherein said packet comprises a plurality of fields, a second set of instructions, executable on said computer system, configured to parse said plurality of fields into an extracted plurality of fields, a third set of instructions, executable on said computer system, configured to generate a priority identifier, wherein said priority identifier is based on said extracted plurality of fields, a fourth set of instructions, executable on said computer system, configured to form an internal identifier, wherein said fourth set of instructions comprise a first subset of instructions, executable on said computer system, configured to transform said extracted plurality of fields, a second subset of instructions, executable on said computer system, configured to extract an autonomous system identifier from said extracted plurality of fields, a third subset of instructions, executable on said computer system, configured to convert said autonomous system identifier into a label, and a fourth subset of instructions, executable on said computer system, configured to extract a type-of-service identifier from said extracted plurality of fields, wherein said type-of-service identifier identifies said type-of-service, said internal identifier is based at least in part on a type-of-service of said packet, and said first subset of instructions use said priority identifier; and computer readable storage media, wherein said instructions are encoded in said computer readable storage media.
97. The computer program product of claim 96 , wherein said third set of instructions comprises: a second subset of instructions, executable on said computer system, configured to provide a packet service, wherein said second subset of instructions use said internal identifier.
98. The computer program product of claim 96 , wherein said third set of instructions comprises: a fifth subset of instructions, executable on said computer system, configured to combine said label and said type-of-service identifier to form said internal identifier.
99. The computer program product of claim 96 , wherein said label is a first label, said autonomous system identifier is a source autonomous system identifier, and said third set of instructions comprises: a fifth subset of instructions, executable on said computer system, configured to extract a destination autonomous system identifier from said extracted plurality of fields; a sixth subset of instructions, executable on said computer system, configured to convert said destination autonomous system identifier into a second label; and a seventh subset of instructions, executable on said computer system, configured to combine said first label, said type-of-service identifier, and said second label to form said internal identifier.
100. An apparatus comprising: means for receiving a packet, wherein said packet comprises a plurality of fields; means for parsing said plurality of fields into an extracted plurality of fields; means for generating a priority identifier, wherein said priority identifier is based on said extracted plurality of fields; means for extracting an autonomous system identifier from said extracted plurality of fields; means for converting said autonomous system identifier into a label; means for extracting a type-of-service identifier from said extracted plurality of fields, wherein said type-of-service identifier identifies said type-of-service; and means for forming an internal identifier, wherein said means for forming comprises means for transforming said extracted plurality of fields, said internal identifier is based at least in part on a type-of-service of said packet, and said means for transforming is configured to use said priority identifier.
101. The apparatus of claim 100 , wherein said means for transforming further comprises: means for providing a packet service, wherein said means for providing said packet service is configured to use said internal identifier.
102. The apparatus of claim 101 , wherein said means for forming further comprises: means for combining said label and said type-of-service identifier to form said internal identifier.
103. The apparatus of claim 101 , wherein said label is a first label, said autonomous system identifier is a source autonomous system identifier, and said means for forming further comprises: means for extracting a destination autonomous system identifier from said extracted plurality of fields; means for converting said destination autonomous system identifier into a second label; and means for combining said first label, said type-of-service identifier, and said second label to form said internal identifier.
Unknown
September 7, 2010
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.