Communication verification system and method of using the same

A communication verification system is provided. The communication verification system includes a local transmitting-end unit, a remote receiving-end unit, and a repeater device. The local transmitting-end unit is set to a first computing mode and outputs an initial value. The remote receiving-end unit is set to a second computing mode. The repeater device receives the initial value from the local transmitting-end unit and outputs an initial value to the remote receiving-end unit according to the second computing mode. The repeater device receives and stores a computation result from the remote receiving-end unit, and then outputs a confirmation signal to the local transmitting-end unit according to the first computing mode. The repeater device outputs the computation result to the local transmitting-end unit for verification when the repeater device receives a query signal from the local transmitting-end unit.

BACKGROUND OF THE INVENTION

Field of the Invention

This invention relates to a communication verification system, and in particular, it relates to a communication verification system useful for extending the transmission distance of communication devices.

Description of the Related Art

Protection of digital data has been an important topic given the advancement of digital technologies. To ensure that digital audio-visual data is not illegally duplicated when transmitted through communication interfaces, developers often add protection mechanisms at the transmitting end, and the corresponding receiving end requires corresponding decoding mechanisms in order to read and display the data content.

Take High-Bandwidth Digital Content Protection (HDCP) technology, a digital content protection technology developed by Intel, as an example, before and during digital audio-visual data transmission, the HDCP transmitting unit performs verification for the connected HDCP receiving unit, to ensure that the HDCP receiving unit is authorized.

Specifically, under the HDCP technology, two computing modes are defined for the HDCP transmitting units to perform verification. Under one computing mode (the first computing mode), the HDCP transmitting unit first transmits an initial value, and after the HDCP receiving unit replies with a confirmation signal, the HDCP transmitting unit transmits a query signal to request the HDCP receiving unit to transmit the computation result. Under the other computing mode (the second computing mode), the HDCP transmitting unit first transmits an initial value, and the HDCP receiving unit immediately transmits back the computation result. Under the first computing mode, the HDCP transmitting unit determines whether the elapsed time from when it transmits the query signal to when it receives the computation result satisfies a predetermined time limitation (for example, under 7 ms), and confirms the correctness of the computation result. Under the second computing mode, the HDCP transmitting unit determines whether the elapsed time from when it transmits the initial value to when it receives the computation result satisfies a predetermined time limitation, and confirms the correctness of the computation result. If the elapsed time for receiving the computation result from the HDCP receiving unit exceeds the time limitation, that HDCP receiving unit will be deemed unauthorized. However, while an HDCP receiving unit constructed according to these computing modes can satisfy the above described time limitations, the transmission distance between the HDCP transmitting unit and the HDCP receiving unit is limited for this reason and cannot be extended. Thus, for data transmission between the HDCP transmitting unit and the HDCP receiving unit, a solution is needed to effectively extend the transmission range while satisfying the time limitation.

SUMMARY OF THE INVENTION

An object of the present invention is to provide a communication verification method, where the local transmitting-end unit and the remote receiving-end unit are set to different computing modes, in order to solve the problem of limitations on the transmission time.

Another object of the present invention is to provide a communication verification system which allows the transmission range of the communication device to be extended.

In one embodiment, the present invention provides a communication verification system, which includes a local transmitting unit, a remote receiving unit, and a repeater device. The local transmitting unit is set to a first computing mode and outputs an initial value. The remote receiving unit is set to a second computing mode. The repeater device receives the initial value from the local transmitting unit and outputs an initial value to the remote receiving unit according to the second computing mode. The repeater device receives and stores a computation result from the remote receiving unit, and then outputs a confirmation signal to the local transmitting unit according to the first computing mode. When the repeater device receives a query signal from the local transmitting unit, the repeater device outputs the computation result to the local transmitting unit for verification.

In another embodiment, the present invention provides a communication verification method, which includes: setting a local transmitting unit to a first computing mode, and setting a remote receiving unit to a second computing mode; a repeater device receiving an initial value from the local transmitting unit, and outputting an initial value to the remote receiving unit according to the second computing mode; the repeater device receiving and storing a computation result from the remote receiving unit, and outputting a confirmation signal to the local transmitting unit according to the first computing mode; when the repeater device receives a query signal from the local transmitting unit, the repeater device outputting the computation result to the local transmitting unit for verification. Such a communication verification method uses the repeating device to extend the range between the local transmitting unit and the remote receiving unit.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

A communication verification system is disclosed which supports digital content protection. In one embodiment, the communication verification system may be a networked communication verification system, which includes a local transmitting unit and a repeater device. The local transmitting unit can perform verification for a remote receiving unit.

