Method and apparatus for safe disconnection of external devices from a computer

Abstract
An apparatus for safely disconnecting and reconnecting an external device from a computer system comprises a key of keyboard, key-like button in any location in the computer system and internal software process recognizing specific patterns of key strokes resulting from distinctive software capability. More specifically, the access means to the processing of the safely disconnecting and reconnecting an external device comprises a single key stroke, which results in the display of list of selectable external devices comprising apparatus capable of being physically removed is described. More simplified means in terms of minimal key strokes and the choice of the subsequent operations for specific usage are illustrated. A new method for interpreting multiple strokes of the same key is invented.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS

Not Applicable


STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

Not Applicable


THE NAMES OF THE PARTIES TO A JOINT RESEARCH AGREEMENT

Not Applicable


INCORPORATION-BY-REFERENCE OF MATERIAL SUBMITTED ON A COMPACT DISC

Not Applicable


BACKGROUND OF THE INVENTION

1. Field of the Invention


The invention relates to disconnection and reconnection of an external device from a computing system. In addition, the invention provides means to interpret various key-pressing activities of computer system keyboard into novel capabilities. A new method of interpreting multiple strokes of the same key is invented.


2. History of the Related Art


When removing a portable, removable external device connected to a computer system, it is highly recommended that a user should go through a set of steps for disconnection of the external device. Depending on the internal condition of the removable device, it is unsafe, resulting in loss of information and possibly unrecoverable internal damage to the removable device, if the device is simply unplugged from the connected computer system without a certain disconnection procedure. Manufacturers of the removable external device and/or Operating System of Personal Computer system provide software to perform a set of steps for disconnection procedure, to prepare for the safe removal of the external device. In Microsoft Windows, this disconnection procedure is called as Safely Remove Hardware. In this invention, the term “safe disconnection” or “safely disconnect” will be utilized for the disconnection procedure.


As common practice, a user clicks a miniature icon in the system tray located at the bottom right corner of the Windows graphical user interface screen. The related icon is one of many icons in the system tray. In the prior art, this operation is cumbersome as the icon is small in size and the location is far at the bottom right corner. In order to resolve this inconvenience, many other prior arts have put together a means with related software application. These arts are implemented in conjunction with global hotkeys, which is to press a predetermined set of multiple keys at the same time for duration. This duration is prolonged as multiple keys need to be pressed concurrently. A different method of accessing the prior arts is to execute the prepared application software through normal instantiation means, meaning launching a program from a prepared icon on the Desktop of computer system.


In addition, the prior art does not provide means to interpret various key-pressing activities of computer system keyboard. When a key of computer system keyboard is pressed, the specific key-code is generated and the specific capability linked to the specific key-code is performed. For one example, key “a” is pressed, the key-code for “a” is generated and the specific capability assigned to the key-code “a” is performed. If the assigned capability in this example is to take the alphabet “a”, then the alphabet “a” is taken. Thus, when the alphabet “a” is pressed twice in a short time interval or any time interval, the alphabet “a” is taken twice. The prior art does not differentiate whether a specific key is pressed multiple times in a short interval or not. The prior art in the computer system keyboard lacks means to interpret various key-pressing activities, such as but not limited to double-press and triple-press of key, into entirely different capability. While there is differentiated capability of single-click and double-click of the mouse input, the prior art does not provide means to conclude double-press and triple-press of key on the computer keyboard.


BRIEF SUMMARY OF THE INVENTION

Embodiments of this invention provide methods and apparatuses for disconnecting and reconnecting an external device from a computer. Specifically, one embodiment of the invention comprises an additional apparatus of a computer system comprising a computer and external devices to provide a new method for the control of disconnecting operations.


Another embodiment of the invention involves a linking usage of the additional apparatus of a computer system with the operation of safe disconnection application.


Yet, another embodiment of the invention provides a means to detect and determine a pattern of key-pressing and/or key strokes of the additional apparatus and any other keys on the keyboard of a computer system.


Yet, another embodiment of the invention provides differentiated means of graphical user interface for optimal operations.





BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The invention will be more fully understood when reference is had to the following detailed description of the prior arts and preferred embodiment of the invention that accompany drawings, in which



