Disclosure of Invention
The following presents a simplified summary of one or more aspects in order to provide a basic understanding of such aspects. This summary is not an extensive overview of all contemplated aspects, and is intended to neither identify key or critical elements of all aspects nor delineate the scope of any or all aspects. Its sole purpose is to present some concepts of one or more aspects in a simplified form as a prelude to the more detailed description that is presented later.
According to an aspect of the present invention, there is provided a method of loose decryption in a visible light communication system, the method including: receiving at a receiving end a visible light signal from a transmitting end, the visible light signal being encrypted at the transmitting end at least in part with a key that varies with a state of a state machine of the transmitting end; and decrypting the visible light signal with a key corresponding to a current state of a state machine of the receiving end and at least one state before and/or after the current state.
In one example, decrypting the visible light signal with a key corresponding to the current state of the state machine of the receiving end and the at least one state before and/or after the current state comprises: decrypting the visible light signal with a key corresponding to the current state of the state machine at the receiving end; and if the decryption of the visible light signal by the key corresponding to the current state of the state machine of the receiving end is unsuccessful, continuing to decrypt the visible light signal by the key corresponding to the at least one state before and/or after the current state.
In an example, decrypting the visible light signal with a key corresponding to the at least one state before and/or after the current state comprises: decrypting the visible light signal with a key corresponding to each of the at least one state before and/or after the current state in a predetermined order until the visible light signal is successfully decrypted or the visible light signal has been decrypted using keys corresponding to all of the at least one state before and/or after the current state.
In one example, the visible light signal includes communication data and an identifier of the transmitting end.
In one example, the communication data is encrypted with the key that varies with the state of the state machine of the transmitting end, while the identifier of the transmitting end is not encrypted, and the receiving end locally stores communication data associated with the identifier of the transmitting end.
In an example, the method further includes obtaining the identifier of the transmitting end from the visible light signal, wherein if communication data obtained by decrypting the visible light signal with a key corresponding to the current state of a state machine of the receiving end and one of the at least one state before and/or after the current state is the same as communication data associated with the identifier of the transmitting end and stored locally by the receiving end, the decryption of the visible light signal with the key corresponding to the one state is successful, otherwise the decryption is unsuccessful.
In one example, the method further comprises: if the decryption of the visible light signal by the key corresponding to the current state of the state machine of the receiving end and the at least one state before and/or after the current state is unsuccessful, the visible light signal is identified as an illegal signal, otherwise the visible light signal is identified as a legal signal.
In one example, decrypting the visible light signal with a key corresponding to the current state of the state machine of the receiving end and the at least one state before and/or after the current state comprises: decrypting the visible light signal with the keys corresponding to the current state and each of the at least one state before and/or after the current state in a predetermined order until the visible light signal is decrypted successfully or the visible light signal has been decrypted using the keys corresponding to the current state and all of the at least one state before and/or after the current state.
In one example, the at least one state includes a predetermined number of states preceding the current state and the predetermined number of states following the current state.
In one example, the key that varies with the state of the state machine of the transmitting end and the keys corresponding to the current state of the state machine of the receiving end and the at least one state before and/or after the current state are time-varying sequences.
In one example, the time-varying sequence is a pseudo-code sequence, the method further comprising converting the visible light signal into a digital signal, wherein the decrypting comprises a logical and, a logical or, a logical xor, or a combination of two or more of the digital signal and the pseudo-code sequence.
According to another aspect of the present invention, there is provided a communication apparatus including: a receiver that receives a visible light signal from a transmitting device, the visible light signal being encrypted at the transmitting device at least in part with a key that varies with a state of a state machine of the transmitting device; and a decoder to decrypt the visible light signal with a key corresponding to a current state of a state machine of the communication device and at least one state preceding and/or following the current state.
According to a further aspect of the invention, there is provided a communication apparatus comprising a processor configured to receive a visible light signal from a transmitting device, the visible light signal being encrypted at the transmitting device at least in part with a key that varies with a state of a state machine of the transmitting device, and to decrypt the visible light signal with a key corresponding to a current state of the state machine of the communication apparatus and at least one state preceding and/or following the current state; and a memory coupled to the processor.
According to yet another aspect of the present invention, there is provided an apparatus comprising: means for receiving at a receiving end a visible light signal from a transmitting end, the visible light signal being encrypted at the transmitting end at least in part with a key that varies with a state of a state machine of the transmitting end; and means for decrypting the visible light signal with a key corresponding to a current state of a state machine of the receiving end and at least one state preceding and/or following the current state.
According to yet another aspect of the invention, there is provided a computer program product comprising a computer readable medium comprising: code for receiving at a receiving end a visible light signal from a transmitting end, the visible light signal being encrypted at the transmitting end at least in part with a key that varies with a state of a state machine of the transmitting end; and code for decrypting the visible light signal with a key corresponding to a current state of a state machine of the receiving end and at least one state before and/or after the current state.
Detailed Description
The invention is described in detail below with reference to the figures and specific embodiments. It is noted that the aspects described below in connection with the figures and the specific embodiments are only exemplary and should not be construed as imposing any limitation on the scope of the present invention.
Fig. 1 illustrates a visible light communication system 100 in which the present invention may be implemented. The visible light communication system 100 includes a transmitting end 110 and a receiving end 120. The transmitting end 110 includes an encoder 111 and a pseudo code signal generator 112 coupled to the encoder 111. The encoder 111 receives original communication data and encodes the original communication data with a pseudo code signal generated by the pseudo code signal generator 112 to generate a scrambling code signal. Since the generated scrambling code signal is different from the original communication data, the function of encryption is performed. As used herein, the terms "encryption" and "encoding", as well as "decryption" and "decoding" may be used interchangeably. The original communication data may be identity information associated with the transmitting end 110. The encoder 111 outputs the scrambling signal to the light emitting unit 113, which transmits the received scrambling signal in the form of visible light. The light emitting unit 113 may be an LED or other element having a light emitting function. The transmitting end 110 may be a handheld client in the photonic internet of things.
The receiving end 120 includes a receiving unit 123 for receiving the visible light signal transmitted by the transmitting end 110 and converting the visible light signal into a digital signal. The decoder 121 receives the digital signal output by the receiving unit 123 and decodes it using the pseudo code signal generated by the pseudo code signal generator 122 to restore the original communication data. Only one transmitting end 110 is shown in the visible light communication system 100 shown in fig. 1, but those skilled in the art will readily appreciate that there are often multiple transmitting ends 110 corresponding to one receiving end 120.
In order to provide higher security for communication between the transmitting end 110 and the receiving end 120 and prevent the high-speed camera from shooting the duplicated optical signal, time-varying sequences, such as a pseudo-code sequence, a pseudo-random sequence or a pseudo-random code, are used in both the transmitting end 110 and the receiving end 120 to encrypt and decrypt the original communication data. Therefore, as shown in fig. 1, the pseudo code signal generator 112 outputs a pseudo code signal varying with time according to the state of the state machine of the transmitting terminal 110 with reference to the clock signal provided by the crystal oscillator 114. Accordingly, the pseudo code signal transmitter 122 in the receiving end 120 also outputs a pseudo code signal varying with time according to the state of the state machine of the receiving end 120 with reference to the clock signal provided by the crystal 124.
Fig. 2 shows a flowchart of an encryption/decryption method used in the visible light communication system 100. In step 201, the transmitting end 110 performs a logic operation on the original communication data and the time-varying first pseudo code signal to obtain a scrambling code signal. The original communication data may be user information to be transmitted, such as user ID information, fingerprint, face, iris, entered password, other information to assist in verifying the identity of the user, etc., although combinations of two or more of the above may also be included, and may be a digital serial signal. The pseudo-code signal may be a sequence of numbers that vary with unit time, where the unit time may be set as desired, e.g., daily, hourly, per minute, per second, etc. The logical operation of the original communication data and the first pseudo code signal may be a logical and, a logical or, a logical xor, etc., or a combination of any two or more of the above operations.
For example, the original communication data is the user ID of the transmitting end and is always 00001101. In the corresponding transmitting end state N +5 after 5 unit time T, the first pseudo code signal may be 10101010, and the logic operation, such as xor, of the original communication data and the first pseudo code signal is as follows:
raw communication data |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
First pseudo code signal |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
Scrambling signals |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
In step 202, the transmitting end 110 transmits the scrambled signal in the form of a visible light signal. For example, the transmitting terminal 110 transmits the modulated signal in the form of a flash of light through an LED lamp. With respect to the scrambling code signal 10100111, the LED lamp may flash at a high frequency, with light representing a 1, without light representing a 0, or vice versa, thereby effectively enabling visible light communication.
In step 203, the receiving end 120 receives the visible light signal transmitted by the transmitting end 110 and converts the visible light signal into a digital signal. For example, for high frequency flicker generated by an LED lamp, the presence of light may represent a 1, the absence of light may represent a 0, or vice versa, so that the received visible light signal may be converted to a digital signal.
In step 204, the receiving end 120 decodes, e.g., logically operates, the digital signal and the second pseudo code signal to obtain the original communication data. Specifically, the second pseudo code signal is also 10101010 in the receiving end state N +5 corresponding to 5 unit times T, and has the same code pattern and start-stop phase as the first pseudo code signal. The logic operation, such as xor, of the received signal and the second pseudo code signal by the receiving end 120 is as follows:
received signal |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
Second pseudo code signal |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
Decoding output signal |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
It can be seen that the decoded output signal is 00001101, which is the same as the original communication data, i.e. the original communication data is decoded.
As described above, in order for the receiving end to decode correctly, the pseudo code signal generated by the pseudo code signal generator of the receiving end needs to be changed synchronously with the pseudo code signal generated by the pseudo code signal generator of the transmitting end. Specifically, the change of the pseudo code signal is determined by the states of the state machines at the transmitting end and the receiving end, and different pseudo code signals are provided corresponding to different states of the state machines. Ideally, the states of the state machines of the transmitting end and the receiving end are changed synchronously, so that the pseudo code signals of the transmitting end and the receiving end can also be changed synchronously. For example, after a certain unit time (e.g., 1 second, 1 minute, or other specified time period) has elapsed, the states of the state machines at the transmitting end and the receiving end simultaneously transition from the previous state N to the next state N +1, and accordingly, the pseudo code signals used for encryption and decryption at the transmitting end and the receiving end simultaneously change from the pseudo code signal corresponding to the state N to the pseudo code signal corresponding to the state N + 1.
In the visible light communication system, the accuracy of the clock system of the visible light emitting end 110 and the receiving end 120 is determined by the respective crystal oscillators 114, 124. Due to various factors such as manufacturing process, working environment, etc., the oscillators 114, 124 will have certain errors, which will cause the time variation of the transmitting end 110 and the receiving end 120 to be different. Assuming that both ends of the transceiver start to count from 0 second, but the clock system of the receiving end 120 is relatively fast, if the standard time is used as a reference, the clock system in the transmitting end 110 may reach 0.999999 second only after 1 second, but the clock system of the receiving end 120 has already reached 1.000001 seconds, the error between the two is 1.000001-0.999999=0.000002 second, and after 500000 seconds of the standard time, the clock systems of the transmitting end and the receiving end will show a difference of 1 second.
The state changes of the transmitting end 110 and the receiving end 120 are based on their own clock systems, and the state changes of the state machines of the transmitting end 110 and the receiving end 120 may not be synchronous due to the error between the clock systems of the transmitting end and the receiving end. Taking the state machine at the transmitting end and the receiving end as an example, the clock system at the transmitting end 110 is slower than the standard time, and the clock system at the receiving end 120 is faster than the standard time. After a certain standard time, the system time of the transmitting end 110 and the receiving end 120 differs by a unit time T. At this time, the transmitting end 110 is in the state N, and the receiving end 120 is in the state N +1, that is, the pseudo code signal used by the receiving end 120 for decryption is different from the pseudo code signal used by the transmitting end 110 for encryption, so that the receiving end 120 cannot decrypt correctly.
Fig. 3 is a diagram showing the state of the state machines of the transmitting end and the receiving end over time. As shown in fig. 3, at the time of the standard time t0, assuming that the clock systems of the transmitting end and the receiving end are aligned, the transmitting end and the receiving end are both in the state N, and after a period of time, the standard time t1 is reached. At this time, the transmitting end is still in the state N +5 because the clock system is slow, and the receiving end is already in the state N +6 because the clock system is fast. Therefore, the decrypted pseudo code signal selected by the receiving end is inconsistent with the encrypted pseudo code signal selected by the transmitting end, which results in decryption error.
Therefore, the invention provides a loose decryption method in a visible light communication system. According to an aspect of the present invention, upon receiving a visible light signal from a transmitting end, the received visible light signal is decrypted not only with a key corresponding to a current state of a state machine of a receiving end, but also with a key corresponding to at least one state before and/or after the current state if the decryption is unsuccessful. In this way, false detections due to errors in the clock systems of the transmitting end and the receiving end are avoided.
Fig. 4 illustrates a flow chart of a loose decryption method in a visible light communication system in accordance with an aspect of the subject invention. At step 401, a visible light signal is received at a receiving end from a transmitting end, the visible light signal being encrypted at the transmitting end at least in part with a key that varies with a state of a state machine of the transmitting end. In one example, the visible light signal includes communication data and an identifier of the transmitting end, wherein the communication data is encrypted with a key that varies with a state of a state machine of the transmitting end, and the identifier of the transmitting end is unencrypted. For example, the communication data may be user Identity (ID) information, and the identifier of the transmitting end may be a device number of the transmitting end. In a visible light communication system, the device number of a transmitting end is unique to the transmitting end and thus can be used to uniquely identify the transmitting end. The communication data such as the user ID is stored in the receiving end in association with the identification number of the transmitting end.
At step 402, the visible light signal is decrypted with a key corresponding to a current state of a state machine of the receiving end and at least one state before and/or after the current state. According to an aspect of the invention, in addition to the current state of the state machine of the receiving end, the receiving end may select a predetermined number of states before the current state, a predetermined number of states after the current state, or both a predetermined number of states before the current state and a predetermined number of states after the current state, depending on the relative speeds of the clock systems of the receiving end and the transmitting end. For example, in an instance where the clock system of the receiving end is known to be faster than the clock system of the transmitting end, the receiving end may only select a predetermined number of states prior to the current state in addition to the current state of the state machine of the receiving end. In the example where the clock system of the receiving end is known to be slower than the clock system of the transmitting end, the receiving end may only select a predetermined number of states after the current state in addition to the current state of the state machine of the receiving end. In instances where the relative speed of the clock systems at the receiving end and the transmitting end is uncertain, the receiving end may select a predetermined number of states both before and after the current state in addition to the current state of the state machine at the receiving end. The predetermined number may depend on the accuracy of the crystal oscillators in the receiving end and the transmitting end, the processing capabilities of the receiving end and the transmitting end, and other factors.
In one example, the receiving end may first decrypt the visible light signal with a key corresponding to the current state of its state machine. If the decryption is successful, the process ends. If the decryption is not successful, continuing to decrypt with keys corresponding to a predetermined number of states before and/or after the current state. For example, the receiving end may sequentially decrypt the visible light signal with the key corresponding to each of a predetermined number of states before and/or after the current state until the visible light signal is successfully decrypted or the visible light signal has been decrypted using the keys corresponding to all of the predetermined number of states before and/or after the current state.
In the example where the visible light signal includes encrypted communication data and an unencrypted identifier of the transmitting end, the receiving end may first obtain the identifier of the transmitting end from the visible light signal and retrieve the locally stored communication data associated with the identifier. And after the receiving end recovers the communication data by using the key corresponding to one of the selected states, the recovered communication data is compared with the communication data locally stored at the receiving end, and if the recovered communication data is the same as the locally stored communication data at the receiving end, the decryption is considered to be successful. For example, if the recovered user ID is consistent with the user ID locally stored at the receiving end, the visible light signal is considered to be a legal signal. Otherwise, the visible light signal continues to be decrypted with the keys corresponding to the remaining states until the decryption is successful or the visible light signal has been decrypted using the keys corresponding to all selected states. If the decryption of the visible light signal by the keys corresponding to the current state and all of the preceding and/or following predetermined number of states is unsuccessful, the visible light signal is considered as an illegal signal.
In the loose decryption process described above, the order of decryption is to first use the key corresponding to the current state, and then the keys corresponding to a predetermined number of states before and after the current state. However, this order is merely exemplary, and in fact, the receiving end may decrypt with the keys corresponding to the current state and each of at least one state before and/or after the current state in any predetermined order until the visible light signal is successfully decrypted or the visible light signal has been decrypted using the keys corresponding to all of the states.
While, for purposes of simplicity of explanation, the foregoing loose decryption method is shown and described as a series of acts, it is to be understood and appreciated that the method is not limited by the order of acts, as some acts may, in accordance with one or more embodiments, occur in different orders and/or concurrently with other acts from that shown and described herein or not shown and described herein, as may be understood by those of ordinary skill in the art. For example, the above decryption process using more than one state than the current state may be to retrieve one state at a time, and when the decryption with the key corresponding to the state is unsuccessful, retrieve the next state and decrypt accordingly until the decryption is successful or all the predetermined number of states have been retrieved, or may be to retrieve the current state and the predetermined number of states before and after once, and then decrypt with the key corresponding to each state in sequence until the decryption is successful.
The loose decryption method described above is described below with reference to the state diagram of fig. 3. The receiving end receives the visible light signal transmitted by the transmitting end at standard time t 1. The receiving end can convert the received visible light signal into a digital signal and first obtain the unencrypted device number of the transmitting end. At this time, the current state of the state machine at the receiving end is N + 6. In addition to the current state N +6, the receiving end may select a predetermined number (e.g., 2) of states N +4 and N +5 before the current state and 2 states N +7 and N +8 after the current state. The receiving end may first decrypt the digital signal with the pseudo code sequence corresponding to the current state N +6, for example, may perform a logical xor operation to obtain a user ID. The receiving end compares the decrypted user ID with the locally stored user ID associated with the transmitting end, and the two are different, so that the decryption is unsuccessful. Subsequently, the receiving end performs a logical exclusive-or operation on the digital signal with pseudo code sequences corresponding to four states before and after the current state in a predetermined order. The predetermined order may be in order from near to far from the current state, and may be, for example, N +7, N +5, N +8, N + 4. And the receiving end decrypts by using the pseudo code sequence corresponding to the state N +7, and the receiving end continues to decrypt by using the pseudo code sequence corresponding to the state N +5 because the decrypted user ID is inconsistent with the locally stored user ID. At this time, the decrypted user ID coincides with the locally stored user ID, and therefore, the decryption is successful, the visible light signal is identified as a legitimate signal, and the process is terminated. As described above, the predetermined order may be any order that meets the actual needs. For example, the receiving end may decrypt with the corresponding pseudo code sequence in the order of N +4, N +5, N +6, N +7, and N +8 until the decryption is successful.
Fig. 5 is a block diagram illustrating a communication device 500 in accordance with an aspect of the present invention. The communication apparatus 500 includes a receiver 502 that receives a visible light signal from a transmitting device, which is encrypted at the transmitting device at least in part with a key that varies with the state of the state machine of the transmitting device. The communication device 500 also includes a decoder 504. The decoder 504 decrypts the visible light signal with a key corresponding to a current state of a state machine of the communication device 500 and at least one state before and/or after the current state. In addition to the current state of the state machine of the communication apparatus 500, the decoder 504 may select a predetermined number of states before the current state, a predetermined number of states after the current state, or both a predetermined number of states before the current state and a predetermined number of states after the current state, depending on the relative speed of the clock systems of the communication apparatus 500 and the transmitting device, according to an aspect of the invention. In an example, the decoder 504 can first decrypt the visible light signal with a key corresponding to the current state of the state machine of the communication device 500. If the decryption is successful, the process ends. If the decryption is not successful, the decoder 504 continues with decryption with keys corresponding to a predetermined number of states before and/or after the current state. For example, the decoder 504 may sequentially decrypt the visible light signal with the key corresponding to each of a predetermined number of states before and/or after the current state until the visible light signal is successfully decrypted or the visible light signal has been decrypted using the keys corresponding to all of the predetermined number of states before and/or after the current state. The pseudo-code signal generator 508 may generate a key, such as a pseudo-code sequence signal, that varies with the state of the state machine of the communication device 500.
The communication device 500 may also include memory 510. Memory 510 may store state information 512, such as a state machine of communication device 500. The communication device 500 may also include a processor 506. The processor 506 may be a processor dedicated to analyzing information received by the receiver 502, a processor that controls one or more components of the communication device 500, and/or a processor that both analyzes information received by the receiver 502 and controls one or more components of the communication device 500.
Fig. 6 is a block diagram illustrating a communication device 600 in accordance with an aspect of the present invention. It is to be appreciated that communication apparatus 600 is represented as including functional blocks, which may be functional blocks that are implemented by a processor, software, or combination thereof (e.g., firmware). Communication apparatus 600 includes a logical grouping 602 of electrical components that can cooperate. For example, logical grouping 602 can include an electrical component for receiving at a receiving end a visible light signal from a transmitting end, the visible light signal being encrypted 604 at the transmitting end at least in part with a key that varies with a state of a state machine of the transmitting end. Moreover, logical grouping 602 can also include an electrical component for decrypting the visible light signal with a key corresponding to a current state of a state machine at the receiving end and at least one state before and/or after the current state 606. Additionally, communications apparatus 600 can include a memory 608 that retains instructions for executing functions associated with electrical components 604 and 606. While shown as being external to memory 608, it is to be understood that one or more of electrical components 604 and 606 can exist within memory 608.
Those of skill in the art would understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits (bits), symbols, and chips that may be referenced throughout the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.
Those of skill would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The various illustrative logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.
In one or more exemplary embodiments, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software as a computer program product, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a web site, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, Digital Subscriber Line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. Disk (disk) and disc (disc), as used herein, includes Compact Disc (CD), laser disc, optical disc, Digital Versatile Disc (DVD), floppy disk and blu-ray disc where disks (disks) usually reproduce data magnetically, while discs (discs) reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
The previous description of the disclosure is provided to enable any person skilled in the art to make or use the disclosure. Various modifications to the disclosure will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other variations without departing from the spirit or scope of the disclosure. Thus, the disclosure is not intended to be limited to the examples and designs described herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.