1. A modular wall system for use in a healthcare facility, the system comprising:
a plurality of frame units, and
a plurality of patient care modules coupled to the frame units to form a wall of a patient room.
2. The system of claim 1, wherein the plurality of frame units form a grid of vertically and laterally spaced apart wall spaces having a predetermined height and a predetermined width, the plurality of patient care modules are configured to be positioned in the wall spaces to form the wall.
3. The system of claim 2, wherein at least some of the plurality of modules have a width substantially equal to a multiple, including one, of the predetermined width of the wall spaces and have a height substantially equal to a multiple, including one, of the predetermined height of the wall spaces.
4. The system of claim 1, wherein each frame unit has a plurality of connection points spaced apart from each other by a predetermined height and a predetermined width to form a grid, the plurality of patient care modules are coupled to the frame units at the connection points to form the wall.
5. The system of claim 4, wherein at least some of the plurality of patient care modules have a width substantially equal to a multiple, including one, of the predetermined width and have a height substantially equal to a multiple, including one, of the predetermined height.
6. The system of claim 4, comprising a plurality of supporting members configured to be detachably coupled to the frame units at the connection points, wherein the supporting members extend generally horizontally away from the frame units in a cantilevered fashion, and the plurality of patient care modules is configured to be coupled to the supporting members to form the wall.
7. The system of claim 6, wherein each patient care module includes at least one pair of oppositely disposed guide tracks sized and positioned to receive an associated pair of oppositely disposed supporting members.
8. The system of claim 1, wherein the patient care modules include any one or more of the following: a vital signs module, a service delivery module, a bed locator module, a monitor module, a sharps-disposal module, a computer module, a tube drop module, a cabinet module, a waste management module, a light module and a clock module.
9. The system of claim 8, wherein the vital signs module comprises a housing, a display panel coupled to the housing, a controller coupled to the housing, and at least one vital sign measuring device coupled to the controller, the display panel being coupled to the controller and configured to display data in response to an output of the at least one vital sign measuring device.
10. The system of claim 9, wherein the at least one vital sign measuring device includes a sensor.
11. The system of claim 10, wherein the sensor is coupled to the controller via a wire.
12. The system of claim 10, wherein the sensor is coupled to the controller via a wireless communication link.
13. The system of claim 9, wherein the vital signs module comprises any one or more of the following: a blood pressure cuff, a thermometer, a pulse oximeter, a cardiac monitor, a respiration rate sensor, storage for leads and sensors, storage for disposable probe covers, and an accessory mounting track.
14. The system of claim 8, wherein the waste management module includes any one or more of the following: a trash bin for collecting trash, a sharps-disposal bin for collecting sharps, a biohazard-disposal bin for collecting biohazard material and a soiled linen bin for soiled linen.
15. The system of claim 14, wherein the waste management module is configured to be accessible from inside the patient room and accessible from outside the patient room.
16. The system of claim 14, comprising a plurality of conveyor tubes coupled to the associated trash bin, sharps-disposal bin, biohazard-disposal bin and soiled linen bin, wherein the conveyor tubes are configured to transport the accumulated trash, sharps, biohazard material and the soiled linen from the respective bins to a pick-up module outside the patient room.
17. The system of claim 16, wherein the trash, sharps and biohazard material are compacted prior to their transfer to the pick-up module via the conveyor tubes.
18. The system of claim 16, wherein the trash, sharps and biohazard material are compacted in their respective bins prior to their transfer to the pick-up module via the conveyor tubes.
19. The system of claim 8, wherein the service delivery module has a plurality of service connectors to provide any one or more of the following services: electrical power outlets, medical gas outlets, vacuum outlets, air outlets, and communication ports.
20. A vital signs module for use in a healthcare facility, the vital sign module comprising:
a housing,
a display panel coupled to the housing,
a controller coupled to the housing, and
at least one vital sign measuring device coupled to the controller, the display panel being coupled to the controller and configured to display data in response to an output of the at least one vital sign measuring device.
21. An apparatus for use in a healthcare facility, the apparatus comprising:
a headwall, and
an armoire movable between a first position blocking access to at least a first portion of the headwall and a second position providing access to the first portion of the headwall, the armoire being coupled to the headwall.
22. The apparatus of claim 21, comprising at least one track to guide the movement of the armoire between the first and second positions.
23. The apparatus of claim 21, wherein the headwall includes a plurality of service connectors.
24. The apparatus of claim 21, wherein the armoire is movable to one side of the headwall.
25. The apparatus of claim 21, wherein the armoire comprises first and second sections, the first section is laterally movable to a first side of the headwall, and the second section is laterally movable to a second side of the headwall.
26. The apparatus of claim 25, wherein the headwall projects outwardly from a wall of the healthcare facility, the first section of the armoire is movable rearwardly toward the wall after it is moved laterally to the first side of the headwall, and the second section of the armoire is movable rearwardly toward the wall after it is moved laterally to the second side of the headwall.
27. The apparatus of claim 26, wherein the armoire first and second sections are movable on tracks coupled to a floor, a ceiling, andor both the floor and the ceiling.
28. The apparatus of claim 26, comprising a linkage system coupled to the first and second sections to guide the movement of the first and second sections between respective first positions in front of the headwall and second positions alongside the headwall.
29. The apparatus of claim 21, wherein the armoire includes any one or more of the following: a wardrobe, a shelf, a cabinet, a pullout writing surface, a tack surface, and an entertainment center.
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 of operation of a storage server, the method comprising:
assigning, by an administration thread, a data storage unit of a plurality of data storage units to a respective independent worker thread of a plurality of independent worker threads; and
initializing, by the respective independent worker thread, the data storage unit assigned to the respective independent worker thread, the plurality of independent worker threads initializing the plurality of data storage units in parallel, wherein initializing further comprises assigning the plurality of independent worker threads initialization tasks to register the plurality of data storage units for data access and assigning one of the plurality of independent worker threads to read a table of contents of a first volume,
wherein assigning one of the plurality of independent worker threads to read the table of contents of the first volume comprises reading the table of contents of the first volume to obtain information for accessing the plurality of data storage units of the first volume.
2. The method of claim 1, wherein initializing further comprises each of the plurality of independent worker threads sending an asynchronous message to a file system layer by each of the plurality of independent worker threads for each of the plurality of data storage units.
3. The method of claim 2, wherein initializing further comprises each of the plurality of independent worker threads sending a synchronous message to a file system layer by each of the plurality of independent worker threads for each of the plurality of data storage units.
4. The method of claim 3, further comprising:
loading metadata for each data storage unit for each asynchronous message received by the file system layer; and
upon finishing the loading the metadata for each of the plurality of data storage units, independently sending a reply message to indicate that the loading is completed for the particular data storage unit.
5. The method of claim 4, further comprising reading the metadata for each data storage unit to obtain a file handle for the particular data storage unit for each synchronous message received by the file system layer.
6. The method of claim 1, wherein assigning initialization tasks to register the plurality of storage units comprises assigning additional initialization tasks to the plurality of independent worker threads, and wherein the plurality of independent worker threads are assigned the additional initialization tasks on a one data storage unit per thread basis.
7. The method of claim 6, wherein assigning additional initialization tasks comprises:
registering each of the plurality of data storage units with a virtual disk subsystem by one of the plurality of independent worker threads; and
registering each of the plurality of data storage units with a Small Computer System Interface (SCSI) target of a protocol layer for block level access by a client by one of the plurality of independent worker threads.
8. The method of claim 1, wherein the initialization tasks for each of the plurality of data storage units comprises at least one of:
opening each of the plurality of data storage units by one of the plurality of independent worker threads;
performing an administrative task on each of the plurality of data storage units by one of the plurality of independent worker threads;
registering each of the plurality of data storage units with a virtual disk subsystem by one of the plurality of independent worker threads;
registering each of the plurality of data storage units with a Small Computer System Interface (SCSI) target of a protocol layer for block level access by a client by one of the plurality of independent worker threads; or
notifying that each of the plurality of data storage units is initialized by one of the plurality of independent worker threads.
9. The method of claim 1, wherein the plurality of data storage are associated with a first volume and further comprising:
initializing a plurality of data storage units of the second volume in parallel for data access as part of a second volume initialization process.
10. The method of claim 9, wherein initializing the plurality of data storage units of the second volume comprises processing in parallel initialization tasks for each of the plurality of data storage units of the second volume using the plurality of independent worker threads.
11. The method of claim 10, wherein processing in parallel comprises:
assigning initialization tasks for each of the plurality of data storage units of the second volume to each of the plurality of independent worker threads; and
each of the plurality of independent worker threads independently performing each of the initialization tasks.
12. The method of claim 11, wherein assigning initialization tasks comprises:
assigning one of the plurality of independent worker threads to read the table of contents information of the first volume to determine the number of the plurality of data storage units in the first volume; and
assigning another of the plurality of independent worker threads to read the table of contents information of the second volume to determine the number of the plurality of data storage units in the second volume, wherein the plurality of independent worker threads read the table of contents information on a one volume per thread basis.
13. A method, comprising:
selecting a first volume of a plurality of volumes of a storage server, wherein the first volume contains a first plurality of data storage units;
assigning, by a first volume administration thread, a data storage unit of the first plurality of data storage units in the first volume to a respective independent worker thread of a plurality of independent worker threads;
initializing independently, by the respective first volume independent worker thread, the data storage unit assigned to the respective first volume independent worker thread, the plurality of first volume independent worker threads initializing the plurality of data storage units in the first volume in parallel, wherein initializing further comprises assigning the plurality of independent worker threads initialization tasks to register the plurality of data storage units for data access and assigning one of the first volume plurality of independent worker threads to read a table of contents of the first volume, wherein assigning one of the plurality of first volume independent worker threads to read the table of contents of the first volume comprises reading the table of contents of the first volume to obtain information for accessing the plurality of data storage units of the first volume;
selecting a second volume of the plurality of volumes of the storage server, wherein the second volume contains a second plurality of data storage units are inaccessible to data access until initialization;
assigning, by a second volume administration thread, each of the second plurality of data storage units in the second volume to a respective independent worker thread of a plurality of independent worker threads; and
initializing independently, by a respective second volume independent worker thread, the data storage unit assigned to the respective second volume independent worker thread, the plurality of second volume independent worker threads initializing the plurality of data storage units in the second volume in parallel, wherein initializing further comprises assigning the plurality of independent worker threads initialization tasks to register the plurality of data storage units for data access and assigning one of the second volume plurality of independent worker threads to read a table of contents of the second volume, wherein assigning one of the plurality of second volume independent worker threads to read the table of contents of the second volume comprises reading the table of contents of the second volume to obtain information for accessing the plurality of data storage units of the second volume.
14. The method of claim 13, wherein initializing the first plurality of data storage units of the first volume comprises:
determining a number of data storage units in the first volume;
assigning initialization tasks for each of the first plurality of data storage units in the first volume to the first plurality of independent worker threads; and
independently indicating that each of the first plurality of data storage units of the first volume is initialized.
15. The method of claim 13, wherein initializing the second plurality of data storage units of the second volume comprises:
determining a number of data storage units in the second volume;
assigning initialization tasks for each of the second plurality of data storage units in the second volume to the second plurality of independent worker threads; and
independently indicating that each of the second plurality of data storage units of the second volume is initialized.
16. The method of claim 13, further comprising indicating that the first and second plurality of data storage units are initialized.
17. The method of claim 13, wherein initializing the first and second plurality of data storage units comprises:
executing at least one of a boot thread or a failover thread to initiate an initialization procedure to initialize the first or second plurality of data storage units in a particular volume;
executing an administrative thread to delegate initialization tasks of the initialization procedure for the particular volume to a plurality of independent worker threads; and
executing the plurality of independent worker threads to perform the delegated initialization tasks of the initialization procedure for the particular volume.
18. The method of claim 17, wherein initializing the first and second plurality of data storage units each further comprises executing a file system layer thread to preload buffers for the initialization procedure for the particular volume.
19. The method of claim 13, wherein initializing the first and second plurality of data storage units further comprises:
initiating an initialization procedure to iterate over the first and second volumes;
delegating work to a plurality of independent worker threads on a one volume per thread basis; and
delegating work to the plurality of independent worker threads on a one data storage unit per thread basis.
20. A storage server, comprising:
a processor;
a first communication interface through which to communicate with an array of storage devices;
a second communication interface through which to communicate with a client of the storage server;
a file system layer to manage a plurality of volumes, each volume having a plurality of data storage units, wherein the plurality of data storage units are inaccessible to data access until initialization; and
a memory storing instructions which configure the processor to initialize the plurality of data storage units in parallel to make the plurality of data storage units accessible for data access in each of the plurality of volumes as part of an initialization process of the storage server, by
assigning, by an administration thread, a data storage unit of the plurality of data storage units in a first volume to a respective independent worker thread from a plurality of independent worker threads; and
initializing, by the respective independent worker thread, the data storage unit assigned to the respective independent worker thread, the plurality of independent worker threads initializing the plurality of data storage units in parallel, wherein initializing further comprises assigning the plurality of independent worker threads initialization tasks to register the plurality of data storage units for data access,
wherein initializing further comprises sending either an asynchronous message or a synchronous message to the file system layer to request the file system layer to perform an initialization task.
21. The storage server of claim 20, wherein the initialization process is part of either a boot process or a failover process of the storage server.
22. The storage server of claim 20, wherein initializing further comprises assigning each of the plurality of independent worker threads to prepare each of the plurality of data storage units to be registered for data access.
23. The storage server of claim 22, wherein each of the plurality of independent worker threads is configured to register each of the plurality of data storage units with a virtual disk subsystem and with a Small Computer System Interface (SCSD target of a protocol layer for block level access by the client.
24. The storage server of claim 20, wherein initializing further comprises assigning the plurality of independent worker threads to perform at least one of the following:
opening each of the plurality of data storage units by one of the plurality of independent worker threads;
performing an administrative task on each of the plurality of data storage units by one of the plurality of independent worker threads;
registering each of the plurality of data storage units with the virtual disk subsystem by one of the plurality of independent worker threads;
registering each of the plurality of data storage units with a Small Computer System Interface (SCSI) target of a protocol layer for block level access by the client by one of the plurality of independent worker threads; or
notifying that each of the plurality of data storage units is initialized by one of the plurality of independent worker threads.
25. A storage server, comprising:
a processor;
a first communication interface through which to communicate with an array of storage devices;
a second communication interface through which to communicate with a client of the storage server;
a file system managed by a file system layer, wherein the file system contains a plurality of volumes, each volume having a plurality of data storage units, wherein the plurality of data storage units are inaccessible to data access until initialization;
a virtual disk subsystem coupled to the file system layer, wherein the virtual disk system comprises an administrative thread and a plurality of independent worker threads; and
a memory storing instructions which configure the processor to initialize a plurality of data storage units of a volume in the file system and make the plurality of data storage units accessible for data access, by
assigning, by the administration thread, a data storage unit of the plurality of data storage units in the volume to a independent worker thread from a plurality of independent worker threads; and
initializing, by the respective independent worker thread, the data storage unit assigned to the respective independent worker thread, the plurality of independent worker threads initializing the plurality of data storage units in parallel, wherein initializing further comprises assigning the plurality of independent worker threads initialization tasks to register the plurality of data storage units for data access,
wherein initializing further comprises sending either an asynchronous message or a synchronous message to the file system layer to request the file system layer to perform an initialization task.
26. The storage server of claim 25, wherein initializing further comprises assigning each of the plurality of independent worker threads to prepare each of the plurality of data storage units to be registered for data access.
27. The storage server of claim 25, wherein initializing further comprises at least one of:
assigning each of the plurality of independent worker threads to open a data storage unit of the plurality of data storage units;
assigning each of the plurality of independent worker threads to perform an administrative task on the opened data storage unit;
assigning each of the plurality of independent worker threads to make a data storage unit of the plurality of data storage units known to a Small Computer System Interface (SCSI) target of a protocol layer for block level access;
assigning each of the plurality of independent worker threads to register a data storage unit of the plurality of data storage units to allow input-output (IO) accesses; or
assigning each of the plurality of independent worker threads to indicate that a data storage unit of the plurality of data storage units is initialized.
28. The storage server of claim 25, wherein the virtual disk subsystem comprises means for reducing outage time as part of an initialization of either a boot process or a failover process of the storage server.
29. The storage server of claim 25, wherein the virtual disk subsystem comprises means for reducing application failures due to outage time of the storage server in a clustered environment.
30. The method of claim 1, wherein the plurality of data storage units are inaccessible to data access until initialization.
31. The method of claim 1, wherein a respective independent worker thread works in parallel relative to other independent worker threads.