FIG. 1 is an illustration of the access means provided by the Windows operating systems to the Safe Remove Hardware;



FIG. 2 is an illustration of an access means to Safe Remove application software in a prior art;



FIG. 3 is an illustration of the IBM/Windows keyboard layout;



FIG. 4 is an illustration of the keyboard layout according to one embodiment of this invention;



FIG. 5 is an illustration of the safe disconnection application's decision process;



FIG. 6 is an illustration of the abbreviated windows processing flowchart for the safe disconnection application;



FIG. 7 is an illustration of the main windows processing flowchart for the safe disconnection application;



FIG. 8 is an illustration of the reconnect processing flowchart for the safe disconnection application;



FIG. 9 is an illustration of the disconnect all devices processing flowchart for the safe disconnection application;



FIG. 10 is a sample illustration of the safe disconnection application's graphical user interface for abbreviated operational windows;



FIG. 11 is a sample illustration of the safe disconnection application's graphical user interface for the main windows;



FIG. 12 is an illustration of the keyboard according to one embodiment of this invention; and



FIG. 13 is an illustration of the keyboard according to one embodiment of this invention.





DETAILED DESCRIPTION OF THE INVENTION

Referring first to the FIG. 1, 100 illustrates an example of the Windows operating system's system tray where 101 is one of many miniature icons for safe removal operation of which the capability is provided by Windows operating system. The icon 101 shows that there is at least one removable external device connected to the computer system. Whether or not a device is physically removed and detached from the computer system, the safe removal or safe disconnection operation herein refers to an activity of logical disconnection within the computer system. Hovering over the pointing-arrow on the top of 101 shows the text “Safe Removal Hardware”. Single-clicking the icon, the subsequent operation is instructed to safely remove or disconnect the removable external device or devices. The system tray 100 typically resides in the bottom right corner of a computer screen and the icon 101 is smaller than other typical size icons, making safe removal operation less-intuitive, ambiguous and not-so-easily-accessible.


Referring to the FIG. 2, Windows Desktop portion 110 illustrates a simple but atypical arrangement Windows Desktop where shortcut icon 111 is one of many icons in order to access safe removal operation of which the capability is provided by prior art application software. Depending on users, there can be tens of other icons on the Desktop area 110, making difficult to select the Safe Remove Application 111 among tens of icons. Yet, the Desktop 111 is typically not exposed to users all the time, disallowing direct and/or one touch access to the application icon. More often, the display area is occupied with many applications such as Web browser, Microsoft Office applications and any other user specific software applications as the multitudes of applications are piled up one over another. In order to access the shortcut icon 111 of Safe Remove Application in the prior art, the other applications on the display screen area need to be cleared for making the icon 111 visible to a user. While there is one touch “show desktop” capability provided by the Windows operating system, the “show desktop” may not be easily accessible to certain users. Yet, the “show desktop” operation minimizes all applications in order to clear the entire Desktop into the initial condition thus bringing back the desired application that had been minimized causes inconvenient and redundant operational procedure.


Referring to the FIG. 3, keyboard layout 120 illustrates IBM/Windows keyboard layout where 121 collectively shows the typical keys employed for global hotkeys for any related purposed operations and in this case safe removal operation of which the capability is provided by operating system and application software of prior art. The global hotkeys are user-defined combination of Ctrl, Alt, Shift, Function and other alpha-numeric keys. Concurrently pressing a user-defined combination of these keys activates the predefined Safe Remove Application of the prior art. A graphical user interface screen normally shows up and the subsequent operation is instructed to safely remove and/or disconnect the removable external device or devices. While the access is simple, yet it is limited to the definition and configuration of user-defined combination of related key strokes. Often, the confliction among applications and operating system limits the choice of global hotkey selection for prior art.


One aspect of the invention provides the simplest means to the access of the safe remove and/or disconnection process of an external device from a computing system. Another aspect of the invention provides selectively necessary means pertaining to the exactly desired operation with the least number of key strokes and yet very precise operational scenarios. Referring to the FIG. 4, the layout 130 illustrates the invention keyboard layout according to one embodiment of this invention, where 131 is an additional key for predetermined specific capability in conjunction with safe disconnection application software for the use of controlling removable external hardware device disconnection and/or reconnection process. More particularly, this invention keyboard pertains to safe disconnection and/or reconnection of external removable storage devices or any other external devices for which safe disconnection procedure is desirable, such as but not limited to universal serial bus (USB) memory storage device, MP3 player, digital camera, a flash device, a hard drive, a video device, an IEEE 1394 device, a phone, and a memory card reader. “Reconnection” refers to a computer internal process that results in the device being ready for access.


