1460735008-2cb9e950-519a-45aa-880f-84707a73c85b

1. An interchangeable lens barrel which is detachable from a camera body, the interchangeable lens barrel comprising:
a storage section for storing a first program concerning a function of the interchangeable lens barrel;
a connection section for connecting to an external inputoutput device;
a reception section for receiving a second program concerning the function of the interchangeable lens barrel from the inputoutput device through the connection section in a state where the interchangeable lens barrel is not coupled to the camera body; and
a rewriting section for replacing the stored first program with the received second program.
2. The interchangeable lens barrel according to claim 1, wherein the storage section is a nonvolatile memory.
3. The interchangeable lens barrel according to claim 1, wherein the rewriting section compares a version of the first program with a version of the second program, and replaces the first program with the second program when the version of the second program is more recent than the version of the first program.
4. The interchangeable lens barrel according to claim 1, further comprising an imaging optical system for forming an optical image of a object, wherein
each of the first and second programs includes a program for controlling driving of the imaging optical system.
5. The interchangeable lens barrel according to claim 1, further comprising an operation member for being operated by a user, wherein
the reception section is integral with the operation member.
6. The interchangeable lens barrel according to claim 5, wherein
the operation member is a photographing mode selection section operated for selecting a photographing mode, and
a fixed member containing the reception section and the photographing mode selection section is attached on an outer surface of the interchangeable lens barrel.
7. The interchangeable lens barrel according to claim 6, further comprising a vibration compensation section for changing an optical axis of the imaging optical system to compensate blurring of an image, wherein
the photographing mode includes a blurring compensation mode, in which the vibration compensation section is activated and photographing is performed.

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. An index-matching gel for use with a nanostructure optical fiber, comprising:
a polymer-based gel having at least one polymer component with a viscosity \u03b7 at 25\xb0 C. wherein 3 Pa-s\u2266\u03b7\u2266100 Pa-s, wherein the nanostructured fiber has a core with a refractive index, and wherein the gel has a refractive index within 5% of the core refractive index at an operating wavelength of the fiber.
2. The index-matching gel of claim 1, wherein 5 Pa-s\u2266\u03b7\u226650 Pa-s.
3. The index-matching gel of claim 2, wherein 5 Pa-s\u2266\u03b7\u226620 Pa-s.
4. The index-matching gel of claim 1, wherein the at least one polymer component includes a siloxane polymer.
5. The index-matching gel of claim 4, wherein the at least one polymer component has a molecular weight Mw>25,000 daltons.
6. The index-matching gel of claim 1, wherein the at least one polymer component is selected from the group of polymer components comprising: polybutenes, (meth)acrylates, acrylics, epoxies, polyesters, polyethers, polycaprolactones, polycarbonates, polybutadienes, polyurethanes, and natural hydrocarbons.
7. A mechanical splice assembly for mechanically splicing a nanostructure optical fiber with an end, comprising:
a body having a central axis, opposite front and back ends, an interior chamber between the front and back ends, and front and rear channels open to the chamber interior and open at the front and back ends;
a fiber stub having opposite front and rear ends and disposed in the front channel so that the fiber stub front end is at the body front end and the fiber stub rear end is within the interior chamber; and
an index matching gel contained in the interior chamber, the index-matching gel comprised of at least one polymer component having a viscosity \u03b7 at 25\xb0 C. such that 3 Pa-s\u2266\u03b7\u2266100 Pa-s, and wherein the index-matching gel resides between the fiber stub rear end and the nanostructure fiber end so as to provide index matching between the stub optical fiber and the nanostructure optical fiber.
8. The assembly of claim 7, wherein the stub optical fiber is a nanostructure optical fiber.
9. The assembly of claim 7, further including:
a nanostructure optical fiber having an end and a nanostructure region with voids, wherein the nanostructure optical fiber is disposed within the rear channel so that the nanostructure fiber end is interfaced with the stub fiber end and so that the index-matching gel provides index-matching between the fiber stub rear end and the nanostructure fiber end without substantially filling the voids.
10. The assembly of claim 7, further including:
a nanostructure optical fiber having an end and a nanostructure region with voids, wherein the nanostructure optical fiber is disposed within the rear channel so that the nanostructure fiber end is interfaced with the stub fiber end and so that the index-matching gel provides index-matching between the fiber stub rear end and the nanostructure fiber end, and wherein the index-matching gel migrates into the voids to a maximum depth DM as measured from the nanostructure fiber end, wherein the depth DM does not extend beyond the body back end.
11. The assembly of claim 7, wherein the at least one polymer component includes a siloxane polymer.
12. The assembly of claim 7, wherein the gel does not substantially penetrate the nanostructure optical fiber.
13. A fiber optic connector, comprising:
the mechanical splice assembly of claim 7;
a holder for holding the mechanical splice assembly, the holder having a back end portion configured to support an optical fiber cable; and
a housing that houses the holder.
14. The fiber optic connector according to claim 13, further including:
a nanostructure optical fiber cable that includes the nanostructure optical fiber having a nanostructure region with voids, wherein the cable is supported by the holder back end portion such that the nanostructure optical fiber is disposed within the rear channel with the nanostructure optical fiber end interfacing with the fiber stub end and substantially index-matched thereto by the index-matching gel.
15. The fiber optic connector according to claim 14, further including:
a boot having an end, the boot covering the channel back end and a portion of the nanostructure optical fiber cable; and
wherein the index-matching gel migrates into the voids to a depth DM as measured from the nanostructure fiber end, and wherein the depth DM does not extend beyond the boot end.
16. The mechanical splice of claim 7, wherein the body comprises a ferrule.
17. The fiber optic connector of claim 13, wherein the holder includes a ferrule.
18. A fiber optic connector having a back end, comprising:
a stub optical fiber having an end;
a field optical fiber having a nanostructure region with voids and having an end;
a splice assembly configured to interface the stub and field optical fibers together at their respective ends; and
a polymer-based index matching gel provided at the interface of the stub and field optical fibers, the gel having at least one polymer component with a viscosity \u03b7 at 25\xb0C. wherein 3 Pa-s\u2266\u03b7\u2266100 Pa-s.
19. The fiber optic connector of claim 18, wherein field optical fiber extends from the connector back end, and wherein the index-matching gel migrates into the voids to a depth DM that does not extend beyond the connector back end.