FIG. 1schematically illustrates a communication verification system according to a first embodiment of the present invention. As shown inFIG. 1, the communication verification system includes a transmitting unit100(local transmitting unit), a receiving unit200(remote receiving unit) and a repeater device300. In one implementation, the communication verification system uses devices that comply with a first communication protocol, such as HDCP devices. The repeater device300is coupled to the transmitting unit100and is located close to the transmitting unit100, as shown inFIG. 1, where the transmitting unit100and the repeater device300are depicted within the dashed-line box, referred to as the local end. On the other side, the repeater device300is coupled to the receiving unit200. The receiving unit200is depicted in another dashed-line box, referred to as the remote end. Relative to the repeater device300, the transmitting unit100is the local transmitting end, and the receiving unit200is the remote receiving end. In other words, the repeater device300is located closer to the local transmitting end than to the remote receiving end. In this embodiment, the local transmitting end (transmitting unit100) and the remote receiving end (receiving unit200) are set to different computing modes, and perform signal forwarding and device verification via the repeater device300, as will be explained in more detail later with reference toFIG. 3.

Referring toFIG. 2, which schematically illustrates the repeater device of the first embodiment. As shown inFIG. 2, the repeater device300includes a transmitting-end receiving port311, a transmitting-end transmitting port313, a receiving-end receiving port321, and a receiving-end transmitting port323, for communicating signals between the local transmitting end and remote receiving end. The repeater device300further includes signal receiving module302and signal adjusting module304which can be used to set the above-mentioned different computing modes. Briefly, when the signal receiving module302receives a computing-mode signal (from either the local transmitting end or the remote receiving end), it determines whether signal adjustment is required; if signal adjustment is required, the signal adjusting module304generates a control signal which is outputted to the corresponding end (either the local transmitting end or the remote receiving end) via the respective transmitting ports.

FIG. 3schematically illustrates the timing of events in the communication verification system of the first embodiment. As shown inFIG. 3, the local transmitting end (transmitting unit100) and the remote receiving end (receiving unit200) achieves signal transmission via the repeater device300, and the order of events may be divided to a setting stage600and a verification stage610. Referring toFIGS. 2 and 3, during the setting stage600, the repeater device300sets the computing modes of the local transmitting end (transmitting unit100) and the remote receiving end (receiving unit200). More specifically, the repeater device300receives a transmitting-end computing-mode signal CTfrom the local transmitting end (transmitting unit100). The repeater device300then outputs a second computing-mode signal C2to the remote receiving end (receiving unit200). As mentioned earlier, the signal receiving module302and signal adjusting module304can be used to set the computing modes. In other words, at time point601shown inFIG. 3, the repeater device300performs determination and adjustment of the computing-mode signal. The signal receiving module302determines the content of the transmitting-end computing-mode signal CTto generate a determination result. For example, if the transmitting-end computing-mode signal CTdoes not comply with the computing mode required by the remote receiving end (i.e. the second computing mode), then the determination result indicates that the signal content needs to be adjusted, and the determination result is forwarded to the signal adjusting module304. The signal adjusting module304generates a control signal and sends it back to the signal receiving module302, and based on the control signal, the signal receiving module302outputs the second computing-mode signal C2to the remote receiving end (receiving unit200) via the receiving-end transmitting port323. On the other hand, if the determination result indicates that the signal does not need to be adjusted, the repeater device300directly output the transmitting-end computing-mode signal CTto the remote receiving end (receiving unit200).

Similarly, the repeater device300receives a receiving-end computing-mode signal CRfrom the remote receiving end (receiving unit200). The repeater device300outputs a first computing-mode signal C1to the local transmitting end (transmitting unit100). As mentioned earlier, the signal receiving module302and signal adjusting module304can be used to set the computing modes. In other words, at time point603shown inFIG. 3, the repeater device300performs determination and adjustment of the computing-mode signal. The signal receiving module302determines the content of the receiving-end computing-mode signal CRto generate a determination result. For example, if the receiving-end computing-mode signal CRdoes not comply with the computing mode required by the local transmitting end (i.e. the first computing mode), then the determination result indicates that the signal content needs to be adjusted, and the determination result is forwarded to the signal adjusting module304. The signal adjusting module304generates a control signal and sends it back to the signal receiving module302, and based on the control signal, the signal receiving module302outputs the first computing-mode signal C1to the local transmitting end (transmitting unit100) via the transmitting-end transmitting port313. On the other hand, if the determination result is that the signal does not need to be adjusted, the repeater device300directly output the receiving-end computing-mode signal CRto the local transmitting end (transmitting unit100). It should be noted that, in the setting stage600, the setting of the computing motes by the repeater device300is not limited to the above-described order; e.g., the setting for the local transmitting end can occur at time point601and the setting for the remote receiving end can occur at time point603.