The FIG. 5 illustrates the computer systems internal process of the safe disconnection application and the initial decision making portion of safe disconnection application. The safe disconnection application had been readily started during the start-up of computer operating system and is ready to take predetermined specific input from the operating system. When a user presses the safe-disconnect (SD) key 131 of FIG. 4, the operating system detects the SD key being pressed and identifies that the SD key is associated with the safe disconnection application. The operating system gives the SD key input and the control to the safe disconnection application process as illustrated in the process 141 of the FIG. 5. The safe disconnection application of the FIG. 5, when given the control by the operating system, determines the key-press type as shown in the process 142. The key-press type herein refers to certain regularity and/or pattern of key strokes. The SD can be pressed once as a user normally presses a computer keyboard key, twice in a short time interval, three times in a short time interval, four times in a short time interval or prolonged press. In order to further exemplify user activity, the invention introduces the new terms single-press, double-press, triple-press, quadruple-press and long-press. The concept of the new terms is apparent when commonly known terms such as single-click, double-click, triple-click and quadruple-click are taken into consideration. The term single-press is one time press in a normal manner, which the activity is similar to single-click of mouse while the pressing action in this case is applied to a computer keyboard key. The term double-press is the activity similar to double-click of mouse while the pressing action in this case is applied to a computer keyboard key. The term triple-press is the activity similar to triple-click of mouse while the pressing action in this case is applied to a computer keyboard key. The term quadruple-press is the activity similar to quadruple-click of mouse while the pressing action in this case is applied to a computer keyboard key. The time interval between the key-presses is programmable as the time interval between the mouse-clicks is programmable. In fact, the same value may be used to determine different types of key press. In addition, a computer can differentiate between a short press and long press. When the duration of the SD key being pressed exceeds yet another pre-defined interval such as but not limited to one second, the process 142 concludes as a long-press. Otherwise, the process 142 concludes as a short-press. The pre-defined interval for making decision for the single-press or long-press is a programmable entity within the safe disconnection application.


In other words, short-press of a key is determined as the key being pressed and remaining in the pressed state for a predetermined duration or less. Long-press of a key is determined as the key being pressed and remaining in the pressed state longer than a predetermined duration.


Single-press of a key is determined as the key having one time of short-press, and not being followed by the same key press within a predefined time duration. Double-press of a key is determined as the key having two times of short-press for which the time gap between the short-presses is a predetermined duration or less. Triple-press of a key is determined as the key having three times of short-press for which each time gap between the short-presses is a predetermined duration or less. Quadruple-press of a key is determined as the key having four times of short-press for which each time gap between the short-presses is a predetermined duration or less.


The process 142 determines user activity based upon predefined criteria and as the result of this decision, the user activity can be concluded to single-press, double-press, triple-press, quadruple-press or long-press of SD key. And based upon predefined programmable linkages to the processes of the safe disconnection application, single-press, double-press, triple-press and long-press of SD key can be respectively assigned to abbreviated safe disconnection process, safe disconnection reconnect process, safe disconnection disconnect-all process and main safe disconnection process. The relationship and/or linkage of types of key-press and assigned functionality are not permanently fixed but programmable. The safe disconnection application can be configured for the relationship and/or linkage based on user's preference. The processes 143, 144, 145 and 146 illustrate that the control of the safe disconnection application is given to one of the abbreviated safe disconnection process, main safe disconnection process, safe disconnection reconnect process and safe disconnection disconnect-all process.


