The present invention relates generally to processing transactions and managing devices and, more particularly, to transmission of sensitive data such as in electronic payment transactions.
Electronic payment transactions are ubiquitous. A consumer engages in such transactions in wide variety of environments, such as, self-service kiosks, operator-attended workstations, call-centers, and others. Payment can be initiated via credit card, debit card, check, among others. Various payment devices can be use to process payment.
Given the inherit risk of fraud with such transactions, a Payment Card Industry Security Standards Council (“PCI Council’), was formed by major players of the credit card industry. The PCI Council sets forth industry standards for data security standards known as the Payment Card Industry Data Security Standard (PCI DSS) and the Payment Card Industry PIN Transaction Security/Point of Interaction (PCI PTS/POI). These standards include multiple requirements and directives for those who process electronic transactions, particularly in which sensitive data is accessed and maintained and for the devices used in those transactions.
With reference now to
Upon successful capture of payer 418 data, devices 406, 407, 408 format a message 409, 411, 413 and send said message to workstation 403. Upon receipt, workstation 403 processes the transaction and sends authorization request message 415 through network 402 to payment processor 401.
In a typical embodiment, the workstation 403, software 404 and 405, and network 402 process “sensitive data” that is captured during the transaction such as cardholder data used to complete a payment. Said data may be acquired without encryption. In some embodiments, sensitive data is encrypted by the application 404 in the workstation 403 before transmitting message 415 to network 402. Alternatively, data may be encrypted by the device 406, 407, 408.
Payment processor 401 receives the message 415, validates the data contents, determines the type of message, and processes the authorization request. Payment processor 401 formats a response 416 to message 415 and sends said response message through network 402 to workstation 403. Workstation 403 displays a message to the operator 417 and sends a completion message 410, 412, 414 to any of devices 406, 407, 408.
Peripheral payment devices with communications capability are generally connected to a workstation such as a point of sale (POS) system or personal computer via a USB, RS-232, RS485 or other wired connection. A workstation operator controls the flow of the transaction and hence, operation of the peripheral devices. Additionally, where the payment devices are installed in a self-service system such as a self-checkout, vending or payment kiosk, the peripheral devices are controlled by software in the self-checkout system, vending machine or kiosk and in some embodiments a local server in response to customer actions. Typically, peripheral devices are physically attached to and communicatively part of the local workstation configuration, which sends control commands to and receives data from the peripheral devices. While some devices are capable of running an application, the great majority operate in command/response mode.
Payment system software is responsible for managing transaction flow, which can typically involve several interdependent operations. Further, payment system software is responsible for communicating through a local network and so to a remote server for purposes of validating data and authorizing the transaction. Given that “sensitive data” passes through the payment system, its software and the network, the payment system, software, and network are in scope for security audits.
Payment system software is a popular point of attack for persons trying to acquire sensitive data or damage information systems. When the payment system and network architecture include general-purpose computers, the vulnerabilities of these computers increase the risk and provide attackers ongoing opportunities. Successful attacks have been mounted against such systems.
Where peripheral devices are connected to a local workstation, it is difficult to manage the devices, update their software, forms and other digital assets stored on the devices. It is common for device vendors to use proprietary operating systems, firmware and applications in their devices. This then gives vendors control over the software architecture. Companies, such as retailers that deploy the peripherals cannot maintain the devices on-site. Often the devices must be returned to an authorized repair center or the manufacturer in order to be upgraded. While there are remote device management systems, they require significant changes to the companies' infrastructure and can be costly. Each manufacturer's system is unique. Manufacturers' device management systems are not compatible and may be mutually exclusive. So users of multiple manufacturers' products would have to support two or more systems or select one system leaving some devices unmanaged. Further, if the company changes devices, the new devices may not be compatible with the existing maintenance system. Since device turnover occurs on a 3 to 5 year basis, it is disruptive and costly to the company.
Changes to the payment system software such as operating system patches, may “break” the maintenance system. Application changes intended to meet industry compliance rules are an annual event. Upgrades, feature enhancements, and patches are commonly released on a quarterly schedule. Overall, the burden and cost is so high that the great many of companies decline to use a maintenance system and may forego important software upgrades such as security patches. This makes their payment systems, networks, and devices vulnerable to security weaknesses. There is a need for device maintenance that is vendor agnostic and removes the burden of security and software maintenance. That is, a system that can work with the plurality of different devices from different manufacturers and be remotely managed and upgraded.
Device authentication is also challenging in particular when the devices, workstations and communications means vary across the installed population. There have been several successful attacks in which compromised devices were installed by attackers posing as POS support engineers and subsequently used by unsuspecting consumers. Because workstations generally have no means of ensuring authenticity and integrity or correct operational status for the deployed devices, they cannot determine if the devices are legitimate, up-to-date, or even supposed to be installed. The Payments Security Standards Council has released requirements for all devices to be authenticated and tracked by location. It is not reasonable to manually authenticate many hundreds of devices in dozens of locations. There is a need or remote device authentication and tracking.
Where end user companies maintain their own communications portal for payment transactions, the systems are subject to attack. Several successful security breaches have leveraged retailers' networks as pathways to their payment infrastructure. A typical attack vector finds access to a company server through a poorly secured connection such as used for remote software troubleshooting and maintenance. The access point may be used by outside vendors and/or company personnel. Once in the company's internal network, the attacker finds a path to systems that process sensitive data. Since internal systems are considered trusted, the attacker can use the point of entry to search for data and applications that can be compromised. Thus, it remains challenging for companies to maintain security on their payments infrastructure and networks while enabling access for legitimate purposes.
It should therefore be appreciated that there remains a need for an alternative approach to electronic transactions that addresses these concerns.
Briefly, and in general terms, the present invention provides an apparatus and related method for managing of peripheral devices and communication for transmission of sensitive data, such as, payment transactions in a manner that satisfies security concerns while minimizing maintenance of systems that process sensitive data, which can be achieved by reducing or eliminating direct connections from internal networks to workstations and devices, and using a dedicated secure communications link for updates and processing of all sensitive data. In this manner, the system and related method facilitates device maintenance, reduces maintenance overhead and risk of system compromise.
More specifically, in an exemplary embodiment, a device communication management (DCM) apparatus is provided having a first and a second communication ports, a controller, and a non-transitory storage medium containing a set of instructions, to receive an electronic transaction request (such as a payment request) through the first communication port; responsive to the electronic transaction request, format a transaction data capture request; transmit the transaction data capture request through the second communication port; receive transaction data through the second communication port, such that the transaction data is isolated from the first communication port; encrypt a transaction processing request in which the transaction processing request is based on the transaction data; transmit the encrypted transaction processing request through the network communication port; and responsive to a reply to the transaction processing request, transmit a transaction status message through the first communication port.
In a detailed aspect of an exemplary embodiment, the DCM apparatus further comprises a housing that retains the first communication port, the second communication port, the network communication port, the controller, and the non-transitory storage medium.
In another detailed aspect of an exemplary embodiment, the first communication port is in operative communication with a workstation. The second communication port is in operative communication with a peripheral device. The network communication port is in operative communication with a remote server, wherein the set of instructions isolates transaction data from the workstation.
More specifically, in another exemplary embodiment, a method managing device communications includes (a) receiving an update file through the network communication port from the remote server; (b) responsive to the update file, formatting an update message for either a peripheral device or a workstation, in which the first communication port is in operative communication with the workstation and the second communication port is in operative communication with the peripheral device; (c) transmitting the update message to the device through either the first communication port or the second communication, to which the device is connected; (d) receiving an acknowledgement from the device through either the first communication port or the second communication, to which the device is connected; (e) formatting and encrypting a confirmation message; (f) transmitting the encrypted confirmation message through the network communication port to the remote server; and (g) receive an acknowledgement response through the network communication port from the remote server.
For purposes of summarizing the invention and the advantages achieved over the prior art, certain advantages of the invention have been described herein. Of course, it is to be understood that not necessarily all such advantages may be achieved in accordance with any particular embodiment of the invention. Thus, for example, those skilled in the art will recognize that the invention may be embodied or carried out in a manner that achieves or optimizes one advantage or group of advantages as taught herein without necessarily achieving other advantages as may be taught or suggested herein.
All of these embodiments are intended to be within the scope of the invention herein disclosed. These and other embodiments of the present invention will become readily apparent to those skilled in the art from the following detailed description of the preferred embodiments having reference to the attached figures, the invention not being limited to any particular preferred embodiment disclosed.
Embodiments of the present invention will now be described, by way of example only, with reference to the following drawings in which:
Referring now to the drawings, and particularly
The apparatus 103 routes communication among entities based on parameters in said communication, processing state of apparatus 103 and of the sending and receiving entities, and software instructions executing in apparatus 103. Communications such as requests for status can be sent from server 101 through apparatus 103 to any of devices 105, 106, 107, and workstation 104. The response from the queried entity is returned to apparatus 103 and a response to server 101 is formatted and sent. Apparatus 103 may independently communicate such as status query, update request, software update, and parameter update with devices 105, 106, 107, server 101, and workstation 104.
With reference now to
The apparatus 203 communicates through an Internet connection with server 201 and through USB or RS232 connections communicates with workstation 204 and devices 205, 206 and 207. In the example, the Internet connection 202 can be wired or wireless Ethernet or other connection type or protocol. Communication between apparatus 203 and server 201 can be via a private network or other network such as cellular service. Workstation 204 is a computing platform such as a POS terminal, a PC, a tablet, a self-checkout machine, kiosk, or any other computing system. Devices 205, 206, 207 may be a such as multi-function POS device, PIN pad, card reader, signature capture device, printer, check scanner, or other peripheral used in a transaction processing system. Apparatus 203 is configured to execute software comprising an operating system, a plurality of applications, communication port management software, and device drivers.
The workstation 204 sends a request 208 to apparatus 203 to initiate a transaction. The request includes data necessary for software executing in apparatus 203 to initiate the transaction includes such as an amount due, items and/or services identifiers, merchant ID, workstation ID, date and time. On receipt of a valid request, apparatus 203 formats a message 209, 211, or 213 to be sent to a peripheral device 205, 206, or 207. The target device receives the message and performs interactions with a payer 224 to capture additional data. The additional data comprises data such as payment credit card data from payer 224, personal identification number (PIN), electronic signature, acknowledgement of the transaction amount, payer identification data, and responses to marketing queries. The payer 224 may interact with peripheral device 205, 206, or 207 which will capture and store data prior to receipt of a message 209, 211, or 213. Upon completion of the capture of the additional data, the device formats a message 210, 212, 214 to be sent to apparatus 203. The message or data therein may be encrypted. Data specific to the device such as device ID, date, time, and other data needed to manage the device or process the transaction may be included in the message. One or more additional messages may be sent from apparatus 103 to device 205, 206, or 207 to acquire additional data and transmit it to apparatus 103.
On receipt of the device message 210, 212, 214, apparatus 203 parses the message and validates the data, and determines if the transaction can continue. At this time, if there is any reason why the transaction cannot continue, apparatus 203 may respond to workstation 204 with an error condition. Given the transaction can continue, apparatus 203 formats a server message 216. Said message comprises data such as payment data, authentication data, apparatus ID, apparatus firmware revision, and other data necessary for the transaction. The message or portions thereof may be encrypted by apparatus 203 including but not limited to, individual data elements, multiple data elements, and the entire message. Apparatus 203 sends the message 216 to server 201. A protocol such as PCT, SSL or TLS may be used for message security. Upon receipt, server 201 parses the message 216, determines source and type of message, and processes the message to facilitate completion of the transaction. Server 201 may decrypt the message or portions thereof. Processing may include authentication using any of data from the sending apparatus 203, any of devices 205, 206, 207, payer 224 provided data used in the transaction, and of workstation 204.
Server 201 may perform local processing such as querying and/or updating 220 a database 221, verifying identifying data from any of apparatus 203, workstation 204 and/or devices 205, 206, 207, authorization, fraud checking, and other related actions. If server 201 determines there is any reason to prevent the transaction from being further processed, server 201 may respond to apparatus 203 with an error condition message and log the error condition and transaction data to database 221. Additionally server 201 may forward all or a portion of the message 218 to one or more entities such as a payment processor 223 or other third parties via network 222. Processor 223 receives message 218, and takes further action based on the contents of the message 218. Said actions will include such as verifying the message 218 data integrity, verifying sender identity, verifying merchant identity data, executing payment authorization, fraud checking, and database updates. Upon completion of processing the message 218, Processor 223 responds with a result message 219.
Server 201 receives message 219, and processes the message. Server 201 may decrypt all or portions of message 219 prior to processing said message. Server 201 updates database 221 based on the contents of message 219. Server 201 formats a response 217 to apparatus's 203 message 216. The message 217 and portions thereof may be encrypted by server 201 including but not limited to, individual data elements, multiple data elements, and the entire message. Server 201 may add data to the message 219 including but not limited to the transaction processing result, configuration data 519 for any of apparatus 203, workstation 204, or devices 205, 206, 207, and other data needed to complete the transaction. Server 201 sends the response message 217 to apparatus 203.
Upon receipt of message 217, apparatus 203 processes the message and determines the transaction processing result. Apparatus 203 formats a message 215 for workstation 204 and any of the devices 205, 206, 207 and transmits the one or more messages 209, 211, 213, 215. Upon completion of the transaction, apparatus 203 resumes “listening mode” and waits for a message from any of server 201, workstation 204, or devices 205, 206, 207.
With reference now to
The apparatus 303 communicates through an Internet connection with server 301 and through such as USB or RS232 connections communicates with kiosk 304 and devices 305, 306 and 307. In the exemplary embodiment, the Internet connection 302 can be wired or wireless Ethernet or other connection type or protocol such as a private or cellular network. The apparatus 303 is in operative communication with kiosk 304.
In the exemplary embodiment, the kiosk 304 is a computing platform such as a POS terminal, PC, special-built computing platform, self-checkout, or any other computing system. Devices 305, 306, 307 may be any such as multi-function POS device, PIN pad, card reader, signature capture device, printer, check scanner, or other peripheral used in a transaction processing system. Apparatus 303 is configured to execute software comprising an operating system, a plurality of applications, communication port management software, and device drivers.
With continued reference to
On receipt of the device message 310, 312, 314, apparatus 303 parses the message and validates the data, and determines if the transaction can continue. At this time, if there is any reason why the transaction cannot continue, apparatus 303 may respond to kiosk 304 with an error condition and log the error condition and transaction data to database 321. Given the transaction can continue, apparatus 303 formats a server message 316. Said message comprises payment data, authentication data, apparatus ID, apparatus firmware revision, and other data necessary for the transaction. The message or portions thereof may be encrypted by apparatus 303 including but not limited to, individual data elements, multiple data elements, and the entire message. Apparatus 303 sends the message 316 to server 301. A protocol such as PCT, SSL or TLS may be used for message security. Upon receipt, server 301 parses the message 316, determines source and type of message, and processes the message to facilitate completion of the transaction. Server 301 may decrypt the message or portions thereof. Processing may include authentication of any of data from the sending apparatus 303, any of devices 305, 306, 307 used in the transaction, and kiosk 304.
Server 301 may perform local processing such as querying and/or updating a database 321, verifying identifying data from any of apparatus 303 kiosk 301 and/or devices 305, 306, 307, authorization, fraud checking, and other related actions. If server 301 determines there is any reason to prevent the transaction from being further processed, server 301 may respond to apparatus 303 with an error condition message. Additionally server 301 may forward all or a portion of the message 318 to one or more entities such as a payment processor 323 or other third parties via network 322. Processor 323 receives message 318, and takes further action based on the contents of the message 318. Said actions will include such as verifying the message 318 data integrity, verifying sender identity, verifying merchant identity data, executing payment authorization, fraud checking, and database updates. Upon completion of processing the message 318, Processor 323 responds with a result message 319.
Server 301 receives message 319, and processes the message. Server 301 may decrypt all or portions of message 319 prior to processing said message. Server 301 updates database 321 based on the contents of message 319. Server 301 formats a response 317 to apparatus's 303 message 316. The message 317 and portions thereof may be encrypted by server 301 including but not limited to, individual data elements, multiple data elements, and the entire message. Server 301 may add data to the message 319 including but not limited to the transaction processing result, configuration data 519 for any of apparatus 303, kiosk 304, or devices 305, 306, 307, and other data needed to complete the transaction. Server 301 sends the response message 317 to apparatus 303.
Upon receipt of message 317, apparatus 303 processes the message and determines the transaction processing result. Apparatus formats a message 315 for kiosk 304 and any of the devices 305, 306, 307 and transmits the one or more messages 309, 311, 313, 315. Upon completion of the transaction, apparatus 303 resumes “listening mode” and waits for a message from any of server 301, kiosk 304, or devices 305, 306, 307.
With reference now to
Input and output of data and messages via USB ports 508, 509, 510, RS232 port 511, Ethernet port 512, and wireless communication module 507 are controlled by a controller, e.g., software executing on processor 500. Protocols, communication speed and other configurable elements are selected based on the capabilities of the attached devices, the protocols and device drivers available to the OS and firmware 502, and capabilities of the application(s) 503. Communication to or from any port is processed by the processor 500 (e.g., controller) and the logic executing in Firmware/OS 502 and/or applications 503.
Messages, software executables, configuration data 519, operational status, logs, and other information may be temporarily stored in memory 501 or alternatively on an optional SD card inserted in slot 516. In some embodiments, additional memory in the SD card form factor may be desirable to hold files or updates to the applications 503 or Firmware/OS 502. In other embodiments, the files may be intended for an external device 205, 206, 207, kiosk 304, or workstation 204. Upon receipt, the files could be temporarily stored in memory 501, or on the SD card in slot 516. Temporary storage would enable the applications 503 to authenticate such files, check for errors introduced by communication failure, buffer the file for later transmission to the target entity, reformat the file and reconfigure the file in a different protocol. Pressing the On/Off switch 513 powers up and powers off apparatus 203. In an exemplary embodiment, the reset switch 514 causes the apparatus to return to a known, stable state. For example, if the application has been corrupted pressing the reset switch 514 would cause apparatus to erase the application and return to a “factory state.” The Firmware/OS 503 would then communicate with server 201 and request a new file. Server 201 would respond to the request and send the appropriate file to reinstate the operational mode of apparatus 203. The LED 515 shows status of apparatus 203 and can indicate several operational states. Among the operational states are powered off, operating normally, error condition, registering, authenticating, installing, and idle state. In other embodiments, the LED 215 could be used to diagnose error conditions by flashing colors and/or sequences and/or durations that can be mapped to documentation.
With continued reference to
With reference now to
The process can initiate at step 601, in which the apparatus powers up and executes its boot up software. In the exemplary embodiment, the steps are performed as follows:
The above-mentioned steps are provided as exemplary. Steps can be eliminated, combined, or added without departing from the invention. Moreover, in certain embodiments, steps can be performed in a different order without departing from the invention.
With reference now to
The above assumes no errors occur. The user will see the status LED cycle from off to solid green. If an error occurs, the status LED will indicate the first error condition it encounters. Setup will halt at that error. If mutual authentication with workstation, kiosk, or any of devices fails in any part, apparatus NAKs the other entity and notifies server of the error condition. If server mutual authentication fails in any part, server or apparatus will NAK. Any failure will cause apparatus unit to be marked in alert state in the server database.
The above-mentioned steps are provided as exemplary. Steps can be eliminated, combined, or added without departing from the invention. Moreover, in certain embodiments, steps can be performed in a different order without departing from the invention.
Exemplary Method for Workstation Card Present Flow with Operator
With reference now to
The above-mentioned steps are provided as exemplary. Steps can be eliminated, combined, or added without departing from the invention. Moreover, in certain embodiments, steps can be performed in a different order without departing from the invention.
With reference now to
The above-mentioned steps are provided as exemplary. Steps can be eliminated, combined, or added without departing from the invention. Moreover, in certain embodiments, steps can be performed in a different order without departing from the invention.
With reference now to
The above-mentioned steps are provided as exemplary. Steps can be eliminated, combined, or added without departing from the invention. Moreover, in certain embodiments, steps can be performed in a different order without departing from the invention.
With reference now to
The above-mentioned steps are provided as exemplary. Steps can be eliminated, combined, or added without departing from the invention. Moreover, in certain embodiments, steps can be performed in a different order without departing from the invention.
With reference now to
The above-mentioned steps are provided as exemplary. Steps can be eliminated, combined, or added without departing from the invention. Moreover, in certain embodiments, steps can be performed in a different order without departing from the invention.
Exemplary Method for No Workstation with Remote Server Control Flow
With reference now to
The above-mentioned steps are provided as exemplary. Steps can be eliminated, combined, or added without departing from the invention. Moreover, in certain embodiments, steps can be performed in a different order without departing from the invention.
With reference now to
The apparatus 1403 communicates through an Internet connection with server 1401 and through USB or RS232 connections communicates with devices 1405, 1406 and 1407. In the example, the Internet connection 1402 can be wired or wireless Ethernet or other connection type or protocol. Communication between apparatus 1403 and server 1401 can be via a private network or other network such as cellular service. Devices 1405, 1406, 1407 may be a such as multi-function POS device, PIN pad, card reader, signature capture device, printer, check scanner, printer or other peripheral used in a transaction processing system. Apparatus 1403 is configured to execute software comprising an operating system, a plurality of applications, communication port management software, and device drivers.
Any of devices 1405, 1406, 1407 sends a request 1410, 1412, 1414 to apparatus 1403 to initiate a transaction. Alternatively, server 1401 sends an initiation message 1417 to apparatus 1403. The request includes data necessary for software executing in apparatus 1403 to initiate the transaction includes such as merchant ID, date and time. On receipt of a valid request, apparatus 1403 formats messages 1409, 1411, or 1413 to be sent to a peripheral device 1405, 1406, or 1407. The target device 1405, 1406, 1407 receives message 1409, 1411, 1413 and performs interactions with a payer (1424) to capture additional data. The additional data comprises data such as payment credit card data from payer (1424), personal identification number (PIN), electronic signature, transaction amount, and responses to marketing queries. Upon completion of the capture of the additional data, the device formats a message 1410, 1412, 1414 and sends message to apparatus 1403. The message or data therein may be encrypted. Data specific to the device such as device ID, date, time, and other data needed to manage the device or process the transaction may be included in the message.
On receipt of the device message 1410, 1412, 1414, apparatus 1403 parses the message and validates the data, and determines if the transaction can continue. At this time, if there is any reason why the transaction cannot continue, apparatus 1403 may respond to device 1405, 1406, 1407 with an error condition. Given the transaction can continue, apparatus 1403 formats a server message 1416. Said message comprises payment data, authentication data, apparatus ID, apparatus firmware revision, and other data necessary for the transaction. The message 1416 or portions thereof may be encrypted by apparatus 1403 including but not limited to, individual data elements, multiple data elements, and the entire message. Apparatus 1403 sends the message 1416 to server 1401. A protocol such as PCT, SSL or TLS may be used for message security. Upon receipt, server 1401 parses the message 1416, determines source and type of message, and processes the message to facilitate completion of the transaction. Server 1401 may decrypt the message or portions thereof. Processing may include authentication using any of data from apparatus 1403, any of devices 1405, 1406, 1407, and payer 1424 provided data used in the transaction.
Server 1401 may perform local processing such as querying and/or updating 1420 a database 1421, verifying identifying data from any of apparatus 1403 and/or devices 1405, 1406, 1407, authorization, fraud checking, and other related actions. If server 1401 determines there is any reason to prevent the transaction from being further processed, server 1401 may respond to apparatus 1403 with an error condition message. Additionally server 1401 may forward all or a portion of the message 1418 to one or more entities such as a payment processor 1423 or other third parties via network 1422. Processor 1423 receives message 1418, and takes further action based on the contents of the message 1418. Said actions will include such as verifying the message 1418 data integrity, verifying sender identity, verifying merchant identity data, executing payment authorization, fraud checking, and database updates. Upon completion of processing the message 1418, Processor 1423 responds with a result message 1419.
Server 1401 receives message 1419, and processes the message. Server 1401 may decrypt all or portions of message 1419 prior to processing said message. Server 1401 updates database 1421 based on the contents of message 1419. Server 1401 formats a response 1417 to apparatus's 1403 message 1416. The message 1417 and portions thereof may be encrypted by server 1401 including but not limited to, individual data elements, multiple data elements, and the entire message. Server 1401 may add data to the message 1419 including but not limited to the transaction processing result, configuration data 519 for any of apparatus 1403 or devices 1405, 1406, 1407, and other data needed to complete the transaction. Server 1401 sends the response message 1417 to apparatus 1403.
Upon receipt of message 1417, apparatus 1403 processes the message and determines the transaction processing result. Apparatus formats a completion message 1409, 1411, 123 and transmits the one or more messages to devices 1405, 1406, 1407. Upon completion of the transaction, apparatus 1403 resumes “listening mode” and waits for a message from any of server 1401 or devices 1405, 1406, 1407.
The present invention has been described above in terms of presently preferred embodiments so that an understanding of the present invention can be conveyed. However, there are other embodiments not specifically described herein for which the present invention is applicable. Therefore, the present invention should not to be seen as limited to the forms shown, which is to be considered illustrative rather than restrictive.