Sharing output device between unsecured processor and secured processor
11257058 · 2022-02-22
Assignee
Inventors
- Cory Douthat (San Francisco, CA, US)
- Jason Binder (San Francisco, CA, US)
- Matthew Maibach (San Francisco, CA, US)
- Thomas Byrne (Oakland, CA, US)
Cpc classification
G07F7/088
PHYSICS
G06Q20/204
PHYSICS
G06Q20/206
PHYSICS
G06Q20/34
PHYSICS
G06F21/6209
PHYSICS
G06F21/74
PHYSICS
International classification
Abstract
A point of sale (POS) device includes an output device such as a speaker, a display screen, or a network interface. The POS device also includes a secure enclosure housing a secure processor and tamper detection circuitry for detecting attempts to tamper with the secure enclosure. Use of the output device is shared between the secure processor and a main processor via a switch that is controlled by the secure processor. The secure processor can switch control of the output device from the main processor to itself and can output an output dataset via the output device in a number of scenarios. These scenarios include the secure processor detecting an attempt to tamper with the secure enclosure, the secure processor recognizing that the main processor is behaving suspiciously, or the secure processor wanting to output sensitive information. The output dataset may include visual data, audio data, or network data.
Claims
1. A point of sale (POS) system with a display screen that is shared between a main processor and a secure processor without compromising tamper protection of the secure processor, the POS system comprising: a housing; a secure enclosure in the housing, wherein the secure enclosure includes tamper detection circuitry to detect an attempt to tamper with the secure enclosure; the main processor, wherein the main processor is outside of the secure enclosure and in the housing, wherein the main processor generates a transaction user interface, wherein the main processor provides the transaction user interface to a display screen through a switch while the switch is in a first state; the secure processor, wherein the secure processor is in the secure enclosure, wherein the main processor generates a security user interface, wherein the secure processor provides the security user interface to the display screen through the switch while the switch is in a second state; a card reader that reads card information from a card and sends the card information to the secure processor; the switch in the secure enclosure, wherein the secure processor controls setting of the switch to one of a plurality of states that includes the first state and the second state, wherein the switch electrically couples the display screen to the main processor in the first state, wherein the switch electrically couples the display screen to the secure processor in the second state; and the display screen, wherein the display screen displays a transaction user interface provided by the main processor while the switch is in the first state, wherein the display screen displays the security user interface provided by the secure processor while the switch is in the second state.
2. The POS system of claim 1, further comprising an audio output device, wherein the switch electrically couples the audio output device to the main processor in the first state, wherein the switch electrically couples the audio output device to the secure processor in the second state.
3. The POS system of claim 1, wherein the secure processor toggles the switch from the first state to the second state in response to the tamper detection circuitry detecting the attempt to tamper with the secure enclosure, wherein the security user interface indicates that the attempt to tamper has been detected.
4. The POS system of claim 1, further comprising display circuitry electrically coupled between the switch and the display screen, wherein the display circuitry transmits a first display dataset to the display screen in response to receipt of a first display request from the main processor while the switch is in the first state, wherein the display circuitry transmits a second display dataset to the display screen in response to receipt of a second display request from the secure processor while the switch is in the second state.
5. A system for sharing control of an output device between two processors, the system comprising: a secure processor that receives transaction information read from a transaction object by a transaction object reader, wherein the secure processor generates a second output, wherein the secure processor provides the second output to an output device through a switch while the switch is in a second state; a main processor that receives the transaction information from the secure processor and that requests that a transaction to be conducted based on the transaction information, wherein the main processor generates a first output, wherein the main processor provides the first output to the output device through the switch while the switch is in a first state; the switch, wherein the secure processor controls setting of the switch to one of a plurality of states that includes the first state and the second state, wherein the switch electrically couples the output device to the main processor in the first state, wherein the switch electrically couples the output device to the secure processor in the second state; the output device, wherein the output device outputs the first output when the switch is in the first state, wherein the output device outputs the second output when the switch is in the second state; and tamper detection circuitry to detect an attempt to tamper with one or both of the secure processor and the switch.
6. The system of claim 5, wherein the output device is a display screen, wherein the first output is a transaction user interface, wherein the second output is a security user interface.
7. The system of claim 5, wherein the output device is a speaker, wherein the first output is a first sound, wherein the second output is a second sound.
8. The system of claim 5, wherein the output device is a printer, wherein the first output is a first printed document, wherein the second output is a second printed document.
9. The system of claim 5, wherein the output device is a network interface, wherein the second output alerts a remote server that the attempt to tamper was detected.
10. The system of claim 5, wherein the secure processor toggles the switch from the first state to the second state in response to the tamper detection circuitry detecting the attempt to tamper, wherein the second output indicates that the attempt to tamper has been detected.
11. The system of claim 5, further comprising a network interface that receives financial information from a financial server, wherein the secure processor toggles the switch from the first state to the second state in response to receipt of the financial information from the financial server, wherein the second output identifies at least a subset of the financial information.
12. The system of claim 5, further comprising a secure enclosure, wherein the tamper detection circuitry is integrated with the secure enclosure, wherein at least the secure processor and the switch are located within the secure enclosure, wherein the tamper detection circuitry detects the attempt to tamper with one or both of the secure processor and the switch by detecting an attempt to tamper with the secure enclosure.
13. The system of claim 12, wherein at least a subset of output device circuitry driving the output device is located within the secure enclosure.
14. The system of claim 5, wherein the second output identifies at least a subset of the transaction information.
15. The system of claim 5, wherein the main processor generates and sends first output instructions corresponding to the first output through the switch to the output device while the switch is in the first state, wherein the secure processor generates and sends second output instructions through the switch to the output device while the switch is in the second state.
16. The system of claim 15, further comprising output device circuitry driving the output device, wherein the first output instructions and the second output instructions are both digital, wherein the output device circuitry converts the first output instructions into a first output analog signal that the output device circuitry sends to the output device to cause the output device to output the first output, wherein the output device circuitry converts the second output instructions into a second output analog signal that the output device circuitry sends to the output device to cause the output device to output the second output.
17. A method of sharing control of an output device between two processors, the method comprising: generating a first output at a main processor; generating a second output at a secure processor; transmitting a first output instruction from the main processor to the output device through a switch while the switch is in a first state, the first output instruction instructing the output device to output the first output; outputting the first output via the output device while the switch is in the first state; detecting, at the secure processor and via tamper detection circuitry electrically coupled to the secure processor, an attempt to tamper with a secure enclosure, wherein the secure processor is located within the secure enclosure; toggling the switch from the first state to a second state via the secure processor in response to detecting the attempt to tamper with the secure enclosure; transmitting a second output instruction from the secure processor to the output device through the switch while the switch is in the second state, the second output instruction instructing the output device to output the second output; and outputting the second output via the output device while the switch is in the second state.
18. The method of claim 17, wherein the output device is a display screen, wherein the first output is a transaction user interface, wherein the second output is a visual indicator that indicates detection of the attempt to tamper with the secure enclosure.
19. The method of claim 17, wherein the output device is a speaker, wherein the second output is a sound that indicates detection of the attempt to tamper with the secure enclosure.
20. The method of claim 17, wherein the output device is a network interface, wherein outputting the second output includes transmitting a network dataset to a security server via a network, the network dataset indicating detection of the attempt to tamper with the secure enclosure.
21. The system of claim 5, wherein the switch is a junction-gate field-effect transistor.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
DETAILED DESCRIPTION
(19) A point of sale (POS) device includes an output device such as a speaker, a display screen, or a network interface. The POS device also includes a secure enclosure housing a secure processor and tamper detection circuitry for detecting attempts to tamper with the secure enclosure. Use of the output device is shared between the secure processor and a main processor via a switch that is controlled by the secure processor. The secure processor can switch control of the output device from the main processor to itself and can output an output dataset via the output device in a number of scenarios. These scenarios include the secure processor detecting an attempt to tamper with the secure enclosure, the secure processor recognizing that the main processor is behaving suspiciously, or the secure processor wanting to output sensitive information. The output dataset may include visual data, audio data, or network data.
(20)
(21) The terms “main processor 110” and “secure processor 120” as used herein should be understood to each include a set of one or more of any type of processor(s), controller(s), microcontroller(s), application specific integrated circuit(s) (ASIC), or combinations thereof. The “main processor 110” and “secure processor 120” may include any circuit board component illustrated or discussed with respect to the “processor(s)/controller(s) 710” or any of the rest of the circuit board components 700 illustrated or discussed with respect to
(22) The main processor 110 and/or secure processor 120 may run a one or more operating systems such as Google® Android®, Apple® iOS®, Microsoft® Windows®, Google® Chrome OS®, Apple® MacOS®, Microsoft® Windows Phone OS®, a distribution of Linux®, or some combination thereof. The main processor 110 and/or secure processor 120 may include instructions for one or more applications, such as financial applications, point of sale (POS) applications, transit pass applications, or ticketing applications that may send data acquired from transaction object reader circuitry 770 as illustrated and discussed with respect to
(23) The output device 170 of
(24) The switch 130 allows either the secure processor 150 or the main processor 110 electrically couple to and thereby control output device circuitry 150 that electrically couples to, controls, and/or drives the output device 170. The switch 130 may be or include at least a transistor, such as a field effect transistor (FET).
(25) The state of the switch 130 is controlled by the secure processor 150 via a control input/pin, such as a gate pin of a transistor. The switch 130 is located inside the secure enclosure 180 to prevent a main processor 110 that is misbehaving, malfunctioning, or compromised by a malicious party from inappropriately taking control of the output device circuitry 150. Alternate embodiments could have the switch 130 located outside of the secure enclosure 180 and/or controlled by the main processor 110, but this would likely be less secure in the event of a misbehaving main processor 110.
(26) The switch 130 of
(27) Instruction signals 140 coming from either processor through the switch 130 and to the output device circuitry 150 may be digital signals using control/communication protocols and/or standards such as Inter-Integrated Circuit (I2C), Universal Asynchronous Receiver/Transmitter (UART), Universal Synchronous/Asynchronous Receiver/Transmitter (USART), Serial Peripheral Interfaces (SPI), Universal Serial Bus (U6B), or some combination thereof. Output signals 160 between the output device circuitry 150 and the output device 170 may include analog signals and may be scrambled, encrypted, filtered, use a proprietary or non-standard format, be otherwise difficult to interpret, or some combination thereof. Scrambling may involve sending different portions of information in an unusual order, for example. Generally, output signals 160 are more difficult to interpret than the instruction signals 140 and therefore it is safer for them to be conveyed outside of the secure enclosure 180 than for the instruction signals 140 to be conveyed outside of the secure enclosure 180. The output device circuitry 150 of
(28) The output device circuitry 150 may include hardware and/or software elements that restrict and/or prevent information from flowing “backwards” through the switch 130 from the from the output device 170 and to the secure processor 120, in case a malicious party attempts to access or alter the secure processor 150 in this manner. The hardware and/or software elements that restrict and/or prevent information from flowing “backwards” through the switch 130 may include diodes, such as isolation diodes.
(29)
(30) The switch 130 of
(31) The output device circuitry 150 of
(32)
(33) The architecture illustrated in
(34) The architecture illustrated in
(35) The architecture illustrated in
(36) An output-sharing circuit can be made with any combination of features/elements illustrated in and/or discussed with respect to
(37)
(38) Step 205 includes transmitting a first output instruction from the main processor 110 to the output device through a switch 130 while the switch 130 is in a first state. This first output instruction may be, for example, an instruction from a transaction application running on the main processor 110 to output a transaction user interface to be used by the main processor to conduct a transaction, such as between a buyer and a merchant.
(39) Such a transaction may involve receiving transaction information at the secure processor 120 from a transaction object such as a credit card via transaction object reader circuitry 770. The transaction may optionally include processing the transaction information at the secure processor 120 by encrypting it, password-protecting it, stripping out certain information, reformatting it, or converting it from one format to another, or some combination thereof, before sending the transaction information from the secure processor 120 to the main processor 110, after processing if applicable. Once the main processor 110 receives the processed transaction information from the secure processor 120, the main processor 110 then sends the processed transaction information from the main processor 110 to a transaction server such as a credit card server or bank server via a wired or wireless network interface, where the transaction server ensures that an appropriate transaction amount is transferred from a buyer account to a merchant account. The transaction user interface may incorporate a number of user interfaces that, for example, can assist the buyer or merchant in identifying/tabulating/totaling purchased items and amounts, instruct the buyer or merchant as to when to swipe or insert or tap or remove a transaction card or other transaction object, or ask the buyer about memberships associated with the merchant, charity donations to give along with the transaction, tip percentages/amounts associated with the transaction, whether the buyer wants a paper/plastic bag and if so what kind, and the like.
(40) Step 210 includes outputting a first output via the output device while the switch 130 is in the first state in which the main processor 110 is electrically coupled through the switch 130 to the output device 170 as discussed with respect to
(41) Step 210 may alternately be followed by step 205, step 215, or step 225.
(42) Step 215 includes detecting, at a secure processor 120 and via tamper detection circuitry electrically coupled to the secure processor 120, an attempt to tamper with a secure enclosure.
(43) The tamper detection circuitry can include a variety of different types of sensors and sensing methods. The tamper detection circuitry can use a “tamper mesh,” in which two long conductive tamper trace lines run in parallel and in a zig-zagging or boustrophedonic pattern that covers at least a majority of at least one surface of the secure enclosure 180. The two tamper trace lines are at different voltages, and the tamper detection circuitry includes voltage sensors that detect any changes in voltage along either or both lines. A malicious party attempting to drill into the secure enclosure 180 would likely break at least one of these conductive trace lines, connect the two lines together via the conductive metal of the drill itself, short two portions of the same line together via the conductive metal of the drill itself, or some combination thereof—all of which can be detectable as a voltage fluctuation/change over a predefined voltage change threshold as measured via the voltage sensors. The tamper detection circuitry can include inductive sensors that detect nearby objects that are metal or have conductive properties in response to an inductive sensor measurement exceeding a predefined threshold. The tamper detection circuitry can include capacitive sensors that detect touches to surface(s) of the secure enclosure 180 in response to a capacitive sensor measurement exceeding a predefined threshold, where the surface(s) of the secure enclosure 180 should remain internal and should not be touched. The detection of step 210 may include any of these sensors or any combination thereof.
(44) Step 220 includes toggling the switch 130 from the first state to a second state via the secure processor 120 in response to detecting the attempt to tamper with the secure enclosure. In the second state, the secure processor 120 is electrically coupled through the switch 130 to the output device 170 as discussed with respect to
(45) Step 225 includes detecting, at a secure processor 120, that the main processor 110 is likely to be compromised. This detection may be based on receipt of a warning by the secure processor 120 from security software and/or hardware. For example, such a warning may include an indication of unexpected or unsanctioned network activity from a firewall, an indication of virus detection from an antivirus program, an indication of adware detection from an anti-adware program, an indication of spyware detection from an anti-spyware program, an indication of malware detection from an anti-malware program, or some combination thereof. This detection may additionally or alternatively be based on detection of unusual behavior at the main processor 110, such as if the main processor 110 attempts to output a “spoof” of a user interface normally output through or in conjunction with the secure processor 120. Such as “spoof” user interface might, for example, attempt to simulate an “enter PIN” or “enter signature” user interface that would normally send the resulting PIN or signature from the user to the secure processor 120, but where the “spoof” version would instead collect the PIN or signature from the user at the main processor 110. A malicious party taking over the main processor 110 could then steal sensitive information, such as a PIN or signature, from a user. Therefore, detection of such as “spoof” interface by searching for similarities to legitimate security interfaces would be one way to detect that the main processor 110 is likely to be compromised at step 225.
(46) Step 230 includes toggling the switch 130 from the first state to a second state via the secure processor 120 in response to detecting that the main processor 110 is likely to be compromised.
(47) Step 235 includes transmitting a second output instruction from the secure processor 120 to the output device 170 through the switch 130 while the switch 130 is in the second state. Step 235 here could be preceded by step 220 and/or 230 and can occur in response to either or both of those. The second output instruction here could a warning user interface indicating that the POS device is likely tampered with or compromised based on the detections of step 215 and/or 225.
(48) Step 240 includes outputting a second output via the output device while the switch 130 is in the second state. Various format conversions, such as digital to analog, may occur between step 235 and 240, as discussed with respect to the instruction signals 140, output device circuitry 150, and output signals 160 of
(49)
(50) Step 250 includes transmitting a first output instruction from the main processor 110 to the output device through a switch 130 while the switch 130 is in a first state. This is similar to step 205 of
(51) Step 255 includes outputting a first output via the output device while the switch 130 is in the first state. This is similar to step 210 of
(52) Step 260 includes receiving and accessing sensitive information at the secure processor 120, wherein the main processor 110 lacks access to the sensitive information.
(53) The sensitive information can include different types of data and can come from a different sources/components. The sensitive information may include payment object information, such as a credit or debit card number, expiration date, or security code, or some combination thereof received from transaction object reader circuitry 770. The sensitive information may include personal user financial information, such as a bank account balance, a debt amount, an interest rate, an unpaid bill, a paid bill, or some combination thereof received from a wired and/or wireless network interface. The sensitive information may include a PIN code, signature, or user interface selection from a keypad, keyboard, mouse, touchscreen, or touch-sensitive surface of the POS device, or a touch-sensitive or a memory within the secure enclosure 180.
(54) The sensitive information may be scrambled, encrypted, password-protected, or otherwise difficult to read. The term “access” as used with respect to step 260 thus may refer to read access, indicating that the main processor 110 cannot read and/or decrypt and/or unscramble the sensitive information even though it might be capable of retrieving an encrypted, scrambled, or password-protected copy of the sensitive information. On the other hand, the term “access” as used with respect to step 260 may simply refer to the ability (or lack thereof) of the main processor 110 to retrieve any copy of the sensitive information, encrypted/scrambled/protected or not.
(55) Step 265 includes toggling the switch 130 from the first state to a second state via the secure processor 120 in response to receiving the sensitive information.
(56) Step 270 includes transmitting a second output instruction from the secure processor 120 to the output device through the switch 130 while the switch 130 is in the second state.
(57) Step 275 includes outputting a second output via the output device while the switch 130 is in the second state, wherein the second output includes the sensitive information. Various format conversions, such as digital to analog, may occur between step 270 and 275, as discussed with respect to the instruction signals 140, output device circuitry 150, and output signals 160 of
(58)
(59) The main processor 110 of
(60) The secure processor 120 of
(61)
(62) The main processor 110 of
(63) The secure processor 120 of
(64) The H-Bridge 320 may be driven with power from the secure processor 120, the main processor 110, a battery within or outside of the secure enclosure 180, some other power source, or some combination thereof. The speaker output 330 may be driven with power from the secure processor 120, the main processor 110, a battery within or outside of the secure enclosure 180, some other power source, or some combination thereof. The headset output 340 may be driven with power from the secure processor 120, the main processor 110, a battery within or outside of the secure enclosure 180, some other power source, or some combination thereof.
(65) An output-sharing circuit can be made with any combination of features/elements illustrated in and/or discussed with respect to
(66)
(67) The payment object reader device 400 of
(68) The touch-sensitive surface circuitry 492 may be a touch-sensitive layer that detects touches of a touchscreen whose display screen portion is the display screen 466. Having the touch-sensitive surface circuitry 492 in the secure enclosure 180 and connected to both the secure processor 120 and the main processor 110 allows sensitive user inputs, such as a personal identification number (PIN) code or a password or a personal telephone number, to be routed to the secure processor 120, while non-sensitive user inputs can be routed to the main processor 110.
(69) The secure processor 120 is electrically coupled to a separate battery 474, the touch-sensitive surface circuitry 492, tamper detection circuitry 476 of the secure enclosure 180 itself, one or more magstripe read head(s) 480 for reading magnetic stripe transaction cards, and various transaction object reader circuitry 770. The transaction object reader circuitry 770 of
(70) The transaction object reader circuitry 770 of
(71) The audio output 464 may be a speaker output 330, a headset output 340, any other type of audio circuitry discussed with respect to the output device circuitry 750 of
(72) The charge and/or communication connector 452 may be a port, a plug, or a wireless transceiver, or some combination thereof, and can be used to connect the payment object reader device 400 to a power source. The portable computing device can provide power to the payment object reader device 400. The charge and/or communication port 452 can be, for example, a Universal Serial Bus (USB) port, an Apple® Lightning® port, or a TRS or TRRS audio/microphone jack port. Power coming into the payment object reader device 400 via the charge and/or communication port 452 can power the main processor 110, the secure processor 120, audio output 464, display screen 466, the transaction object reader circuitry 770 of
(73)
(74) In particular, switch 130A of
(75)
(76) Like
(77)
(78) The H-bridge 320A of
(79) Resistors R1 and R2 positioned as in
(80)
(81) The H-bridge 320A of
(82) Resistors R1 and R2 positioned as in
(83)
(84) The payment object reader device 400 of
(85) The connections between the payment object reader device 400 and the host device 490 of
(86) It should be understood that the payment object reader devices 400 of
(87) A payment object reader device 400 can be made with any combination of features/elements illustrated in and/or discussed with respect to
(88)
(89) The H-bridge 320 of
(90) The H-bridge 320 of
(91) When all of the switches are in their “off” state—that is, when they are all open and not conducting—the secure processor 120 does not drive output (e.g., audio) to the load 550. This state occurs when the first control input 540 and second control input 545 are in an “off” state.
(92) When the first control input 540 is in an “on” state, the switches 515A and 520A are in an “on” state—that is, a closed state—and therefore conduct. Power is driven through the load 550 and through closed switches 515A and 520A.
(93) When the second control input 545 is in an “on” state, the switches 510A and 525A are in an “on” state—that is, a closed state—and therefore conduct. Power is driven through the load 550 and through closed switches 510A and 525A.
(94) The H-bridge 320 of
(95)
(96) The four switches 510A, 515A, 520A, and 525A of
(97) In
(98) The H-bridge 320 otherwise functions similarly to the one in
(99) The H-bridge 320 can be made with any combination of features/elements illustrated in and/or discussed with respect to
(100)
(101) The H-bridge 320 of
(102) The secure processor 120 is illustrated as connecting to the control inputs of
(103) As in
(104)
(105) The control inputs of
(106) The H-bridge 320 illustrated in any of
(107) In some cases, the H-bridge 320 may be replaced with or supplemented by a switch or transistor set up similarly to the switch illustrated in
(108) The H-bridge 320 can be made with any combination of features/elements illustrated in and/or discussed with respect to
(109)
(110) The circuit board components 700 of
(111) The circuit board components 700 of
(112) The circuit board components 700 of
(113) The circuit board components 700 of
(114) The circuit board components 700 of
(115) The circuit board components 700 of
(116) Transaction object reader circuitry 770 may include, for example, a magnetic read head or other type of magnetic stripe reader that is capable of reading information from a magnetic stripe of a transaction card. Transaction object reader circuitry 770 can also include an integrated circuit (IC) chip reader and/or smartcard chip reader for reading an IC chip and/or smartcard chip embedded in a transaction card. Such an IC chip/smartcard chip can follow the Europay-Mastercard-Visa (EMV) payment chip standard. The IC chip/smartcard chip reader can be contact-based, in that it can include one or more conductive prongs that contact a conductive metal contact pad of the IC chip/smartcard chip. The IC chip/smartcard chip can instead be contactless and use a contactless antenna. The contactless antenna can also double as a receiver for near-field-communication (NFC) signals, radio-frequency identification (RFID) signals, Bluetooth® wireless signals, wireless local area network (WLAN) signals, 802.xx Wi-Fi signals, or some combination thereof, which can be sent from a transaction card or from a another type of transaction object as discussed above. In some cases, a transaction object may only send these wireless signals in response to receipt of a magnetic field or other wireless signals from the transaction object reader circuitry 770. For example, if the transaction object is a passive NFC/RFID tag or functions based on similar technology, it generates energy from the magnetic field or other wireless signals from the transaction object reader circuitry 770 via induction coil(s) that is then used to transmit the wireless signals that are ultimately read by the transaction object reader circuitry 770.
(117) The information read from the transaction object by the transaction object reader circuitry 770, regardless of the type of the transaction object, may include at least credit card information, debit card information, automated teller machine (ATM) information, gift card account information, transit account information, identification card information, game token card information, ticket information, bank account information, credit union account information, online gaming account information, HSA/FSA account information, health insurance account information, healthcare information, or some combination thereof. Certain terms discussed herein should be understood to refer to transaction objects, including but not limited to “payment object,” “transaction object,” “financial object,” “payment card,” “transaction card,” or “financial card.”
(118) Peripheral circuitry 780 may include any type circuitry permitting connection and use of computer support devices to add additional functionality to the circuit board 100. For example, peripheral circuitry 780 may support connection of a modem or a router. The components shown in
(119) While various flow diagrams have been described above, it should be understood that these show a particular order of operations performed by certain embodiments of the invention, and that such order is exemplary. Alternative embodiments can perform the operations in a different order, combine certain operations, or overlap certain operations illustrated in or described with respect to each flow diagram.
(120) The foregoing detailed description of the technology has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the technology to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. The described embodiments were chosen in order to best explain the principles of the technology, its practical application, and to enable others skilled in the art to utilize the technology in various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope of the technology be defined by the claim.