SYSTEM CARE OF COMPUTING DEVICES
FIELD OF THE INVENTION
[0001] The present invention relates generally to maintenance of computer devices, and more particularly to systems and methods for providing one or more solutions to computing devices.
BACKGROUND OF THE INVENTION
[0002] Technical support services provided by manufactures of computing devices are a typical solution for assisting customers to troubleshoot and correct a computing device. Many users of computing devices experience operational errors associated with the computing devices. Errors may result from either hardware or software configurations of the computing devices. Many of these users require technical support to aid in correction of these errors. Accordingly, customers typically rely on technical support services provided by the manufacturer of the computing device. Additionally, the quality of technical support provided by a manufacturer may be a basis for the purchase of one or more computing devices. Providing technical support may be very costly for manufacturers. However, it may be necessary to sustain product sales. Thus, there exists a need reduce the number of requests for technical support for computing devices.
[0003] Conventional methods of technical support typically require a technical support service agent to interface with the user to correct one or more errors. These services thus require each of the customer support service agent and user to perform one or more steps to correct the issue. In certain instances, the user may not be capable of performing what is required.
[0004] Typical scenarios include customer calls directed to problems which may not be resolved by the customer. When the issue requires a patch, service agents can sometimes address the problem by instructing the customer to download configuration files. However, for many customers experiencing the same problem, these customers typically take no action with regards to the defect and/or do not utilize support services. Although solutions to computer issues may be available, these users do not take advantage of the solutions.
[0005] For users that decide to live with the problem, system performance may be slowed and in some instances may not function correctly. These performance issues could result in a decrease in sales due to negative customer experience with the computing device.
[0006] One conventional approach is to provide corrective files to computing devices to correct software defects which may affect device performance. For example, updates may be transmitted to the computing device by manufacturers of the hardware and/or software. This approach however, may require that users read and apply updates to their devices. Another approach involves pushing files and programs to computing devices. This approach however, may not be desired by many users which prefer reviewing corrective files. Moreover, may users with errors are not aware of the error and/or decide not to take corrective action. Further, these methods do not address specific models of computing devices.
[0007] Thus, there is a desire to solutions to computing devices which reduces the number of calls received by service centers and addresses computing devices which may not be maintained by a user.
BRIEF SUMMARY OF THE INVENTION
[0008] Disclosed and claimed herein are systems and methods for providing system care for a computing device. In one embodiment, a method includes detecting, by a system care program of the computing device, one or more operational errors of at least one of a software and hardware function of the computing device, displaying a system care user interface by the computing device, and detecting user selection of the system care user interface. The method further includes determining one or more solutions for the error based on one or more signature profiles of the computing device by the system care program, and applying the solution on the computing device by the system care program to correct the one or more errors.
[0009] Other aspects, features, and techniques of the invention will be apparent to one skilled in the relevant art in view of the following detailed description of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The features, objects, and advantages of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference characters identify correspondingly throughout and wherein: [0011] FIG. 1 depicts a simplified system diagram according to one embodiment of the invention;
[0012] FIG. 2 depicts a process for system care according to one or more embodiments; [0013] FIG. 3 depicts a self-heal process according to one or more embodiments;
[0014] FIG. 4A depicts a graphical representation of a user interface according to one embodiment;
[0015] FIG. 4B depicts a graphical representation of a user interface and exemplary system care functions according to one embodiment;
[0016] FIG. 4C depicts a graphical representation of a user interface providing exemplary solutions according to one embodiment; [0017] FIG. 5 depicts a process for addressing one or more operational errors according to one or more embodiments;
[0018] FIG. 6 depicts a simplified system diagram for updating system care information according to one or more embodiments; and
[0019] FIG. 7 depicts a graphical representation of a monthly report according to one or more embodiments.
DETAILED DESCRIPTION OF THE EXEMPLARY EMBODIMENTS
Overview and Terminology
[0020] One aspect of the present invention relates to a system care program for computing devices. As used herein, system care relates to providing one or more of system maintenance, system diagnostics, one-click care, self-heal and troubleshooting of a computing device. In one embodiment, a system care program is provided for maintaining computing devices by updating, monitoring and/or performing one or more acts to address hardware and software components of the computing system. As such, the system care program may address one or more operational errors of a computing device that a user may or may not be aware of.
[0021] In one embodiment, a process for providing system care for a computing device is provided. The process may include detecting one or more operational errors of at least one of a software and hardware function of the computing device by a system care program, displaying a system care user interface by the computing device, and detecting user selection of the system care user interface. The process may further include determining one or more solutions for the error based on one or more signature profiles of the computing device by the system care program and performing the solution on the computing device by the system care program to correct the error.
[0022] In another embodiment, the system care program relates to a manufacture's system care program (e.g., VAIO Care™ by Sony™). In that fashion, system care may be provided to computing devices associated with the manufacturer, such as through an extended warranty plan. Further, one object of the system care program may be to reduce the number of user calls to technical service by addressing one or more errors which may be correctable for the user. [0023] According to another embodiment, a system may be provided for transmission of one or more solutions to a computing device. The system may allow for one or more solution providers, such as a manufacturer technical support, to provide one or more solutions to a system care program associated with a computing device. The system may further include one or more servers to provide the solutions to the computing device via a communication network.
[0024] As used herein, the terms "a" or "an" shall mean one or more than one. The term "plurality" shall mean two or more than two. The term "another" is defined as a second or
more. The terms "including" and/or "having" are open ended (e.g., comprising). The term "or" as used herein is to be interpreted as inclusive or meaning any one or any combination. Therefore, "A, B or C" means "any of the following: A; B; C; A and B; A and C; B and C; A, B and C". An exception to this definition will occur only when a combination of elements, functions, steps or acts arc in some way inherently mutually exclusive.
[0025] Reference throughout this document to "one embodiment," "certain embodiments," "an embodiment," or similar term means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearances of such phrases in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner on one or more embodiments without limitation.
[0026] In accordance with the practices of persons skilled in the art of computer programming, the invention is described below with reference to operations that are performed by a computer system or a like electronic system. Such operations are sometimes referred to as being computer-executed. It will be appreciated that operations that are symbolically represented include the manipulation by a processor, such as a central processing unit, of electrical signals representing data bits and the maintenance of data bits at memory locations, such as in system memory, as well as other processing of signals. The memory locations where data bits are maintained are physical locations that have particular electrical, magnetic, optical, or organic properties corresponding to the data bits.
[0027] When implemented in software, the elements of the invention are essentially the code segments to perform the necessary tasks. The code segments can be stored in a processor readable medium, which may include any medium that can store or transfer information. Examples of the processor readable mediums include an electronic circuit, a semiconductor memory device, a read-only memory (ROM), a flash memory or other nonvolatile memory, a floppy diskette, a CD-ROM, an optical disk, a hard disk, etc.
Exemplary Embodiments
[0028] Referring now to the figures, FIG. 1 depicts a simplified system diagram for providing system care for a computing device. In one embodiment, computing device 150 of system 100 includes a processor and memory which may be configured to store and execute a computer program product. Computing device 105 is configured to store and execute a
system care program. By way of example, the system program may be configured to provide system maintenance such that software and hardware components may operate at top performance. The system care program may be configured to update components, monitor performance and perform system tune-up for computing device 105. The system care program may further be configured to generate system health reports to identify the status of one or more components and guide a user to address system performance and operational errors. According to another embodiment, the system care program may be configured to diagnose one or more system attributes to identify one or more hardware and software solutions. [0029] According to one embodiment, the system care program may provide a user interface. The system care program can allow for one-click care, self-heal care and a troubleshooting advisor, each of which may be selected by a user. One-click care provided by the system care program may relate to updating system program files and verification of system components based on user selection of the graphical user interface. For example, the graphical interface can include a one-click care icon which upon user selection, the system care program of computing device 105 launches system care program files. The system care program may provide self-heal functionality by automatically detecting system status without the need for a user selection. The troubleshooting advisor of the system care program may allow for a user of computing device 105 to assess one or more operational aspects of computing device 105 and provide instructions via the user interface to assess one or more issues.
[0030] According to another embodiment, the system care program of computing device 105 may be part of system 100 to interoperate with system care server 110 via communication network 115 to address problems of computing device 105. System care server 110 may be associated with technical support server provided by a manufacturer (e.g., VAIO Care™ server). As will be discussed in more detail below, system care server 110 can provide one or more solutions to computing device 105 based on one or more operational errors detected. Communication network 115 may relate to one of a telephone network, packet switched transmission network (PSTN), internet protocol (IP) network, etc. Communication network 115 may further include one or more devices to providing over-the- air signaling including broadcast and media content in general.
[0031] Referring now to FIG. 2, a system care process is depicted according to one embodiment. Process 200 may be initiated by detection of a system error at block 205. The
error may be detected by one of an operating system and a system care program of a computing device (e.g., computing device 105). System errors may relate to program failure, program crash, hardware error, reduced system speed, etc. In one embodiment, detection of a system error may be based on one or more signature files of the computing device. For example, signature files generated by an operating system associating one or more processing events of the computing system with an identifier and/or tag may be detected by the system care program. Solutions to the operational error may be based on mapping the error to one or more solutions. In one embodiment, errors may be detected based on a signature file and/or event occurrences provided identifiers (e.g., a bucket identifier) by at least one of the operating system and system care program. The system care program may correlate one or more of an application number, application version, module name, module version and exception with one or more solutions for the computing device. At block 210, a user interface of the system care program may be launched and/or displayed for a user. In certain embodiments the system care program may be initiated during startup. As such, the system care program may check for system errors at device startup.
[0032] As will be discussed in more detail below with respect to FIGs. 4A-4C, the system care program may include one or more buttons or icons for selection by a user. Accordingly, a user may be informed of one or more errors or system characteristics which require attention. Process 200 may continue by detection of a user selection of the user interface at block 215. Based on the user selection, the system care program can initiate a system care process at block 220. For example, the system care program may perform one or more of a one-click solution, self-heal and troubleshooting advisor.
[0033] One advantage of the system care program may be to provide solutions to one or more system errors based on errors faced by other users. Accordingly, the system care process may query a system care server (e.g., system care server 110) for a solution at block 220. Solutions provided by the system care server may be employed by the system care program to correct the error. Further, the system care program may provide solutions provided by a manufacturer (e.g., VAIO Care™ Solutions). As such, the system care program can update the computing device based on manufacturer provided updates, patches, and model specific corrections.
[0034] According to one embodiment, system care program can automatically detect and correct one or more issues faced by the computing device to provide self-heal functionality. Referring now to FIG. 3, a self-heal process is depicted according to one or more
embodiments. In one embodiment, self-heal process 300 may be automatically performed to address operational errors of a computing device. The self-heal process may be initiated when an error is detected and/or during start up of the computing device. Based on the type of error the device may be configured to retrieve a self-heal solution from system care server at block 305 (e.g., system care server 110). At decision block 310, the system care program checks if retrieval of a self-heal file was successful. As will be discussed in more detail below with respect to FIG. 5, self-heal files may include one or more solutions provided by the system care server and system care program may relate to one or more patch files and fixes associated with a particular detected. When retrieval of the self-heal is not successful ("NO" path out of decision block 310), the system care program informs the user that retrieval was unsuccessful at block 315. Alternatively, when the retrieval is successful ("YES" path out of decision block 310), the system care program may check the computing device associated with one or more patches and fixes in the self-heal file at block 325. The system care program may then check for a solution at block 330. [0035] When a solution does not exists ("NO" path out of decision block 330), the system care program can inform the user that a solution is not available at block 335. Alternatively, when a solution exists ("YES" path out of decision block 330), the system care program may download the solution at block 340 and apply the solution at block 345. Process 300 may then determine if the download and/or application of the fix was successful at decision block 350. When download and/or application of the solutions fails ("YES" path out of decision block 350), the system care program may inform the user to retry at a later time at block 355.
[0036] When download and/or application of the solutions is successful ("NO" path out of decision block 350), the system care program may proceed to check for any additional solutions at decision block 360. When additional solutions may be present ("YES" path out of decision block 360), the system care program may check the computing device for issue at block 325. When no additional solutions apply ("NO" path out of decision block 360), process 300 may end the self-heal process of the system care program at block 320.
[0037] According to one embodiment, the system care program may perform a one-click solution process wherein the system care program detects user selection of a user interface. The system care program may then check hardware and system components of the computing device and employ detection of solutions for the computing device employing process 300.
[0038] Referring now to FIGS. 4A-4B, graphical representations are shown of an exemplary display window of a user interface provided by the system care program according to one or more embodiments of the invention. Referring first to FIG. 4A, a graphical representation is depicted for a troubleshooting advisor function of the system care program. Display window 400 of the user interface may include one or more buttons for access to functions of the system care program, such as one-click care button 405, troubleshooting button 410, and VAIO™ support button 415. As shown, one-click care tab 405 may be employed by a user to select one-care functionality of the system care program described above with reference to FIG. 3. Troubleshooting button 410 may be used by the user of computing device 105 to assess one or more operational aspects of a computing device (e.g., computing device 105) and provide instructions via the user interface to assess one or more issues. As will be discussed in more detail below with respect to FIG. 5, troubleshooting button 410 may be selected (e.g., clicked) by a user for the system care program to display system care advisor 420. [0039] System care advisor 420 may include one or more buttons associated with categories for support by the system care program. As shown in FIG. 4A, buttons, shown by 425, may relate to input and output devices, storage and media, software applications, network and wireless components and system settings. It should be appreciated that system care advisor may include one or more additional buttons. According to another embodiment, the system care program may be configured to interoperate an operating system of the computing device to determine components of the computing device. For troubleshooting of specific components, a user may select one or more of buttons 425 to receive one or more solutions and/or graphical information via the user interface for correction of one or more operational errors. System care advisor 420 may further include system care messages associated with software and hardware components, shown as 430 and 435 respectively. User selection of button(s) 440a-440b can result in the system care program performing analysis of the software and hardware components.
[0040] The system care user interface may further include VAIO™ support button 415 to access to technical service provider for assistance. In certain embodiments, the user interface of the system care program may display setup icon 445 and help icon 450. In one embodiment, selection of setup icon 445 may prompt display of an interface to receive one or more user preferences. Help icon 450 may provide a user access to help features provided by the system care program and/or the operating system of the computing device.
[0041] FIG. 4B depicts a graphical representation of a system care user interface according to an exemplary embodiment. Based on a user selection of a system care advisor 420, such as one or more of buttons 425, the user interface may display window 460 including possible solutions associated with one or more operational errors. As shown in FIG. 4B, the possible solutions may each include a button, shown as 465, which may be selected by a user to address one or more issues. Based on a user selection, the system care program may perform one or more actions shown as actions 470i-n. Actions performed by the system care program include uninstalling a device 470i, updating drivers 47O2 and instant mode updating 47On.
[0042] According to one embodiment, instant mode updating by the system care program may relate to issuing one or more commands to the operating system. For example, to reboot a computing device, a user is typically required to perform a series of actions including selection of an icon or button to shutdown the device. In contrast, instant mode updating at action block 47On may issue a command by the system care program to the operating system, such that the operating system performs the operation without requiring the user to perform the above-identified series of actions. By way of example, the command may be issued to shut down the computing device. In another exemplary embodiment, the system care program can issue a command to enable and/or disable a wireless adapter. It should also be appreciated that the system care program may issue commands associated with other functions to the operating system of the computing device. [0043] According to another embodiment, the system care program may display one or more solutions based on user selection of troubleshooting button 410. Referring now to FIG. 4C, a graphical representation is depicted of a user interface of the system care program including solution window 475. Solution window 475 may include one or more solutions 480 i-n to address operational errors experienced by a user of the computing device. According to another embodiment, solutions 48O]-2 may be displayed based on user search for solutions entered in search window 485.
[0044] FIG. 5 depicts a process for providing one or more troubleshooting solutions to a user according to one or more embodiments. Process 500 may be performed by the system care program to guide a user for correction of one or more errors. Process 500 may be initiated by detecting user launch of the system care program at block 505. In certain embodiments, the system care program may be initiated by the user by selection of an icon or user interface provided by an operating system on computing device (e.g., computing device 105). At block 510 the system care program detects selection of a troubleshooting button
(e.g., button 410). The trouble shooting user interface may provide one or more options and/or visible paths for a user to select. Accordingly, the system care program may receive one or more selections of a user to facilitate a user's correction of one or more errors. By providing a user with a graphic user interface, the system care program may reduce the number of customer service calls placed by the user to technical support.
[0045] At block 515, the system care program can detect user selection of an input/output advisor. The input/output advisor may allow for a user to select one or more devices. By displaying a list of devices that may be accessed, the input/output advisor allows a user to select one or more devices to be diagnosed. The system care program can detect user selection of a device at block 520. In one embodiment, the system care program may run a script on the computing device at block 525 to diagnose any issues presented by the device. The script may analyze one or more log files, signature files and event identifiers to determine the issue presented.
[0046] Based on analysis at block 525, the system care program may then display available solutions at block 530. The solutions displayed by the system care program may allow for a user to correct the operational error. When a user selection is detected at block 535, process 500 may then perform one or more of launching a program at block 540, launching a website at block 545, displaying a message box at block 550 and opening a help and support information for a specific location at block 555. These solutions may be based on previous user selections. At block 540, the system care program may launch a program to correct an operational error selected by the user. For example, the program may replace one or more files of the computing device. According to another embodiment, the program can retrieve a patch file from a server to correct the issue.
[0047] At block 545, the system care program may launch a website for the user. By way of example, the website may relate to a manufacturers website providing one or more solutions for a detected issue. According to another embodiment the website may provide one or more downloadable files for correction of the issue.
[0048] At block 550, the system care program may display a message box which may provide information to the user. The message box may provide one or more display messages to guide a user to correct an issue. By way of example, the message box may illustrate a series of steps for coupling an external device to the users computing device. Data
for the display may be stored on the computing device or alternatively may be accessed via server (e.g., system care server 110) according to one embodiment.
[0049] At block 555, the system care program may open a help and support file for a specific location. The help and support files may be provided by the system care program. Alternatively, the system care program may access the help and support files of the operating system.
[0050] Based on the actions performed by the system care program, the maintenance program may then check to determine if the issues have been resolved at block 560. When the fix is not successful ("NO" path out of decision block 560), the system care program may update the user display at block 565 to provide the user with the status of the device. In certain circumstances, the system care program may then display any additional available solutions at block 530. When the fix is successful ("YES" path out of decision block 560), the system care program may then end system care troubleshooting advisor at block 570.
[0051] According to another embodiment, system care program may be sustained by providing one or more updates and/or patches to the system care program. For example, in one embodiment, the system care program may be updated by a database of possible solutions maintained by sustaining engineers. In one embodiment, solutions may be mapped to one or more user computing device issues based operational errors detected. For example, an error may be mapped to an event identifier generated by the operating system. In that fashion, system maintenance may be kept current based on the one or more solutions available. By providing network accessible solutions, the system care program allows for current solutions to be accessed without slowing down system performance by pushing solutions when not needed.
[0052] Referring now to FIG. 6, a simplified block diagram is depicted of a system for updating system care program information according to one or more embodiments. As described herein, the system care program may allow for a user's computing device 605 to access one or more solutions from system care server 615 via communication network 610. The system care program may be automatically configured to download a patch based on auto-configuration files and auto-installation features of the system care program from system care server 615 in certain embodiments.
[0053] According to another embodiment, system 600 includes sustaining server 620 which may provide updates to system care server 615. Sustaining server may be maintained and
provide updates and solutions by sustaining group 625. The sustaining group may relate to one or more technical support agents determining updates and patches to correct one or more operational errors of computing devices. Updates provided by a sustaining group 625 may be mapped to one or more patches and/or identified errors. The updates may then be provided to sustaining server 620. Update patches and issues that other systems may be facing may be addressed by the sustaining group and provided to users, such as computing device 605.
[0054] According to another embodiment of the invention, system care program may provide reports of system status. The reports may be provided periodically (e.g., daily, weekly, monthly, etc.). Referring now to FIG. 7, a graphical representation is depicted of a system care report according to one or more embodiments of the invention. In one embodiment, the report may be provided monthly to a user of the computing device. The report may include one or more messages to provide a user with an update of the system. Exemplary messages, shown as 705i-n in FIG. 7, may be based on particular categories, such as the operating system and system care updates. Messages 705 i-n may further indicate that one or more patches are available. The report may further include one or more symbols such as triangle 710 and check mark 715 to indicate the status of the computing device. In one embodiment, triangle 710 may indicate that system components require attention, while check mark 715 may indicate that system components are in compliance.
[0055] While this invention has been particularly shown and described with references to exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims.