Software Based System for Control of Devices
A control system includes a plurality of audio/video and environmental devices, a server and a client system. Each one of said plurality of audio/video devices receives or sends an audio/video signal. The server is connected to each one of said plurality of audio/video devices and is configured to controllably receive and send audio/video signals to and from the plurality of audio/video devices. The server is connected to each one of said plurality of environmental devices and is configured to controllably operate the environmental devices. The client system is interoperable with the server and with a user of the client system through a user interface. At least one medical device may also be connected to communicate with said server. The user can control the plurality of audio/video and environmental devices through the client system and the server, and receive the audio/video signal outputted from any one of the plurality of audio/video and environmental devices.
This application is a continuation of U.S. application Ser. No. 13/111,646, which is incorporated in its entirety herein by reference.
FIELD OF THE INVENTIONThe invention relates to a system for control of devices. More particularly, the invention relates to a software based system for control of networked devices in a medical environment.
BACKGROUNDGeneral purpose control systems for devices are commercially available from multiple sources, such as from Crestron Electronics, Inc. of Rockleigh, N.J. Such systems typically have a main or “master” controller that may be independent or integrated with a device such as Adagio Audio that serves as the control processor. The control processor is loaded with code using logic symbols defining how each device will be used. Devices may be placed into the system and specify which control port those devices are connected to and default options for that device. The devices are controlled by the central controller via their communication interfaces
Conventional general purpose control systems may be adapted for a variety of environments, such as educational and medical environments. A modern medical environment, particularly an operating room or other surgical environment, may have multiple different devices, including environmental, audio-visual (AV) devices and particular medical devices that are desired without any consideration of the environment control system. While some devices such as lighting device might be considered standard, in some medical environments there may be an uncompromising insistence on using particular medical devices, and a control system has to be able to adapt to such medical devices.
Environmental devices include devices such as room lights and room cameras. AV devices include devices such as displays and display panels, CD (Compact Disc) players, DVD (Digital Versatile Disc) recorders, VTRs (Video Tape Recorder) and reference image storage servers. Medical devices include devices such as ultrasound equipment, laparoscopes, x-ray machines, laser scalpels, surgical lights, medical navigation devices and endoscopes. Some medical devices, such as endoscopes, provide video or image signals. The devices in a medical environment can be interconnected in a network and have the same communication interface (or at least operate according to the same communication protocol). Examples of such medical environments are discussed in U.S. Patent Application Publication Nos. 2005/0128184 and 2005/0284491.
However, unlike other environments, there are several problems associated with the control system for devices in a medical environment. Since the medical procedures cannot be adversely affected by a device or system failure, the network and control system tends to be limited in functionality and convenience when compared to other environments. Medical environments are not the same and each one will differ in the configuration of devices, and configuration of the control system for an individual unique medical environment presents special considerations. Even the same medical environment can be different over time as medical devices or other devices are removed or added to the environment.
Conventionally, the control system for an individual medical environment is unique and the software utilized in the control system is custom built and installed. When a device is added to the environment, the custom built software has to be recompiled. These limitations implicate practical limitations on the control systems for medical environments. The systems cannot be set up by medical personnel and must be set up by a person having knowledge of the programming language.
Some control systems have associated software programs that enable some steps in the automation of controlled devices to be automatically generated. For example, once a device has been dragged into the configuration in Crestron's Systembuilder programming platform, the programmer can use automatically generated templates or can manually create page design layouts with VTPro e (Crestron's touch panel design interface). After the code has been complied and loaded onto the “control system” it cannot be retrieved to edit or change and can only be changed by a person with a copy of the original program. They cannot be viewed or changed by the end user.
In a Crestron system, only an external PC loaded with either SIMPL Windows software or the Systembuilder program can change the way the system functions and, as mentioned above, the program loaded onto the system would be required. The end user may change only items such as saving pre-sets or timers. If a piece of equipment needs to be changed a certified developer would be required to make changes to the program, recompile and upload to the control processor. This also applies to the layout and naming of buttons on Touch Panels which need to be modified via Systembuilder or VTPro e. In a Creston environment there is no device native to the system that can by an end user edit any part of the operation of the program or the visual aesthetics of any touch panel connected to the system.
Both Systembuilder and SIMPL Windows rely on an external program (VTPro e) to create Touch Panel pages and then use digital links (joins) in order to associate the program to the Touch Panel buttons. Systembuilder is capable of creating some of these links automatically however again this cannot be accessed through the control system itself or by an end user. The Programmer can select a theme for the Touch Panels which will define colours and button attributes and this theme and all pages for control need to be uploaded to each Touch Panel or Panel Processor. Again once this has been loaded it cannot be changed by the user and cannot be extracted from the system.
BRIEF SUMMARY OF THE PREFERRED EMBODIMENTSThe preferred embodiments of the invention include a control system with audio/video devices, a server and a client system. Each one of the audio/video devices receives or sends an audio/video signal. The server is connected to each one of the audio/video devices and is configured to controllably receive and send audio/video signals to and from the audio/video devices. The client system is interoperable with the server and with a user of the client system through a user interface. At least one medical device may also be connected to communicate with the server. The user can control the audio/video devices through the client system and the server, and receive the audio/video signal outputted from any one of the audio/video devices and the medical device at the client system.
For a more complete understanding and appreciation of the preferred embodiments of the invention, and its many advantages, reference will be made to the following detailed description of the preferred embodiments taken in conjunction with the accompanying drawings.
Several preferred embodiments of the invention will now be described with reference to the attached drawings. It will be understood that the preferred embodiments are exemplary, non-limiting, embodiments which can be varied in some respects and still be within the scope of the invention. For example, although the preferred embodiments utilize a specific distributed client server model as discussed herein, different models can be utilized as well. And although a specific portable configuration file is defined in the preferred embodiments, different configuration files can be utilized as well.
The embodiments of the invention may take form in various components and arrangements of components, and in various steps and arrangements of steps. The drawings are only for the purposes of illustrating a preferred embodiment and are not to be construed as limiting the invention. Portions of the preferred embodiments can generally be interchanged with corresponding substitute portions whether currently existing or hereafter developed without deviating from the invention.
An exemplary surgical environment is shown in
Server 300 may also be connected to a hospital network 600 used within the facility for a variety of purposes, including for example, device communications, user authentication, diagnostics, and media streaming. The network communications between server 300 and other devices on hospital network 600 are preferably bi-directional communications over an IP network.
Various devices may be located in each operating room 100, such as a room light, room camera, controllable surgical table, display device (LCD, PDP), CD player. DVD recorder, VTR, and reference image storage servers. These devices are connected to server 300 and are controlled by a client system which is also connected to server 300. The connection configuration and the internal configuration of the operating room is preferably as follows.
Environmental devices 110-1 and 110-2 control illumination, temperature, humidity, air flow and other environmental conditions in operating rooms 100-1 and 100-2, respectively.
Operating rooms 100-1 and 100-2 include a respective plurality of AV devices 120-1 and 120-2. Any device that has audio and/or video inputs or outputs is considered an AV device. These AV devices may include one or more cameras, which may monitor portions of the operating room, such as an operating table, recorders, printers, audio microphones and amplifiers, speakers, etc. Although the AV devices are generally described as being controllable through the control system, any particular AV device need not be controllable through the control system. One or more of the medical devices 130-1 and 130-2 may provide a video signal or image signal to server 300 as well. Thus, some medical devices will also be considered an AV device.
The server 300 is a computer with enhanced input/output of data and can control the received audio and video signals on one or more client systems 140. Each client system 140 is a computing device with a human user interface that allows the user to operate the control system. The computing device can be, for example, a desktop computer, all-in-one computer, tablet or handheld device. Preferably, the client system 140 has a touch screen with a graphical user interface. Multiple client systems can be used to access central server 300 and have control of any device within the specified area or existing network that is controllable by server 300. The client/server communications between server 300 and client systems 140 are bi-directional communications over an IP network.
Server 300 also includes and/or has associated therewith one or more storage devices (not shown) to store the received audio, image and video signals. There may also be a printer controlled by the server 300 to print out images or other information. The server 300 is controlled by one of the client systems to perform communication of the data such as image files as to other operating rooms or conference rooms within the hospital, or to store the data from the acquired image files and so forth.
The AV devices may include a display device such as an LCD or PDP, a room light, room camera, ceiling camera, image storage device, peripheral apparatus such as a DVD recorder or CD player or printer, a video-conferencing system, and an ordering device. The image storage device may stores patient image files. These AV devices are controlled by being connected to the server 300. The server 300 is connected to client systems 140, which can be operated through a touch panel graphical user interface (GUI) to set and control the AV devices as desired. The client system can control the devices in any number of ways, such as by turning them on or off. For a light, the client system can increase or decrease the illumination, etc.
The server 300 has internal, external or removable memory (not shown) which stores the data relating to the connected AV devices, control commands, setting values, and so forth. The server 300 may also store a plurality of default settings that may be used to control the devices respectively for a particular surgeon, medical personnel, procedure or other preference. When one of the default settings is selected at a client system, the selection is transmitted to the server 300. The server 300 initiates the default setting, selects the affected devices, and sets the desired control commands and setting values for the affected devices. Thus, the operating room 100-1 or 100-2 can be easily prepared and automatically set for a particular surgeon, medical personnel, procedure or other preference at any one of the client systems. In addition to audio/video signals from AV devices, the server 300 can preferably receive control commands from at least some of the devices when control, buttons or switches on the devices are operated.
If the client system 140 utilizes a Windows® operating system, then the preferred software components for the presentation layer include Windows form controls, sockets/network communications and a touch screen driver (not shown in
The server side of the model includes a business layer 310 and a data layer 320. The business layer 310 is entirely responsible for deciding if an action can be completed, how to complete it, and then ensuring any connected client system 140 has their interface reflect this. The business layer 310 is also responsible for receiving messages from the client systems 140, validating them, attempting to process the action if it's valid, and then updating the client system(s) 140 as needed.
The business layer 310 consists of several major sections of logic, monitoring and management. Each section preferably handles errors as early as possible such that application exceptions are not propagated up to different areas of the application and logs any errors that might occur so that any bugs or otherwise undesired behavior can be easily identified by anyone examining the log.
Access control 311 provides user authentication and permissions for operation of the system to keep the control system secure. It keeps track of what client system 140 each user interface is loaded on and will bind that version of the user interface to that client system. Medical device logic 312 provides the specific command and control communication logic for each controllable device. It communicates with the medical devices 130 and ensuring there is a synchronous representation of the physical devices. The medical device logic 312 accurately reflects the control system as it is connected, the capabilities of the control system, and overrides any extra logic that is device-specific such that different devices still adhere to the expected logical flow. The medical device logic 312 handles errors that may occur in the physical devices and ensures that the control system will not be compromised because of a single minor failure for a device.
Workflow logic 313 provides the business logic that defines the operation of the control system. It consists of the high-level logic for the server application. It validates actions and handles errors at the highest level, and ensures proper communication between the client systems 140 and server 300. The workflow logic 313 also receives commands, validates that the commands are possible based on the state of the control system and then issues the command to medical device logic 312 for it to execute. The workflow logic 313 then handles the result of the executed command. Presentation logic 314 defines the graphical representation of the human interface in client systems 140. It keeps track of what the user has done on the client system 140 (i.e., selection of devices) and gathers enough information to give to the client system 140 so that it can reflect the state of the control system as accurately as possible. The presentation logic 314 remains synchronized with the presentation layer of the client system 140 so that sufficient information is provided and messages can be parsed effectively for gathering the required information.
Status monitoring 315 handles error logic, error reporting and monitors the control systems' health. It ensures any tracing or error messages are accurately noted in the control system's log. The logging process preferably ensures that any message requested to be logged is in fact written to the log, regardless of system “hiccups” or other potential errors. Configuration management 316 handles the reading and parsing of configurations as well as saving and restoring presets. It has knowledge of the control system as a whole including a collection of the devices 110, 120 and 130 and has routing abilities from a system perspective (as opposed to a device-to-device perspective). Configuration management 316 completes actions that are not specific to device type or individual specific devices, but rather operations that are universal to all devices (i.e. establishing communications and initializing all devices).
Data access layer 320 provides IO operations and preserves persistence between application restarts. It represents all of the medical devices 130 which are controllable by server 300 and includes the basic ability to send a command and receive a response from each medical device 130. There are also more advanced IO operations such as writing to ports and sockets to communicate information to and from medical devices 130. Preferably, data access layer 320 uses the serial port and Socket objects included as part of the .Net framework.
All of the configuration information for the control system is stored in configuration files 321 in data layer 310. Preferably, configuration files 321 are in XML format, and store preset default information as well as the configuration information. The physical layout of the control system is saved in a virtual manner. This can be done through basic input/output (I/O) operations to read and write an XML or other structured data file, such as a database. The configuration files 321 also provide the basis for how the control system behaves, so XML parsing must be error-free to ensure that the configuration files are loaded exactly as it is described in the file. Configuration management 316 in business layer 310 manages the communications and interaction with the configuration files 321.
Current state 322 includes configuration files that hold the current settings of the control system's predetermined states, stored presets and default state. Basic IO operations to read and write XML files are provided so that the current state of the devices can be stored and later retrieved. The current state of devices includes everything that can be changed via a client system 140. Users are preferably able to restart both the client system 140 and the server 300 and have the control system accurately restore itself. This also encompasses the ability to save device states to presets such that a user can restore these at a later time and have the system accurately reflect what is stored in the file.
The client system 140 or server 300 can utilize an operating system other than Windows®, such as Unix or any of its variants (Linux®, Solaris®, HP-UX®, OS-X® or Android®). Then different preferred software components will be used throughout.
In a method according to a preferred embodiment of the invention, a control system for devices in a medical environment is designed and deployed with the assistance of a graphical configuration program on a computer that is separate from the control system shown in
In the first step 310 of the method, the user determines and identifies the devices that will be used in the control system. Preferably, this is done in a graphical configuration interface 400 such as that shown in
In the next step 320, the user creates graphical interconnections of audio, video and control pathways within the design area 402 to represent a virtual connection. From the design area the user makes connections by selecting the source port (e.g., camera video out) and then the destination port (e.g., switch video in). These virtual connections are saved to a configuration file 321.
The squares on the left hand side define the inputs of the device. The right hand side defines the outputs of the device. Solid squares indicate a completed connection while unfilled squares indicate no connection. A device can have both audio and video connections. Preferably, squares are made one color to represent video inputs and outputs and a different color to represent audio inputs and outputs. Preferably, information about a connection is displayed by hovering a cursor over a connected or disconnected input or output.
At step 330, the user then configures individual devices and makes system settings. The user sets the initialization parameters of each device, preferably by double clicking the device icon on the graphical user interface. Various parameters such as icon type, icon name, and control type, etc. can be set. Once completed, the user saves the settings in a configuration file, which is preferably an xml (extended markup language) file. If for any reason, the user wants to make changes after the initial setup, they can reopen and modify the existing configuration. Preferably, the graphical configuration interface 400 includes a menu strip 403 that provides easy access to functions such as saving and loading configurations, and making settings for the current configuration.
At step 340, the user transfers the settings configuration file and loads it to a predefined directory on the server 300 of the control system. When the control system is turned on and powers up, it runs a control application, which reads the configuration file and dynamically generates a custom user interface on client systems 140. The end user preferably uses a touch screen monitor to access this user interface and control devices in the control system. At step 350, it is checked to make sure that all the connections in the configuration are correct. If they are correct, then the process ends. If the connections are not correct, then the method starts back at the beginning of creating the configuration in step 310.
The control system enables any user to easily control and manage the devices in the medical environment from one of the client systems 140. The available functions preferably include video routing from any source device to any destination device, previewing selected sources on-screen, adjusting image settings for video sources, changing multi-picture (including but not limited to picture-in-picture, picture-by-picture, and quad-picture) capabilities on supported displays, controlling camera settings such as panning, tilting, zooming, and focusing with presets available, operating medical-grade video recorders, selecting and listening to audio, and video conference calls.
An exemplary and preferred touch screen interface 700 for use in client systems 140 is shown in
Areas 703 and 704 allow selection of devices. When routing video, area 703 defines the monitor that is the destination of the video and area 704 defines the source of the video. Functional controls are located in the center area 705. These controls allow the manipulation of selected devices in the control system. Area 706 at the bottom of the screen is a report area where system messages can be displayed.
Finally,
This invention has been described and illustrated with reference to several preferred embodiments. However, the preferred embodiments are not limited to medical environments and may be used with, for example, educational, industrial or judicial environments. While the foregoing preferred embodiments of the invention have been described and illustrated in some detail for purposes of clarity and understanding, it will be appreciated by one skilled in the art, from a reading of the disclosure that various changes in form and detail can be made upon reading and understanding the preceding specification and the drawings without departing from the scope of the invention. It is intended that the invention be construed as including all such changes insofar as they come within the scope of the appended claims or the equivalents of these claims.
Claims
1. A method of selecting an audio/video device from a network of connected audio/video devices for a client system in a medical environment control system comprising:
- providing a user with a client system incorporating a plurality of audio/video devices that are inputs, each input is able to receive an audio/video signal, the client system having a plurality of audio/video devices that are outputs, each output is able to send an audio/video signal, wherein a server comprises a data access layer that comprises configuration files;
- providing a user interface having a device list area and a design area;
- configuring said medical environment control system by receiving user input dragging audio/video devices from the device list area and dropping the audio/video devices into the design area;
- displaying information about a connection upon receiving a hovering user input over an input or output;
- creating a configuration file that identifies which inputs are connected to which outputs, the server interoperable with each of the inputs and each of the outputs;
- loading the configuration file onto said server that is separate from said client system,
- identifying the availability of each of the inputs and outputs through said server based on one of said configuration files;
- sending a list of the identified available inputs from said configuration files to the client system;
- displaying a plurality of selectable input tabs, each input tab corresponding to a type of input;
- after receiving a user selection of an input tab, displaying selectable inputs corresponding to said selected input tab;
- receiving a selection of one of said identified available inputs;
- displaying through the user interface all corresponding available outputs in relation to the selected input, wherein said corresponding available outputs depend upon the input selected and are immediately selectable on the same interface screen once an input has been selected; and
- receiving through the user interface a selection of one of said corresponding available outputs, wherein a signal is then routed from said selected output to said selected input; and
- displaying within said selected input tab corresponding inputs, corresponding outputs, and controls for a selected input or output or both, each being immediately selectable by a single user input.
2. The method according to claim 1 wherein the user interface permits the user to make settings for the control system.
3. The method according to claim 1 wherein:
- the user interface permits a plurality of configurations to be created, saved and modified.
4. The method of selecting an audio/video device from a network of connected audio/video devices of claim 1 wherein the configuration file is a customized XML file.
5. The method of selecting an audio/video device from a network of connected audio/video devices of claim 1 further comprising:
- displaying through a graphical configuration interface each input and each output for the user to select, the graphical configuration interface is on the client system;
- generating a configuration file in the following steps: having the user select one input displayed through the graphical configuration interface: having the user select one output displayed through the graphical configuration interface; having the user connect the one input to the one output; and recording all of the user's selected connections of inputs to outputs.
6. The method of selecting an audio/video device from a network of connected audio/video devices of claim 1 wherein:
- the user interface has a design area; and
- the user interface permits a plurality of audio/video devices to be created by drawing virtual connections between audio/video devices in the design area of the user interface.
7. The method of selecting an audio/video device from a network of connected audio/video devices of claim 1 further comprising instructing the client system to route an audio/video signal from the selected input to the selected output.
8. The method of selecting an audio/video device from a network of connected audio/video devices of claim 1 further comprising the user options through the user interface include controlling the selected output through the user interface.
9. The method of configuring a medical environment control system of claim 1 wherein: said device controls include a video preview window within said selected input tab.
10. A medical environment control system comprising:
- a plurality of audio/video devices that are inputs, each configured to receive an audio/video signal;
- a plurality of audio/video devices that are outputs, each configured to send an audio/video signal;
- a server interoperable with each input and each output, said server configured to receive audio/video signals from each output, said server configured to send audio/video signals to each input, said server comprising a data access layer that comprises configuration files;
- a client having a processor, memory, and a user interface in a graphical configuration program;
- said client receives user input dragging audio/video devices from a device list area and dropping said audio/video devices into a design area;
- said client identifies the availability of each input and output through said server and determines which output is connected to which input through said server;
- said user interface displays a plurality of selectable input tabs, each input tab corresponding to a type of input;
- after receiving a user selection of an input tab, said user interface displays selectable inputs corresponding to said selected input tab;
- based on the selected input, said user interface displays all connected outputs to said selected input;
- said user interface receives a selection of one said connected output and routes the audio/video signal from said selected output to said selected input through said server;
- said user interface displays routed connection information upon receiving a hovering user input over an input or output and corresponding device configuration selections and system settings selections;
- said client receives, for each audio/video signal, a user-selected input and a user-selected output and corresponding device configuration selections and system settings selections;
- said server saves, to one of said configuration files, all selected inputs, all selected outputs, and all user-specified device configurations;
- an executable setup program maps all user-selected inputs and all user-selected outputs;
- said client receives user input that generates a control application different from said graphical configuration program;
- said control application generates a custom user interface on said client based on all selected inputs, all selected outputs, and all user-specified device configurations; and
- said user interface displays within said selected input tab corresponding inputs, corresponding outputs, and controls for a selected input or output or both, each being immediately selectable by a single user input.
11. The medical environment control system according to claim 10 wherein said server communicates with at least one of the inputs over a different network connection than it communicates with said at least one client.
12. The medical environment control system according to claim 10 wherein said client comprises a plurality of clients and each of said plurality of clients is at a different location.
13. The medical environment control system according to claim 10 wherein:
- said server comprises a business layer and a data access layer; and
- said business layer includes configuration management of said configuration files.
14. The medical environment control system of claim 10 wherein said user interface allows the user to control said selected input from said selected output by displaying a plurality of selectable input tabs, each input tab corresponding to a type of input;
- after receiving a user selection of an input tab, displaying selectable inputs corresponding to said selected input tab;
- displaying all corresponding available outputs in relation to the selected input, wherein said corresponding available outputs depend upon the input selected and are immediately selectable on the same interface screen once an input has been selected;
- receiving a selection of one of said identified available inputs;
- displaying all corresponding available outputs in relation to the selected input, wherein said corresponding available outputs depend upon the input selected; and
- displaying within said selected input tab corresponding inputs, corresponding outputs, and controls for a selected input or output or both, each being immediately selectable by a single user input.
15. The medical environment control system of claim 10 wherein:
- said user interface allows the user to control said one said connected input from said one output by displaying all corresponding available outputs in relation to the selected input, wherein said corresponding available outputs depend upon the input selected and are immediately selectable on the same interface screen once an input has been selected, the user selection being accomplished through one of a point and click, double click, drag and drop, or touch.
16. The medical environment control system of claim 10 wherein said user interface permits the user to instruct said client to route the audio/video signal from said one output to said selected input through said server.
17. The medical environment control system of claim 10 wherein said user interface displays all available outputs and all available inputs through a single window on said user interface.
18. The medical environment control system according to claim 10, wherein said server receives said settings configuration file into a directory specified by the user.
19. The medical environment control system of claim 10 wherein:
- said client comprises a plurality of clients;
- each of said plurality of clients is located in different locations; and
- each of said plurality of clients is interoperable with each output and each input through said server.
20. A medical environment control system comprising:
- a plurality of audio/video devices that are inputs, each configured to receive an audio/video signal;
- a plurality of audio/video devices that are outputs, each configured to send an audio/video signal;
- a server interoperable with each input and each output, said server configured to receive audio/video signals from each output, said server configured to send audio/video signals to each input, said server comprising a data access layer that comprises configuration files;
- a client having a processor, memory, and a user interface in a graphical configuration program;
- said user interface displays a device list area and a design area;
- said client receives user input dragging audio/video devices from said device list area and dropping said audio/video devices into said design area;
- said client identifies the availability of each input and each output and determines which output is connected to which input;
- said user interface displays available inputs and receives a selection of one available input;
- based on the selected input, said user interface displays outputs connected to said selected input and receives a selection of one connected output;
- said user interface instructs said client to route the audio/video signal from said selected output to said selected input;
- said client receives, for each audio/video signal, a user-selected input and a user-selected output;
- said client receives, in response to each audio/video device being selected as an input and each audio/video device being selected as an output, device configuration selections and system settings selections;
- said server saves, to one of said configuration files, all selected inputs, all selected outputs, and all user-specified device configurations;
- said server maps all audio/video devices that are inputs and audio/video devices that are outputs and incorporates all user-selected inputs and all user-selected outputs;
- said client receives user input that generates a control application different from said graphical configuration program; and
- said control application dynamically generates a custom user interface on said client based on all selected inputs, all selected outputs, and all user-specified device configurations.
Type: Application
Filed: Oct 31, 2014
Publication Date: Feb 26, 2015
Inventors: Dave Stinson (Uxbridge), Gary Schissler (Port Perry)
Application Number: 14/529,621
International Classification: H04L 29/08 (20060101); G06F 3/0482 (20060101); G06F 3/0488 (20060101); G06F 3/0484 (20060101); G06F 3/0486 (20060101); H04L 29/06 (20060101); G06F 3/0483 (20060101);