1. An ambulatory infusion device for dispensing a fluid into a patient comprising:
a bladder enclosure having a length and comprising a sheath of flexible material which is sufficiently flexible and collapsible along a substantial portion of the length, the sheath having a first open end defining a mouth and a second closed end, the first open end being affixed to a rigid closure;
a bladder support comprising a stem which extends into an elastic bladder secured in fixed position relative to said closure;
the elastic bladder mounted on the bladder support, the bladder being positioned inside the sheath and having an interior volume for storing the fluid under pressure;
the sheath extending from said closure toward the closed second end of the sheath spaced beyond said bladder, said closed second end of the sheath being free to conform to the body of the patient so that the device is comfortable when worn;
a pressure regulator in fluid communication with the bladder; and
a flow restrictor in fluid communication with the pressure regulator and positioned downstream therefrom, the flow restrictor having an inlet for receiving the fluid at an inlet pressure and an outlet for discharging the fluid at an outlet pressure.
2. An infusion device as set forth in claim 1 wherein the flexible material of the sheath resiliently deforms when the bladder enlarges with fluid in response to increased pressure between the sheath and the bladder.
3. An infusion device as set forth in claim 1 wherein the flow restriction is formed of a flexible tubing having an inside diameter less than about 0.0003 inches.
4. An infusion device as set forth in claim 3 wherein the inside diameter of the tubing is sized about 0.0022 inches.
5. An infusion device as set forth in claim 4 further comprising intermediate tubing connecting the pressure regulator to the flow restrictor.
6. An infusion device as set forth in claim 5 wherein the flexible tubing is made of a polymer.
7. An infusion device as set forth in claim 6 wherein the length of the flexible tubing of the flow restrictor is determined based on the fluid pressure change from an inlet of the tubing to an outlet of the tubing.
8. A method of using the infusion device of claim 1 comprising securing the flow restrictor against the skin of a patient so as to promote a constant temperature of the flow restrictor.
9. A method of manufacturing the flow restrictor of claim 3 comprising measuring fluid flow resistance through a length of the flexible tubing and then trimming the length of the tubing based on the fluid flow resistance.
10. A method of manufacturing as set forth in claim 9 wherein the measuring step is performed by forcing pressurized air through the tubing and measuring the pressure difference from an inlet end to an outlet end of the tubing.
11. An infusion device as set forth in claim 1 wherein said closed second end of the sheath is free of attachment to said bladder support.
12. An infusion device as set forth in claim 1 wherein said closed second end of the sheath is freely movable so that the sheath is foldable on one or more fold lines extending generally transverse to the longitudinal axis of the sheath for more compact storage of the infusion device.
13. An infusion device as set forth in claim 12 wherein the sheath is formed of a resilient material, and wherein the bladder and the sheath stretch as the bladder is filled with fluid.
14. An infusion device as set forth in claim 12 wherein the sheath is adapted to collapse from an expanded condition when the bladder is full to an unexpanded condition as the fluid is being dispensed from the bladder.
15. An infusion device as set forth in claim 14 wherein the sheath has a folded shape in its unexpanded condition.
16. An infusion device as set forth in claim 15 wherein the sheath material is resilient so that the sheath tends to regain its folded shape as the sheath moves from the expanded condition to said unexpanded condition.
17. An infusion device as set forth in claim 16 wherein the sheath includes pleated opposing sides which fold inward toward the bladder as the sheath collapses to said unexpanded condition.
18. An infusion device as set forth in claim 1 wherein the sheath is adapted to collapse from an expanded condition when the bladder is full to an unexpanded condition as the fluid is being dispensed from the bladder.
19. An infusion device as set forth in claim 1 wherein the sheath is made of polyethylene.
20. An infusion device as set forth in claim 1 wherein the sheath is made of vinyl.
21. An infusion device as set forth in claim 1 wherein the rigid closure is generally rectangular and wherein the first end of the sheath is sealed around the closure.
22. An infusion device as set forth in claim 21 wherein the sheath has pleated opposing sides which fold inward toward the bladder as the sheath collapses from an expanded condition when the bladder is full to an unexpanded condition as the fluid is being dispensed from the bladder.
23. An infusion device as set forth in claim 22 wherein the sheath has a length which is greater than the length of the bladder in an unfilled condition to allow for lengthwise expansion of the bladder as it is filled.
24. An infusion device as set forth in claim 1 wherein said bladder support includes a stem extending into the sheath for mounting the bladder inside the sheath.
25. An infusion device as set forth in claim 24 wherein the bladder support further comprises a head on the stem mounted in an opening in said rigid closure, said device regulator disposed on the head of the bladder support.
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 data processing apparatus comprising:
a plurality of processing units operable to execute a number of processes by performing data processing operations requiring access to data in shared memory;
each processing unit having a cache operable to store a subset of said data for access by that processing unit, the data processing apparatus employing a snoop-based cache coherency protocol to ensure data accessed by each processing unit is up-to-date;
each processing unit having a storage element associated therewith identifying snoop control data;
whereby when one of said processing units determines that a snoop operation is required having regard to the cache coherency protocol, that processing unit is operable to reference the snoop control data in the associated storage element in order to determine which of the plurality of processing units are to be subjected to the snoop operation.
2. A data processing apparatus as claimed in claim 1, further comprising:
process descriptor storage for storing a process descriptor for each process, the process descriptor being operable to identify any processing units of said plurality that the corresponding process has been executed on; and
for each processing unit, the snoop control data in the associated storage element being dependent on the process currently being executed by that processing unit.
3. A data processing apparatus as claimed in claim 2, wherein if a processing unit undertakes execution of a process currently being executed by at least one other processing unit, the processing unit causes the process descriptor for that process to be updated and issues an update signal to each of the at least one other processing units, each of the at least one other processing units being operable in response to the update signal to update the snoop control data in its associated storage element based on the updated process descriptor.
4. A data processing apparatus as claimed in claim 3, wherein the update signal is an interrupt signal.
5. A data processing apparatus as claimed in claim 1, wherein:
each process has associated therewith in the shared memory a process specific region in which data only used by that process is storable; and
each processing unit is operable, when accessing data, to determine if the snoop operation is required having regard to the cache coherency protocol, and if the snoop operation is required and the data being accessed is associated with the process specific region, to reference the snoop control data in the associated storage element in order to determine which of the plurality of processing units are to be subjected to the snoop operation.
6. A data processing apparatus as claimed in claim 1, wherein:
each process is arranged to have access to a shared region in the shared memory in which data to be shared amongst multiple processes is stored; and
each processing unit is operable, when accessing data, to determine if the snoop operation is required having regard to the cache coherency protocol, and if the snoop operation is required and the data being accessed is associated with the shared region, to subject all of the plurality of processing units to the snoop operation.
7. A data processing apparatus as claimed in claim 2, wherein:
the process descriptor for each process is managed by operating system software;
the operating system software is operable, for each process descriptor, to apply predetermined criteria to determine when a processing unit that has executed the corresponding process should cease to be identified in that process descriptor;
upon such a determination, any entries in the cache of that processing unit storing data relating to the corresponding process being cleaned and invalidated, and the process descriptor being updated by the operating system software to remove the identification of that processing unit.
8. A data processing apparatus as claimed in claim 1, wherein for each processing unit the snoop control data in the associated storage element is set based on an indication by operating system software as to which processing units a currently employed process is running on or has been run on.
9. A data processing apparatus as claimed in claim 1, wherein the snoop control data takes the form of a mask comprising a separate bit for each processing unit of the data processing apparatus, for each storage element the mask stored therein being dependent on the process currently being executed by the associated processing unit.
10. A method of managing snoop operations in a data processing apparatus, the data processing apparatus having a plurality of processing units operable to execute a number of processes by performing data processing operations requiring access to data in shared memory, each processing unit having a cache operable to store a subset of said data for access by that processing unit, the method comprising the steps of:
employing a snoop-based cache coherency protocol to ensure data accessed by each processing unit is up-to-date;
for each processing unit storing snoop control data; and
when one of the processing units determines that a snoop operation is required having regard to the cache coherency protocol, referencing the snoop control data for said one of the processing units in order to determine which of the plurality of processing units are to be subjected to the snoop operation.
11. A processing unit for a data processing apparatus in which a plurality of processing units are operable to execute a number of processes by performing data processing operations requiring access to data in shared memory, the processing unit comprising:
a cache operable to store a subset of said data for access by the processing unit, a snoop-based cache coherency protocol being employed to ensure data accessed by each processing unit of the data processing apparatus is up-to-date;
a storage element identifying snoop control data;
whereby when the processing unit determines that a snoop operation is required having regard to the cache coherency protocol, the processing unit is operable to reference the snoop control data in the storage element in order to determine which of the plurality of processing units of the data processing apparatus are to be subjected to the snoop operation.