|Publication number||US20040162963 A1|
|Application number||US 10/622,255|
|Publication date||Aug 19, 2004|
|Filing date||Jul 18, 2003|
|Priority date||Feb 17, 2000|
|Also published as||US6625669|
|Publication number||10622255, 622255, US 2004/0162963 A1, US 2004/162963 A1, US 20040162963 A1, US 20040162963A1, US 2004162963 A1, US 2004162963A1, US-A1-20040162963, US-A1-2004162963, US2004/0162963A1, US2004/162963A1, US20040162963 A1, US20040162963A1, US2004162963 A1, US2004162963A1|
|Original Assignee||Cedola Kent D.|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (7), Referenced by (3), Classifications (6), Legal Events (1)|
|External Links: USPTO, USPTO Assignment, Espacenet|
 This invention relates to computer operating systems, and particularly, to computer methods for identifying and naming communication ports associated with infrared (IR) devices.
 Conventional computers have multiple communication ports (or “COMM” ports) for connecting peripheral devices, such as printers or modems. One of the ports is typically dedicated to communicate with infrared (IR) devices via an IR transceiver. Common IR devices include handheld computers (e.g., palmtops, pocket computers, personal digital assistants, personal organizers, etc.), keyboards, a computer mouse, remote control handset, and the like. The computer is typically equipped with an IR receiver, which is mounted as part of the unit or externally (e.g., an IR dongle). The IR receiver is connected to the dedicated COMM port.
 One problem that arises is when a user first tries to configure his/her computer for communication with the IR device. In a Windows-brand operating system from Microsoft Corporation, the communication ports are represented by virtual port names, such as “COM0”, “COM1”, . . . , “COM9”, and so on. During configuration, the user is presented with a list of these virtual port names. Unfortunately, the user is required to know, or guess, which communication port is associated with IR devices. For instance, it may be that COM4 is the port for IR devices, but such information would not be readily apparent or obvious to the user. The user can obtain the name of the IR virtual COMM port from the Control Panel. Wireless dialog, but this is not obvious for most user.
 Accordingly, there is a need to improve the user experience during configuration of a computer for IR communication.
 This invention concerns an operating system and method for identifying and naming communication (COMM) ports associated with infrared (IR) devices. According to a described implementation, the system detects all available COMM ports, identifies the COMM port dedicated to an IR transceiver that interfaces with IR devices, and renames that COMM port from a non-descriptive virtual port name (e.g., “COM4”) to another, more descriptive virtual port name (e.g., “Infrared Port”). The descriptive virtual port name is then used when presenting a list of available COMM ports to a user. In this manner, rather than seeing a list of indistinguishable virtual port names (e.g., “COM0”, “COM1”, . . . “COM9”) in which one may be dedicated to the IR transceiver, the user is presented with a list of virtual port names that includes one conspicuously descriptive port name (e.g., “Infrared Port”). This removes the guesswork and frustration for the user during configuration. The system also enables reverse conversion from the descriptive name back to the non-descriptive virtual port name for internal use.
 The same reference numbers are used throughout the drawings to reference like components and features.
FIG. 1 is a block diagram of a computer coupled to an IR device.
FIG. 2 is a flow diagram of a method for identifying a COMM port dedicated to an IR transceiver used to communicate with IR devices and renaming the COMM port with a user-friendlier, descriptive virtual port name.
FIG. 3 is a diagrammatic illustration of a graphical user interface window embodied as a “COMM Port” dialog box.
FIG. 4 is a flow diagram of a method for detecting the available COMM ports, which is used in the FIG. 2 method.
FIG. 5 is a flow diagram of a method for converting the descriptive virtual port name back to the original virtual port name.
FIG. 1 shows a computer system 20 having a host computer 22 connected to communicate with an infrared (IR) device 24 via a wireless IR connection 26. The host computer 22 may be embodied in many ways including, for example, a desktop computer, a laptop computer, a set-top box, or the like. The IR device 24 may also be implemented in a number of ways, such as a handheld computer, a telephone or other communication device, a personal digital assistant, and so forth. The IR device may also be configured to run an operating system (not shown), such as the Windows CE operating system from Microsoft Corporation.
 The host computer 22 has a memory 30, processor 32, a display 34, and one or more input devices 36 (e.g., keyboard, mouse, etc.). The memory 30 generally includes both volatile memory (e.g., RAM) and non-volatile memory (e.g., Flash, ROM, hard disk, etc.). The compute 22 is also equipped with multiple communication (COMM) ports 38 and an infrared (IR) transceiver 40 to communicate with the IR device 24. The IR transceiver 40 is connected to one of the COMM ports 38 and may reside internally or externally.
 An operating system 50 resides in memory 30 and executes on the processor 32. The computer 22 preferably runs a Windows-brand operating system from Microsoft Corporation, such as Win32-based products (e.g., Windows 95, Windows 98, etc.), although other operating systems may be used. One or more application programs 52 are loaded into memory 30 and run on the operating system 50. Examples of applications 52 include email programs, scheduling programs, remote device services programs, word processing programs, Internet browser programs, and so on.
 The operating system 50 has a user interface (UI) 60, which preferably supports a graphical windowing environment. The operating system 50 also has a set of software drivers 62 for various hardware components, including any peripheral devices connected through the COMM ports. An IR driver is provided Is in the set of drivers 62 to manage the COMM port dedicated to the IR transceiver 40.
 A system registry 64 is provided in the operating system 50 to track configuration parameters of the computer 22, including whether the IR transceiver 40 is configured for operation with the computer 22. Among other things, the registry 64 keeps track of the COMM ports 38 and the virtual port names associated with the COMM ports. In Win32 products, the virtual port names follow the format “COM#”, where the “#” is a numeric value. For instance, it is common to have a number of ports with associated virtual port names of “COM0”, “COM1”, . . . “COM9”.
 The computer 22 has a port detector 66 and a port renaming module 68, which are shown implemented as part of the operating system 50, but may be implemented separately. The port detector 66 detects which COMM ports are available and returns a list of the available ports. From this list, the port renaming module 68 identifies which COMM port is specially dedicated to IR transceivers and renames the COMM port from a non-descriptive virtual port name (e.g., “COM4”) to another, more descriptive virtual port name (e.g., “Infrared Port”). In this manner, the system 20 offers an improved user experience during configuration of the computer 22 for IR communication with the IR device 24. Rather than seeing a list of indistinguishable virtual port names (e.g., “COM0”, “COM1”, . . . “COM9”) in which one may be dedicated to communication with IR devices, the user is presented with a list of virtual port names that includes one conspicuously descriptive port name, such as “Infrared Port”. This removes the guesswork, confusion, and any frustration on the part of the user during configuration.
FIG. 2 shows a method for identifying a COMM port dedicated to communicate with IR devices and renaming the COMM port with a user-friendlier, descriptive virtual port name. These steps are performed, for example, in software by the port detector 66 and the port renaming module 68. At step 100, the port detector 66 generates a list of available communication ports. One preferred technique for generating this list at step 100 is described below in more detail with respect to FIG. 3.
 For purposes of discussion, suppose that the port detector 66 generates a list of seven available communication ports: COM0, COM1, COM3, COM4, COM6, COM7, and COM9. At this point, the list is kept hidden and is not presented to the user. Rather, the port renaming module 68 will first utilize the list to evaluate whether any of these COMM ports is dedicated to the IR transceiver 40.
 At step 102, the port renaming module 68 determines whether the COMM port for communicating with an IR device is available. In one implementation, the port renaming module 68 checks the system registry 64 to determine whether an IR transceiver 40 has been configured for the computer system and which, if any, of the available COMM ports is associated with the IR transceiver 40. If no IR transceiver is listed in the registry 64 (i.e., the “no” branch from step 102), the computer displays the list of non-descriptive virtual port names for the available COMM ports (step 108). In this case, there is no need for renaming a port because there is no IR transceiver registered.
 On the other hand, suppose that the port renaming module 68 learns from the registry 64 that IR transceiver 40 is registered and a communication port (e.g., “COM4”) is associated with it. In this case (i.e., the “yes” branch from step 102), the port renaming module 68 retrieves the virtual port name “COM4” from the registry 64 (step 104). The port renaming module 68 then replaces the non-descriptive virtual port name “COM4” with a more descriptive and IR-related virtual port name, such as “Infrared Port” (step 106). After the renaming, the computer 22 displays the list of non-descriptive virtual port names for available COMM ports, along with a descriptive virtual port name for the IR-dedicated port (step 108). Table 1 summarizes this process.
