1461130594-3185ae4a-dede-4dee-a2bf-e9596b2125e7

1. A data storage apparatus, comprising:
a memory that has a plurality of storage areas that temporarily store write requests and read requests transferred from a host;
a readwrite head that performs write processing or read processing based on said write requests or said read requests;
a storage medium on which write data is stored by said write processing of said readwrite head and from which read data is read by said read processing;
order holding means that holds a write order to said recording medium of said write requests stored in said memory; and
write order determining means for changing a previous write order in said order holding means if, when a read request is transferred from said host, an area to store that read request cannot be secured in said memory.
2. A data storage apparatus according to claim 1, wherein said write order determining means, when an area to store that read request is secured in said memory when the oldest write request among said plurality of write requests stored in said memory is executed, makes said oldest write request first in the write order.
3. A data storage apparatus according to claim 2, wherein said readwrite head, after executing write processing based on said oldest write request, executes read processing based on said read request, and then executes write processing based on other write requests stored in said memory.
4. A data storage apparatus according to claim 1, wherein said write order determining means, when it may happen that an area to store that read request is secured in said memory when an area to store that read request is not secured in a memory even though the oldest write request among said plurality of write request stored in said memory is executed and, also, other prescribed write requests stored in said memory together with said oldest write request are executed preferentially, makes the write order of said oldest write request and said prescribed write requests higher than the write order of other write requests stored in said memory.
5. A data storage apparatus according to claim 4, wherein said readwrite head, after executing write processing based on said oldest write request and said prescribed write requests, executes read processing based on said read request, and then executes write processing based on said other write requests.
6. A data storage apparatus comprising:
a head that performs processing at a prescribed access position of a recording medium;
a cache memory that has a plurality of storage areas and caches a write request before execution of write processing by said head; and
a controller that performs control so that write requests transferred from a host in a prescribed transfer order are read from said cache memory and also subjected to execution of write processing to said storage medium in a different order from that transfer order; and
wherein said controller, based on an arrangement within said cache memory of storage areas in which said write requests are stored and storage areas in which said write requests are not stored, determines an order for said write requests to be read from said cache memory.
7. A data storage apparatus according to claim 6, wherein:
said cache memory caches a read request transferred from a host; and
said controller, when a storage area necessary for caching of said read request is not vacant in said cache memory at the time of transfer, refers to said arrangement within said cache memory of storage areas in which said write requests are stored and storage areas in which said write requests are not stored, and determines an order for said write requests to be read from said cache memory so as to secure a storage area necessary for caching of said read request.
8. A data storage apparatus according to claim 7, wherein said controller performs control so that, after a storage area necessary for caching of said read request is secured, said read request is cached in said cache memory, and also said read request is executed before a write request stored earlier in said cache memory.
9. A data processing apparatus that receives read requests and write requests transferred from a host, and also orders execution of said read requests and write requests with respect to a storage medium, said data processing apparatus, comprising:
storing means that has storage areas that temporarily store said read requests and write requests:
execution order holding means that holds an order for reading and executing said read requests and said write requests temporarily stored in said storing means; and
write order determining means for changing an execution order of said write requests held in said execution order holding means so as to secure a storage area to store temporarily one of said read requests if a storage area to store temporarily said one of said read requests in said storing means cannot be secured at the time when said one of said read requests is received.
10. A data processing apparatus according to claim 9, wherein:
said storing means allows storage of a new read request or write request on condition that a first stored one of said write requests is read; and
said write order determining means changes an execution order of said write requests held in said execution order holding means on the premise that said first stored one of said write requests is read.
11. A data processing method whereby, after read requests and write requests transferred from a host have been cached, said read requests and write requests are executed with respect to a storage medium; in which data processing method the oldest write request among cached said write requests is executed, then said one of said read requests is executed, and thereafter other write requests excluding said oldest write request among cached said write requests are executed sequentially; and
wherein when said one of said read requests cannot be cached at the time when said one of said read requests is received, said oldest write request among cached said write requests is executed.
12. A data processing method whereby, after read requests and write requests transferred from a host have been cached, said read requests and write requests are executed with respect to a storage medium; in which data processing method it is determined at the time when one of said read requests is received whether or not said one of said read requests can be cached, and if it is determined that said one of said read requests cannot be cached, prescribed write requests among cached said write requests are executed in order to provide a vacant area for caching said one of said read requests, then said one of said read requests is executed, and thereafter other write requests excluding said prescribed write requests among cached said write requests are executed.
13. A data processing method according to claim 12, wherein said prescribed write requests include the oldest write request among cached said write requests.
14. A data processing method according to claim 12, wherein execution of said prescribed write request and execution of other write requests excluding said prescribed write requests are performed in an order such that time required for the relevant execution is minimized.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A solar cell device, comprising two or more materials having different electron affinities, the solar cell device being characterized by an architecture
wherein the two materials are regularly arrayed and wherein the presence of the two or more materials alternates within distances of between about 1 nm and about 100 nm,
wherein the two materials are present in a matrix having a porous template with an array of template pores, wherein the porous template has been made by anodizing a layer of metal,
wherein one of the materials in the matrix is an organic material that can absorb light in the bulk of the organic material; and
wherein the two or more materials are disposed between a base electrode and a transparent conducting electrode.
2. A photovoltaic device, comprising:
a porous template of anodized metal having an array of template pores;
a first charge-transfer material that substantially fills the template pores, a second charge transfer material that fills additional space not occupied by the first charge-transfer material, wherein the first charge-transfer material has complementary charge-transfer characteristics with respect to the porous template;
a base electrode; and
a transparent conducting electrode (TCE),
wherein the first and second charge-transfer materials are disposed between the base electrode and the TCE.
3. The device of claim 2 wherein at least one of the first and second charge-transfer materials is an organic material that can absorb light in the bulk of the organic material.
4. The device of claim 2 wherein the template pores are between about 2 nm and about 500 nm in diameter, or between about 40 nm and about 100 nm in diameter or between about 10 nm and about 30 nm in diameter.
5. The device of claim 2 wherein the template pores are spaced apart by an average distance of between about 10 nm to about 500 nm center-to-center, or between about 30 nm and about 50 nm center-to center.
6. The device of claim 2 wherein an average wall thickness between neighboring template pores is less than about 5 nm, or less than about 20 nm, or between about 5 nm and about 40 nm.
7. The device of claim 2 wherein the template pores are present in the porous template with a pore density between about 1012 and about 3\xd71015 pores per square meter.
8. The device of claim 2 wherein the template pores have an average wall thickness of between about 0.5 nm and about 20 nm.
9. The device of claim 2 wherein the porous template is made from the second charge transfer material.
10. The device of claim 9 wherein the template pores stop short of penetrating all the way through the porous template.
11. The device of claim 2 wherein the porous template has been formed by anodizing a layer of metal.
12. The device of claim 11 wherein the metal is aluminum or titanium, whereby the porous template is made of alumina or titania.
13. The device of claim 11 wherein the porous template is made of titania (TiO2), silica (SiO2), zinc oxide (ZnO2), zirconium oxide, lanthanum oxide, niobium oxide, tungsten oxide, tin oxide, indium oxide, indium tin oxide (ITO), strontium oxide, vanadium oxide, molybdenum oxide, calciumtitanium oxide, or blends of two or more such materials.
14. The device of claim 2 wherein the first charge-transfer material includes, a metal, a transparent conductive oxide, indium tin oxide (ITO), fluorinated tin oxide (F:SnOx), a conductive oxide, TiO2, an organic material, PEDOT, a doped fullerene, or doped C60.
15. The device of claim 2 wherein at least one of the first and second charge-transfer materials includes a material chosen from the group of poly(phenylene) and derivatives thereof, poly(phenylene vinylene) and derivatives thereof, poly(2-methoxy-5-(2-ethyl-hexyloxy)-1,4-phenylene vinylene (MEH-PPV), poly(para-phenylene vinylene) (PPV), PPV copolymers, poly(thiophene) and derivatives thereof, regioregular poly(3-octylthiophene-2,5,-diyl), regiorandom poly(3-octylthiophene-2,5,-diyl), poly(3-hexylthiophene) (P3HT), regioregular poly(3-hexylthiophene-2,5-diyl), regiorandom poly(3-hexylthiophene-2,5-diyl), poly(thienylenevinylene) and derivatives thereof, poly(isothianaphthene) and derivatives thereof, tetra-hydro-thiophene precursors and derivatives thereof, organometallic polymers, polymers containing perylene units, poly(squaraines) and their derivatives, discotic liquid crystals. polyfluorenes, polyfluorene copolymers, polyfluorene-based copolymers and blends, co-polymerized andor blended with charge transporting andor light-absorbing compounds, tri-phenyl-amines and derivatives, fused thiophene rings and derivatives, and hetero-atom ring compounds with or without substituents.
16. The device of claim 2, wherein at least one of the first and second charge-transfer materials is a pigment or dye chosen from the group of organic pigments or dyes, azo-dyes having azo chromofores (\u2014N\u2550N\u2014) linking aromatic groups, phthalocyanines including metal-free phthalocyanine (HPc), perylenes, naphthalocyanines, squaraines, merocyanines and their respective derivatives, poly(silanes), poly(germinates), 2,9-Di(pent-3-yl)-anthra2,1,9-def:6,5,10-d\u2032e\u2032f\u2032diisoquinoline-1,3,8,10-tetrone, and 2,9-Bis-(1-hexyl-hept-1-yl)-anthra2,1,9-def:6,5,10-d\u2032e\u2032f\u2032diisoquinoline-1,3,8,10-tetrone.
17. The device of claim 2 further comprising, an interfacial layer disposed between the first and second charge-transfer materials.
18. The device of claim 17 wherein the interfacial layer includes one or more materials chosen from the group of fullerenes, doped fullerenes, functionalized fullerenes, doped functionalized fullerenes, azafullerenes, polymerized fullerenes (doped or undoped), functionalized polymerized fullerenes (doped or undoped), carbon nanotubes, dyes, ruthenium dyes, pigments, organic monomers, oligomers, and polymers, tetra-hydro-thiophene precursor polymers and derivatives thereof, and poly-phenylene-vinylene and derivatives thereof, and conjugated polymers.
19. The device of claim 17 wherein the interfacial layer includes one or more chemicals that can covalently attach to the first charge-transfer material and change a surface energy of the first charge transfer material, one or more chemicals that can covalently attach to the first charge-transfer material and change bonding of the first charge transfer material, one or more chemicals that can covalently attach to the first charge-transfer material and change trap-states of the first charge transfer material one or more chemicals that can attach to dangling-bonds at an exposed surface of the first charge-transfer material, one or more chemicals that can introduce a dipole layer that may increase the efficiency for charge extraction, andor one or more chemicals that can reduce detrimental charge recombination.
20. The device of claim 2 wherein a surface of the first charge-transfer material is functionalized with one or more silylating agents.
21. The device of claim 2 wherein the template pores have substantially cylindrical, cone, or truncated cone shapes.
22. The device of claim 2 wherein the porous template is between about 50 nm and about 1 micron thick.
23. The device of claim 22 wherein the porous template is between about 100 nm and about 200 nm thick or between about 200 nm and about 600 nm thick.
24. The device of claim 2 wherein the first charge-transfer material is in the form of one or more tubules disposed in the template pores, each tubule having a tubule pore.
25. The device of claim 24 wherein the second charge-transfer material fills the tubule pores.
26. The device of claim 24 wherein the tubule pores have an average diameter between about 1 nm and about 200 nm or between about 1 nm and about 100 nm, or between about 10 nm and about 50 nm, or between about 20 nm and about 40 nm or about 30 nm.
27. The device of claim 2 further comprising an intermediate layer disposed between the porous template and the base electrode.
28. The device of claim 2 further comprising an interfacial layer disposed between the porous template and the first charge-transfer material.
29. The device of claim 28, wherein the interfacial layer includes one or more conductive layers, one or more metal layers, nickel or oxides thereof or gold.
30. A method for making a photovoltaic device, comprising:
anodizing a layer of metal to form a porous template having an array of template pores;
filling the template pores with a first charge-transfer material that is complementary to the porous template.
31. The method of claim 30 wherein the template pores are between about 2 nm and about 500 nm in diameter, or between about 40 nm and about 100 nm in diameter or between about 10 nm and about 30 nm in diameter.
32. The method of claim 30 wherein the template pores are spaced apart by an average distance of between about 10 nm to about 500 nm center-to-center, or between about 30 nm and about 50 nm center-to center.
33. The method of claim 30 wherein an average wall thickness between neighboring pores is less than about 5 nm, or less than about 20 nm, or between about 5 nm and about 40 nm.
34. The method of claim 30 wherein the template pores are present in the porous template with a pore density between about 1012 and about 3\xd71015 pores per square meter.
35. The method of claim 30 wherein the first charge-transfer material is an organic material that can absorb light in the bulk of the organic material.
36. The method of claim 30 wherein the first charge-transfer material includes a material chosen from the group of poly(phenylene) and derivatives thereof, poly(phenylene vinylene) and derivatives thereof, poly(2-methoxy-5-(2-ethyl-hexyloxy)-1,4-phenylene vinylene (MEH-PPV), poly(para-phenylene vinylene) (PPV), PPV copolymers, poly(thiophene) and derivatives thereof, regioregular poly(3-octylthiophene-2,5,-diyl), regiorandom poly(3-octylthiophene-2,5,-diyl), poly(3-hexylthiophene) (P3HT), regioregular Poly(3-hexylthiophene-2,5-diyl), regiorandom poly(3-hexylthiophene-2,5-diyl), poly(thienylenevinylene) and derivatives thereof, poly(isothianaphthene) and derivatives thereof, tetra-hydro-thiophene precursor polymers and derivatives thereof, organometallic polymers, polymers containing perylene units, poly(squaraines) and their derivatives, polyfluorene copolymers and discotic liquid crystals,
or a pigment or dye chosen from the group of organic pigments or dyes, azo-dyes having azo chromofores (\u2014N\u2550N\u2014) linking aromatic groups, phthalocyanines including metal-free phthalocyanine (HPc), perylenes, naphthalocyanines, squaraines, merocyanines and their respective derivatives, poly(silanes), poly(germinates), 2,9-Di(pent-3-yl)-anthra2,1,9-def:6,5,10-d\u2032e\u2032f\u2032diisoquinoline-1,3,8,10-tetrone, and 2,9-Bis-(1-hexyl-hept-1-yl)-anthra2,1,9-def:6,5,10-d\u2032e\u2032f\u2032diisoquinoline-1,3,8,10-tetrone.
37. The method of claim 30 wherein the porous template is between about 50 nm and about 1 micron thick.
38. The method of claim 30 wherein the porous template is between about 100 nm and about 200 nm thick or between about 200 nm and about 600 nm thick.
39. The method of claim 30 further comprising, disposing an interfacial layer between the porous template and the first charge-transfer material.
40. The method of claim 39 wherein the interfacial layer includes one or more materials chosen from the group of fullerenes, doped fullerenes, functionalized fullerenes, doped functionalized fullerenes, azafullerenes, polymerized fullerenes (doped or undoped), functionalized polymerized fullerenes (doped or undoped), carbon nanotubes, dyes, ruthenium dyes, pigments, organic monomers, oligomers and polymers tetra-hydro-thiophene precursor polymers and derivatives thereof, poly-phenylene-vinylene and derivatives thereof, or, if the interfacial layer is disposed between the porous template and the first charge-transfer material, conductive layers, metal layers, nickel or oxides thereof or gold.
41. The method of claim 30 wherein anodizing a layer of metal to form a porous template includes:
placing an aluminum, aluminum-coated, titanium or titanium-coated substrate in an electrolyte, and applying an anodizing voltage to the substrate to form an alumina or titania film.
42. The method of claim 30, further comprising and incrementally stepping down an anodizing voltage.
43. The method of claim 30, further comprising substantially removing a barrier between the template pores and an underlying layer.
44. The method of claim 30, further comprising widening the template pores.
45. The method of claim 30 wherein the template pores stop short of penetrating all the way through the porous template.
46. A method for making a photovoltaic device, comprising:
anodizing a layer of metal to form a porous template having an array of template pores;
filling the template pores with a first charge-transfer material; and
filling additional space not occupied by the first charge-transfer material with a second charge-transfer material that is complementary to the first charge-transfer material,
wherein filling the template pores with a first charge-transfer material includes:
partly filling one or more of the template pores with the first charge-transfer material to form one or more tubules wherein the additional space is a tubule pore in each tubule.
47. The method of claim 46 wherein the tubule pores have an average wall thickness of between about 0.5 nm and about 20 nm.
48. The method of claim 46 wherein the tubule pores have an average diameter between about 1 nm and about 200 nm or between about 1 nm and about 100 nm, or between about 10 nm and about 50 nm, or between about 20 nm and about 40 nm or about 30 nm.
49. The method of claim 46 wherein the tubules are formed by depositing a sol-gel into the template pores, followed by air drying then heating.
50. The method of claim 49 further comprising adjusting a deposition temperature of the sol-gel and or a deposition time such that tubules form.
51. The method of claim 50, further comprising adjusting a chemical or physical property of the porous template such that tubules form.
52. The method of claim 46 wherein filling additional space not occupied by the first charge-transfer material includes:
filling the tubule pore of one or more of the tubules with the complementary charge-transfer material.
53. The method of claim 52, further comprising removing the porous template leaving behind structures made of the first and second charge-transfer materials with spaces between the structures.
54. A method for making a photovoltaic device, comprising:
anodizing a layer of metal to form a porous template having an array of template pores;
filling the template pores with a first charge-transfer material; and
filling additional space not occupied by the first charge-transfer material with a second charge-transfer material that is complementary to the first charge-transfer material, wherein filling the template pores with a first charge-transfer material includes completely filling the pores with the first charge-transfer material and removing the porous template leaving behind structures of the first charge-transfer material with spaces between the structures.
55. The method of claim 54 wherein filling additional space not occupied by the first charge-transfer material includes filling the spaces between the structures of the first charge-transfer material with the complementary charge-transfer material.
56. The method of claim 30 wherein filling additional space not occupied by the first charge-transfer material includes anodizing the metal layer to form the porous template such that the porous template is made of a material having complementary charge-transfer properties with respect to the first charge-transfer material, whereby the material of the porous template is the second charge-transfer material.
57. The method of claim 30 further comprising disposing an intermediate layer between the layer of metal and an underlying substrate.
58. The method of claim 57 wherein the intermediate layer is configured to act as an anodization-stop layer andor act as an etch-stop layer.
59. (canceled)
60. The method of claim 30, further comprising:
filling additional space not occupied by the charge-transfer material with a second charge-transfer material that is complementary to the charge-transfer material.

1461130583-fafcb51b-9d70-40c4-9dd1-f72a8c9d51f8

1. A method for redirect checking in a network device, comprising:
receiving a data packet on a first one of a plurality of interfaces;
assigning an incoming interface index to the data packet;
generating forwarding information identifying a next hop for the data packet;
identifying an outgoing interface index based on the next hop;
determining whether the incoming interface index is equal to the outgoing interface index;
determining whether the data packet originated from a station that is part of a same subnet as the next hop; and
generating a redirect message when the incoming interface index is equal to the outgoing interface index and the data packet originated from a station that is part of a same subnet as the next hop.
2. The method of claim 1, wherein the identifying an outgoing interface includes:
retrieving a stored outgoing interface index based on the forwarding information.
3. The method of claim 1, wherein the data packet includes a source address and the determining whether the data packet originated from a station that is part of a same subnet as the next hop includes:
selecting a number of the most significant bits of the source address of the data packet,
passing the selected bits through a hash function to generate a hash value,
comparing the generated hash value to a stored hash value, and
determining that the data packet originated from a station that is part of the same subnet as the next hop when the generated hash value equals the stored hash value.
4. The method of claim 3, wherein the hash function is x9+x4+1.
5. The method of claim 3, wherein the stored hash value is based on a first address associated with the next hop and is generated using the same hash function and the same number of most significant bits of the first address as the generated hash value.
6. The method of claim 1, further comprising:
transmitting the redirect message to the station originating the data packet, the redirect message including next hop information for future data packets having a same destination address as the data packet transmitted to the network device.
7. The method of claim 1, further comprising:
bypassing the generation of the redirect message when either the incoming interface index is not equal to the outgoing interface index or the data packet originated from a station that is not part of the same subnet as the next hop.
8. A network device, comprising:
an input device configured to receive a data packet on a first one of a plurality of interfaces, the data packet including a source address and a destination address; and processing logic configured to:
assign an incoming interface index to the data packet,
generate forwarding information identifying a next hop for the data packet,
identify an outgoing interface index based on the next hop,
determine whether the incoming interface index is equal to the outgoing interface index,
determine whether the data packet originated from a station that is part of a same subnet as the next hop, and
generate a redirect message when the incoming interface index is equal to the outgoing interface index and the data packet originated from a station that is part of a same subnet as the next hop.
9. The network device of claim 8, wherein when identifying an outgoing interface index, the processing logic is configured to:
retrieve a stored outgoing interface index based on the forwarding information.
10. The network device of claim 8, wherein when determining whether the data packet originated from a station that is part of a same subnet as the next hop, the processing logic is configured to:
select a number of the most significant bits of the source address of the data packet,
pass the selected bits through a hash function to generate a hash value,
compare the generated hash value to a stored hash value, and
determine that the data packet originated from a station that is part of the same subnet as the next hop when the generated hash value equals the stored hash value.
11. The network device of claim 10, wherein the hash function is x9+x4+1.
12. The network device of claim 10, wherein the stored hash value is based on a first address associated with the next hop and is generated using the same hash function and the same number of most significant bits of the first address as the generated hash value.
13. The network device of claim 8, wherein the processing logic is further configured to:
transmit the redirect message to the station originating the data packet, the redirect message including next hop information for future data packets having a same destination address as the data packet transmitted to the network device.
14. The network device of claim 8, wherein the processing logic is further configured to:
bypass the generation of the redirect message when either the incoming interface index is not equal to the outgoing interface index or the data packet originated from a station that is not part of the same subnet as the next hop.
15. A network device, comprising:
an input device configured to receive a data packet, the data packet including a source address and a destination address;
processing logic configured to assign an incoming interface index to the data packet based on the interface on which the data packet was received;
route lookup logic configured to:
receive the incoming interface index,
generate data forwarding information identifying a next hop for the data packet,
forward the data forwarding information and the incoming interface index; and an output device configured to:
receiving the data forwarding information and the incoming interface index,
retrieve redirect checking information based on the data forwarding information,
determine, using the redirect checking information, whether the data packet is to be forwarded on the same interface on which it was received, and
determine, using the redirect checking information, whether the data packet originated from a station that is part of a same subnet as the next hop for the data packet.
16. The network device of claim 15, further comprising:
a host processor;
wherein the output device is further configured to:
forward a message to the host processor indicating that a redirect message associated with the received data packet is required when the data packet is to be forwarded on the same interface on which it was received and the data packet originated from a station that is part of the same subnet as the next hop.
17. The network device of claim 16, wherein the host processor is configured to:
receive the message,
generate a redirect message, and
transmit the redirect message to the station originating the data packet.
18. The network device of claim 15, wherein the redirect checking information comprises:
an outgoing interface index, a hash value and a prefix length value associated with the hash value.
19. The network device of claim 18, wherein when determining whether the data packet is to be forwarded on the same interface on which it was received, the output device is configured to:
compare the incoming interface index and the outgoing interface index.
20. The network device of claim 18, wherein when determining whether the data packet originated from a station that is part of a same subnet as the next hop, the output device is configured to:
read the prefix length value,
select a number of bits of the source address of the data packet based on the prefix length value,
generate a hash value using the selected bits of the source address,
compare the generated hash value to the stored hash value, and
determine that the data packet originated from a station that is part of the same subnet as the next hop when the generated and stored hash values are equal.
21. The network device of claim 15, wherein when determining whether the data packet originated from a station that is part of a same subnet as the next hop, the output device is configured to:
generate a hash value using a portion of the source address of the data packet, and
compare the hash value to a predetermined hash value.
22. A system for performing redirect checking in a network device, comprising:
means for receiving a data packet on a first one of a plurality of interfaces;
means for generating forwarding information for the data packet;
means for retrieving stored information associated with a next hop for the data packet;
means for determining whether the data packet is to be forwarded on the first interface using the retrieved information;
means for determining whether the data packet originated from a station that is part of a same subnet as the next hop; and
means for generating a redirect message when the data packet is to be forwarded on the first interface and the data packet originated from a station that is part of the same subnet as the next hop.
23. A network device, comprising:
a memory configured to store incoming interface index information;
an input unit configured to receive data packets, each data packet including a source address, the input unit including:
processing logic configured to access the memory to identify an incoming interface index for a received data packet;

a route lookup unit configured to:
receive the incoming interface index for the data packet,
generate data forwarding information for the data packet, and
forward the incoming interface index and the data forwarding information; and

an output unit configured to receive the incoming interface index and the data forwarding information, the output unit including:
a memory configured to store an output interface index, a hash value and a prefix length value for each of a plurality of output interfaces, and
processing logic configured to:
retrieve an output interface index, a hash value and a prefix length value based on the data forwarding information for the data packet,
compare the incoming interface index and the outgoing interface index,
generate a hash value using a number of bits of the source address of the data packet, based on the prefix length value, and
compare the generated hash value to the stored hash value.
24. The network device of claim 23, wherein when the incoming interface index and the outgoing interface index are equal and the generated hash value and the stored hash value are equal, the processing logic is further configured to indicate that a redirect message is required.
25. The network device of claim 24, further comprising:
a host processor, wherein when the redirect message is required, the output unit transmits a redirect indication to the host processor.
26. The network device of claim 25, wherein the host processor is configured to forward a redirect message to the station that originated the data packet, the redirect message including next hop information for future data packets having a same destination address as the data packet transmitted to the network device.
27. The network device of claim 23, wherein the hash value is generated using a hash function of x9+x4+1.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A shape measuring apparatus comprising:
a laser emitter that emits a laser beam;
a scanner that scans the laser beam emitted by the laser emitter over a region in which an object is placed;
a camera that detects reflected light of the laser beam;
a recognizer that performs three-dimensional measurement of the object on the basis of the detection result of the camera; and
a controller that performs control so as to change a scanning range of the scanner in accordance with the region in which the object is placed, the region being detected by the camera.
2. The shape measuring apparatus according to claim 1,
wherein the controller performs control so as to change the scanning range of the scanner by changing at least one of a scan start angle and a scan end angle in accordance with the region in which the object is placed, the region being detected by the camera.
3. The shape measuring apparatus according to claim 1,
wherein the controller calculates a first distance between the camera and the object on the basis of the detected reflected light from the object, and changes the scanning range of the scanner on the basis of the first distance between the camera and the object.
4. The shape measuring apparatus according to claim 3,
wherein the controller changes the scan start angle on the basis of a scan angle of the laser beam when the first distance between the camera and the object first becomes equal to or smaller than a second distance that is a difference between a distance from the camera to a surface on which the object is placed and a height of a dead band region near the surface on which the object is placed.
5. The shape measuring apparatus according to claim 3,
wherein the controller changes the scan end angle on the basis of a scan angle of the laser beam when the first distance between the camera and the object last becomes equal to or smaller than a second distance that is a difference between a distance from the camera to a surface on which the object is placed and a height of a dead band region near the surface on which the object is placed.
6. The shape measuring apparatus according to claim 4,
wherein the second distance is equal to or greater than a distance that is a difference between the distance from the camera to the surface on which the object is placed and a height of the object and smaller than the distance between the camera and the surface on which the object is placed.
7. The shape measuring apparatus according to claim 1,
wherein the object is placed in a container, and
wherein the controller changes the scanning range of the scanner in accordance with a region in which the object in placed in the container, the region being detected by the camera.
8. The shape measuring apparatus according to claim 7,
wherein the controller changes the scanning range of the scanner in accordance with the region in which the object is placed in the container, the region being detected by the camera, by calculating a difference between a result of three-dimensional measurement performed by the camera in a state in which the object is placed in the container and a result of three-dimensional measurement performed by the camera in a state in which the object is not placed in the container.
9. A shape measuring apparatus comprising:
means for scanning a laser beam over a region in which an object is placed;
means for detecting the region in which the object is placed and performing three-dimensional measurement of the object by detecting reflected light of the laser beam that is reflected by the object; and
means for changing a scanning range of the laser beam in accordance with the detected region in which the object is placed.
10. A robot system comprising:
a robot including a gripper that holds an object; and
a shape measuring apparatus including
a laser emitter that emits a laser beam,
a scanner that scans the laser beam emitted by the laser emitter over a region in which the object is placed,
a camera that detects reflected light of the laser beam,
a recognizer that performs three-dimensional measurement of the object on the basis of the detection result of the camera, and
a controller that performs control so as to change a scanning range of the scanner in accordance with the region in which the object is placed, the region being detected by the camera.
11. A shape measuring method comprising:
scanning a laser beam over a region in which an object is placed;
detecting reflected light of the laser beam;
performing three-dimensional measurement of the object on the basis of the detection result; and
changing a scanning range of the laser beam in accordance with the detected region in which the object is placed.