KVM switch including a terminal emulator
Claim Score by NHIP
Abstract
A method and system for converting the output of a communications port (e.g., a serial port or a USB port) into video signals representing the output of a terminal using a KVM switch. Upon receiving characters from the communications port, the system interprets the characters as terminal emulation commands and internally generates a representation of what a resulting terminal screen would look like. From that internal (digital) representation, the system produces analog outputS representing the terminal screen. The analog outputs are output on the monitor attached to the KVM switch.

Term
Term ended
Projected expiry passed 25 August 2019, 7.1 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
17 claims: 1 independent, 16 dependent
- 1Broadest claimClaim Score 75, broad(NHIP)A KVM switch for connection to a monitor comprising:a communications port configured to receive terminal commands;a digital memory;an analyzer configured to analyze the terminal commands and update a digital representation of a virtual terminal stored in the digital memory, based on the terminal commands;a circuit configured to scan the digital memory and generate analog RGB signals and synchronization signals;and analog drivers for driving the analog RGB signals out to the monitor.
44 paragraphs in 5 sections, as filed
CROSS REFERENCE TO RELATED APPLICATIONS
P-0001[0001] The present application is a continuation of Ser. No. 09/683,851, filed Feb. 22, 2002, now allowed, which is a continuation of U.S. application Ser. No. 09/382,544, filed Aug. 25, 1999, now U.S. Pat. No. 6,378,014. The entire contents of both of those applications are herein incorporated by reference in their entirety.
BACKGROUND OF INVENTION
P-0002[0002] 1. Field of the Invention
P-0003[0003] The present invention is directed to a terminal emulator for use with a keyboard, video and mouse (KVM) switch. More specifically, the present invention provides a converter interposed between a communications interface (e.g., a serial or USB port) of a computer and the three part KVM interface of a KVM switch for converting the (serial) communications into video signals representing a terminal.
P-0004[0004] 2. Description of the Background
P-0005[0005] Apex Inc., the assignee of the present invention, produces and sells a series of switches that enable a single keyboard, mouse and monitor to logically connect to any one of several computers simultaneously. One embodiment of a KVM switch <b>74</b> is shown in the block diagram of FIG. 1. Using commands from a keyboard <b>122</b>, the user may switch between the several computers (<b>100</b><i>a </i>through <b>100</b><i>c</i>). Internally, based on the selection, the switch <b>74</b> establishes a set of three connections from the computer-interface side to the user-interface side. Accordingly, the output of the video card of one of the computers is displayed on the video monitor <b>120</b> when that computer is selected, and the signals from the keyboard <b>122</b> and the mouse <b>124</b> are directed to the selected computer as if the keyboard <b>122</b> and mouse <b>124</b> were directly connected to the selected computer.
P-0006[0006] Terminal emulators are also known. One use of terminal emulators is to debug the operation of a computer's operating system. Since controlling the monitor is complex for low-level operating system code, it is often impractical to write error messages to a screen to track operations of the operating system. As a result, some operating systems provide support for sending status messages to the serial port of the computer. Such a technique is far less complicated than writing to the screen.
P-0007[0007] To view the status messages, a terminal (or a computer running a terminal emulator) is connected to the serial port, and the output from the serial port is interpreted as a stream of terminal commands. Those terminal commands enable text to be written to the terminal's screen. Those commands also provide additional control functions such as clearing the screen and changing the attributes (e.g., underlining, inverted color, blinking, and foreground and background color) of a displayed character.
SUMMARY OF INVENTION
P-0008[0008] It is an object of the present invention to convert the output of a communications port (e.g., a serial port or a USB port) of a computer into analog video signals that can be applied to the monitor input of a KVM switch without using a separate computer running a terminal emulator program. The communications port also receives as inputs commands corresponding to changes in a keyboard and/or mouse connected to the KVM switch.
P-0009[0009] This and other objects of the present invention are provided through a converter that is interposed between the communications port and the KVM switch. The converter includes an analyzer for analyzing the digital output of a communications port and interpreting the digital output as a series of emulator commands. The analyzer determines the resulting digital representation of the location and attributes of the text as the text would appear on a corresponding terminal. Using the digital representation, the analyzer generates an equivalent analog signal in RGB format. That RGB format can then be applied to a monitor input of the KVM switch just like any other connected computer.
P-0010[0010] Likewise, in the opposite direction, status changes for the keyboard and/or mouse connected to the KVM switch are sent to the connector and converted to commands which are sent to the communications port. In the case of a bi-directionally communicating mouse and/or keyboard, commands can be sent from the communications port to the converter as well.
BRIEF DESCRIPTION OF DRAWINGS
P-0011[0011] A more complete appreciation of the invention and many of the attendant advantages thereof will become readily apparent with reference to the following detailed description, particularly when considered in conjunction with the accompanying drawings, in which:
P-0012[0012]FIG. 1 is a block diagram of an illustrative, known KVM switch connected to (a) plural computers on the computer-interface side and (b) a keyboard, mouse and monitor on the user-interface side;
P-0013[0013]FIG. 2 is a block diagram of the terminal converter of the present invention replacing one of the computers of FIG. 1;
P-0014[0014]FIG. 3 is a block diagram of a first embodiment of the converter according to the present invention;
P-0015[0015]FIG. 4 is a block diagram of a second embodiment of the converter according to the present invention;
P-0016[0016]FIG. 5 is a block diagram of a third embodiment of the converter according to the present invention;
P-0017[0017]FIG. 6 is a block diagram of a fourth embodiment of the converter according to the present invention;
P-0018[0018]FIG. 7 is a block diagram of a fifth embodiment of the converter according to the present invention;
P-0019[0019]FIG. 8 is a block diagram of a sixth embodiment of the converter according to the present invention;
P-0020[0020]FIG. 9 is a block diagram of a KVM switch incorporating a converter according to the present invention;
P-0021[0021]FIG. 10<i>a </i>is a block diagram of a portion of the memory of the converter that includes the characters to be displayed and their attributes;
P-0022[0022]FIG. 10<i>b </i>is an illustration of the equivalent virtual layout of the terminal being emulated using the contents of the memory illustrated in FIG. 9<i>a; </i>and
P-0023[0023]FIG. 10<i>c </i>is a bitmap representation of one of the characters to be displayed by the converter.
DETAILED DESCRIPTION
P-0024[0024] Referring now to the drawings, in which like reference numerals designate identical or corresponding parts throughout the several views, FIG. 2 is a block diagram showing one use of a converter <b>200</b> according to the present invention. In this environment, a user is able to control multiple computers (<b>100</b><i>a </i>and <b>100</b><i>b</i>) using a single keyboard <b>122</b> and mouse <b>124</b>. Using commands from a keyboard <b>122</b> (and optionally the mouse <b>124</b> with or without a keyboard modifier), the user may switch between those computers (<b>100</b><i>a </i>and <b>100</b><i>b</i>). In addition to being able to select the KVM outputs of computer <b>100</b><i>b, </i>it is desirable to allow a user to see the output of the communications port <b>210</b>. To provide this capability, the communications port <b>210</b> is connected to a converter <b>200</b> (that acts as a terminal emulator) using a cable <b>205</b>. In a preferred embodiment of the present invention, the communications port <b>210</b> is a serial interface and the cable <b>205</b> is a null modem cable. The present invention, however, is not limited to direct serial communication. In alternate embodiments, the communications port <b>210</b> is a USB port or a parallel port and the cable <b>205</b> is a corresponding USB or parallel cable. In yet another alternate embodiment, the cable <b>205</b> is replaced by a pair of modems and a telephone connection.
P-0025[0025] The four above configurations provide “direct” communication with the computer <b>100</b><i>b. </i>As used herein, the phrase “direct communication” means that the communication protocol correctly assumes that communication is with only one device. Accordingly, a header (including a device identifier) is not needed before each group (or packet) of information. On the other hand, the phrase “indirect communication” means communication with devices that require a header to identify the recipient of the communication. One example of indirection communication is the use of Ethernet cards that utilize packets with headers to communication information to the appropriate one of many Ethernet devices.
P-0026[0026] As shown in FIGS. 3 through 7, the present invention includes several possible embodiments. In each embodiment, the present invention internally maintains a digital representation of a virtual terminal whose appearance is controlled by commands from the communications port <b>210</b> (of the computer <b>100</b><i>b </i>shown in FIG. 2). The digital representation is converted to a set of analog RGB outputs that are output on analog terminal outputs <b>20</b>. Keyboard commands are received on the keyboard inputs <b>22</b> and forwarded to the communications port <b>210</b>. In embodiments where the terminal supports mouse movements and commands, the mouse commands are received on mouse interface <b>24</b> and are forwarded to the communications port <b>210</b>.
P-0027[0027] As shown in FIG. 3, the cable <b>205</b> is connected to a driver <b>250</b>. The driver converts the voltages and currents on the cable <b>205</b> to voltages and currents that can be accepted by a field programmable gate array (FPGA) <b>230</b> (or a microprocessor as shown in subsequent figures). Examples of FPGAs are the XC3000 series, the XC4000 series, the XC5200 series and the Spartan series from Xilinx, Inc., of San Jose Calif. (Additional details of the architectures and programming requirements of those series are found in the Programmable Logic Data Book, 1998 edition, the contents of which are incorporated herein by reference. Alternate logic devices from other companies can likewise be used with the present invention.) In a preferred embodiment, an emitter follower is used to convert voltages and currents from the FPGA to voltages and currents that fall within the specifications for the monitor for normal RGB video signals. Having converted the signals from the communications port <b>210</b>, the FPGA <b>230</b> interprets the commands to determine how the virtual (emulated) terminal is changed based on those commands. One such command simply adds an ASCII character at the current cursor location and advances the cursor to the next location of the virtual terminal. Other commands (e.g., carriage return and line feed) change the position where the next character will be inserted.
P-0028[0028] The FPGA <b>230</b> stores the digital representation of the virtual terminal in the RAM <b>245</b>. Also stored in the RAM <b>245</b> are buffered commands that have been received from the driver <b>250</b> but which have not yet been acted on by the FPGA <b>230</b>. The control logic for interpreting the commands (thereby emulating the terminal) and outputting the analog video signals are contained in a ROM <b>240</b> which configures the FPGA <b>230</b>. One example of a ROM <b>240</b> is a serial non-volatile memory (e.g., EPROM) with a single-bit wide data bus and a clock signal. Another embodiment of the ROM <b>240</b> is a non-volatile memory (e.g., EPROM, EEPROM, Flash ROM, or FRAM) with a multi-bit address and data bus. In either embodiment, the non-volatile memory is preferably a rewriteable memory that can be updated to provide additional features or corrections.
P-0029[0029] In order to reduce the size of the FPGA required to perform the terminal emulation, the FPGA can be dynamically reconfigured to change from one format (e.g., ANSI) to another format (e.g., VT<b>100</b>) by loading the appropriate format from a ROM connected to the FPGA. In this manner, the FPGA <b>230</b> need only provide enough logic gates to (1) provide dynamic reconfiguration and (2) emulate one terminal type at a time.
P-0030[0030] One embodiment of the driver <b>250</b> in FIGS. 3 and 5 is the SL16 from ScanLogic Corp of Bedford, Mass. The SL16 provides USB communications with external devices. (Additional details of the SL16 architecture can be found in SL16 Hardware Specification: Technical Reference, Revision 1.20 dated Jul. 14, 1998, the contents of which are incorporated herein by reference.)In the second embodiment shown in FIG. 4, a driver <b>250</b>′ is incorporated into the FPGA <b>230</b> (as opposed to using the external driver <b>250</b> in FIG. 3). Using digital logic cells and analog I/O blocks of the FPGA, the FPGA <b>230</b> communicates directly with the communications port <b>210</b> across cable <b>205</b>. In an alternate embodiment to that of FIG. 4, the drivers <b>255</b> are also included into the FPGA, thereby further reducing the number of chips required to emulate a terminal.
P-0031[0031] The present invention, however, is not limited to using FPGAs to emulate the terminal. In one alternate embodiment, the FPGA is replaced by a one-time programmable (OTP) device or an application specific integrated circuit (ASIC). Alternatively, as shown in FIG. 5, in the third embodiment of the present invention, an embedded controller <b>270</b> (including RAM <b>245</b> and ROM <b>240</b>) communicates with the communications port <b>210</b> through the driver <b>250</b>.
P-0032[0032] In the embodiment of the present invention shown in FIG. 6, an embedded controller <b>280</b> includes an integrated communications driver <b>250</b> and is used to replace the general purpose embedded controller <b>270</b> and external driver <b>250</b> (shown in FIG. 4). Using this embodiment, the number of components is reduced as compared to the embodiment of FIG. 5. One such embedded controller is the ST90XXX series from STMicroElectronics. Specifically, members of the ST90XXX family include complete serial communications interfaces (SCI) for communicating with external serial devices. (Additional details about that family of devices are available in the June 1998 preliminary technical specification, the contents of which are incorporated herein by reference.)In an alternate embodiment of the present invention shown in FIG. 7, the converter <b>200</b> includes a packet-based driver <b>300</b>, such as an Ethernet controller. (This driver <b>300</b> likewise can be used with the FPGA implementations of FIGS. 3 and 4). Packets destined for the converter (as identified by the header of the packet) that are sent by the communications port <b>210</b> are stripped of their headers and then treated as packets from a direct connection.
P-0033[0033] In the sixth embodiment, shown in FIG. 8, a combined microprocessor and FPGA design is used. This provides the greatest flexibility of all the disclosed designs.
P-0034[0034] As shown in FIG. 9, the converter <b>200</b> may also be incorporated into a KVM switch <b>300</b> directly. In this embodiment, at least one set of KVM connections (<b>76</b>, <b>78</b> and <b>80</b>) are replaced with a connection for receiving the cable <b>205</b>. The video outputs of the virtual terminal are converted so as to be output from the switch <b>300</b> to either a monitor <b>120</b> or to another switch (<b>74</b> or <b>300</b>) in a hierarchy of switches.
P-0035[0035] As shown in FIG. 10<i>a, </i>the memory of the converter <b>200</b> includes a representation of how the emulated screen should look. For each position on the screen, the memory includes a character to be drawn at that position as well as an attribute for that character. Characters can have zero or more attributes applied to them simultaneously. In one embodiment, each attribute is represented by a single bit of an 8-bit attribute. Thus, the underline bit may be bit zero such that an underlined character (with no other attributes turned on) would have an attribute of 20=1 (which in hexadecimal notation is indicated as 0x01). As shown in FIG. 10<i>a, </i>the letters forming the word “text”are underlined since they each include an attribute set to 0x01.
P-0036[0036] In order to convert the format of FIG. 10<i>a </i>into the representation shown in FIG. 10<i>b, </i>the converter <b>200</b> must convert each character into a corresponding set of analog output signals (broken into rows). For example, when the converter <b>200</b> is beginning the output process for the text “A line of text.” as shown in FIG. 10<i>a, </i>the converter <b>200</b> dedicates the first n pixel values to the first row of the bitmap corresponding to the letter “A”. For example, as shown in FIG. 10<i>c, </i>an eight-bit wide bitmap is used to represent the letter “A”. As such, eight pixels are written out (in RGB format) in the background color since no pixels are turned on in the first row of the letter “A” bitmap. If space is not already included as part of the character bitmaps, then the system would automatically write any standard space between characters (e.g., 2 pixels) in the background color as well. After the first line of the bitmaps of all the letters in the row are processed. The converter <b>200</b> then generates an HSYNC signal. The next row of the same bitmaps are subsequently processed. For example, in the second row of the bitmap corresponding to the letter “A”, two out of 8 pixels are written out in the foreground color while the remaining eight are written out in the background color.
P-0037[0037] This process is repeated for the remaining rows in the bitmaps for first line of text. In the case of characters that are underlined, all pixels in the underline row (e.g., row <b>8</b> of FIG. 10<i>c</i>) are turned “on” in the foreground color for characters. The process is repeated for the remaining lines of text. In the case of a character with the inverted bit set, the background color is used as the foreground color and vice versa when that character is written out. In an alternate embodiment of the present invention, the per-character attributes are extended to include foreground and background colors for each character. In that embodiment it is possible to provide multi-color text as part of the output of the converter <b>200</b>.
P-0038[0038] Although the virtual terminal (and corresponding actual video signals) is shown as being 80 columns of characters by 25 rows of characters, other configurations are possible. In fact, the system may change terminal size or font type or size upon request. To change font type, the system changes to using an alternate bitmap for the letters.
P-0039[0039] In yet another embodiment of the present invention, the converter <b>200</b> generates a bitmap of the entire screen internally and that bitmap is written out line-by-line. In that embodiment, it is possible to generate graphics as well as text. In that embodiment, the interpreted commands must be capable of describing the graphics to be drawn. This embodiment, however, requires substantially more memory than the text-based embodiment. Nonetheless, based on the dramatic decrease in cost of memory, this embodiment provides greatly enhanced functionality at a modest increase in price.
P-0040[0040] The present invention includes numerous alternative embodiment with one or more emulator types including, but not limited to: VT100, VT52, VT220, VT02, ANSI, ASCII, WYSE, Postscript, Windows GDI calls and Java AWT calls. Any description language that defines an image and/or interaction with keyboard and mouse can be emulated using the principles of the present invention.
P-0041[0041] The present invention also includes alternative embodiments using various communications ports, including but not limited to: wired (e.g., RS-232, USB, parallel, Ethernet, Token Ring, FDDI and ATM) and wireless (e.g., Ricochet, RF, and IR).
P-0042[0042] It is also possible to utilize a core set of functionality (using a microprocessor, an FPGA or both) that interfaces to various input and output “personalities” (which are generally equivalent to the drivers shown in FIGS. <b>3</b>-<b>8</b>). By utilizing the core set of functionality, new drivers can be developed and interchanged quickly. Such an approach is analogous to defining an object interface in an object-oriented language.
P-0043[0043] Some terminals have an audible “click” sound that they produce. This sound is probably an aural “feel-good” replacement for the old keyboards that came with a terminal (the keys were very mechanical and clicked when pressed). The mechanical click can be replaced with an electronic substitute “click” sound. The sound is produced in response to the converter receiving a keystroke from the attached keyboard (or switch). When the keystroke is processed the FPGA or microprocessor enables an external counter/timer pin which goes to a transistor drive circuit. The transistor driver turns on and off current to a speaker thus producing the “click” sound.
P-0044[0044] Obviously, numerous modifications and variations of the present invention are possible in light of the above teachings. It is therefore to be understood that, within the scope of the appended claims, the invention may be practiced otherwise than as specifically described herein.
Contents5
12 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US2010332580A1 | Cited by | United States of America | Pre-grant |
| US7624281B2 | Cited by | United States of America | Applicant |
| US2006215687A1 | Cited by | United States of America | Pre-grant |
| US8558795B2 | Cited by | United States of America | Applicant |
| US7908335B1 | Cited by | United States of America | Applicant |
| US2011063211A1 | Cited by | United States of America | Pre-grant |
| US7433991B2 | Cited by | United States of America | Search report |
| US2007057988A1 | Cited by | United States of America | Pre-grant |
| US2006285514A1 | Cited by | United States of America | Pre-grant |
| US7853663B2 | Cited by | United States of America | Search report |
| US2007109340A1 | Cited by | United States of America | Pre-grant |
| WO2006062951A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2009006680A1 | Cited by | United States of America | Pre-grant |
| US8478884B2 | Cited by | United States of America | Applicant |
| US7441063B2 | Cited by | United States of America | Search report |
| US7665819B2 | Cited by | United States of America | Applicant |
| US2010225658A1 | Cited by | United States of America | Pre-grant |
| US2005204026A1 | Cited by | United States of America | Pre-grant |
| US7822901B2 | Cited by | United States of America | Applicant |
| US2007085883A1 | Cited by | United States of America | Pre-grant |
| US2007079008A1 | Cited by | United States of America | Pre-grant |
| US8281040B2 | Cited by | United States of America | Applicant |
| US2006095644A1 | Cited by | United States of America | Pre-grant |
| US2003222801A1 | Cited by | United States of America | Pre-grant |
| US2007070042A1 | Cited by | United States of America | Pre-grant |
| US8068546B2 | Cited by | United States of America | Applicant |
| US2008122879A1 | Cited by | United States of America | Pre-grant |
| US2002128041A1 | Cited by | United States of America | Pre-grant |
| US2007136498A1 | Cited by | United States of America | Pre-grant |
| US7586935B2 | Cited by | United States of America | Search report |
| US7303249B2 | Cited by | United States of America | Applicant |
| US2009222670A1 | Cited by | United States of America | Pre-grant |
| US2004131115A1 | Cited by | United States of America | Pre-grant |
| WO2007024930A2 | Cited by | World Intellectual Property Organization (WIPO) | Search report |
| US7676605B1 | Cited by | United States of America | Applicant |
| US7628181B2 | Cited by | United States of America | Applicant |
| US4442321A | Cites | United States of America | Pre-grant |
| US4769833A | Cites | United States of America | Pre-grant |
| US5430850A | Cites | United States of America | Pre-grant |
| US5499377A | Cites | United States of America | Pre-grant |
| US5638516A | Cites | United States of America | Pre-grant |
| US5721828A | Cites | United States of America | Pre-grant |
| US5721842A | Cites | United States of America | Pre-grant |
| US5732212A | Cites | United States of America | Pre-grant |
| US5740246A | Cites | United States of America | Pre-grant |
| US5884096A | Cites | United States of America | Pre-grant |
| US5917552A | Cites | United States of America | Pre-grant |
| US5937176A | Cites | United States of America | Pre-grant |
| US6009490A | Cites | United States of America | Pre-grant |
| US6041182A | Cites | United States of America | Pre-grant |
| US6070253A | Cites | United States of America | Pre-grant |
| US6073188A | Cites | United States of America | Pre-grant |
| US6104414A | Cites | United States of America | Pre-grant |
| US6112264A | Cites | United States of America | Pre-grant |
| US6304895B1 | Cites | United States of America | Pre-grant |
| US6321366B1 | Cites | United States of America | Pre-grant |
| US6324605B1 | Cites | United States of America | Pre-grant |
| US6333750B1 | Cites | United States of America | Pre-grant |
| US6378009B1 | Cites | United States of America | Pre-grant |
| US6378014B1 | Cites | United States of America | Pre-grant |
| US6388658B1 | Cites | United States of America | Pre-grant |
16 members in 5 offices
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 38254499 | United States of America | A | |
| 68385102 | United States of America | A |
Members16
| Document | Office | Kind | |
|---|---|---|---|
| CA2382403A1 | Canada | A1 | |
| WO0115130A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU7071000A | Australia | A | |
| US6378014B1 | United States of America | B1 | |
| EP1210706A1 | European Patent Office (EPO) | A1 | |
| US2002072892A1 | United States of America | A1 | |
| US6567869B2 | United States of America | B2 | |
| US2003191878A1 | United States of America | A1 | |
| US7136946B2 | United States of America | B2 | |
| US2007013656A1 | United States of America | A1 | |
| US2007291004A1 | United States of America | A1 | |
| US7321943B2 | United States of America | B2 | |
| US2008082705A1 | United States of America | A1 | |
| EP1210706A4 | European Patent Office (EPO) | A4 | |
| CA2382403C | Canada | C | |
| US8269783B2 | United States of America | B2 |
61 transactions on the USPTO file
Allowed after 2 non-final rejections, 1 final rejection and 1 RCE.
- Non-final rejections
- 2
- Final rejections
- 1
- RCEs
- 1
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Payment of Maintenance Fee, 12th Year, Large EntityM1553 | M1553 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Dispatch to FDCD1935 | D1935 | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Supplemental Papers - Oath or DeclarationC600 | C600 | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| New or Additional Drawing FiledC614 | C614 | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Examiner Interview Summary Record (PTOL - 413)EXIN | EXIN | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Mail Advisory Action (PTOL - 303)MCTAV | MCTAV | |
| Advisory Action (PTOL-303)CTAV | CTAV | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Correspondence Address ChangeC.AD | C.AD | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Final ActionA.NE | A.NE | |
| Mail-Petition Decision - DismissedMPTDI | MPTDI | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Mail Notice of Rescinded AbandonmentAbandonedMNRAB | MNRAB | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Notice of Rescinded Abandonment in TCsAbandonedNRAB | NRAB | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Petition EnteredPET. | PET. | |
| Response after Non-Final ActionA... | A... | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Workflow incoming petition IFWWPET | WPET | |
| Mail Abandonment for Failure to Respond to Office ActionAbandonedMABN2 | MABN2 | |
| Aband. for Failure to Respond to O. A.AbandonedABN2 | ABN2 | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Application Return from OIPEWROIPE | WROIPE | |
| Application Is Now CompleteCOMP | COMP | |
| Pre-Exam Office Action WithdrawnW/OA | W/OA | |
| Application Return TO OIPEROIPE | ROIPE | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Application Is Now CompleteCOMP | COMP | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Initial Exam Team nnIEXX | IEXX |
27 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Maintenance fee paymentMAFP | MAFP | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Fee paymentFPAY | FPAY | |
| Fee paymentFPAY | FPAY | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF |
Numbers
- Application
- 40825003
Titles
- English
- KVM switch including a terminal emulator
Patent term adjustment
- A delay
- +194 daysthe office missed an examination deadline
- Applicant delay
- −280 days
- Net adjustment
- 0 days
Classification
- CPC, 7
- G09G5/006
- G06F3/023
- G06F3/038
- G06F3/14
- G06F13/107
- G06F2203/0384
- G09G2370/24
- IPC, 3
- G06F3 14
- G06F13 10
- G09G5 00