TABLE 1 Virtual Port Names of Available Renamed Virtual Port Names COMM ports (after Step 102; (after Step 106; Displayed to Not Displayed to User) User) COM0 COM0 COM1 COM1 COM3 COM3 COM4 Infrared Port COM6 COM6 COM7 COM7 COM9 COM9
FIG. 3 shows an exemplary dialog box 120 that lists the virtual port names for the user. Notice that the virtual port name “COM4” is renamed “Infrared Port” (or other suitable name). With this list, the use easily understands which COMM port is associated with the IR device, thereby improving the user experience during configuration.
FIG. 4 shows one preferred method for detecting the available COMM ports at step 100 in FIG. 2. These steps are performed, for example, in software by port detector 66. At step 200, the port detector 66 clears a table of COMM ports. It then sets the current COMM port name to an initial virtual port name, such as “COM0” (step 202). At step 204, the port detector 66 attempts to open the current COMM port name. In the case of a Windows-brand operating system, the port detector 66 uses the CreateFile Win32 API (application program interface) to open each possible COMM port name. A Win32 result code of “NOERROR” or “ERROR_ACCESS_DENIED” indicates that the communication port is present. The “NOERROR” code implies that the port is present and unused. The “ERROR_ACCESS_DENIED” code implies that the port is present, but presently busy.
 If the COMM port is found (i.e., the “yes” branch from step 206), the port detector 66 adds the current virtual COMM port name (e.g., “COM0”) to the table (step 208) and increments the current COMM port name to the next value, such as “COM1” (step 210). If, on the other hand, the COMM port is not found (i.e., the “no” branch from step 206), the port detector 66 does not add the current COMM port name to the table and increments to the next COMM port name (e.g., “COM 1”).
 The port detector 66 repeats this process until it has cycled through all of the port names, as indicated by decision step 212 and loop back to step 204. Once the port detector has attempted to open all of the COMM ports, it returns the table containing the detected COMM ports (step 214).
FIG. 5 shows a method for converting the descriptive virtual port name (e.g., “Infrared Port”) back to the original virtual port name (e.g., “COM4”). This process is useful, for example, in the case where the user enters a friendly and descriptive name, such as “Infrared Port”, during configuration and the computer internally prefers handling its own non-descriptive virtual port name, such as “COM4”. These steps are preformed in software by the port renaming module 68.
 At step 300, the port renaming module 68 determines whether the COMM port name is currently set to a descriptive port name, such as “Infrared Port”. If not (i.e., the “no” branch from step 300), it simply returns the present port name (step 306). On the other hand, if a descriptive port name exists (i.e., the “yes” branch from step 300), the port renaming module 68 retrieves the virtual port name “COM4” from the registry 64 (step 302). The port renaming module 68 then substitutes the non-descriptive virtual port name “COM4” for the descriptive virtual port name “Infrared Port” (step 304). After the renaming, the port renaming module 66 returns the virtual port name for internal use (step 306).
 Although the invention has been described in language specific to structural features and/or methodological steps, it is to be understood that the invention defined in the appended claims is not necessarily limited to the specific features or steps described. Rather, the specific features and steps are disclosed as preferred forms of implementing the claimed invention.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US4128883 *||Sep 30, 1977||Dec 5, 1978||Ncr Corporation||Shared busy means in a common bus environment|
|US5014193 *||Oct 14, 1988||May 7, 1991||Compaq Computer Corporation||Dynamically configurable portable computer system|
|US5241536 *||Oct 3, 1991||Aug 31, 1993||Northern Telecom Limited||Broadband input buffered atm switch|
|US5787305 *||Apr 25, 1995||Jul 28, 1998||Pc-Tel, Inc.||Host signal processing modem using a software simulation of a UART|
|US6029213 *||Apr 15, 1998||Feb 22, 2000||Dell U.S.A. L.P.||Automatic IR port detection and switching|
|US6061349 *||May 2, 1997||May 9, 2000||Cisco Technology, Inc.||System and method for implementing multiple IP addresses on multiple ports|
|US6360281 *||May 29, 1998||Mar 19, 2002||3Com Corporation||System and method for communicating with a serial communications device using multiple virtual ports|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US7647438||May 9, 2006||Jan 12, 2010||Integrated Device Technology, Inc.||Binary base address sorting method and device with shift vector|
|US7694025 *||Mar 31, 2006||Apr 6, 2010||Integrated Device Technology, Inc.||Method and device for base address sorting and entry into base address registers|
|US7779197||May 9, 2006||Aug 17, 2010||Integrated Device Technology, Inc.||Device and method for address matching with post matching limit check and nullification|
|International Classification||G06F13/00, G06F9/445, G06F15/76|
|Jan 15, 2015||AS||Assignment|
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034766/0001
Effective date: 20141014