1460735000-c28a39b5-8521-4354-bf14-f4c557907c62

1. A toner supplying device comprising:
a toner container that is tubular, includes a spiral groove, a toner discharge opening at one end in a longitudinal direction of the toner container, and a depression at the other end in the longitudinal direction, and is rotationally driven to convey toner contained in the toner container along the spiral groove in the longitudinal direction to discharge the toner from the toner discharge opening;
a rotational driving unit that engages with the one end of the toner container to rotationally drive the toner container to cause the toner container to discharge the toner contained therein; and
a projection provided at an interior portion at which the toner container is installed, and having an inclination in which a projection amount increases toward downstream in a rotational direction of the toner container, the toner supplying device supplying the toner discharged from the toner container to a developing device, wherein
the projection goes into the depression of the toner container when the toner container rotates, and
the projection has at least three faces, a first face including said inclination, a second face downstream in a rotational direction from the first face, the second face continuously contacting the toner container at an outer circumferential section of the toner container when the projection is not within the depression, and a third face downstream in a rotational direction from the second face.
2. The toner supplying device according to claim 1, wherein a length of a portion with a largest projection amount of the projection in the longitudinal direction is smaller than a length of a most recessed portion of the depression in the longitudinal direction.
3. The toner supplying device according to claim 1, wherein the projection is at a position that is shifted from a position vertically below a rotation axis of the toner container toward downstream in the rotational direction.
4. The toner supplying device according to claim 1, wherein the depression functions as a handle used for attaching and detaching the toner container.
5. The toner supplying device according to claim 1, wherein the projection amount of the projection is set such that a distance from an end of the projection to a portion of a wall face of the interior portion that is opposite to the end of the projection is smaller than a maximum diameter of the toner container.
6. The toner supplying device according to claim 1, wherein the projection has an inclination in which the projection amount increases in a detaching direction when the toner container is detached from the interior portion.
7. The toner supplying device according to claim 1, further comprising: a vibration intensity adjusting unit that adjusts an intensity of vibration generated with the projection and the depression.
8. The toner supplying device according to claim 7, wherein the vibration intensity adjusting unit adjusts the projection amount of the projection by elastically displacing the projection.
9. The toner supplying device according to claim 8, wherein
the projection is at the interior portion to be movable forward and backward in a direction in which the projection sticks out from an inner face of the interior portion and in a direction in which the projection returns back to the inner face, and
an elastic member is interposed between the interior portion and the projection.
10. The toner supplying device according to claim 9, wherein the elastic member is provided replaceably between the interior portion and the projection.
11. The toner supplying device according to claim 9, further comprising an adjusting unit that increases and reduces an elastic force of the elastic member according to a weight of the toner container.
12. An image forming apparatus comprising:
the toner supplying device according to claim 1;
a developing device to which toner is supplied from the toner supplying device; and
an image forming unit that develops a latent image formed on a surface of an image bearer by the developing device to thereby form an image on the image bearer.
13. The toner supplying device according to claim 1, wherein:
the third face of the projection comprises two faces.

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 method for sending a frame of data from a first channel to a second channel using at least one of m memory buffers for storing a frame, m being at least 2, in which n of the m buffers have an available status and p of the m buffers have an unavailable status, wherein m=n+p, the method comprising:
reserving for the first channel one or more of the n buffers having the available status when a number q of the buffers reserved for the first channel is less than a capacity r of reserve module buffers, wherein q\u2266r;
when a frame is received from the first channel, storing the frame in i of the q buffers and changing the status of the i buffers to unavailable, wherein 1\u2266i\u2266q;
selectively assigning the frame to the second channel based on a number s of the q buffers, wherein s\u2266q;
wherein if the frame is assigned to the second channel, the frame is sent to the second channel from the i buffers and the status of the i buffers is changed to available;
wherein if the frame is not assigned to the second channel, the frame is discarded and the status of the i buffers is changed to available;
wherein h of the n buffers having the available status are not reserved to any channel, wherein h+q\u2266n;
stopping reserving buffers for the first channel when the second channel is congested and the number of buffers h not reserved to any channel is less than, or equal to, a first predetermined threshold; and
starting reserving buffers for the first channel when the number of buffers h not reserved to any channel is greater than, or equal to, a second predetermined threshold.
2. The method of claim 1, wherein s=q.
3. The method of claim 1, wherein s=q\u2212i.
4. The method of claim 2, wherein the selectively assigning step further comprises:
discarding the frame when the second channel is congested and the number of the s buffers is below a third predetermined threshold;
discarding the frame when the second channel is not congested and the number of the s buffers is below a fourth predetermined threshold, wherein the third predetermined threshold is greater than the fourth predetermined threshold; and
assigning the frame to the second channel when the number of the s buffers is equal to or greater than the third predetermined threshold.
5. The method of claim 2, wherein each frame has one of a plurality of classes of service, wherein each class of service has associated therewith third and fourth predetermined thresholds, and wherein the selectively assigning step further comprises:
discarding the frame when the second channel is congested and the number of the s buffers is below the third predetermined threshold of the associated class of service of the frame;
discarding the frame when the second channel is not congested and the number of the s buffers is below the fourth predetermined threshold of the associated class of service of the frame, wherein the third predetermined threshold of the associated class of service of the frame is greater than the fourth predetermined threshold of the associated class of service of the frame; and
assigning the frame to the second channel when the number of the s buffers is equal to or greater than the third predetermined threshold of the associated class of service of the frame.
6. The method of claim 4, wherein a port is associated with the second channel, and wherein the assigning step comprises:
sending, to the port, the identity of the i buffers storing the frame.
7. Computer-readable medium storing computer programs executable by a computer to perform a method for sending a frame of data from a first channel to a second channel using at least one of m memory buffers for storing a frame, m being at least 2, in which n of the m buffers have an available status and p of the m buffers have an unavailable status, wherein m=n+p, the method comprising:
reserving for the first channel one or more of the n buffers having the available status when a number q of the buffers reserved to the first channel is less than a capacity r of reserve module buffers, wherein q\u2266r;
when a frame is received from the first channel, storing the frame in i of the q buffers and changing the status of the i buffers to unavailable, wherein 1\u2266i\u2266q;
selectively assigning the frame to the second channel based on a number s of the q buffers, wherein s\u2266q;
wherein if the frame is assigned to the second channel, the frame is sent to the second channel from the i buffers and the status of the i buffers is changed to available;
wherein if the frame is not assigned to the second channel, the frame is discarded and the status of the i buffers is changed to available;
wherein h of the n buffers having the available status are not reserved for any channel, wherein h+q\u2266n;
stopping reserving buffers to the first channel when the second channel is congested and the number of buffers h not reserved for any channel is less than, or equal to, a first predetermined threshold; and
starting reserving buffers to the first channel when the number of buffers h not reserved for any channel is greater than, or equal to, a second predetermined threshold.
8. The computer-readable medium storing computer programs of claim 7, wherein s=q.
9. The computer-readable medium storing computer programs of claim 7, wherein s=q\u2212i.
10. The computer-readable medium storing computer programs of claim 8, wherein the selectively assigning step further comprises:
discarding the frame when the second channel is congested and the number of the s buffers is below a third predetermined threshold;
discarding the frame when the second channel is not congested and the number of the s buffers is below a fourth predetermined threshold, wherein the third predetermined threshold is greater than the fourth predetermined threshold; and
assigning the frame to the second channel when the number of the s buffers is equal to or greater than the third predetermined threshold.
11. The computer-readable medium storing computer programs of claim 8, wherein each frame has one of a plurality of classes of service, wherein each class of service has associated therewith third and fourth predetermined thresholds, and wherein the selectively assigning step further comprises:
discarding the frame when the second channel is congested and the number of the s buffers is below the third predetermined threshold of the associated class of service of the frame;
discarding the frame when the second channel is not congested and the number of the s buffers is below the fourth predetermined threshold of the associated class of service of the frame, wherein the third predetermined threshold of the associated class of service of the frame is greater than the fourth predetermined threshold of the associated class of service of the frame; and
assigning the frame to the second channel when the number of the s buffers is equal to or greater than the third predetermined threshold of the associated class of service of the frame.
12. The computer-readable medium storing computer programs of claim 10, wherein a port is associated with the second channel, and wherein the assigning step comprises:
sending, to the port, the identity of the i buffers storing the frame.
13. An apparatus for sending a frame of data from a first channel to a second channel using at least one of m memory buffers for storing a frame, m being at least 2, in which n of the m buffers have an available status and p of the m buffers have an unavailable status, wherein m=n+p, the apparatus comprising:
reservation means for reserving for the first channel one or more of the n buffers having the available status when a number q of the buffers reserved for the first channel is less than a capacity r of reserve module buffers of the reservation means, wherein q\u2266r;
store means for, when a frame is received from the first channel, storing the frame in i of the q buffers and changing the status of the i buffers to unavailable, wherein 1\u2266i\u2266q;
assigning means for selectively assigning the frame to the second channel based on a number s of the q buffers, wherein s\u2266q;
wherein if the frame is assigned to the second channel, the frame is sent to the second channel from the i buffers and the status of the i buffers is changed to available;
wherein if the frame is not assigned to the second channel, the frame is discarded and the status of the i buffers is changed to available;
wherein h of the n buffers having the available status are not reserved for any channel, wherein h+q\u2266n;
wherein the reservation means stops reserving buffers for the first channel when the second channel is congested and the number of buffers h not reserved for any channel is less than, or equal to, a first predetermined threshold; and
wherein the reservation means starts reserving buffers for the first channel when the number of buffers h not reserved for any channel is greater than, or equal to, a second predetermined threshold.
14. The apparatus of claim 13, wherein s=q.
15. The apparatus of claim 13, wherein s=q\u2212i.
16. The apparatus of claim 14, wherein the assigning means further comprises:
means for discarding the frame when the second channel is congested and the number of the s buffers is below a third predetermined threshold;
means for discarding the frame when the second channel is not congested and the number of the s buffers is below a fourth predetermined threshold, wherein the third predetermined threshold is greater than the fourth predetermined threshold; and
means for assigning the frame to the second channel when the number of the s buffers is equal to or greater than the third predetermined threshold.
17. The apparatus of claim 14, wherein each frame has one of a plurality of classes of service, wherein each class of service has associated therewith third and fourth predetermined thresholds, and wherein the assigning means further comprises:
means for discarding the frame when the second channel is congested and the number of the s buffers is below the third predetermined threshold of the associated class of service of the frame;
means for discarding the frame when the second channel is not congested and the number of the s buffers is below the fourth predetermined threshold of the associated class of service of the frame, wherein the third predetermined threshold of the associated class of service of the frame is greater than the fourth predetermined threshold of the associated class of service of the frame; and
means for assigning the frame to the second channel when the number of the s buffers is equal to or greater than the third predetermined threshold of the associated class of service of the frame.
18. The apparatus of claim 16, wherein a port is associated with the second channel, and wherein the means for assigning comprises:
means for sending, to the port, the identity of the i buffers storing the frame.
19. An apparatus for sending a frame of data from a first channel to a second channel, comprising:
a memory having m memory buffers for storing a frame, m being at least 2, in which n of the m buffers have an available status and p of the m buffers have an unavailable status, wherein m=n+p;
a reserve module to reserve for the first channel one or more of the n buffers having the available status when a number q of the buffers reserved for the first channel is less than a capacity r of the reserve module buffers, wherein q\u2266r;
an ingress module to, when a frame is received from the first channel, store the frame in i of the q buffers and changes the status of the i buffers to unavailable, wherein 1\u2266i\u2266q;
a forwarding module to selectively assign the frame to the second channel based on a number s of the q buffers, wherein s\u2266q;
wherein if the frame is assigned to the second channel, the frame is sent to the second channel from the i buffers and the status of the i buffers is changed to available;
wherein if the frame is not assigned to the second channel, the frame is discarded and the status of the i buffers is changed to available;
wherein h of the n buffers having the available status are not reserved to any channel, wherein h+q\u2266n, and the reserve module stops reserving buffers for the first channel when the second channel is congested and the number of buffers h not reserved for any channel is less than, or equal to, a first predetermined threshold; and
wherein the reserve module starts reserving buffers to the first channel when the number of buffers h not reserved for any channel is greater than, or equal to, a second predetermined threshold.
20. The apparatus of claim 19, wherein s=q.
21. The apparatus of claim 19, wherein s=q\u2212i.
22. The apparatus of claim 20, wherein the queue controller:
discards the frame when the second channel is congested and the number of the s buffers is below a third predetermined threshold;
discards the frame when the second channel is not congested and the number of the s buffers is below a fourth predetermined threshold, wherein the third predetermined threshold is greater than the fourth predetermined threshold; and
assigns the frame to the second channel when the number of the s buffers is equal to or greater than the third predetermined threshold.
23. The apparatus of claim 20, wherein each frame has one of a plurality of classes of service, wherein each class of service has associated therewith third and fourth predetermined thresholds, and wherein the queue controller:
discards the frame when the second channel is congested and the number of the s buffers is below the third predetermined threshold of the associated class of service of the frame;
discards the frame when the second channel is not congested and the number of the s buffers is below the fourth predetermined threshold of the associated class of service of the frame, wherein the third predetermined threshold of the associated class of service of the frame is greater than the fourth predetermined threshold of the associated class of service of the frame; and
assigns the frame to the second channel when the number of the s buffers is equal to or greater than the third predetermined threshold of the associated class of service of the frame.
24. The apparatus of claim 22, further comprising:
a port associated with the second channel, wherein the queue controller sends, to the port, the identity of the i buffers storing the frame.
25. A method for sending a frame of data from a first device to a second device through a network switch having m memory buffers for storing a frame, m being at least 2, in which n of the m buffers have an available status and p of the m buffers have an unavailable status, wherein m=n+p, wherein the first device is connected to the network switch by a first channel and the second device is connected to the network switch by a second channel, the method comprising:
selecting, by the first device, the second device as a destination for the frame;
sending, by the first device, the frame to the first channel;
reserving to the first channel one or more of the n buffers having the available status when a number q of the buffers reserved to the first channel is less than a capacity r of reserve module buffers, wherein q\u2266r;
when the frame is received from the first channel, storing the frame in i of the q buffers and changing the status of the i buffers to unavailable, wherein 1\u2266i\u2266q;
selectively assigning the frame to the second channel based on a number s of the q buffers, wherein s\u2266q;
wherein if the frame is assigned to the second channel, the frame is sent to the second channel from the i buffers and the status of the i buffers is changed to available;
wherein if the frame is not assigned to the second channel, the frame is discarded and the status of the i buffers is changed to available;
receiving, by the second device, the frame from the second channel if the frame is assigned to the second channel;
wherein h of the n buffers having the available status are not reserved to any channel, wherein h+q\u2266n;
stopping reserving buffers to the first channel when the second channel is congested and the number of buffers h not reserved to any channel is less than, or equal to, a first predetermined threshold; and
starting reserving buffers to the first channel when the number of buffers h not reserved to any channel is greater than, or equal to, a second predetermined threshold.
26. The method of claim 25, wherein s=q.
27. The method of claim 25, wherein s=q\u2212i.
28. The method of claim 26, wherein the selectively assigning step further comprises:
discarding the frame when the second channel is congested and the number of the s buffers is below a third predetermined threshold;
discarding the frame when the second channel is not congested and the number of the s buffers is below a fourth predetermined threshold, wherein the third predetermined threshold is greater than the fourth predetermined threshold; and
assigning the frame to the second channel when the number of the s buffers is equal to or greater than the third predetermined threshold.
29. The method of claim 26, wherein each frame has one of a plurality of classes of service, wherein each class of service has associated therewith third and fourth predetermined thresholds, and wherein the selectively assigning step further comprises:
discarding the frame when the second channel is congested and the number of the s buffers is below the third predetermined threshold of the associated class of service of the frame;
discarding the frame when the second channel is not congested and the number of the s buffers is below the fourth predetermined threshold of the associated class of service of the frame, wherein the third predetermined threshold of the associated class of service of the frame is greater than the fourth predetermined threshold of the associated class of service of the frame; and
assigning the frame to the second channel when the number of the s buffers is equal to or greater than the third predetermined threshold of the associated class of service of the frame.
30. The method of claim 28, wherein a port is associated with the second channel, and wherein the assigning step comprises:
sending, to the port, the identity of the i buffers storing the frame.
31. Computer-readable medium storing computer programs executable by a computer to perform a method for sending a frame of data from a first device to a second device through a network switch having m memory buffers for storing a frame, m being at least 2, in which n of the m buffers have an available status and p of the m buffers have an unavailable status, wherein m=n+p, wherein the first device is connected to the network switch by a first channel and the second device is connected to the network switch by a second channel, the method comprising:
selecting, by the first device, the second device as a destination for the frame;
sending, by the first device, the frame to the first channel;
reserving to the first channel one or more of the n buffers having the available status when a number q of the buffers reserved for the first channel is less than a capacity r of reserve module buffers, wherein q\u2266r;
when the frame is received from the first channel, storing the frame in i of the q buffers and changing the status of the i buffers to unavailable, wherein 1\u2266i\u2266q;
selectively assigning the frame to the second channel based on a number s of the q buffers, wherein s\u2266q;
wherein if the frame is assigned to the second channel, the frame is sent to the second channel from the i buffers and the status of the i buffers is changed to available;
wherein if the frame is not assigned to the second channel, the frame is discarded and the status of the i buffers is changed to available;
receiving, by the second device, the frame from the second channel if the frame is assigned to the second channel;
wherein h of the n buffers having the available status are not reserved for any channel, wherein h+q\u2266n;
stopping reserving buffers for the first channel when the second channel is congested and the number of buffers h not reserved for any channel is less than, or equal to, a first predetermined threshold; and
starting reserving buffers for the first channel when the number of buffers h not reserved for any channel is greater than, or equal to, a second predetermined threshold.
32. The computer-readable medium storing computer programs of claim 31, wherein s=q.
33. The computer-readable medium storing computer programs of claim 31, wherein s=q\u2212i.
34. The computer-readable medium storing computer programs of claim 32, wherein the selectively assigning step further comprises:
discarding the frame when the second channel is congested and the number of the s buffers is below a third predetermined threshold;
discarding the frame when the second channel is not congested and the number of the s buffers is below a fourth predetermined threshold, wherein the third predetermined threshold is greater than the fourth predetermined threshold; and
assigning the frame to the second channel when the number of the s buffers is equal to or greater than the third predetermined threshold.
35. The computer-readable medium storing computer programs of claim 32, wherein each frame has one of a plurality of classes of service, wherein each class of service has associated therewith third and fourth predetermined thresholds, and wherein the selectively assigning step further comprises:
discarding the frame when the second channel is congested and the number of the s buffers is below the third predetermined threshold of the associated class of service of the frame;
discarding the frame when the second channel is not congested and the number of the s buffers is below the fourth predetermined threshold of the associated class of service of the frame, wherein the third predetermined threshold of the associated class of service of the frame is greater than the fourth predetermined threshold of the associated class of service of the frame; and
assigning the frame to the second channel when the number of the s buffers is equal to or greater than the third predetermined threshold of the associated class of service of the frame.
36. The computer-readable medium storing computer programs of claim 34, wherein a port is associated with the second channel, and wherein the assigning step comprises:
sending, to the port, the identity of the i buffers storing the frame.
37. An apparatus for sending a frame of data from a first device to a second device through a network switch having m memory buffers for storing a frame, m being at least 2, in which n of the m buffers have an available status and p of the m buffers have an unavailable status, wherein m=n+p, wherein the first device is connected to the network switch by a first channel and the second device is connected to the network switch by a second channel, the apparatus comprising:
select means for selecting, by the first device, the second device as a destination for the frame;
send means for sending, by the first device, the frame to the first channel;