The FIG. 6 illustrates the entire process of the abbreviated safe disconnection operation which is intended to disconnect one connected device at a time and to immediately return to the previously operational application with no further user intervention. Upon receiving user's request determined by the process 142 of FIG. 5 and the request is concluded as an abbreviated disconnect request, it moves to the process 150 which subsequently shows the list of connected devices as shown in the process 151. The FIG. 10 illustrates an exemplary example of abbreviated safe disconnection graphical user interface. This figure displays a sample list of connected devices and provides multiple means of selecting specific device through graphical user interfaces. Then, the process 152 selects a specific device for further operation, namely safe disconnection. Within the process of 152, a user may scroll for a selection with arrow keys, directly enter drive designation letter and/or use clicking input device such as mouse. The process 153 illustrates that the safe disconnection process further verifies the specified device is in the state where the safe disconnection internal process is permissible and the process 154 makes a decision based upon the result of the process 153. When the specified device is not permissible for safe disconnection process, the process 155b shows that user is notified of the unavailable condition of the specified device. When the specified device is permissible for the disconnection, it proceeds with the disconnection process 155a and shows the successful result of the request as shown in the process 157. In process 155a, a computer performs tasks to prepare for safe removal of the selected external device, such as, but not limited to writing caches to the external device and logically unmounting the external device from a computer's file system.


When this short time interval of the display expires, the process 158 shows that the display is removed from the screen and the abbreviated safe disconnection process exits without user interaction as shown in the step 159. The exit of the abbreviated safe disconnection process means a return to the master decision process 142 of the FIG. 5. A short interval of displaying successful result of abbreviated safe disconnection is a user configurable parameter. The process 156 illustrates that the lastly disconnected device is memorized for the future reconnection purpose.


The FIG. 7 illustrates the main process of the safe disconnection application which is intended to disconnect any number of connected devices. Upon receiving user's request determined by the process 142 of FIG. 5 and the request is concluded as main process request, the safe disconnection process moves to the process 160 and subsequently it shows the list of connected devices as shown in the process 161. The FIG. 11 illustrates a sample of safe disconnection main graphical user interface. This figure displays a sample list of connected devices and provides multiple means of selecting specific device through graphical user interfaces. A user may scroll for a selection with arrow keys, directly enter drive designation letter or number and/or use clicking input device such as mouse. The main graphical user interface of the safe disconnection provides means as to configure the user options and preference of operating the application. Additionally, through the main graphical user interface of the safe disconnection, a user can specify many configuration parameters such as but not limited to the long-press duration for process 142 and short display duration of process 157 so that the long-press can be concluded and the duration of the display expires respectively. Upon showing the list of connected devices as illustrated by the process 161, the main safe disconnection process takes input from a user. A user may choose option tab as shown in 211 of the FIG. 11 in order to change the configuration parameters and preference. Otherwise the main safe disconnection process takes input for the safe disconnection process. When a user enters certain selection, the process 162a checks if the selection is to request to disconnect all devices. If the command is identified as the request for disconnect all devices, there may be a prompt for user's confirmation and the process 167a performs the disconnection procedure. In process 167a, a computer performs tasks to prepare for safe removal of the external devices. There may be devices ready for disconnection thus safely disconnected and there may be devices not ready for disconnection thus resulting in the failure. The result, whether successful or failed, of all devices is displayed as shown in the process 167b which also records the list of successfully disconnected devices for the future reconnection purpose. When this short time interval of the display expires, the process 168a is started that the display is removed from the screen and the main safe disconnection process exits without user interaction as shown in the step 169a. If a user selected input is not a request for disconnect all devices, it still can be a request to exit. If the command is a request to exit, the process 168a is started that the display is removed from the screen and the main safe disconnection process returns to the master decision process 142 of the FIG. 5. If the command is not a request to exit as shown in process 162b, it is a request to perform safe disconnection process. The process 163 selects a specific device or devices for further operation, namely safe disconnection. During the process of 163, a user may scroll for a selection with arrow keys, directly enter drive designation letter and/or use clicking input device such as mouse. A user can enter multiple drive letters and then press ENTER Key, to select multiple devices at one time, for example. The process 164 shows acceptance of the request to perform safe disconnection operation of the designated device or devices. Receiving user's request as shown in the process 164, the process 162c makes a decision after the internal process verifies the specified device(s) is (are) in the state where the safe disconnection internal process is permissible. When one or more specified devices are not permissible for safe disconnection process, the process 165b shows that user is notified of the unavailable condition of the specified device(s). When all of the specified devices are permissible for the disconnection, it proceeds with the disconnection process 165a and shows the successful result of the request as shown in the step 166. In process 165a, a computer performs tasks to prepare for safe removal of the external device(s). When the result of safe disconnection is displayed, a user may select to exit the application as shown in the step 162d. The safe disconnection process terminates when a user specifically issues a command to exit from the application. Upon receiving a command, the internal process 167 checks if the given input is for a request to exit. If the command is a request to exit, the safe disconnection process 168b removes all displays from the screen and the main safe disconnection process exits as shown in the step 169b. The exit of the main safe disconnection process means a return to the master decision process 142 of the FIG. 5. If the command is not a request to exit, the safe disconnection internal process is transitioned to the process 161 where the updated list of connected devices is displayed.