From the above description, it can be understood that the local transmitting end (transmitting unit100) is set to the first computing mode and the remote receiving end (receiving unit200) is set to the second computing mode. In one implementation, the first and second computing modes are set using the HDCP version 2.1 protocol as the first communication protocol. As shown inFIG. 3, in the verification stage610, the local transmitting end (transmitting unit100) performs verification for the remote receiving end (receiving unit200). Specifically, the local transmitting end (transmitting unit100) outputs an initial value i. The repeater device300receives the initial value i from the local transmitting end, and outputs an initial value i based on the second computing mode to the remote receiving end (receiving unit200). For example, the initial value i may be a random value or other parameters to be calculated. The remote receiving end (receiving unit200) receives the initial value i and generates a computation result r, and transmits it back to the repeater device. The repeater device300receives the computation result r from the remote receiving end and stores it, and outputs a confirmation signal v based on the first computing mode to the local transmitting end. Referring toFIGS. 2 and 3, as shown inFIG. 2, the repeater device300includes a storage unit330for receiving the computation result. In other words, the repeater device300stores the computation result r at time point611shown inFIG. 3. For example, if the signal receiving module302determines that the signal received by the receiving-end receiving port321is the computation result corresponding to the initial value, it stores the computation result in the storage unit330.

Then, after receiving the confirmation signal v, the local transmitting end (transmitting unit100) transmits a query signal q. When the repeater device300receives the query signal q from the local transmitting end (transmitting unit100), the repeater device300outputs the computation result r to the local transmitting end (transmitting unit100) for verification. As mentioned earlier, under the first computing mode, the local transmitting end determines whether the elapsed time between the transmission of the query signal and the receipt of the computation result satisfies a predetermined time limitation. In other words, the local transmitting end calculates an elapsed time613between the query signal q and the computation result r shown inFIG. 3. If the computation result is correct and the elapsed time satisfies the time limitation, the local transmitting end (transmitting unit100) determines that the remote receiving end (receiving unit200) is an authorized device.

Stated generally, the communication verification system of this embodiment utilizes a repeater device to set the local transmitting end (transmitting unit100) and remote receiving end (receiving unit200) to different settings (i.e. different computing modes). As described above, setting the local transmitting end (transmitting unit100) to the first computing mode requires the process of transmitting the initial value, receiving the confirmation signal, transmitting the query signal and receiving of the computation result. Setting the remote receiving end (receiving unit200) to the second computing mode requires the process of receiving the initial value and responding with the computation result. In other words, as long as the repeater device is located within a transmission range that satisfies the time limitation (i.e. the repeater device is located close to the local transmitting end (transmitting unit100)), and by utilizing the different settings, the repeater device300can, before transmitting the confirmation signal, stores the computation result received from the remote receiving end (receiving unit200); thus, after transmitting the confirmation signal, it can ensure that the computation result is transmitted back to the local transmitting end within the required time limitation. As a result, the distance between the remote receiving end (receiving unit200) and the local transmitting end (transmitting unit100) can be extended, i.e. the remote receiving end (receiving unit200) is not limited by the transmission range of the local transmitting end (transmitting unit100) and the transmission content can still be protected.

FIG. 4is a flow chart of a communication verification method according to this embodiment. As shown inFIG. 4, the communication verification method includes steps S101to S111. In step S101, the local transmitting end is set to a first computing mode. In step S103, the remote receiving end is set to a second computing mode. In one implementation, the first computing mode and second computing mode are set using the HDCP version 2.1 protocol as the first communication protocol.

In step S105, the repeater device receives an initial value from the local transmitting end, and outputs an initial value based on the second computing mode to the remote receiving end. The initial value may be a random value or other parameters to be calculated. The remote receiving end receives the initial value and generates a computation result, and transmits it back to the repeater device.

In step S107, the repeater device receives the computation result from the remote receiving end and stores it, and outputs a confirmation signal based on the first computing mode to the local transmitting end. The repeater device includes a storage unit for receiving the computation result. After receiving the computation result, the repeater device outputs the confirmation signal to the local transmitting end.

In step S109, the repeater device determines whether a query signal is received. In step S111, the repeater device outputs the computation result to the local transmitting end for verification. When the repeater device receives the query signal from the local transmitting end, it transmits the computation result to the local transmitting end for verification. The local transmitting end calculates the elapsed time from transmitting the query signal to receiving the computation result, in order to determine whether the elapsed time satisfies the time limitation. The repeater device is closer to the local transmitting end than the remote receiving end; in particular, it is located within the transmission range that can satisfy the above-described time limitation. This way, the repeater device can timely transmit the computation result from the remote receiving end to the local transmitting end, while extending the distance of the remote receiving end.