reservation means reserving for the first channel one or more of the n buffers having the available status when a number q of the buffers reserved to the first channel is less than a capacity r of reserve module buffers of the reservation means, wherein q\u2266r;
store means for when the frame is received from the first channel, storing the frame in i of the q buffers and changing the status of the i buffers to unavailable, wherein 1\u2266i\u2266q;
assigning means for selectively assigning the frame to the second channel based on a number s of the q buffers, wherein s\u2266q;
wherein if the frame is assigned to the second channel, the frame is sent to the second channel from the i buffers and the status of the i buffers is changed to available;
wherein if the frame is not assigned to the second channel, the frame is discarded and the status of the i buffers is changed to available;
receiving means for receiving, by the second device, the frame from the second channel if the frame is assigned to the second channel;
wherein h of the n buffers having the available status are not reserved for any channel, wherein h+q\u2266n, and the reservation means stops reserving buffers to the first channel when the second channel is congested and the number of buffers h not reserved for any channel is less than, or equal to, a first predetermined threshold; and
wherein the reservation means starts reserving buffers to the first channel when the number of buffers h not reserved for any channel is greater than, or equal to, a second predetermined threshold.
38. The apparatus of claim 37, wherein s=q.
39. The apparatus of claim 37, wherein s=q\u2212i.
40. The apparatus of claim 38, wherein the assigning means further comprises:
means for discarding the frame when the second channel is congested and the number of the s buffers is below a third predetermined threshold;
means for discarding the frame when the second channel is not congested and the number of the s buffers is below a fourth predetermined threshold, wherein the third predetermined threshold is greater than the fourth predetermined threshold; and
means for assigning the frame to the second channel when the number of the s buffers is equal to or greater than the third predetermined threshold.
41. The apparatus of claim 38, wherein each frame has one of a plurality of classes of service, wherein each class of service has associated therewith third and fourth predetermined thresholds, and wherein the assigning means further comprises:
means for discarding the frame when the second channel is congested and the number of the s buffers is below the third predetermined threshold of the associated class of service of the frame;
means for discarding the frame when the second channel is not congested and the number of the s buffers is below the fourth predetermined threshold of the associated class of service of the frame, wherein the third predetermined threshold of the associated class of service of the frame is greater than the fourth predetermined threshold of the associated class of service of the frame; and
means for assigning the frame to the second channel when the number of the s buffers is equal to or greater than the third predetermined threshold of the associated class of service of the frame.
42. The apparatus of claim 40, wherein a port is associated with the second channel, and wherein the means for assigning comprises:
means for sending, to the port, the identity of the i buffers storing the frame.
43. A network comprising:
a network switch having m memory buffers for storing a frame of data, m being at least 2, in which n of the m buffers have an available status and p of the m buffers have an unavailable status, wherein m=n+p;
a first device connected to the network switch by a first channel;
a second device connected to the network switch by a second channel;
wherein the first device selects the second device as a destination for the frame and sends the frame to the first channel;
wherein the network switch reserves for the first channel one or more of the n buffers having the available status when the number q of the buffers reserved for the first channel is less than a capacity r, wherein q\u2266r;
wherein when the frame is received from the first channel, the network switch stores the frame in i of the q buffers and changes the status of the i buffers to unavailable, wherein 1\u2266i\u2266q;
wherein the network switch selectively assigns the frame to the second channel based on a number s of the q buffers, wherein s\u2266q;
wherein if the frame is assigned to the second channel, the frame is sent to the second channel from the i buffers and the status of the i buffers is changed to available;
wherein if the frame is not assigned to the second channel, the frame is discarded and the status of the i buffers is changed to available;
wherein the second device receives the frame from the second channel if the frame is assigned to the second channel;
wherein h of the n buffers having the available status are not reserved for any channel, wherein h+q\u2266n;
wherein the network switch stops reserving buffers to the first channel when the second channel is congested and the number of buffers h not reserved for any channel is less than, or equal to, a first predetermined threshold; and
wherein the network switch starts reserving buffers for the first channel when the number of buffers h not reserved for any channel is greater than, or equal to, a second predetermined threshold.
44. The network of claim 43, wherein s=q.
45. The network of claim 43, wherein s=q\u2212i.
46. The network of claim 44, wherein the network switch:
discards the frame when the second channel is congested and the number of the s buffers is below a third predetermined threshold;
discards the frame when the second channel is not congested and the number of the s buffers is below a fourth predetermined threshold, wherein the third predetermined threshold is greater than the fourth predetermined threshold; and
assigns the frame to the second channel when the number of the s buffers is equal to or greater than the third predetermined threshold.
47. The network of claim 44, wherein each frame has one of a plurality of classes of service, wherein each class of service has associated therewith third and fourth predetermined thresholds, and wherein the network switch:
discards the frame when the second channel is congested and the number of the s buffers is below the third predetermined threshold of the associated class of service of the frame;
discards the frame when the second channel is not congested and the number of the s buffers is below the fourth predetermined threshold of the associated class of service of the frame, wherein the third predetermined threshold of the associated class of service of the frame is greater than the fourth predetermined threshold of the associated class of service of the frame; and
assigns the frame to the second channel when the number of the s buffers is equal to or greater than the third predetermined threshold of the associated class of service of the frame.
48. The network of claim 46, wherein the network switch comprises:
a port associated with the second channel; and
a queue controller to send, to the port, the identity of the i buffers storing the frame.
49. A method for sending a frame of data from a first channel to a second channel using at least one of m memory buffers for storing a frame, m being at least 2, in which n of the m buffers have an available status and p of the m buffers have an unavailable status, wherein m=n+p, the method comprising:
reserving to the first channel a request for one or more of the n buffers having the available status when a number q of the buffers reserved for the first channel is less than a capacity r of reserve module buffers, wherein q\u2266r;
when a frame is received from the first channel, storing the frame in i of the q buffers and changing the status of the i buffers to unavailable, wherein 1\u2266i\u2266q;
sending the frame to the second channel and changing the status of the i buffers to available;
exercising flow control on the first channel when a number s of the q buffers is below a first predetermined threshold, wherein s\u2266q;
wherein h of the n buffers having the available status are not reserved for any channel, wherein h+q\u2266n;
stopping reserving buffers for the first channel when the second channel is congested and the number of buffers h not reserved for any channel is less than, or equal to, a second predetermined threshold; and
starting reserving buffers for the first channel when the number of buffers h not reserved for any channel is greater than, or equal to, a third predetermined threshold.
50. The method of claim 49, wherein s=q.
51. The method of claim 49, wherein s=q\u2212i.
52. The method of claim 50, further comprising:
terminating flow control on the first channel when the number of s buffers is above a fourth predetermined threshold.
53. The method of claim 52, wherein a port is associated with the second channel, and wherein the assigning step comprises:
sending, to the port, the identity of the i buffers storing the frame.
54. The method of claim 50, wherein the exercising step comprises:
sending a pause frame to the first channel.
55. The method of claim 52, wherein the terminating step comprises:
sending a pause release frame to the first channel.
56. Computer-readable medium storing computer programs executable by a computer to perform a method for sending a frame of data from a first channel to a second channel using at least one of m memory buffers for storing a frame, m being at least 2, in which n of the m buffers have an available status and p of the m buffers have an unavailable status, wherein m=n+p, the method comprising:
reserving for the first channel one or more of the n buffers having the available status when a number q of the buffers reserved for the first channel is less than a capacity r of reserve module buffers, wherein q\u2266r;
when a frame is received from the first channel, storing the frame in i of the q buffers and changing the status of the i buffers to unavailable, wherein 1\u2266i\u2266q;