The FIG. 8 illustrates the reconnect process of the safe disconnection application. The reconnect process is intended to reconnect the last disconnected device or devices. Upon receiving user's request determined by the process 142 of FIG. 5 and the request is concluded as a reconnect request, the safe disconnection process moves to the process 171 and subsequently the process 172 retrieves the information as to the last disconnected device or devices. There can be one or more last disconnected devices. And the device and/or the devices may not be physically available for reconnection. If the specified device is not available for reconnect as shown in the step 173, the process 174 displays the unavailable status of the device. When this short time interval of the display expires, the process 177 shows that the display is removed from the screen and the reconnect process of the safe disconnection application exits without user interaction as shown in the step 178. If the specified device is available for reconnect, the process 175 starts the reconnect procedure and the result of the reconnected device is displayed as shown in the process 176. When this short time interval of the display expires, the process 177 illustrates that the display is removed from the screen and the reconnect process of the safe disconnection application exits without user interaction as shown in the step 178. The exit of reconnect process of the safe disconnection application means a return to the master decision process 142 of the FIG. 5. A short interval of displaying the result of reconnect status is a user configurable parameter.


The FIG. 9 illustrates the disconnect-all-devices process of the safe disconnection application. The disconnect-all-devices process is intended to disconnect all available device or devices without further user interaction. Upon receiving user's request determined by the process 142 of FIG. 5 and the request is concluded as a disconnect-all-devices request, the safe disconnection process moves to the process 181. There can be zero, one or multiple connected devices. And there can be zero, one or multiple connected devices not available for safe disconnection process. The process 182 illustrates that it first checks for one or more devices for safe disconnection procedure. If there is any removable external device for safe disconnection procedure, the process 183 selects a device, usually the next device in the connected device list, for safe disconnection procedure. The selected device may or may not be in permissible state for safe disconnection procedure as checked in the step 184. Thus the process 185 validates if the selected device is permissible for safe disconnection procedure. If not permissible, the process 186b records the selected device is unavailable for disconnection, which will be presented to the user interface screen by the process 187. If the selected device is permissible for safe disconnection, the process 186a performs the safe disconnection process and records the result of it, which will be presented to the user interface screen by the process 187. The process 186a makes the list of all successfully disconnected devices for the future reconnection purpose. If there is no more removable external device for safe disconnection procedure, the process 187 displays the result of the status of all devices for a short time interval. When this short time interval of the display expires, the display as shown in the process 188 is removed from the screen and the disconnect-all-devices process of the safe disconnection application exits without user interaction as shown in the process 189. The exit of reconnect process of the safe disconnection application means a return to the master decision process 142 of the FIG. 5. A short interval of displaying the resulting status of all devices of interest is a user configurable parameter.


As stated above, an additional special function key was utilized for predetermined functions for safely disconnecting or reconnecting external device. It should be noted that SD Key 131 in FIG. 4 shows a preferred example, and not confines this invention. SD Key 131 can be placed anywhere on the keyboard. According to one embodiment, as illustrated in FIG. 12, SD Key 131 can be conveniently positioned as a special purpose key on the upper part of the keyboard, along with other conventional special purpose keys 201. And SD Key 131 was also accompanied by adjacently positioned up down arrow keys 202. Special purpose keys, which are also called as special keyboard buttons, hotkeys, or shortcut keys, are additional keys or buttons to provide direct access to predetermined specific functions such as volume control, sending e-mail, launching a browser, calculation etc. In this embodiment, a user can easily press the SD Key 131 positioned at the right upper corner of the keyboard, and select an external device to be removed by scrolling with adjacently located up down arrow keys 202, and then press the SD Key 131 again. In this embodiment, while abbreviated or main graphical user interface of safe disconnection is displayed, single press of SD Key 131 is also utilized for capability of selecting external device. More specifically, when abbreviated or main graphical user interface of safe disconnection is displayed, the key code of SD Key 131 is temporarily switched to that of ENTER Key. And when abbreviated or main graphical user interface of safe disconnection is removed, the key code of SD Key 131 is returned to the original key code (flow chart not shown). The technique of switching key codes under a specific condition is well known to those who are skilled in this art, and not described in further detail. By this way, a user can perform safe disconnection operations with minimal distance of hand movements.