FIG. 5is a flow chart showing the setting of the first computing mode used in this embodiment. As shown inFIG. 5, the setting of the first computing mode includes steps S201to S209. In step S201, the repeater device receives a receiving-end computing-mode signal from the remote receiving end. In step S203, the repeater device determines the content of the receiving-end computing-mode signal to generate a determination result. Specifically, the signal receiving module of the repeater device determines the content of the receiving-end computing-mode signal to generate the determination result.

In step S205, the repeater device determines whether to perform signal adjustment. If the signal receiving module of the repeater device determines that the content of the receiving-end computing-mode signal does not comply with the computing mode required by the local transmitting end (such as the first computing mode), then the determination result indicates that signal adjustment is required, and the determination result is forwarded to the signal adjustment module (continue to step S207). On the other hand, in step S206, if the signal receiving module of the repeater device determines that the content of the receiving-end computing-mode signal complies with the computing mode required by the local transmitting end, it directly outputs the receiving-end computing-mode signal.

In step S207, the signal adjustment module receives the determination result, and generates a control signal and transmits it back to the signal receiving module. In step S209, the signal receiving module outputs, based on the control signal, the first computing-mode signal to the local transmitting end. This way, the repeater device can set the local transmitting end to the first computing mode.

FIG. 6is a flow chart showing the setting of the second computing mode used in this embodiment. As shown inFIG. 6, the setting of the second computing mode includes steps S301to S309. In step S301, the repeater device receives a transmitting-end computing-mode signal from the local transmitting end. In step S303, the repeater device determines the content of the transmitting-end computing-mode signal to generate a determination result. Specifically, the signal receiving module of the repeater device determines the content of the transmitting-end computing-mode signal to generate the determination result.

In step S305, the repeater device determines whether to perform signal adjustment. If the signal receiving module of the repeater device determines that the content of the transmitting-end computing-mode signal does not comply with the computing mode required by the remote receiving end (such as the second computing mode), then the determination result indicates that signal adjustment is required, and the determination result is forwarded to the signal adjustment module (continue to step S307). On the other hand, in step S306, if the signal receiving module of the repeater device determines that the content of the transmitting-end computing-mode signal complies with the computing mode required by the remote receiving end, it directly outputs the transmitting-end computing-mode signal.

In step S307, the signal adjustment module receives the determination result, and generates a control signal and transmits it back to the signal receiving module. In step S309, the signal receiving module outputs, based on the control signal, the second computing-mode signal to the remote receiving end. This way, the repeater device can set the remote receiving end to the second computing mode. In one implementation, the first computing mode and second computing mode are set using the HDCP version 2.1 protocol as the first communication protocol.

FIG. 7schematically illustrates a communication verification system according to a second embodiment of the present invention. Differences between this embodiment and the first embodiment include: The communication verification system ofFIG. 7uses the repeater device described earlier in conjunction with a local repeater unit and a remote repeater unit to accomplish extension of the remote receiving end. As shown inFIG. 7, in addition to the transmitting unit100, the receiving unit200, and the repeater device300, the communication verification system also includes a local repeater unit400and a remote repeater unit500. In one implementation, the communication verification system use devices that comply with a first communication protocol, such as HDCP devices. The local repeater unit400includes a local receiver401and local transmitter403; the local receiver401is coupled to the transmitting unit100, and the local transmitter403is coupled to the repeater device300. The repeater device300is coupled to the local repeater unit400and is located close to the local repeater unit400; as shown inFIG. 7, the transmitting unit100, the local repeater unit400and the repeater device300are depicted in the same dashed-line box, which is referred to as the local end. The remote repeater unit500includes a remote receiver501and remote transmitter503; the remote transmitter503is coupled to the receiving unit200, and the remote receiver501is coupled to the repeater device300. The receiving unit200and the remote repeater unit500are depicted in the same dashed-line box, which is referred to as the remote end. In other words, the repeater device300is located closer to the local transmitter403of the local repeater unit400than the remote receiver501of the remote repeater unit500is. In this embodiment, the local repeater unit400and the remote repeater unit500are set to different computing modes. Specifically, the local transmitter403and the remote receiver501are set to different computing modes, and they accomplish signal transmission and device verification via the repeater device300.

Further, in the embodiment ofFIG. 7, during the setting stage described earlier, the repeater device300sets the computing modes of the local transmitter403of the local repeater unit400and the remote receiver501of the remote repeater unit500. Similar to the earlier-described method, the repeater device300receives a transmitting-end computing-mode signal form the local transmitter403. The signal receiving module302determines the content of the transmitting-end computing-mode signal to generate a determination result, to determine whether the signal adjusting module304is to perform signal adjustment. If the determination result indicates that signal adjustment is required, the signal adjusting module304generates a control signal, and the repeater device300outputs the second computing-mode signal to the remote receiver501.

On the other hand, the repeater device300receives a receiving-end computing-mode signal from the remote receiver501. The signal receiving module302determines the content of the receiving-end computing-mode signal to generate a determination result, to determine whether the signal adjusting module304is to perform signal adjustment. If the determination result indicates that signal adjustment is required, the signal adjusting module304generates a control signal, and the repeater device300outputs the first computing-mode signal to the local transmitter403. This way, the computing mode setting for the local transmitter403and remote receiver501are accomplished. In one implementation, the first computing mode and second computing mode are set using the HDCP version 2.1 protocol as the first communication protocol.

In an alternative embodiment, the communication verification system uses a first communication protocol and a second communication protocol. For example, between the local transmitter403and the repeater device300and between the repeater device300and the remote receiver501, the first communication protocol may be used (such as the HDCP version 2.1 protocol). Further, between the local receiver401and the transmitting unit100and between the remote transmitter503and the receiving unit200, a second communication protocol may be used, such as any version of HDCP protocol (e.g. HDCP 1.4, HDCP 2.0, HDCP 2.1, HDCP 2.2). This way, the local transmitter403, the repeater device300and the remote receiver501can perform verification using a standard operation mode under a predetermined communication protocol, while the transmitting unit100coupled to the local receiver401and the receiving unit200coupled to the remote transmitter503are not limited to using particular version of a communication protocol, so that devices coupled to the local repeater unit400and remote repeater unit500can be selected with more flexibility.

In the verification stage of the second embodiment, a difference from the first embodiment is that in the second embodiment, the local transmitter403of the local repeater unit400performs verification for the remote receiver501of the remote repeater unit500. Thus, similar to the earlier described method, the local transmitter403outputs an initial value. The repeater device300receives the initial value from the local transmitter403and outputs an initial value based on the second computing mode to the remote receiver501. The remote receiver501receives the initial value and generates a computation result, and transmits it back to the repeater device300. The repeater device300receives the computation result from the remote receiver501and stores it, and outputs a confirmation signal to the local transmitter403based on the first computing mode. As mentioned earlier, after receiving the computation result, the repeater device300can store it in the storage unit330. Then, after the local transmitter403receives the confirmation signal, it outputs a query signal. When the repeater device300receives the query signal from the local transmitter403, the repeater device300outputs the computation result to the local transmitter403for verification. Under the first computing mode, the local transmitter403determines whether the elapsed time between transmitting the query signal and receiving the computation result satisfies the time limitation. If the computation result is correct and the elapsed time satisfies the time limitation, the local repeater unit400determines that the remote repeater unit500is an authorized device. This way, the remote repeater unit500is not limited to the transmission range determined by the time limitation which is set by the local repeater unit400under the first computing mode. In turn, the receiving unit200is not limited to the transmission range determined by the local repeater unit400, so that the distance of the receiving unit200from the transmitting unit100can be extended. This provides more flexibility to the overall configuration of the system. It also provides compatibility with earlier or later versions of the communication protocol by using the coupling of the repeater device.

FIG. 8schematically illustrates a communication verification system according to a third embodiment of the present invention. In the previous embodiment, the repeater device and the local repeater unit are two independent devices. As shown inFIG. 8, a local repeater module410includes the repeater device300and the local repeater unit400. This way, the repeater device300is not only located within the transmission range of the local transmitter403, it is further integrated with the local repeater unit400into one device. Other than that, the computing mode setting and verification process of the communication verification system ofFIG. 8are similar to those of the earlier embodiment and are not described in detail here.

To summarize, the communication verification systems shown inFIGS. 7 and 8use the repeater device300to set the local transmitter403and remote receiver501to different settings (i.e. different computing modes). By locating the repeater device within a transmission range that satisfies the above-described time limitation (i.e. the repeater device is close to the local transmitting end), and by using the different settings, the repeater device300can, before outputting the confirmation signal, store the computation result from the remote receiver501; after transmitting the confirmation signal, it can ensure that the computation result can be transmitted to the local transmission end within the time limitation. This way, the distance between the remote receiver501and the local transmitter403can be extended.