sending the frame to the second channel and changing the status of the i buffers to available;
exercising flow control on the first channel when a number s of the q buffers is below a first predetermined threshold, wherein s\u2266q;
wherein h of the n buffers having the available status are not reserved for any channel, wherein h+q\u2266n;
stopping reserving buffers for the first channel when the second channel is congested and the number of buffers h not reserved for any channel is less than, or equal to, a second predetermined threshold; and
starting reserving buffers to the first channel when the number of buffers h not reserved for any channel is greater than, or equal to, a third predetermined threshold.
57. The computer-readable medium storing computer programs of claim 56, wherein s=q.
58. The computer-readable medium storing computer Programs of claim 56, wherein s=q\u2212i.
59. The computer-readable medium storing computer programs of claim 57, wherein the method further comprises:
terminating flow control on the first channel when the number of s buffers is above a fourth predetermined threshold.
60. The computer-readable medium storing computer programs of claim 59, wherein a port is associated with the second channel, and wherein the assigning step comprises:
ending, to the port, the identity of the i buffers storing the frame.
61. The computer-readable medium storing computer programs of claim 57, wherein the exercising step comprises:
sending a pause frame to the first channel.
62. The computer-readable medium storing computer programs of claim 59, wherein the terminating step comprises:
sending a pause release frame to the first channel.
63. An apparatus for sending a frame of data from a first channel to a second channel using at least one of m memory buffers for storing a frame, m being at least 2, in which n of the m buffers have an available status and p of the m buffers have an unavailable status, wherein m=n+p, the apparatus comprising:
reservation means for reserving for the first channel one or more of the n buffers having the available status when a number q of the buffers reserved for the first channel is less than a capacity r of the reservation means, wherein q\u2266r;
store means for, when a frame is received from the first channel, storing the frame in i of the q buffers and changing the status of the i buffers to unavailable, wherein 1\u2266i\u2266q;
send means for sending the frame to the second channel and changing the status of the i buffers to available;
exercising means for exercising flow control on the first channel when a number s of the q buffers is below a first predetermined threshold, wherein s\u2266q;
wherein h of the n buffers having the available status are not reserved for any channel, wherein h+q\u2266n, and the reservation means stops reserving buffers for the first channel when the second channel is congested and the number of buffers h not reserved for any channel is less than, or equal to, a second predetermined threshold; and
wherein the reservation means starts reserving buffers to the first channel when the number of buffers h not reserved for any channel is greater than, or equal to, a third predetermined threshold.
64. The apparatus of claim 63, wherein s=q.
65. The apparatus of claim 63, wherein s=q\u2212i.
66. The apparatus of claim 64, further comprising:
means for terminating flow control on the first channel when the number of s buffers is above a fourth predetermined threshold.
67. The apparatus of claim 66, wherein a port is associated with the second channel, and wherein the assigning means comprises:
means for sending, to the port, the identity of the i buffers storing the frame.
68. The apparatus of claim 64, wherein the exercising means comprises:
means for sending a pause frame to the first channel.
69. The apparatus of claim 66, wherein the terminating means comprises:
means for sending a pause release frame to the first channel.
70. An apparatus for sending a frame of data from a first channel to a second channel comprising:
a memory having m memory buffers for storing a frame, m being at least 2, in which n of the m buffers have an available status and p of the m buffers have an unavailable status, wherein m=n+p;
a reserve module to reserve for the first channel one or more of the n buffers having the available status when a number q of the buffers reserved for the first channel is less than a capacity r of reserve module buffers of the reserve module, wherein q\u2266r;
an ingress module associated with the first channel to, when a frame is received from the first channel, store the frame in i of the q buffers and change the status of the i buffers to unavailable, wherein 1\u2266i\u2266q;
wherein the ingress module associated with the first channel exercises flow control on the first channel when a number s of the q buffers is below a first predetermined threshold, wherein s\u2266q;
wherein the queue controller sends the frame to the second channel and changes the status of the i buffers to available;
wherein h of the n buffers having the available status are not reserved for any channel, wherein h+q\u2266n, and the reserve module stops reserving buffers for the first channel when the second channel is congested and the number of buffers h not reserved for any channel is less than, or equal to, a second predetermined threshold; and
wherein the reserve module starts reserving buffers for the first channel when the number of buffers h not reserved for any channel is greater than, or equal to, a third predetermined threshold.
71. The apparatus of claim 70, wherein s=q.
72. The apparatus of claim 70, wherein s=q\u2212i.
73. The apparatus of claim 71, wherein the ingress module terminates flow control on the first channel when the number of s buffers is above a fourth predetermined threshold.
74. The apparatus of claim 73, wherein a port is associated with the second channel, and wherein the queue controller sends, to the port, the identity of the i buffers storing the frame.
75. The apparatus of claim 71, wherein the ingress module sends a pause frame to the first channel.
76. The apparatus of claim 73, wherein the ingress module sends a pause release frame to the first channel.
77. A method for sending a frame of data from a first device to a second device through a network switch having m memory buffers for storing a frame, m being at least 2, in which n of the m buffers have an available status and p of the m buffers have an unavailable status, wherein m=n+p, wherein the first device is connected to the network switch by a first channel and the second device is connected to the network switch by a second channel, the method comprising:
selecting, by the first device, the second device as a destination for the frame;
sending, by the first device, the frame to the first channel;
reserving for the first channel one or more of the n buffers having the available status when a number q of the buffers reserved to the first channel is less than a capacity r of reserve module buffers, wherein q\u2266r;
wherein when the frame is received from the first channel, the network switch stores the frame in i of the q buffers and changes the status of the i buffers to unavailable, wherein 1\u2266i\u2266q;
wherein the network switch sends the frame to the second channel and changes the status of the i buffers to available;
wherein the network switch exercises flow control on the first channel when a number s of the q buffers is below a first predetermined threshold, wherein s\u2266q;

