Video eavesdropping and reverse assembly to transmit video action to a remote console
First Claim
1. A method of monitoring activity of a remote computer at a local computer, the remote computer coupled to the local computer by a communications channel, the remote computer having a bus coupled to a video controller that generates a video output responsive to video operations on the bus, the method comprising the steps of:
- (a) snooping video operations occurring on the bus, said video operations containing data; and
(b) transmitting the data over the communications channel to the local computer.
4 Assignments
0 Petitions
Accused Products
Abstract
A computer system having integrated remote console functionality. Cycles intended for a video graphics controller are snooped to acquire the video data or control information contained in the cycle. Analysis is performed on the video data to detect sequential or repetitive operations. The video data is encoded into higher level primitives, if possible. The video data and primitives are held in a first-in-first-out (FIFO) memory until the FIFO reaches a critical level, or a staleness timer times out. Special firmware executed in system management mode reads the FIFO and converts the video data and primitives into conventional ASCII text or the required format. The firmware also maintains a copy of the video frame buffer to further encode the video data, if possible. The firmware then transmits the conventional ASCII text via a modem to a user stationed at a remote computer system.
82 Citations
29 Claims
-
1. A method of monitoring activity of a remote computer at a local computer, the remote computer coupled to the local computer by a communications channel, the remote computer having a bus coupled to a video controller that generates a video output responsive to video operations on the bus, the method comprising the steps of:
-
(a) snooping video operations occurring on the bus, said video operations containing data; and
(b) transmitting the data over the communications channel to the local computer.
-
-
2. The method of claim 1 further comprising the step of:
(c) compressing a plurality of video transactions into a code, after step (a) and before step (b).
-
3. The method of claim 2, wherein said steps are performed by hardware.
-
4. The method of claim 2, wherein said steps are performed by software.
-
5. The method of claim 1 further comprising the step of:
(d) encoding one or more video transactions into a code, after step (a) and before step (b).
-
6. The method of claim 5, wherein step (d) is performed by hardware.
-
7. The method of claim 5, wherein step (d) is performed by software.
-
8. The method of claim 1, wherein said data includes text mode data, the method further comprising the step of:
(e) converting said text mode data into an ANSI compatible format, after step (a) and before step (b).
-
9. The method of claim 1, wherein the remote computer includes a buffer, the method further comprising the steps of:
-
(f) holding the data in a buffer; and
(g) periodically removing the data from the buffer.
-
-
10. The method of claim 9, wherein the remote computer includes a programmable timer, the method further comprising the steps of:
-
(h) programming the timer with a timeout value;
(i) resetting the timer count when video activity is detected;
(j) decrementing the timer when inactivity is detected; and
(k) flushing the data from the buffer when said timer expires.
-
-
11. The method of claim 10, wherein the remote computer includes a video frame buffer, the method further comprising the steps of:
-
(l) taking a snapshot of the video frame buffer;
(m) storing the snapshot in the buffer; and
(m) providing the snapshot to the local computer.
-
-
12. The method of claim 1, wherein the communications channel is a telephone line.
-
13. The method of claim 1, wherein a step of snooping memory operations further comprises the step of snooping for a memory write to a video memory buffer.
-
14. An apparatus for monitoring video activity of a remote computer system, the remote computer system including memory and a data communications device, the data communications device connectable to a local computer for sending the video activity to the local computer, the apparatus comprising:
-
a processor operable in a system management mode, said processor for providing video transactions, said transactions comprising address, data, command and control portions;
a bus coupled to said processor, memory and data communications device, said bus for passing the video transactions to a video controller that generates a video output responsive to the video transactions on the bus;
a bus transaction snooping device coupled to said bus for snooping the video transactions; and
a video transaction processing device coupled to said bus transaction snooping device, said video transaction processing device operable to encode the video transactions;
a first buffer for storing the encoded video transactions;
wherein the processor periodically reads the encoded video transactions from said first buffer and causes the encoded video transactions to be sent to the local computer via the data communications device.
-
-
15. The apparatus of claim 14, further comprising:
-
a local computer video data buffer for maintaining a copy of the encoded video transactions sent to the local computer;
wherein before the processor causes the encoded video transactions to be sent to the local computer, the processor compares the encoded video transactions from the first buffer to encoded video transactions stored in the video data buffer and wherein any encoded video transactions already contained in the video data buffer are not sent to the local computer.
-
-
16. The apparatus of claim 15, wherein said processor compares the encoded video transactions in a system management mode.
-
17. The apparatus of claim 14, wherein said video transaction processing device further includes:
-
address comparison logic for comparing sequences of video transaction addresses; and
data comparison logic for comparing sequences of video transaction data, wherein the video transactions comprising block move operations and fill operations are encoded into a compressed data stream.
-
-
18. The apparatus of claim 14, further comprising:
-
a programmable inactivity timer, wherein when said programmable inactivity timer expires, the processor flushes the encoded video transactions from the buffer.
-
-
19. The apparatus of claim 14, wherein the remote computer includes a video frame buffer, the apparatus further comprising:
-
an overflow detection circuit for detecting an overflow condition of said first buffer, wherein when said first buffer overflows the processor copies said remote computer video frame buffer into said first buffer and causes the encoded video transactions to be sent to the local computer.
-
-
20. The apparatus of claim 14, wherein the video transactions are encoded into an American National Standards Institute (ANSI) character format.
-
21. The apparatus of claim 14, wherein the bus transaction snooping device snoops memory writes to a video memory buffer.
-
22. An apparatus for monitoring video activity of a remote computer system, the remote computer system including memory and a data communications device, the data communications device connectable to a local computer for sending the video activity to the local computer, the apparatus comprising:
-
a processor operable in a system management mode, said processor for providing video transactions, said transactions comprising address, data, command and control portions;
a bus coupled to said processor, memory and data communications device, said bus for passing the video transactions to a video controller that generates a video output responsive to the video transactions on the bus;
a hard disk system coupled to said bus;
a bus transaction snooping device coupled to said bus for snooping the video transactions;
a video transaction processing device coupled to said bus transaction snooping device, said video transaction processing device operable to encode the video transactions; and
a first buffer for storing the encoded video transactions;
wherein the processor periodically reads the encoded video transactions from said first buffer and causes the encoded video transactions to be sent to the local computer via the data communications device.
-
-
23. The apparatus of claim 22, further comprising:
-
a local computer video data buffer for maintaining a copy of the encoded video transactions sent to the local computer, wherein before the processor causes the encoded video transactions to be sent to the local computer, the processor compares the encoded video transactions from the first buffer to encoded video transactions stored in the video data buffer and wherein any encoded video transactions already contained in the video data buffer are not sent to the local computer.
-
-
24. The apparatus of claim 23, wherein said processor compares the encoded video transactions in a system management mode.
-
25. The apparatus of claim 22, wherein said video transaction processing device further includes:
-
address comparison logic for comparing sequences of video transaction addresses; and
data comparison logic for comparing sequences of video transaction data, wherein the video transactions comprising block move operations and fill operations are encoded into a compressed data stream.
-
-
26. The apparatus of claim 22, further comprising:
-
a programmable inactivity timer, wherein when said programmable inactivity timer expires, the processor flushes the encoded video transactions from the buffer.
-
-
27. The apparatus of claim 22, wherein the remote computer includes a video frame buffer, the apparatus further comprising:
-
an overflow detection circuit for detecting an overflow condition of said first buffer, wherein when said first buffer overflows the processor copies said remote computer video frame buffer into said first buffer and causes the encoded video transactions to be sent to the local computer.
-
-
28. The apparatus of claim 22, wherein the video transactions are encoded into an American National Standards Institute (ANSI) character format.
-
29. The apparatus of claim 22, wherein the bus transaction snooping device snoops memory writes to a video memory buffer.
Specification