Method and system for patient and biological sample identification and tracking
11276482 · 2022-03-15
Assignee
Inventors
- Eduardo Vom (Box Hill, AU)
- Jeremy Phillip STIMSON (Fitzroy, AU)
- Yassaman POULADI (Box Hill, AU)
- Ben Hobbs (Box Hill, AU)
- Tammie Kim ROY (Glenmore Park, AU)
- Jan KIRSTEN (Bamberg, DE)
Cpc classification
G16H10/65
PHYSICS
G01N2035/00831
PHYSICS
H04W4/80
ELECTRICITY
G16H10/40
PHYSICS
G06Q10/08
PHYSICS
G16H10/60
PHYSICS
International classification
H04W4/80
ELECTRICITY
G16H10/65
PHYSICS
G16H10/40
PHYSICS
G06Q10/08
PHYSICS
Abstract
The present invention provides a device and system for monitoring the accuracy of procedures in the course of the performance of a task, the task comprising at least one procedure to be performed, the device comprising: an input interface for receiving input data relating to the procedures; a data store for storing data relating to the procedures; a processor for: comparing the input data with the stored data; and generating a comparison result indicating the result of that comparison; and an output interface for outputting the comparison result.
Claims
1. A method of tracing one or more biological samples at any location in an assisted reproductive technology (ART) laboratory environment in the course of performance of a task, the method comprising the steps of: locating an RF transceiving device proximate a biological sample container wherein the RF transceiving device is encased in polymer that is resistant to a range of laboratory conditions including one or more of a cryo-environment and gamma irradiation; interrogating the RF transceiving device with a portable reader device for identification signals unique to the biological sample; and tracking the location of the one or more biological samples based on the interrogation of the RF transceiving device and indexing the location in a centralised database; wherein the method is periodically applied to one or more biological samples during (i) a configuration process and (ii) a supervision process, the configuration process involving creating and editing labels for the one or more biological samples associated with a patient, creating label groups corresponding to ART treatment cycles, assigning labels to a development timeline in each treatment cycle, specifying critical labels and specifying critical activities to be undertaken in relation to the one or more samples; the supervising process involving management of an active task list for the patient including progress of the biological sample against the development timeline, management of consumables and inventories for lot numbers of consumables used in the treatment cycles, and generating reports.
2. The method as claimed in claim 1 further comprising the steps of: locating further RF transceiving devices corresponding to each of a hierarchy of laboratory apparatus for addressing the location of the biological sample within a laboratory environment.
3. The method as claimed in claim 1 wherein one or a combination of the step of interrogating and the RF transceiving device comprises at least one MEMS device.
4. The method as claimed in claim 1 wherein the RF transceiving device is adapted to transmit in situ environmental conditions of the biological sample in addition to identification signals unique to the biological sample.
5. Apparatus for tracing one or more biological samples at any location in an assisted reproductive technology (ART) laboratory environment in the course of performance of a task, comprising: an RF transceiving device adapted for location proximate a biological sample container wherein the RF transceiving device is encased in polymer that is resistant to a range of laboratory conditions including one or more of a cryo-environment and gamma irradiation; interrogation means comprising at least a portable reader device for interrogating the RF transceiving device for identification signals unique to the one or more biological samples; and tracking the location of the one or more biological samples based on the interrogation of the RF transceiving device and indexing the location in a centralised database; wherein the interrogation device periodically interrogates the RF transceiving device and periodically tracks the location of the one or more biological samples during (i) a configuration process and (ii) a supervision process, the configuration process involving creating and editing labels for the one or more biological samples associated with a patient, creating label groups corresponding to ART treatment cycles, assigning labels to a development timeline in each treatment cycle, specifying critical labels and specifying critical activities to be undertaken in relation to the one or more samples; the supervising process involving management of an active task list for the patient including progress of the biological sample against the development timeline, management of consumables and inventories for lot numbers of consumables used in the treatment cycles, and generating reports.
6. Apparatus as claimed in claim 5 wherein one or a combination of the RF transceiving device and the interrogation means comprises a MEMS construction.
7. The method as claimed in claim 1 wherein the biological samples are chosen from one or more of sperm, embryo, eggs and gametes.
8. The method as claimed in claim 4 wherein the biological samples are chosen from one or more of sperm, embryo, eggs and gametes.
9. The method as claimed in claim 1 wherein the method further comprises the steps of: capturing data or information about one or a combination of; an individual operator handling the biological samples, including the qualifications of the operator, identity of a patient corresponding to the biological samples, laboratory process steps, including timing of process steps, the environment and environmental parameters including temperature, humidity, CO.sub.2 levels during the process steps, the operator's performance of the process steps, the location of biological samples, the lot numbers, batch numbers, expiry dates and other information about the materials and consumables used during the process steps, the equipment used, including their service, calibration and operational status, performing a comparison of the captured data or information with reference data; generating one or a combination of at least one confirmation, warning or alarm depending on the outcome of the comparison, and; capturing the generated confirmations, warnings or alarms to a separate record to be used for quality assurance and quality control auditing and training.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Further disclosure, objects, advantages and aspects of preferred and other embodiments of the present invention may be better understood by those skilled in the relevant art by reference to the following description of embodiments taken in conjunction with the accompanying drawings, which are given by way of illustration only, and thus are not limitative of the disclosure herein. In the drawings:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)
(33)
(34)
(35)
(36)
DETAILED DESCRIPTION
(37) System Description
(38) In accordance with preferred embodiments, the present invention provides an ART laboratory management system that addresses the following tabled laboratory functions with the associated features listed against each function as follows:
(39) TABLE-US-00001 Laboratory Function(s) Feature Witnessing Define Labels Cycle Prep/Patient Selection Matching/Witnessing Manual Witnessing Administration/ Logs And Reporting Management User Management Error Prevention Define Lab Processes Workflow Define Activities Management Workflow Tracking EMR connectivity EMR connectivity Workflow Cycle Progress Management - Lab Dashboard Management Cycle Progress Management - Handheld Cycle Progress Management - Desktop Consumable Consumable Lot Tracking Tracking & Checking LN.sub.2 management Customise mobile device LN.sub.2 tracking ID tracking Cryo-management location identification of patient
(40)
(41) In facilitating witnessing and a patient ID check a preferred protocol of embodiments provides for a check that multiple labels scanned as a group have matching patient ID's, prior to transferring samples between containers in a laboratory. Implementing this function needs minimal knowledge beyond the patient ID number encoded in the barcode itself.
(42) In facilitating error prevention a preferred protocol of embodiments defines high level process flows based on days, and grouping of containers under each day. Then it is preferred to check which days the scanned containers are under and warn the user if they are incompatible. In accordance with preferred embodiments central server connectivity with a user accessible interface via web and/or hand held device provide access to: Manage users Access and export logs and reports for quality checks and audits Generate and print labels & QR codes .csv import of patient details Generate billing reports Create, import or export system configurations
(43) A consumables check is provided by a protocol in which a consumable is scanned prior to use. Lot numbers are recorded and the expiry date is checked. The compatibility may also be checked e.g. compatibility of the media with the container type.
(44) Witnessing within cryo storage vessels may be provided by a scanning of barcodes on Cryo storage vessels such as Pods or Cryotops to provide electronic witnessing.
(45) Workflow management of daily laboratory process flows is provided by defining high level process flows and keeping track of and displaying the work required for each day.
(46) An EMR interface can be provided by an API with documentation enabling EMR access to embodiments of the invention to enable patient details entry, storage location update and process mapping.
(47) An error prevention protocol for checking process steps is created by defining only the steps in the lab that are deemed to be most critical, either because the consequence of a mistake is severe and/or errors are more common at that step. The lab manager would identify these critical steps and define details such as container types, quantity and sequence.
(48) An error prevention protocol for consumables in laboratory steps is created by checking that the number of dishes (of the same type) required for a particular step are all present. This may be dependent on the number of embryos and/or the type of transfer that is about to take place.
(49) Embodiments of the invention may be utilised to index the location of a sample as it is placed in a LN.sub.2 storage system (i.e. tank, level, canister, cassette/cane), and to help find the sample when removing it from the LN.sub.2 storage system.
(50) Embodiments of the invention may be utilised to eliminate the need for double-witnessing during LN.sub.2 steps, including both sample identification prior to exposing samples to room temperature and sample identification prior to transferring a sample to the next container type.
(51) By way of practical implementation of the above, as is illustrated in
(52) Each reader device 6 has at least “Unique ID” reading capability for reading any one of, or a combination of, 10 barcodes, 2D barcodes and RFID tags, using any one of, or a combination of, an infra-red scanner, a laser scanner, a camera with Optical Character Recognition (OCR), and an RFID reading. Each device 6 accordingly also comprises the relevant one or more of a scanner or scanners for the above technology, a camera for capturing images, a card reader (e.g. NFC smartcard or magnetic stripe card), a fingerprint scanner and an electronic signature capture pad.
(53) Preferably each device 6 has additional functionality which comprises any one of, or a combination of: Bluetooth, WiFi (or other) connectivity for linking to: sensors for embryo critical items (such as environmental monitoring, for example, temperature; humidity, volatile organic compounds (VOCs) and CO.sub.2); and Bluetooth LE (low energy) beacons; and other position location capability, such as by a global positioning capability (GPS, Glonass, Galileo) or local positioning system (LPS).
(54) Preferred forms for the sensors include the “Bluechiip™” MEMS (micro-electromechanical systems) sensors of Bluechiip Ltd. Such MEMS sensors preferably include temperature sensing functionality and are preferably embedded in disposables such as: vitrification/cryopreservation storage vessels/devices containing, for example, either sperm, embryos, oocytes or gametes during the process of vitrification/cryopreservation and subsequent storage; cassettes and other holders for the vitrification/cryopreservation devices; and Canes, Canisters and Dewar LN2 tanks or vessels Liquid nitrogen tanks culture dishes for oocytes, embryos and gametes.
(55) Advantageously, each Bluechiip™ smart chip contains Lorentz force resonators tuned to frequencies between about 1.3 MHz and about 4.1 MHz. The device may be passive, in that it does not require power but when the resonators are stimulated they return a signal that indicates the unique identification and temperature of each smart chip. The unique identification number is programmed during the manufacturing process and the tag is checked by an internal BCH error detection and correction code. Every time a smart chip is read, the instantaneous temperature is measured, time stamped and recorded. This allows a temperature history to be recorded to provide a more complete chain of custody. The smart chip will survive sterilisation by autoclaving or gamma irradiation with no degradation or loss of function.
(56) Preferred forms of the reading/scanning devices 6 include smartphone and tablet devices running Apple iOS, MS Windows and Android or the equivalent mobile device operating system. They preferably use touch-technology, having touch-screen user interface and navigation. The database server of the central computer receives input from connected devices such the hand-held devices, and produces output which is sent back to connected devices, for example, computers 8, to the reading/scanning devices 6, and/or to a label and report printer 7.
(57) As is described below, the database server of the central computer 2 receives input from the reading devices 6 during the course of the ART procedures, processes that input in accordance with algorithms within the database server, and sends output which has been produced by that processing to the reading devices 6. The database server of the central computer 2 may, on receipt of input from the devices 6, also send output to the label and report printer 7. Equally, the central computer 2 may receive input from connected PC's 8 and/or laptop/tablet devices in the same manner for processing and returning processed information.
(58) Preferred forms of the database connected to the database server include off-the-shelf patient management databases which have been modified to implement the functionality required by embodiments of the present invention and custom-built databases which have been specifically written to implement that functionality.
(59) A label and report printer 7 may produce labels which are to be attached to plastic-ware such as sample containers, tubes, dishes and the like, to patients' paperwork, and to patients' wrist-bands and the like.
(60) The management system of preferred embodiments may be tailored to an individual laboratory in essentially four steps: 1. Define labels by specifying the type, size and content of the labels needed for all cycles run by a given clinic; 2. Define print groups by creating groups of labels that will be printed for all cycles and activities run by the clinic; 3. Define cycle rules by specifying which labels must be scanned for every witness session or for a particular day of a cycle; 4. Define activity rules by specifying which labels must be scanned for an activity.
(61) An example of the steps to define labels and print groups is illustrated in
(62) Preferred forms of identification labels include adhesive-backed paper labels or the like and microelectromechanical (MEMS) devices. An example of a label in use is illustrated in
(63) Software embedded in the reader/scanning devices 6 control their interaction with external technology devices (which are not illustrated in
Description of Operation
(64) The system operates by capturing data during the ART cycle and generating messages to an operator as confirmation, warning or alarm of the correctness of some condition. In particular, the devices 6 have the in-built software and functionality to perform actions of capturing data, performing a comparison of that data with reference data, and generating a confirmation, warning or alarm depending on the outcome of that comparison as is described in more detail herein. Preferably the devices 6 have additional functionality to perform tasks which do not involve the performing of a comparison. It is accordingly preferred that the hand-held devices 6 perform any one of, or a combination of, the following processing: As is illustrated by way of example in the screen captures of
(65) As is illustrated by way of example in
(66) In the Active List: for a patient whose ART cycle has completed the processing for that day, the identifier of the patient is greyed-out or otherwise marked to indicate that processing for the process for that day has been completed.
(67) From the perspective of the user utilising a hand held device 6, a general laboratory overview can be gained as illustrated in
(68) Aspects of the operation of the hand-held devices are illustrated in the flow-charts of
(69) With reference to
(70) With reference to
(71) In a first case scenario, a first patient label is scanned/entered upon ‘START’ and progressing to the workflow options shown in
(72) In a second case scenario either the first patient label is scanned/entered or, at least one patient label has already been scanned/entered upon ‘START’ and unless the errors or oversights of
(73) In a third case scenario at least one patient label has already been scanned/entered and, where one of the four options of
(74) With reference to
(75) With reference to
(76) With reference to
(77) With reference to
(78) Timeout and lock out procedures for the hand held device 6 can be implemented in one of a number of ways that would be appreciated by the person skilled in the art.
(79)
(80)
(81) Sample Storage in LN.sub.2 for Vitrification/Cryopreservation and Sample Thawing
(82) As noted above the devices 6 of
(83) Furthermore, as noted above, preferred forms for the sensors include the “Bluechiip” MEMS (micro-electromechanical systems) sensors of Bluechiip Ltd. Such MEMS sensors preferably include temperature sensing functionality and are preferably embedded in disposables such as: vitrification/cryopreservation storage vessel/devices containing the sperm, embryo, eggs or gametes during the process of vitrification/cryopreservation and subsequent storage; cassettes and other holders for the vitrification/cryopreservation devices; and Canes, canisters and dewars for storing vitrification devices culture dishes for embryos/eggs and gametes.
(84) Accordingly embodiments of the invention provide for an automated vitrification process. In a particularly preferred embodiment that utilises the “Bluechiip” MEMS (micro-electromechanical systems) sensors of Bluechiip Ltd, a procedure is as follows. In accordance with embodiments described above, each step in the automated vitrification process involving labels and activities is defined. At stages in the process the system may use either a visual barcode/photo or a Bluechiip to identify the patient and store the information. References to the term ‘sled’ may be taken as the equivalent of the hand held device(s) 6 described above and herein.
(85) With reference to
(86) With respect to selection and thawing/warming of samples, devices used may comprise as would be appreciated by the person skilled in the art: Sled and MEMS reader; Bluechiip device in the Cassette; A barcode is on the label of the Cassette; Bluechiip and barcode is on the Cane; Bluechip is on the Canister; Bluechiip device is on the Tank; Bluechiip or barcode label is on Pod; A barcode is on the label of the Pod; Bluechiip or barcode label Straw and other vitrification devices such as Cryotop; This device/s for Embryo selection & Warming will: Read the Bluechiip ID and/or Read a barcode; Communicate with the Electronic Medical Record (EMR) management system; Eg. Communicate with the Sled; be able to read the Bluechiip device in the canister and cassette in the vertical plane in the storage system; Read the Bluechiip device on the Cassette and read the Bluechiip device or barcode label on the Pod in the horizontal plane within the Working station; Read the Bluechiip device or the a barcode of the Straw/Cryotop in the vertical plane within a LN2 transfer bucket; The device is required to read the barcode under LN2 and vapour conditions in the Working station prior to warming the pod;
(87) An exemplary Automated Vitrification Steps (procedures) are as follows: 1. Label and fill 2× Vitbase™ dishes Read Dish barcode/label communicate to the central computer 2 of the system. 2. Switch automated vitrification instrument on. 3. Select protocol 4. Load operating tray Identify the media used in protocol. communicate to the central computer 2 of the system. 5. Load cassette and pods 6. Label Cassette and pods Read Cassette Bluechiip & barcode Pod barcode/label communicate to the central computer 2 of the system 7. Retrieve embryo dish from incubation instrument. 8. Place incubation dish under microscope remove lid Confirm patient match with dish barcode/label communicate to central computer 2 of the system. 9. Load the embryo onto the pods Confirm patient match with dish barcode/label with pod barcode/bluechiip Read the cassette, pod and the patient dish communicate to the central computer 2 of the system. 10. Load Cassette into automated vitrification Instrument. 11. Start automated vitrification protocol. 12. Automated vitrification protocol processing. 13. Alarm sounds, open door and grasp cassette with tweezers. 14. Immediately dunk the cassette into the LN.sub.2 bucket. 15. Remove LN.sub.2 bucket from automated vitrification Instrument. 16. Transfer LN.sub.2 bucket to the storage area. 17. Transfer the Cassette to the storage device, double witness location. Confirm patient Scan Cassette Scan tank Scancanister communicate to the central computer 2 of the system. 18. Confirm run has finished. 19. Remove operating tray. Dispose of consumables. An exemplary Embryo Selection & Warming protocol—Steps are as follows: 1. Prepare and label embryo culture dishes Confirm patient match communicate to the central computer 2 of the system. 2. Label and prepare warming dish Confirm patient match Communicate to the central computer 2 of the system. 3. Prepare warming dishes and media 4. Retrieve Cassette from storage device, double witness location. Confirm patient Scan tank Scan canister Scan cassette Confirm patient match Communicate to the central computer 2 of the system. 5. Take LN.sub.2 transfer bucket containing cassette to the working station. 6. Place cassette in Working station vertically at side of stage. 7. Drag cassette onto stage in rear position. 8. Select pod and remove from cassette and place on magnetic holding position. 9. Double witness the Pod and the warming dishes. Confirm patient match-barcode communicate to the central computer 2 of the system. 10. Thaw embryo as per Gavi Thawing procedure 11. Thaw embryo transferred from warming dish to culture dish Confirm patient match-barcode communicate to the central computer 2 of the system. 12. Follow existing Lab protocols to continued culture and assessment of the embryo. 13. Repeat all steps for all remaining pods to be warmed.
(88) In accordance with a system workflow, the user will select the patient from the data base. Alternatively, the user may scan the barcode on a freeze sheet to bring up the patient on the database. Patient selection brings up another screen to show the details of the patient and the biological samples, as shown in
(89) As illustrated in
(90) Other advantageous features available in preferred embodiments in regards to LN.sub.2 tracking and the use of a Bluechiip device(s): Ability to track and measure temperature of embryos and gametes under extreme conditions such as under liquid nitrogen temperature below −196° C. Components of the reader comprise a mems reader and, a light which allows a user to view in the tank and, a locking mechanism which allows the user to read and pick up the patient sample at the same time. Indicator with light and noise to provide the user with a positive feedback when the correct samples has been located.
(91) The problem of having all these valuable samples being stored in LN.sub.2 tanks inter alia is managed presently using paper. Preferred embodiments of the present system overcomes this problem by having a centralised database which have the exact locations of all the samples at the patient and embryo/sample level. This is achieved by the samples being tagged using the Bluechiip technology every time it is moved in and out of the tank. As the LN.sub.2 tank, the canisters, and cassette, and pods are all Bluechiip tagged or barcode tagged the location of the samples are always known.
(92) Cassette Design
(93) With respect to sensing in a cassette, a Bluechiip device may be integrated with the cassette through the design of a small assembly 411 that clips (one way) into the end of the cassette as shown in
(94) With reference to
(95) In preferred embodiments, the system is broken into essentially 4 components, namely:
(96) The handheld device which may be a iphone/itouch which is connected to a cradle which has a barcode scanner, magnetic strip reader.
(97) The handheld device will have an witnessing app
(98) The handheld device connects wirelessly via wifi or Bluetooth and communicates with other appliances and devices
(99) The web-base application, which can be run on a pc. being Web-based allows the user to setup, print labels, monitor progress, track samples, track inventory, connect to EMR (electronic medical records)
(100) The large screen to display the process of each patient. Activities screen.
(101) The server which connects these components.
(102) From a functionality point of view the system comprises the following: User management Define labels Define lab processes Define activities Consumable lot tracking and consumable management EMR bi directional which allows the system to connect to Electronic medical records to be able to receive and send information Tracking of workflow and rules Logs and reporting Cycle progress management Desktop (This allows user to see patient overview and dashboard.) Handheld device matching Handheld manual witnessing Cycle progress management handheld (This allows the user to see the patient overview)
(103) From a technology point of view it is important to note the following that is brought into fruition by preferred embodiments: Concept of allowing the users to define the labels and allocate them into days of the sample developmental timeline Concept of assigning rules to each day which will warn user if a particular label is not scan on the day Define labels and in the definition having labels which could be one of many, i.e. in the event of a dish there is a label for the lid and dish, therefore both dish and lid needs to be scanned. Concept where it is possible to manage the workflow and actions of Embryologist, and prevent errors and missed steps Concept where it is possible to have the notion of time, that each process needs to be performed within a specific timeframe. That could be in days, or in the event of critical steps that could be predefined by the user. That is, where System and Database which will monitor and prevent an un-trained person from performing the tasks, he or she has been correctly trained to perform the task. System and Database which will monitor and to prevent the user from using consumables and media which are: Incorrect media Has expired Correct revision etc. A centralised activity display which allows embryologist/supervisor to immediately observe the process of all patients and warning when errors occur
(104) Witnessing and Tracking in LN.sub.2 using the bluechiip technology. Cryomanagement of samples and stocktake
(105) The Bluechiip™ technology will preferably be used for tracking embryos and gametes under extreme conditions such as under liquid nitrogen temperature below −196 degrees. Components include: Reader which consist of mems reader, light which allows to view in the tank, locking mechanism which allows the user to read and pick up the patient at the same time Bluechiip mems adapted for the automated vitrification cassette and patient canes Bluechiip mems adapted for the automated vitrification pods and the samples straws or other similar cryo storage vessels (e.g. Cryotop). Bluechiip mems adapted for the canister Bluechiip mems adapted for the LN.sub.2 tank (dewar) Ability to track sperm, gametes and embryos under LN.sub.2 and outside LN.sub.2 Combination of Mems chip and Barcode to track samples Mems identification allow user to track both the temperature of the sample to prevent damage and the sample identification The LN.sub.2 storage system consists of LN.sub.2 tank which is called a dewar. A dewar has the capability of storing 100s to 1000s of patient samples. A canister which sits inside the dewar depending on the size of the dewar there could be 6 canisters up to 100 s of canisters per dewar A cassette or cane, a cassette or cane holds multiple embryos or gamete sample of the same patient. Most canisters can hold up to 10s patients. Pod or straws, each cassette can hold up to 4 pods. Each cane can hold up to 10 straws. Each of the individual components as described above is tagged with an identifier. This identifier can either be bluechiip mems or barcode. Software database which allows each sample to be tracked as it is tagged into the location The reader when in contact with the mems tag will identified and present the temperature of the sample when it is in contact. A centralised database which will have the exact location of all samples in the Dewar tank. Current system is all on manual record and databases and in multiple location which makes it extremely difficult to locate a patient sample. Simple and faster software stock take system without needing to disrupt the samples. Current process a physical inspection of 10% of the patient samples.
(106) While this invention has been described in connection with specific embodiments thereof, it will be understood that it is capable of further modification(s). This application is intended to cover any variations uses or adaptations of the invention following in general, the principles of the invention and including such departures from the present disclosure as come within known or customary practice within the art to which the invention pertains and as may be applied to the essential features hereinbefore set forth.
(107) As the present invention may be embodied in several forms without departing from the spirit of the essential characteristics of the invention, it should be understood that the above described embodiments are not to limit the present invention unless otherwise specified, but rather should be construed broadly within the spirit and scope of the invention as defined in the appended claims. The described embodiments are to be considered in all respects as illustrative only and not restrictive.
(108) It should be noted that where the terms “server”, “secure server” or similar terms are used herein, a communication device is described that may be used in a communication system, unless the context otherwise requires, and should not be construed to limit the present invention to any particular communication device type. Thus, a communication device may include, without limitation, a bridge, router, bridge-router (router), switch, node, or other communication device, which may or may not be secure.
(109) It should also be noted that where a flowchart is used herein to demonstrate various aspects of the invention, it should not be construed to limit the present invention to any particular logic flow or logic implementation. The described logic may be partitioned into different logic blocks (e.g., programs, modules, functions, or subroutines) without changing the overall results or otherwise departing from the true scope of the invention. Often, logic elements may be added, modified, omitted, performed in a different order, or implemented using different logic constructs (e.g., logic gates, looping primitives, conditional logic, and other logic constructs) without changing the overall results or otherwise departing from the true scope of the invention.
(110) Various embodiments of the invention may be embodied in many different forms, including computer program logic for use with a processor (e.g., a microprocessor, microcontroller, digital signal processor, or general purpose computer and for that matter, any commercial processor may be used to implement the embodiments of the invention either as a single processor, serial or parallel set of processors in the system and, as such, examples of commercial processors include, but are not limited to Merced™, Pentium™, Pentium II™, Xeon™, Celeron™, Pentium Pro™, Efficeon™, Athlon™, AMD™ and the like), programmable logic for use with a programmable logic device (e.g., a Field Programmable Gate Array (FPGA) or other PLD), discrete components, integrated circuitry (e.g., an Application Specific Integrated Circuit (ASIC)), or any other means including any combination thereof. In an exemplary embodiment of the present invention, predominantly all of the communication between users and the server is implemented as a set of computer program instructions that is converted into a computer executable form, stored as such in a computer readable medium, and executed by a microprocessor under the control of an operating system.
(111) Computer program logic implementing all or part of the functionality where described herein may be embodied in various forms, including a source code form, a computer executable form, and various intermediate forms (e.g., forms generated by an assembler, compiler, linker, or locator). Source code may include a series of computer program instructions implemented in any of various programming languages (e.g., an object code, an assembly language, or a high-level language such as Fortran, C, C++, JAVA, or HTML. Moreover, there are hundreds of available computer languages that may be used to implement embodiments of the invention, among the more common being Ada; Algol; APL; awk; Basic; C; C++; Conol; Delphi; Eiffel; Euphoria; Forth; Fortran; HTML; Icon; Java; Javascript; Lisp; Logo; Mathematica; MatLab; Miranda; Modula-2; Oberon; Pascal; Perl; PL/I; Prolog; Python; Rexx; SAS; Scheme; sed; Simula; Smalltalk; Snobol; SQL; Visual Basic; Visual C++; Linux and XML.) for use with various operating systems or operating environments. The source code may define and use various data structures and communication messages. The source code may be in a computer executable form (e.g., via an interpreter), or the source code may be converted (e.g., via a translator, assembler, or compiler) into a computer executable form.
(112) The computer program may be fixed in any form (e.g., source code form, computer executable form, or an intermediate form) either permanently or transitorily in a tangible storage medium, such as a semiconductor memory device (e.g., a RAM, ROM, PROM, EEPROM, or Flash-Programmable RAM), a magnetic memory device (e.g., a diskette or fixed disk), an optical memory device (e.g., a CD-ROM or DVD-ROM), a PC card (e.g., PCMCIA card), or other memory device. The computer program may be fixed in any form in a signal that is transmittable to a computer using any of various communication technologies, including, but in no way limited to, analog technologies, digital technologies, optical technologies, wireless technologies (e.g., Bluetooth), networking technologies, and inter-networking technologies. The computer program may be distributed in any form as a removable storage medium with accompanying printed or electronic documentation (e.g., shrink wrapped software), preloaded with a computer system (e.g., on system ROM or fixed disk), or distributed from a server or electronic bulletin board over the communication system (e.g., the Internet or World Wide Web).
(113) Hardware logic (including programmable logic for use with a programmable logic device) implementing all or part of the functionality where described herein may be designed using traditional manual methods, or may be designed, captured, simulated, or documented electronically using various tools, such as Computer Aided Design (CAD), a hardware description language (e.g., VHDL or AHDL), or a PLD programming language (e.g., PALASM, ABEL, or CUPL). Hardware logic may also be incorporated into display screens for implementing embodiments of the invention and which may be segmented display screens, analogue display screens, digital display screens, CRTs, LED screens, Plasma screens, liquid crystal diode screen, and the like.
(114) Programmable logic may be fixed either permanently or transitorily in a tangible storage medium, such as a semiconductor memory device (e.g., a RAM, ROM, PROM, EEPROM, or Flash-Programmable RAM), a magnetic memory device (e.g., a diskette or fixed disk), an optical memory device (e.g., a CD-ROM or DVD-ROM), or other memory device. The programmable logic may be fixed in a signal that is transmittable to a computer using any of various communication technologies, including, but in no way limited to, analog technologies, digital technologies, optical technologies, wireless technologies (e.g., Bluetooth), networking technologies, and internetworking technologies. The programmable logic may be distributed as a removable storage medium with accompanying printed or electronic documentation (e.g., shrink wrapped software), preloaded with a computer system (e.g., on system ROM or fixed disk), or distributed from a server or electronic bulletin board over the communication system (e.g., the Internet or World Wide Web).
(115) “Comprises/comprising” and “includes/including” when used in this specification is taken to specify the presence of stated features, integers, steps or components but does not preclude the presence or addition of one or more other features, integers, steps, components or groups thereof. Thus, unless the context clearly requires otherwise, throughout the description and the claims, the words ‘comprise’, ‘comprising’, ‘includes’, ‘including’ and the like are to be construed in an inclusive sense as opposed to an exclusive or exhaustive sense; that is to say, in the sense of “including, but not limited to”.