receiving, by the second device, the frame from the second channel;
wherein h of the n buffers having the available status are not reserved for any channel, wherein h+q\u2266n;
stopping reserving buffers for the first channel when the second channel is congested and the number of buffers h not reserved for any channel is less than, or equal to, a second predetermined threshold; and
starting reserving buffers for the first channel when the number of buffers h not reserved for any channel is greater than, or equal to, a third predetermined threshold.
78. The method of claim 77, wherein s=q.
79. The method of claim 77, wherein s=q\u2212i.
80. The method of claim 78, further comprising:
terminating flow control on the first channel when the number of s buffers is above a fourth predetermined threshold.
81. The method of claim 80, wherein a port is associated with the second channel, and wherein the assigning step comprises:
sending, to the port, the identity of the i buffers storing the frame.
82. The method of claim 78, wherein the exercising step comprises:
sending a pause frame to the first channel.
83. The method of claim 80, wherein the terminating step comprises:
sending a pause release frame to the first channel.
84. Computer-readable medium storing computer programs executable by a computer to perform a method for sending a frame of data from a first device to a second device through a network switch having m memory buffers for storing a frame, m being at least 2, in which n of the m buffers have an available status and p of the m buffers have an unavailable status, wherein m=i+p, wherein the first device is connected to the network switch by a first channel and the second device is connected to the network switch by a second channel, the method comprising:
selecting, by the first device, the second device as a destination for the frame;
sending, by the first device, the frame to the first channel;
reserving for the first channel one or more of the n buffers having the available status when a number q of the buffers reserved for the first channel is less than a capacity r of reserve module buffers, wherein q\u2266r;
wherein when the frame is received from the first channel, the network switch stores the frame in i of the q buffers and changes the status of the i buffers to unavailable, wherein 1\u2266i\u2266q;
wherein the network switch sends the frame to the second channel and changes the status of the i buffers to available;
wherein the network switch exercises flow control on the first channel when a number s of the q buffers is below a first predetermined threshold, wherein s\u2266q;
receiving, by the second device, the frame from the second channel;
wherein h of the n buffers having the available status are not reserved for any channel, wherein h+q\u2266n;
stopping reserving buffers for the first channel when the second channel is congested and the number of buffers h not reserved for any channel is less than, or equal to, a second predetermined threshold; and
starting reserving buffers for the first channel when the number of buffers h not reserved for any channel is greater than, or equal to, a third predetermined threshold.
85. The computer-readable medium storing computer programs of claim 84, wherein s=q.
86. The computer-readable medium storing computer programs of claim 84, wherein s=q\u2212i.
87. The computer-readable medium storing computer programs of claim 85, wherein the method further comprises:
terminating flow control on the first channel when the number of s buffers is above a fourth predetermined threshold.
88. The computer-readable medium storing computer programs of claim 87, wherein a port is associated with the second channel, and wherein the assigning step comprises:
sending, to the port, the identity of the i buffers storing the frame.
89. The computer-readable medium storing computer programs of claim 85, wherein the exercising step comprises:
sending a pause frame to the first channel.
90. The computer-readable medium storing computer programs of claim 87, wherein the terminating step comprises:
sending a pause release frame to the first channel.
91. An apparatus for sending a frame of data from a first device to a second device through a network switch having m memory buffers for storing a frame, m being at least 2, in which n of the m buffers have an available status and p of the m buffers have an unavailable status, wherein m=n+p, wherein the first device is connected to the network switch by a first channel and the second device is connected to the network switch by a second channel, the apparatus comprising:
select means for selecting, by the first device, the second device as a destination for the frame;
send means for sending, by the first device, the frame to the first channel;
reservation means for reserving for the first channel one or more of the n buffers having the available status when a number q of the buffers reserved for the first channel is less than a capacity r of the reservation means, wherein q\u2266r;
wherein when the frame is received from the first channel, the network switch stores the frame in i of the q buffers and changes the status of the i buffers to unavailable, wherein 1\u2266i\u2266q;
wherein the network switch sends the frame to the second channel and changes the status of the i buffers to available;
wherein the network switch exercises flow control on the first channel when a number s of the q buffers is below a first predetermined threshold, wherein s\u2266q;
receive means for receiving, by the second device, the frame from the second channel;
wherein h of the n buffers having the available status are not reserved for any channel, wherein h+q\u2266n, and the reservation means stops reserving buffers for the first channel when the second channel is congested and the number of buffers h not reserved for any channel is less than, or equal to, a second predetermined threshold; and
wherein the reservation means starts reserving buffers for the first channel when the number of buffers h not reserved for any channel is greater than, or equal to, a third predetermined threshold.
92. The apparatus of claim 91, wherein s=q.
93. The apparatus of claim 91, wherein s=q\u2212i.
94. The apparatus of claim 92, further comprising:
means for terminating flow control on the first channel when the number of s buffers is above a fourth predetermined threshold.
95. The apparatus of claim 94, wherein a port is associated with the second channel, and wherein the assigning means comprises:
means for sending, to the port, the identity of the i buffers storing the frame.
96. The apparatus of claim 92, wherein the exercising step comprises:
sending a pause frame to the first channel.
97. The apparatus of claim 94, wherein the terminating step comprises:
sending a pause release frame to the first channel.
98. A network comprising:
a network switch having m memory buffers for storing a frame of data, m being at least 2, in which n of the m buffers have an available status and p of the m buffers have an unavailable status, wherein m=n+p;
a first device connected to the network switch by a first channel; and
a second device connected to the network switch by a second channel;
wherein the network switch reserves to the first channel one or more of the n buffers having the available status when a number q of the buffers reserved for the first channel is less than a capacity r of the reserve module, buffers wherein q\u2266r;
wherein when a frame is received from the first channel, the network switch stores the frame in i of the q buffers and changes the status of the i buffers to unavailable, wherein 1\u2266i\u2266q;
wherein the network switch sends the frame to the second channel and changes the status of the i buffers to available;
wherein the network switch exercises flow control on the first channel when a number s of the q buffers is below a first predetermined threshold, wherein s\u2266q;
wherein the second device receives the frame from the second channel;
wherein h of the n buffers having the available status are not reserved for any channel, wherein h+q\u2266n;
wherein the network switch stops reserving buffers for the first channel when the second channel is congested and the number of buffers h not reserved for any channel is less than, or equal to, a second predetermined threshold; and
wherein the network switch starts reserving buffers for the first channel when the number of buffers h not reserved for any channel is greater than, or equal to, a third predetermined threshold.
99. The network of claim 98, wherein s=q.
100. The network of claim 98, wherein s=q\u2212i.
101. The network of claim 99, wherein the network switch terminates flow control on the first channel when the number of s buffers is above a fourth predetermined threshold.
102. The network of claim 101, wherein the network switch comprises:
a port associated with the second channel; and
a queue controller to send, to the port, the identity of the i buffers storing the frame.
103. The network of claim 99, wherein the network switch sends a pause frame to the first channel.
104. The network of claim 101, wherein the network switch sends a pause release frame to the first channel.