Up down arrow keys 202 do not necessarily require separate installation, but can be shared by other pre-existing special purpose keys.


According to one embodiment, up down arrow keys 202 in FIG. 12 function as special purpose keys to open/close pre-assigned CD/DVD trays, by default. But while abbreviated or main graphical user interface of safe disconnection is displayed, the key codes are temporarily switched so that these keys are utilized as up down arrow keys.


According to one embodiment, as illustrated in FIG. 13, up down arrow keys 202 function as volume control keys, by default, which are accompanied by adjacently located mute key 203. But while abbreviated or main graphical user interface of safe disconnection is displayed, the key codes are temporarily switched so that these keys are utilized as up down arrow keys. By this way, a user can utilize a limited space on the keyboard more efficiently.


To summarize, this invention provides users with simple and easy means to directly access a predefined functionality for safely disconnecting or reconnecting external device(s), by just pressing an additionally installed specific key on a keyboard, which can be conveniently positioned so as to be easily pressed by a user. This invention also allows users to complete the safely disconnecting processes with minimal distance of hand movements. Furthermore, this invention also provides users with a means to easily access several predefined functionalities for safely disconnecting or reconnecting external device(s), by utilizing various types of key press of a specific key.


The invention is not restricted to the particular details listed herein. Indeed, those skilled in the art will appreciate that many other variations from the foregoing description and drawings may be made within the scope of the present invention.

Claims
  • 1. A means in a keyboard of a computer system to generate a unique key code that the connected computer system receives and interprets as predefined specific capability for disconnection or reconnection of one or more external devices.
  • 2. The computer keyboard comprising a means as set forth in claim 1, to transmit a unique key code that the connected computer system receives and interprets as predefined specific capability for disconnection or reconnection of one or more external devices.
  • 3. A means in any location of a computer system other than the removable device to generate a unique key code that the connected computer system receives and interprets as predefined specific capability for disconnection or reconnection of one or more external devices.
  • 4. The computer system comprising the computer keyboard as set forth in claim 2 and/or a means as set forth in claim 3, to receive a specific key code as set forth in claim 1 from the connected computer keyboard as set forth in claim 2 for predefined specific capability for disconnection or reconnection of one or more external devices.
  • 5. A means of a computer system to detect a repetitive key pressing pattern of a specific key being pressed and released in order to uniquely determine the type of key press is one of key press types comprising single-press, double-press, triple-press, quadruple-press and long-press.
  • 6. A means of a computer system comprising the capability: to uniquely determine a short-press of a key as the key being pressed and remaining in the pressed state for a predetermined duration or less; andto uniquely determine a long-press of a key as the key being pressed and remaining in the pressed state longer than a predetermined durationto uniquely determine a single-press of a key as the key having one time of the short-press, and not being followed by the same key press within a predefined time duration;to uniquely determine a double-press of a key as the key having two times of the short-press for which the time gap between the short-presses is a predetermined duration or less;to uniquely determine a triple-press of a key as the key having three times of the short-press for which each time gap between the short-presses is a predetermined duration or less; andto uniquely determine a quadruple-press of a key as the key having four times of the short-press for which each time gap between the short-presses is a predetermined duration or less.
  • 7. The computer system comprising the computer keyboard as set forth in claim 2 and/or a means as set forth in claim 3, assigning disconnection or reconnection capability of one or more external devices to any of key press types comprising single-press, double-press, triple-press, quadruple-press and long-press of a predetermined specific key as set forth in claim 6.