US20070233633A1 - Computer hardware and software diagnostic and report system - Google Patents
Computer hardware and software diagnostic and report system Download PDFInfo
- Publication number
- US20070233633A1 US20070233633A1 US11/440,563 US44056306A US2007233633A1 US 20070233633 A1 US20070233633 A1 US 20070233633A1 US 44056306 A US44056306 A US 44056306A US 2007233633 A1 US2007233633 A1 US 2007233633A1
- Authority
- US
- United States
- Prior art keywords
- computing device
- scripts
- user
- expert system
- programs
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000013515 script Methods 0.000 claims abstract description 57
- 230000008713 feedback mechanism Effects 0.000 claims abstract description 20
- 238000000034 method Methods 0.000 claims description 27
- 238000005067 remediation Methods 0.000 claims description 13
- 238000012544 monitoring process Methods 0.000 claims description 9
- 230000007246 mechanism Effects 0.000 claims description 7
- 230000000977 initiatory effect Effects 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 5
- 238000012360 testing method Methods 0.000 abstract description 15
- 230000007547 defect Effects 0.000 abstract description 2
- 230000000246 remedial effect Effects 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 23
- 241000700605 Viruses Species 0.000 description 9
- 238000009434 installation Methods 0.000 description 6
- 230000008439 repair process Effects 0.000 description 6
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000006378 damage Effects 0.000 description 4
- 230000036541 health Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012559 user support system Methods 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000003012 network analysis Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Definitions
- the present invention relates to the field of computer system maintenance. More specifically, the present invention relates to the field of testing computer systems for configuration problems and providing remediation solutions to the discovered problems.
- Registry MechanicTM developed by PC ToolsTM aid a user in cleaning, repairing and optimizing the Windows® registry.
- Registry MechanicTM uses a detection algorithm to scan a user's registry and identify missing and invalid references in a user's registry. Then a list is provided of the registry errors found, so that a user is able to selectively choose to clean each item or automatically repair all of them.
- Viruses are computer programs which have the ability to disrupt and damage a user's system. The products from these companies are able to scan a user's system and locate irregular programs that fit certain definitions stored in a database. Upon detecting a virus, a user is able to remove the problem and hopefully avoid harm to his computer system.
- STEALTHbits Technologies develops a program called stealthAUDIT for Exchange. The program is an agentless auditing and conformance management platform that enables users to identify changes in the system to avoid problems by performing discreet patch scanning.
- these products are very focused exclusively on their specific areas of technology such as virus checking or patch management and do not include an entire package for maintaining system stability.
- the present invention tests computer systems for defects that are able to cause performance and functional problems.
- An agent application is first installed on a user's system. The agent application then retrieves problem data from the expert system library pertinent to the user's operating environment. The agent application tests the user's system for each problem description within a downloaded data structure from the expert system library. If a problem is discovered, then a script attempts to remediate the problem and/or a notification is sent to the user describing the issue. If an unknown problem arises, a feedback mechanism expands the expert system library by sending a notification that a problem was discovered. The feedback is then utilized to increase the total knowledge in the expert system library. Then when another user with a similar or the same setup is tested, the agent application will recognize the issue and will take the appropriate remedial actions.
- a system for monitoring a computing device comprises a plurality of programs for interacting with the computing device to gather information and a plurality of scripts coupled to the plurality of programs for initiating the plurality of programs. Interacting with the computing device further comprises determining a setup of the computing device, gathering information related to configuration of the computing device and analyzing the computing device.
- the plurality of scripts are less complex than the plurality of programs.
- the plurality of scripts return a condition status. In some embodiments, the condition status is a binary-type value.
- the system runs in the background of the computing device.
- the plurality of scripts run in a specified order.
- the plurality of scripts are stored within an expert system library.
- the system further comprises a user interface coupled to the plurality of scripts for interacting with a user.
- the system further comprises a feedback mechanism for sending feedback to an expert system library.
- the feedback mechanism expands the expert system library.
- the system further comprises a reporting mechanism to report one or more problems.
- the plurality of scripts are embedded within an extensible markup language (XML) structure.
- the computing device is selected from the group consisting of a/an personal computer, Apple computer, thin client, laptop, cell phone and PDA. Gathering information includes discovering one or more problems.
- a system for monitoring a computing device while running in the background of the computing device comprises a plurality of programs for determining a setup of the computing device, gathering information related to configuration of the computing device and analyzing the computing device for one or more problems, a user interface coupled to the plurality of programs, the user interface for interacting with a user and a plurality of scripts coupled to the plurality of programs and to the user interface for acting as an intermediary between the plurality of programs and the user interface, wherein each of the plurality of scripts return a condition status.
- the condition status is a binary-type value.
- the plurality of scripts are less complex than the plurality of programs.
- the plurality of scripts run in a specified order.
- the plurality of scripts are stored within an expert system library.
- the system further comprises a feedback mechanism for sending feedback to an expert system library.
- the feedback mechanism expands the expert system library.
- the system further comprises a reporting mechanism to report the one or more problems.
- the plurality of scripts are embedded within an extensible markup language (XML) structure.
- the computing device is selected from the group consisting of a/an personal computer, Apple computer, thin client, laptop, cell phone and PDA.
- a method of monitoring a computing device to gather information comprises determining a setup of the computing device, gathering information related to configuration of the computing device and analyzing the computing device. Analyzing the computing device further comprises querying the computing device for one or more problems. The method further comprises initiating one or more remediation scripts if one or more problems are detected. The method further comprises sending feedback to an expert system library. The method further comprises expanding the expert system library using the feedback mechanism. The method further comprises reporting one or more problems.
- the computing device is selected from the group consisting of a personal computer, an Apple computer, a thin client, a laptop, a cell phone and a PDA.
- a method of monitoring a computing device to gather information comprises determining a setup of the computing device, gathering information related to configuration of the computing device, analyzing the computing device, reporting analysis on the computing device and sending feedback to an expert system library. Analyzing the computing device further comprises querying the computing device for one or more problems. The method further comprises initiating one or more remediation scripts if one or more problems are detected. The method further comprises expanding the expert system library using the feedback mechanism.
- the computing device is selected from the group consisting of a personal computer, an Apple computer, a thin client, a laptop, a cell phone and a PDA.
- FIG. 1 illustrates a block diagram representation of the main components of the preferred embodiment of the present invention.
- FIG. 2 illustrates a flowchart of the agent application determining if there are any problems.
- FIG. 3 illustrates an example data structure for the expert system library.
- FIG. 4 illustrates an example XML coded version of a data structure for the expert system library.
- FIG. 5 illustrates a network implementing the preferred embodiment of the present invention.
- FIG. 6 illustrates a flowchart of utilizing the present invention to maintain a stable computing device.
- the present invention is a system and method for using an expert system library of computer configuration problems to test individual computer systems for the existence of problems and then providing remediation solutions for each discovered problem.
- the system enables maintenance procedures and requirements for system competence to be centralized and distributed, providing an end user a solution to scan his system for configuration problems and to manually or automatically resolve these problems.
- Configuration problems include, but are not limited to, incomplete software package install and de-installs, incorrect Windows® registry values, software release and patch release issues, software driver problems, network configuration and connectivity, performance issues and many other problems.
- the present invention provides the ability to build a central expert system library repository with constructive input from multiple sources.
- the system is also able to support an application service provider (ASP) infrastructure and business enterprise applications.
- software applications have the ability to run disconnected from the central server and network.
- the system is scaleable so that it has the ability to support extremely large ASP user bases over disparate network topologies.
- the system supports subscription licenses, so that when the subscription is void or expired, the desktop software will be disabled and inactive.
- the system also supports disparate end-user hardware including Personal Computers (PCs), Apple PC's, thin clients, laptops, cell phones, PDA's and other mobile devices.
- the present invention utilizes a plug-in model so that each entry in the expert system library is discrete, allowing multiple authors to add to the central repository independently.
- the present invention generally comprises four main components: a central compatibility expert system library, a host resident client interrogation agent, problem reporting and remediation mechanisms and a user support feedback mechanism.
- the central expert system library stores the problem and resolution information.
- the information is able to be retrieved and communicated to end-user clients via a problem language and protocol.
- the information stored includes shared software module names and revisions, hardware driver prerequisites, hardware requirements, operating system revision levels and other operating environment prerequisites.
- the expert system library also contains software and hardware exceptions.
- a plurality of discrete programs are utilized to address these problems.
- the library grows and thousands of discrete programs are developed. For example, initially the system knows how to problem solve internal issues related to CPUs, motherboards, hard disk drives, RAM, video cards, power supplies and software.
- the expert system library is able to grow and trouble shoot those areas as well.
- these other components include for example, networking components such as network cards, cables and routers and peripheral devices such as printers, scanners and digital cameras.
- networking components such as network cards, cables and routers and peripheral devices
- printers, scanners and digital cameras are crucial to have the ability to continuously increase the expert system library's knowledge.
- the discrete programs execute desired tasks and are able to remediate certain issues.
- the function ethernet_counter determines if an ethernet cable is functioning correctly. If ethernet_counter returns values that increase over time, then the cable is likely not performing well and should be replaced. For such an issue, a user must manually replace the cable. However, if there is a software problem such as a conflict between device drivers, a program is able to automatically update the drivers to avoid the conflict if that is the proper remedy.
- Agent software installed on an end user's system is resident and thereby able to interrogate the user's system for hardware and software configurations.
- the information obtained by the interrogation is used in conjunction with the expert system library to ascertain whether there are problems on an end-user's system.
- the expert system library describes individual prerequisites such as software versions, registry values and hardware and software configurations which are invalid or problematic.
- the agent application then uses the information to interrogate the client system for the existence of these problems.
- the discrete programs run in the background while monitoring the computing system. When an issue arises, the programs are executed in a specified order to analyze a particular aspect of the computing device. Generally, a program first determines the setup, then gathers system information such as licenses, software running and hardware configurations and then finally the system is analyzed.
- Analysis includes determining any problems and addressing them as deemed appropriate using scripts and programs. Furthermore, issues are assigned a severity or a priority so that high priority items are dealt with quickly. Additionally, there are health risks assigned to ensure the most important issues are corrected before any harm is done. For example, if there is a problem with a user's hard drive, that would be considered a high priority and also a high health risk because data might be written incorrectly resulting in data loss. However, if there is a problem with an ethernet cable dropping some packets, the priority is still high because a user desires a fast connection to the network, but the health risk is low since the only harm is that the user's access to the network is slower.
- the agent software has many different functions, allowing it to accomplish a variety of tasks.
- the agent software is able to report issues that are found, making it a reporting engine, an inventory system, a security system and a performance manager.
- the agent software uses a language engine for performing the analysis. Although very complex tasks are being performed at times, the resultant script language is simplified for easy modification and interoperability.
- An interface environment uses the built in functions of the software to simplify what the user views.
- the interface environment also referred to as the data entry screen, prompts the user for information. Simple and easily understood scripts are coupled to the interface environment. Then, beneath the scripting language is a more complex language which performs the underlying tasks necessary to remedy whatever situation exists.
- the scripts are generally less complex than the underlying programs to provide simplicity of interaction with the user interface.
- the underlying programs are necessary to interact with the system's hardware and software, thus need to have the specific abilities to accomplish such tasks.
- the scripts take the information from the programs and return a condition status.
- the condition status is binary-type value such as “true” or “false,” “1” or “0” or a similar value.
- the condition status is a string, ASCII value or other value representing status.
- the present invention will analyze the situation. There are many possible causes of this problem such as the web site being temporarily down or the user's internet connection not functioning properly.
- the present invention attempts to determine the root cause of the problem.
- a script initially asks if the host is available.
- the script uses the well known ping program or a program similar to the ping program to contact the host.
- the ping program returns data including the number of packets sent, received, lost, in addition to the round-trip time for the packets, that information is able to be consolidated into a binary form of an answer by the script. In particular, if the packets lost is equal to the packets sent, then the host is not available.
- a script would ask something such as “Is the host available?” There are two possible responses from the script, “yes” the host is available or “no” it is not. As such, the script returns a much simpler and user-friendly response. Depending on the response, it is determined what else is required to pinpoint the problem. As shown, the script is simple in that it contacts specific programs to analyze the system and based on those responses, returns a binary-type answer.
- the expert system library is compartmentalized, so that each component is able to handle a specific task.
- An example of the present invention in use is in the area of network analysis. There are a plethora of aspects of networking that could contribute to a user not being able to access the network. Furthermore, to check each aspect is a burdensome and slow process. However, with the present invention, the specific tasks are already designated and are then checked in a specified order. The broadest issues are addressed first and gradually the focus is narrowed to the specific component that is causing the problem. For example, if there is a problem connecting to the network, the following set of queries are used to determine why there is the problem. Is there a network device? If there is a network device, is it configured properly? Is the net device driver installed?
- the present invention is able to identify where the problem is stemming from. As described above, the process of finding the answers to these questions is tedious and generally too complex for an average user, hence implementing the present invention not only improves efficiency and provides security, but it also enables those who are not computer savvy to accomplish tasks they otherwise would not be able to.
- Resolutions include, but are not limited to, removal/cleanup of software de-installations, removal of invalid configuration information, installation of patches and others.
- the present invention when used by a larger support organization is able to be an extremely valuable system to end users.
- the correction procedure or script is added to the central expert system library.
- the feedback mechanism will continuously expand the expert system library and ensure each new software system is tested for a wider and more comprehensive group of problems and has solutions to resolve such problems.
- FIG. 1 illustrates a block diagram representation of the main components of the preferred embodiment of the present invention 100 .
- an expert system library 102 stores information about software packages and hardware and software configurations 114 required to support the software packages.
- An agent application 104 is located on one or more user systems. The agent application 104 interrogates the user system 106 for hardware and application configurations. Using the information obtained from the interrogations, the agent application 104 is able to determine if there are any problems. If there are any problems, then the agent application 104 reports the problem to the end-user and/or initiates a remediation script to repair the problem.
- the agent application 104 is able to receive automatic upgrades 112 so that it is able to continue protecting against improper installations and also automatically upgrade the user system 106 .
- a feedback mechanism 116 sends any newly discovered problem information to the expert system library 102 , so that the expert system library 102 is able to incorporate such a problem and will be able to detect and resolve it in the future.
- the expert system library 102 is able to continuously grow so that it is able to detect more and more issues as time passes. All of the components of the preferred embodiment of the present invention function to assist a user in detecting conditions that will potentially corrupt the user system 106 and then grow the expert system library 102 when new issues are discovered, so that they will be detected in other systems in the future.
- FIG. 2 illustrates a flowchart of the agent application determining whether there is a problem that needs to be remedied 200 .
- the agent application is installed on the end-user's system. The agent application is able to come pre-installed on a user's system or a user is able to download the agent application as needed.
- the agent application interrogates the end-user system for the basic environment.
- the agent application retrieves problem data from the expert system library pertinent to the end-user's operating environment. For example, if the operating environment is Windows® NT, then problem data related to Windows® NT is retrieved.
- the agent application tests the end-user's system for each problem description within the downloaded data structure.
- the agent application determines if any of the problems are detected. If the end-user system does have problems, then the agent application either reports the problems to the end-user at the step 214 and/or initiates the remediation script to repair the problem at the step 212 .
- problem conditions There are a wide range of problem conditions that the end-user system is able to detect in the step 210 .
- the following are examples of problem conditions tested by the agent application; however, they are not meant to limit the invention in any way.
- Software is tested for problems such as problematic software patch revisions, incompatible software packages, problematic software installations and problematic software package un/de-installations.
- the operating system is also checked, such as Windows® registry corruption and existing performance issues.
- Environmental issues are investigated such as low disk space or hardware errors.
- Network issues are checked such as interface errors, DNS or IP configuration problematic, IP routing failure and ISP network performance.
- Other important elements of a secure system are investigated such as detecting viruses, driver problems and serious security vulnerabilities. Any issues that could create system instability are also able to be investigated.
- FIG. 3 illustrates an example data structure for the expert system library.
- the expert system library transfers data structures to the agent so that the client is able to perform checks to determine if there are any problems.
- the preferred format for the data structures is an embedded language with XML wrapping, although any format is acceptable.
- the example data structure 300 has the following item definitions within it.
- An ID item 302 stores the test record number.
- a class item 304 holds the type of test to be performed, such as performance, software patch level, security, virus or software inconsistency.
- a platform item 306 stores the operating system environment information, for example Windows NT, ME or XP.
- a product item 308 contains the affected application's information.
- the product item 308 is a specific component that needs to be investigated such as the Windows Shell or a specified application.
- a description item 310 stores a detailed description of the problem described.
- a criteria item 312 holds the subroutine used to identify test criteria. Within the criteria item 312 , a test_ref subroutine 313 is used to identify test criteria. Although only one test_ref subroutine 313 is shown in FIG. 3 , the criteria item 312 is able to hold a number of test_ref subroutines 313 depending on what test criteria is needed.
- a remediation description item 314 contains instructions on how to repair the problem described, and a remediation script item 316 stores one or more scripts to automatically remediate the problem described.
- FIG. 4 illustrates an example XML coded version of a data structure of the expert system library.
- the ID item is “5.”
- the platform item is “Windows.”
- the category is “hardware” and the family is “Hardware Management.”
- the agent application knows that it needs to investigate issues concerning hardware management of Windows®. Additional items are able to be included in the data structure as well such as a dependency, confidence and health index.
- the date_created and date_modified items are useful in determining when the data structure was created or modified which helps in the process of problem solving.
- the description item describes the problem, which in this example, is that the “ethernet card is reporting errors.” Diagnostic script language is included to determine the status of the hardware or software.
- Remediation information is used to help resolve the problem, such as a suggestion to “replace your ethernet cable.” If proper, a remediation script is included to automatically correct the problem.
- the data structure comprises the items required to perform system checks to aid in determining potential conflicts on a user's system. The aforementioned example is not meant to limit the present invention in any way.
- the agent application is host-based software, pre-installed on an end user system.
- the application is an interpreter for the data structure downloaded from the central expert system library and a library of functions.
- the functions primarily access information about a user's system or remediate a user's system. For example, one function is able to query an operating system to determine if it has a certain patch installed, and another function is able to install the patch.
- the agent application is also responsible for reporting problems found.
- agent application includes, but are not limited to, accessing hardware error counts, reading/writing the Windows® registry, accessing software modules and version/patch levels, moving, copying and removing files from the file system, reading operating system environment such as memory and disk space, updating virtual memory configurations and many other functions to maintain a stable environment.
- the expert system library utilizes a plug-in architecture.
- Each expert system library record has functionality of a discrete program such that each entry is able to be added to the expert system library without affecting the other expert system library entries and updated or removed from the expert system library with no effect on the other problem records.
- Such a plug-in architecture allows multiple authors to maintain different problem records independently of simultaneous work being done on other problem records.
- the expert system library data structure includes procedural language elements including, but not limited to, boolean logic, string manipulation, flow control verbs and simple match functions.
- the language provides a system interpretation tightly integrated with the operating system.
- the example language checks if the HotFix (Patch) is installed by analyzing the value of the Windows® registry value at Q312895. If the value is not an error, then the Microsoft® patch is installed. Further, the routine is able to check for one or more code modules which are supposed to be updated by this patch. If the code module version is less than the correct value, then the registry has the patch recorded as installed, but the actual code module could be below the correct value, which would mean the patch was installed but the installation failed.
- the language interpreter part of the agent application, contains a set of functions which are called the Expert System Library Data Language.
- the functions are specific to operating environments, but operate the same for the Expert System Library Data Language.
- the operating environments where the functions reside could include Microsoft® Windows®, Microsoft® CE, Unix, Linux, handheld operating systems, cell phone operating systems as well as others.
- the function portability allows the present invention to be implemented across many different platforms.
- the functions are able to reach into the operating system environments to retrieve specific and detailed data.
- Examples of such functions include, but are not limited to: Read Windows Registry Value, Check Device Error Counter Values, Check File System Organizations and Structures, Check File Modules and File Version Values, Check for Installation of Specific Applications, Read Environmental Values and Counters, Read Windows Event Log Entries as well as other functions to retrieve specific data.
- FIG. 5 illustrates a network implementing the preferred embodiment of the present invention.
- the present invention is implemented over a network of devices 500 .
- the expert system library is stored on a server 502 that is coupled to the Internet 504 in a preferred embodiment.
- the server 502 is coupled to a company intranet or other types of networks such as a Local Area Network (LAN), Wide Area Network (WAN) or a Metropolitan Area Network (MAN).
- the expert system library is stored on one or more servers.
- the coupling between the server 502 and the Internet 504 is able to be via networking cables or wireless means.
- the Internet 504 is also coupled to a variety of computing devices that have the agent application stored on them.
- the computing devices include, but are not limited to, a personal computer 506 , a PDA 508 , a cell phone 510 , a laptop computer 512 , a thin client 514 or an Apple personal computer 516 .
- the agent application retrieves problem data from the expert system library on the server 502 . Then, the agent application on the computing devices checks to determine if there are any problems in the system. If any problems are discovered, the agent application alerts the user and/or attempts to remediate the issue using a script. If an unknown problem occurs without being detected, the reporting mechanism sends feedback to the server 502 , so that the expert system library is able to learn of the issue and is able to detect such a conflict in the future. Thus, users of the system are able to feel comfortable they are working on a safe and secure environment and when there are undiscovered issues, with a large network of people, these undiscovered issues will be noticed and recorded so that other users' systems are able to resolve such issues.
- FIG. 6 illustrates a flowchart of utilizing the present invention to maintain a stable computing device.
- a setup of the computing device is determined by the plurality of discrete programs.
- Setup information includes operating system information and hardware of the computing device.
- the discrete programs gather information related to configuration of the computing device, such as software installations, hardware connections and other configuration information in the step 602 .
- the discrete programs are then able to analyze the computing device in the step 604 .
- the discrete programs monitor the system to make sure proper patches are installed, no software conflicts exist, the environment is stable and other necessary components are reviewed. If a problem is detected in the step 606 , appropriate scripts are initiated to remediate the problem in the step 608 .
- the analysis performed by the discrete programs is reported on the computing device in the step 610 .
- the reporting allows a user to review the status of the computing device and if any problems were discovered and how they were remediated.
- feedback is sent to an expert system library in the step 612 , so that in the future, such issues are known and the appropriate action is able to be taken if these issues occur again.
- the process continuously repeats in the background of the computing device, so that the system is able to remain stable. It should be understood that only those components that are needed are utilized again. For example, if there is no modification to the computing device setup, that information is not reacquired nor is the configuration information if the configuration has not changed. Thus, the present invention is able to monitor the system thoroughly yet efficiently.
- the present invention supports subscription licenses, so that when the subscription is void or expired, the desktop software will be disabled and inactive. With respect to subscriptions, the present invention has interfaces for billing support.
- An additional feature of the present invention includes offline operation.
- the software has the ability to run disconnected form the central server and network.
- the drawback with offline operation is that a user must install some if not all of the expert system library, so that it is able to be utilized locally. Furthermore, if an issue arises, the feedback mechanism is not able to communicate with the expert system library, thus the expert system library will be limited in its growth capabilities.
- an end user computer has the agent application pre-installed.
- a user has to install the agent application after either downloading it or via CD.
- the agent application Once the agent application exists on the user's computer, it interrogates the user system for the basic environment. The agent application then retrieves problem data from the expert system library pertinent to the user's operating environment. The agent application tests the user's system for each problem description within the downloaded data structure from the expert system library.
- a script will attempt to remediate the problem and/or a notification will be sent to the user describing the issue such as “patch X is missing, go to www.findpatch.com to download and install the patch.”
- a feedback mechanism sends a notification to the expert system library that a problem was discovered.
- the feedback is automatically sent via software.
- the feedback is sent via a user reporting the problem. The feedback is then utilized by the expert system library to increase the total knowledge. Then when another user with a similar or the same setup is tested, the agent application will recognize the issue and will take the appropriate actions to handle it. In time, the number of problems able to be detected and resolved will increase, thus creating a more secure and stable environment.
- the present invention assists users in detecting potential problems and conflicts that a typical user is unaware of. Other programs attempt to detect specific problems, but they are insufficient to ensure an overall stable environment.
- the present invention not only checks for software conflicts; it also checks for conflicts within the operating system for hardware conflicts as well. When a conflict or problem does arise, the present invention utilizes scripts to attempt to resolve the problem and further reports these conflicts to the user.
- the agent application which monitors a user's computer is coupled to a feedback mechanism which is able to send data to the expert system library so that the expert system library is able to learn and expand to handle new potential conflicts. Since the expert system library is continuously expanding with new knowledge, once a new problem is discovered, the agent application is able to aid future users to resolve the problem.
- the present invention could potentially continue to gain knowledge to the point where most, if not all, conflicts and problems have been discovered and will be resolvable before any detriment comes to the user's system.
- software includes programs, applications, scripts, system software, middleware in addition to any other generally known meaning of software.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
Description
- This application is a continuation-in-part of co-pending U.S. patent application Ser. No. 11/368,214, filed on Mar. 2, 2006 and entitled “COMPUTER HARDWARE AND SOFTWARE DIAGNOSTIC AND REPORT SYSTEM” which is hereby incorporated by reference, and which claims priority under 35 U.S.C. § 119(e) of the co-pending, co-owned U.S. Provisional Patent Application Ser. No. 60/658,970, filed Mar. 4, 2005, and entitled “PRE-INSTALL COMPLIANCE AND CENTRAL PROBLEM DISCOVERY SYSTEM.” The Provisional Patent Application Ser. No. 60/658,970, filed Mar. 4, 2005, and entitled “PRE-INSTALL COMPLIANCE AND CENTRAL PROBLEM DISCOVERY SYSTEM” is also hereby incorporated by reference in its entirety.
- The following co-owned, co-filed, co-pending U.S. patent application Ser. No. 11/368,212, filed Mar. 2, 2006 and entitled PRE-INSTALL COMPLIANCE SYSTEM is also incorporated by reference.
- The present invention relates to the field of computer system maintenance. More specifically, the present invention relates to the field of testing computer systems for configuration problems and providing remediation solutions to the discovered problems.
- With the complexity and interoperability of software and hardware today, it is very difficult to install or remove one program without having an effect on one or more pre-existing programs. Microsoft® Windows® operating systems as well as other operating systems have a plethora of components that all must maintain their integrity, otherwise the operating system becomes unstable and possibly fails. Furthermore, generally when hardware is installed, software drivers which allow the hardware to communicate with the software must be installed as well. If these drivers are corrupted, the hardware will not function properly. Additionally, many software programs have components beyond a main executable file which allow the programs to communicate with the operating system, and if these components are deleted or modified incorrectly, the program will no longer function. All of these components, whether they be part of the operating system, hardware or other software, must be able to co-exist without harming each other. Specifically, when the system is modified in some way such as by installing or removing a piece of hardware or a software program, the system should do it so that everything still functions correctly. Furthermore, over time, modifications are made to the system such as updating drivers and installing patches, and these modifications may adversely affect other components of the system. Also, if a user neglects to update his system, he could leave the system open to attacks by viruses or other intruders. So either by action or inaction, a user's system has the potential for issues, and such issues should be monitored.
- There are many products which monitor a system or attempt to repair components of the system, but they all have their shortcomings and do not provide the full package to adequately ensure a stable system environment.
- Windows® registry repair programs such as Registry Mechanic™ developed by PC Tools™ aid a user in cleaning, repairing and optimizing the Windows® registry. Registry Mechanic™ uses a detection algorithm to scan a user's registry and identify missing and invalid references in a user's registry. Then a list is provided of the registry errors found, so that a user is able to selectively choose to clean each item or automatically repair all of them.
- BMC Software and Computer Associates International develop performance software, but these software packages tend to be host based software products.
- Other products like security vulnerability scanning software, spyware/virus scanners and patch management software assist in maintaining a stable computing environment. Very well known companies like McAfee and Symantec develop virus scanners to protect a user's computer from being harmed by viruses. Viruses are computer programs which have the ability to disrupt and damage a user's system. The products from these companies are able to scan a user's system and locate irregular programs that fit certain definitions stored in a database. Upon detecting a virus, a user is able to remove the problem and hopefully avoid harm to his computer system. STEALTHbits Technologies develops a program called stealthAUDIT for Exchange. The program is an agentless auditing and conformance management platform that enables users to identify changes in the system to avoid problems by performing discreet patch scanning. However, these products are very focused exclusively on their specific areas of technology such as virus checking or patch management and do not include an entire package for maintaining system stability.
- There are significant problems with the aforementioned options. They are not necessarily end user friendly. They do not focus on overall user support or computer reliability. They are not Application Service Provider (ASP) friendly. Furthermore, they lack other significant features. Hence, a solution is needed to overcome these issues.
- The present invention tests computer systems for defects that are able to cause performance and functional problems. An agent application is first installed on a user's system. The agent application then retrieves problem data from the expert system library pertinent to the user's operating environment. The agent application tests the user's system for each problem description within a downloaded data structure from the expert system library. If a problem is discovered, then a script attempts to remediate the problem and/or a notification is sent to the user describing the issue. If an unknown problem arises, a feedback mechanism expands the expert system library by sending a notification that a problem was discovered. The feedback is then utilized to increase the total knowledge in the expert system library. Then when another user with a similar or the same setup is tested, the agent application will recognize the issue and will take the appropriate remedial actions.
- In one aspect, a system for monitoring a computing device comprises a plurality of programs for interacting with the computing device to gather information and a plurality of scripts coupled to the plurality of programs for initiating the plurality of programs. Interacting with the computing device further comprises determining a setup of the computing device, gathering information related to configuration of the computing device and analyzing the computing device. The plurality of scripts are less complex than the plurality of programs. The plurality of scripts return a condition status. In some embodiments, the condition status is a binary-type value. The system runs in the background of the computing device. The plurality of scripts run in a specified order. The plurality of scripts are stored within an expert system library. The system further comprises a user interface coupled to the plurality of scripts for interacting with a user. The system further comprises a feedback mechanism for sending feedback to an expert system library. The feedback mechanism expands the expert system library. The system further comprises a reporting mechanism to report one or more problems. The plurality of scripts are embedded within an extensible markup language (XML) structure. The computing device is selected from the group consisting of a/an personal computer, Apple computer, thin client, laptop, cell phone and PDA. Gathering information includes discovering one or more problems.
- In another aspect, a system for monitoring a computing device while running in the background of the computing device comprises a plurality of programs for determining a setup of the computing device, gathering information related to configuration of the computing device and analyzing the computing device for one or more problems, a user interface coupled to the plurality of programs, the user interface for interacting with a user and a plurality of scripts coupled to the plurality of programs and to the user interface for acting as an intermediary between the plurality of programs and the user interface, wherein each of the plurality of scripts return a condition status. In some embodiments, the condition status is a binary-type value. The plurality of scripts are less complex than the plurality of programs. The plurality of scripts run in a specified order. The plurality of scripts are stored within an expert system library. The system further comprises a feedback mechanism for sending feedback to an expert system library. The feedback mechanism expands the expert system library. The system further comprises a reporting mechanism to report the one or more problems. The plurality of scripts are embedded within an extensible markup language (XML) structure. The computing device is selected from the group consisting of a/an personal computer, Apple computer, thin client, laptop, cell phone and PDA.
- In another aspect, a method of monitoring a computing device to gather information comprises determining a setup of the computing device, gathering information related to configuration of the computing device and analyzing the computing device. Analyzing the computing device further comprises querying the computing device for one or more problems. The method further comprises initiating one or more remediation scripts if one or more problems are detected. The method further comprises sending feedback to an expert system library. The method further comprises expanding the expert system library using the feedback mechanism. The method further comprises reporting one or more problems. The computing device is selected from the group consisting of a personal computer, an Apple computer, a thin client, a laptop, a cell phone and a PDA.
- In another aspect, a method of monitoring a computing device to gather information comprises determining a setup of the computing device, gathering information related to configuration of the computing device, analyzing the computing device, reporting analysis on the computing device and sending feedback to an expert system library. Analyzing the computing device further comprises querying the computing device for one or more problems. The method further comprises initiating one or more remediation scripts if one or more problems are detected. The method further comprises expanding the expert system library using the feedback mechanism. The computing device is selected from the group consisting of a personal computer, an Apple computer, a thin client, a laptop, a cell phone and a PDA.
-
FIG. 1 illustrates a block diagram representation of the main components of the preferred embodiment of the present invention. -
FIG. 2 illustrates a flowchart of the agent application determining if there are any problems. -
FIG. 3 illustrates an example data structure for the expert system library. -
FIG. 4 illustrates an example XML coded version of a data structure for the expert system library. -
FIG. 5 illustrates a network implementing the preferred embodiment of the present invention. -
FIG. 6 illustrates a flowchart of utilizing the present invention to maintain a stable computing device. - The present invention is a system and method for using an expert system library of computer configuration problems to test individual computer systems for the existence of problems and then providing remediation solutions for each discovered problem. The system enables maintenance procedures and requirements for system competence to be centralized and distributed, providing an end user a solution to scan his system for configuration problems and to manually or automatically resolve these problems. Configuration problems include, but are not limited to, incomplete software package install and de-installs, incorrect Windows® registry values, software release and patch release issues, software driver problems, network configuration and connectivity, performance issues and many other problems.
- The present invention provides the ability to build a central expert system library repository with constructive input from multiple sources. The system is also able to support an application service provider (ASP) infrastructure and business enterprise applications. Furthermore, software applications have the ability to run disconnected from the central server and network. The system is scaleable so that it has the ability to support extremely large ASP user bases over disparate network topologies. The system supports subscription licenses, so that when the subscription is void or expired, the desktop software will be disabled and inactive. The system also supports disparate end-user hardware including Personal Computers (PCs), Apple PC's, thin clients, laptops, cell phones, PDA's and other mobile devices. The present invention utilizes a plug-in model so that each entry in the expert system library is discrete, allowing multiple authors to add to the central repository independently.
- The present invention generally comprises four main components: a central compatibility expert system library, a host resident client interrogation agent, problem reporting and remediation mechanisms and a user support feedback mechanism.
- Any of the many software and hardware configuration problems is able to be described discretely. Each problem, when stored in a format usable by software resident on an end-user's system, is able to be processed serially, meaning one problem at a time. In an alternative embodiment, problems are processed in parallel, meaning at the same time. The central expert system library stores the problem and resolution information. The information is able to be retrieved and communicated to end-user clients via a problem language and protocol. The information stored includes shared software module names and revisions, hardware driver prerequisites, hardware requirements, operating system revision levels and other operating environment prerequisites. The expert system library also contains software and hardware exceptions.
- A plurality of discrete programs are utilized to address these problems. As knowledge grows, the library grows and thousands of discrete programs are developed. For example, initially the system knows how to problem solve internal issues related to CPUs, motherboards, hard disk drives, RAM, video cards, power supplies and software. However, as information is discovered related to other components, the expert system library is able to grow and trouble shoot those areas as well. These other components include for example, networking components such as network cards, cables and routers and peripheral devices such as printers, scanners and digital cameras. Furthermore, new products are continuously developed and with each new product, new issues arise, hence it is crucial to have the ability to continuously increase the expert system library's knowledge.
- The discrete programs execute desired tasks and are able to remediate certain issues. For example, the function ethernet_counter determines if an ethernet cable is functioning correctly. If ethernet_counter returns values that increase over time, then the cable is likely not performing well and should be replaced. For such an issue, a user must manually replace the cable. However, if there is a software problem such as a conflict between device drivers, a program is able to automatically update the drivers to avoid the conflict if that is the proper remedy.
- Agent software installed on an end user's system is resident and thereby able to interrogate the user's system for hardware and software configurations. The information obtained by the interrogation is used in conjunction with the expert system library to ascertain whether there are problems on an end-user's system. The expert system library describes individual prerequisites such as software versions, registry values and hardware and software configurations which are invalid or problematic. The agent application then uses the information to interrogate the client system for the existence of these problems. The discrete programs run in the background while monitoring the computing system. When an issue arises, the programs are executed in a specified order to analyze a particular aspect of the computing device. Generally, a program first determines the setup, then gathers system information such as licenses, software running and hardware configurations and then finally the system is analyzed. Analysis includes determining any problems and addressing them as deemed appropriate using scripts and programs. Furthermore, issues are assigned a severity or a priority so that high priority items are dealt with quickly. Additionally, there are health risks assigned to ensure the most important issues are corrected before any harm is done. For example, if there is a problem with a user's hard drive, that would be considered a high priority and also a high health risk because data might be written incorrectly resulting in data loss. However, if there is a problem with an ethernet cable dropping some packets, the priority is still high because a user desires a fast connection to the network, but the health risk is low since the only harm is that the user's access to the network is slower.
- The agent software has many different functions, allowing it to accomplish a variety of tasks. The agent software is able to report issues that are found, making it a reporting engine, an inventory system, a security system and a performance manager. The agent software uses a language engine for performing the analysis. Although very complex tasks are being performed at times, the resultant script language is simplified for easy modification and interoperability. An interface environment uses the built in functions of the software to simplify what the user views. The interface environment, also referred to as the data entry screen, prompts the user for information. Simple and easily understood scripts are coupled to the interface environment. Then, beneath the scripting language is a more complex language which performs the underlying tasks necessary to remedy whatever situation exists. The scripts are generally less complex than the underlying programs to provide simplicity of interaction with the user interface. The underlying programs are necessary to interact with the system's hardware and software, thus need to have the specific abilities to accomplish such tasks. The scripts take the information from the programs and return a condition status. In some embodiments, the condition status is binary-type value such as “true” or “false,” “1” or “0” or a similar value. In other embodiments, the condition status is a string, ASCII value or other value representing status.
- For example, if a user is having troubling viewing a web page on the Internet, the present invention will analyze the situation. There are many possible causes of this problem such as the web site being temporarily down or the user's internet connection not functioning properly. The present invention attempts to determine the root cause of the problem. A script initially asks if the host is available. The script uses the well known ping program or a program similar to the ping program to contact the host. Although the ping program returns data including the number of packets sent, received, lost, in addition to the round-trip time for the packets, that information is able to be consolidated into a binary form of an answer by the script. In particular, if the packets lost is equal to the packets sent, then the host is not available. So a script would ask something such as “Is the host available?” There are two possible responses from the script, “yes” the host is available or “no” it is not. As such, the script returns a much simpler and user-friendly response. Depending on the response, it is determined what else is required to pinpoint the problem. As shown, the script is simple in that it contacts specific programs to analyze the system and based on those responses, returns a binary-type answer.
- The expert system library is compartmentalized, so that each component is able to handle a specific task. An example of the present invention in use is in the area of network analysis. There are a plethora of aspects of networking that could contribute to a user not being able to access the network. Furthermore, to check each aspect is a burdensome and slow process. However, with the present invention, the specific tasks are already designated and are then checked in a specified order. The broadest issues are addressed first and gradually the focus is narrowed to the specific component that is causing the problem. For example, if there is a problem connecting to the network, the following set of queries are used to determine why there is the problem. Is there a network device? If there is a network device, is it configured properly? Is the net device driver installed? Is the IP stack active? Is the IP stack DNS configured? Is the IP DNS active? Is there a default gateway? Is the default gateway responding? Is the first node after the gateway responding? Is the Internet accessible? Is the connection dropping packets? Are the tuning parameters set on the IP stack? Are the parameters set on the NetBios stack? Thus, based on the results of these queries, the present invention is able to identify where the problem is stemming from. As described above, the process of finding the answers to these questions is tedious and generally too complex for an average user, hence implementing the present invention not only improves efficiency and provides security, but it also enables those who are not computer savvy to accomplish tasks they otherwise would not be able to.
- Contained within the expert system library is information describing the resolution of problems. The descriptions range from simple to complex and are able to include a variety of data such as user instructions on problem resolution or scripts which automatically resolve the end-user configuration problem. Resolutions include, but are not limited to, removal/cleanup of software de-installations, removal of invalid configuration information, installation of patches and others.
- The present invention when used by a larger support organization is able to be an extremely valuable system to end users. Each time a customer reports a problem and the support organization corrects the problem within the software deployment, the correction procedure or script is added to the central expert system library. The feedback mechanism will continuously expand the expert system library and ensure each new software system is tested for a wider and more comprehensive group of problems and has solutions to resolve such problems. Once the expert system library has stored every possible problem, all customers of the support organization are able to potentially have their systems run securely with high stability.
-
FIG. 1 illustrates a block diagram representation of the main components of the preferred embodiment of thepresent invention 100. In the preferred embodiment of the present invention, anexpert system library 102 stores information about software packages and hardware andsoftware configurations 114 required to support the software packages. Anagent application 104 is located on one or more user systems. Theagent application 104 interrogates theuser system 106 for hardware and application configurations. Using the information obtained from the interrogations, theagent application 104 is able to determine if there are any problems. If there are any problems, then theagent application 104 reports the problem to the end-user and/or initiates a remediation script to repair the problem. Furthermore, theagent application 104 is able to receiveautomatic upgrades 112 so that it is able to continue protecting against improper installations and also automatically upgrade theuser system 106. Afeedback mechanism 116 sends any newly discovered problem information to theexpert system library 102, so that theexpert system library 102 is able to incorporate such a problem and will be able to detect and resolve it in the future. Theexpert system library 102 is able to continuously grow so that it is able to detect more and more issues as time passes. All of the components of the preferred embodiment of the present invention function to assist a user in detecting conditions that will potentially corrupt theuser system 106 and then grow theexpert system library 102 when new issues are discovered, so that they will be detected in other systems in the future. -
FIG. 2 illustrates a flowchart of the agent application determining whether there is a problem that needs to be remedied 200. At the step 202, the agent application is installed on the end-user's system. The agent application is able to come pre-installed on a user's system or a user is able to download the agent application as needed. At thestep 204, the agent application interrogates the end-user system for the basic environment. At thestep 206, the agent application retrieves problem data from the expert system library pertinent to the end-user's operating environment. For example, if the operating environment is Windows® NT, then problem data related to Windows® NT is retrieved. At thestep 208, the agent application tests the end-user's system for each problem description within the downloaded data structure. At thestep 210, the agent application determines if any of the problems are detected. If the end-user system does have problems, then the agent application either reports the problems to the end-user at thestep 214 and/or initiates the remediation script to repair the problem at thestep 212. - There are a wide range of problem conditions that the end-user system is able to detect in the
step 210. The following are examples of problem conditions tested by the agent application; however, they are not meant to limit the invention in any way. Software is tested for problems such as problematic software patch revisions, incompatible software packages, problematic software installations and problematic software package un/de-installations. The operating system is also checked, such as Windows® registry corruption and existing performance issues. Environmental issues are investigated such as low disk space or hardware errors. Network issues are checked such as interface errors, DNS or IP configuration problematic, IP routing failure and ISP network performance. Other important elements of a secure system are investigated such as detecting viruses, driver problems and serious security vulnerabilities. Any issues that could create system instability are also able to be investigated. -
FIG. 3 illustrates an example data structure for the expert system library. The expert system library transfers data structures to the agent so that the client is able to perform checks to determine if there are any problems. The preferred format for the data structures is an embedded language with XML wrapping, although any format is acceptable. Theexample data structure 300 has the following item definitions within it. AnID item 302 stores the test record number. Aclass item 304 holds the type of test to be performed, such as performance, software patch level, security, virus or software inconsistency. Aplatform item 306 stores the operating system environment information, for example Windows NT, ME or XP. Aproduct item 308 contains the affected application's information. Theproduct item 308 is a specific component that needs to be investigated such as the Windows Shell or a specified application. Adescription item 310 stores a detailed description of the problem described. Acriteria item 312 holds the subroutine used to identify test criteria. Within thecriteria item 312, atest_ref subroutine 313 is used to identify test criteria. Although only onetest_ref subroutine 313 is shown inFIG. 3 , thecriteria item 312 is able to hold a number oftest_ref subroutines 313 depending on what test criteria is needed. Aremediation description item 314 contains instructions on how to repair the problem described, and aremediation script item 316 stores one or more scripts to automatically remediate the problem described. -
FIG. 4 illustrates an example XML coded version of a data structure of the expert system library. In the example, the ID item is “5.” The platform item is “Windows.” Furthermore, the category is “hardware” and the family is “Hardware Management.” Hence, the agent application knows that it needs to investigate issues concerning hardware management of Windows®. Additional items are able to be included in the data structure as well such as a dependency, confidence and health index. The date_created and date_modified items are useful in determining when the data structure was created or modified which helps in the process of problem solving. The description item describes the problem, which in this example, is that the “ethernet card is reporting errors.” Diagnostic script language is included to determine the status of the hardware or software. Remediation information is used to help resolve the problem, such as a suggestion to “replace your ethernet cable.” If proper, a remediation script is included to automatically correct the problem. As described above, in the example, the data structure comprises the items required to perform system checks to aid in determining potential conflicts on a user's system. The aforementioned example is not meant to limit the present invention in any way. - The agent application is host-based software, pre-installed on an end user system. The application is an interpreter for the data structure downloaded from the central expert system library and a library of functions. The functions primarily access information about a user's system or remediate a user's system. For example, one function is able to query an operating system to determine if it has a certain patch installed, and another function is able to install the patch. The agent application is also responsible for reporting problems found. Other functions of the agent application include, but are not limited to, accessing hardware error counts, reading/writing the Windows® registry, accessing software modules and version/patch levels, moving, copying and removing files from the file system, reading operating system environment such as memory and disk space, updating virtual memory configurations and many other functions to maintain a stable environment.
- The expert system library utilizes a plug-in architecture. Each expert system library record has functionality of a discrete program such that each entry is able to be added to the expert system library without affecting the other expert system library entries and updated or removed from the expert system library with no effect on the other problem records. Such a plug-in architecture allows multiple authors to maintain different problem records independently of simultaneous work being done on other problem records.
- The expert system library data structure includes procedural language elements including, but not limited to, boolean logic, string manipulation, flow control verbs and simple match functions. The language provides a system interpretation tightly integrated with the operating system. The language is used to create powerful and flexible mechanisms to test for the existence of problem conditions. For example the following language function tests the Windows® registry for the existence of a value:
str regvalue str regkey regkey = ″\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\ CurrentVersion\Hotfix\Q31 2895′ regvalue = F$GETREG(regkey) if (regvalue != ′<error>′) then return 9 //signal hotfix not installed else return 0 //signal hotfix installed endif - The example language checks if the HotFix (Patch) is installed by analyzing the value of the Windows® registry value at Q312895. If the value is not an error, then the Microsoft® patch is installed. Further, the routine is able to check for one or more code modules which are supposed to be updated by this patch. If the code module version is less than the correct value, then the registry has the patch recorded as installed, but the actual code module could be below the correct value, which would mean the patch was installed but the installation failed.
- The language interpreter, part of the agent application, contains a set of functions which are called the Expert System Library Data Language. The functions are specific to operating environments, but operate the same for the Expert System Library Data Language. The operating environments where the functions reside could include Microsoft® Windows®, Microsoft® CE, Unix, Linux, handheld operating systems, cell phone operating systems as well as others. The function portability allows the present invention to be implemented across many different platforms.
- Since the functions are created in the specific operating system environment, the functions are able to reach into the operating system environments to retrieve specific and detailed data. Examples of such functions include, but are not limited to: Read Windows Registry Value, Check Device Error Counter Values, Check File System Organizations and Structures, Check File Modules and File Version Values, Check for Installation of Specific Applications, Read Environmental Values and Counters, Read Windows Event Log Entries as well as other functions to retrieve specific data.
-
FIG. 5 illustrates a network implementing the preferred embodiment of the present invention. The present invention is implemented over a network ofdevices 500. The expert system library is stored on aserver 502 that is coupled to theInternet 504 in a preferred embodiment. In alternative embodiments, theserver 502 is coupled to a company intranet or other types of networks such as a Local Area Network (LAN), Wide Area Network (WAN) or a Metropolitan Area Network (MAN). In yet other alternative embodiments, the expert system library is stored on one or more servers. Furthermore, the coupling between theserver 502 and theInternet 504 is able to be via networking cables or wireless means. TheInternet 504 is also coupled to a variety of computing devices that have the agent application stored on them. The computing devices include, but are not limited to, apersonal computer 506, aPDA 508, acell phone 510, alaptop computer 512, athin client 514 or an Applepersonal computer 516. The agent application retrieves problem data from the expert system library on theserver 502. Then, the agent application on the computing devices checks to determine if there are any problems in the system. If any problems are discovered, the agent application alerts the user and/or attempts to remediate the issue using a script. If an unknown problem occurs without being detected, the reporting mechanism sends feedback to theserver 502, so that the expert system library is able to learn of the issue and is able to detect such a conflict in the future. Thus, users of the system are able to feel comfortable they are working on a safe and secure environment and when there are undiscovered issues, with a large network of people, these undiscovered issues will be noticed and recorded so that other users' systems are able to resolve such issues. -
FIG. 6 illustrates a flowchart of utilizing the present invention to maintain a stable computing device. In thestep 600, a setup of the computing device is determined by the plurality of discrete programs. Setup information includes operating system information and hardware of the computing device. Then the discrete programs gather information related to configuration of the computing device, such as software installations, hardware connections and other configuration information in thestep 602. Using the gathered information, the discrete programs are then able to analyze the computing device in thestep 604. When analyzing the computing device the discrete programs monitor the system to make sure proper patches are installed, no software conflicts exist, the environment is stable and other necessary components are reviewed. If a problem is detected in thestep 606, appropriate scripts are initiated to remediate the problem in thestep 608. After the problem is remediated or if there is no problem, in some embodiments, the analysis performed by the discrete programs is reported on the computing device in thestep 610. The reporting allows a user to review the status of the computing device and if any problems were discovered and how they were remediated. Also, in some embodiments, if a problem is discovered but is not able to be remediated, then feedback is sent to an expert system library in thestep 612, so that in the future, such issues are known and the appropriate action is able to be taken if these issues occur again. The process continuously repeats in the background of the computing device, so that the system is able to remain stable. It should be understood that only those components that are needed are utilized again. For example, if there is no modification to the computing device setup, that information is not reacquired nor is the configuration information if the configuration has not changed. Thus, the present invention is able to monitor the system thoroughly yet efficiently. - The present invention supports subscription licenses, so that when the subscription is void or expired, the desktop software will be disabled and inactive. With respect to subscriptions, the present invention has interfaces for billing support.
- An additional feature of the present invention includes offline operation. The software has the ability to run disconnected form the central server and network. The drawback with offline operation is that a user must install some if not all of the expert system library, so that it is able to be utilized locally. Furthermore, if an issue arises, the feedback mechanism is not able to communicate with the expert system library, thus the expert system library will be limited in its growth capabilities.
- To utilize the present invention, in the preferred embodiment, an end user computer has the agent application pre-installed. In an alternative embodiment, a user has to install the agent application after either downloading it or via CD. Once the agent application exists on the user's computer, it interrogates the user system for the basic environment. The agent application then retrieves problem data from the expert system library pertinent to the user's operating environment. The agent application tests the user's system for each problem description within the downloaded data structure from the expert system library. If a problem is discovered, then a script will attempt to remediate the problem and/or a notification will be sent to the user describing the issue such as “patch X is missing, go to www.findpatch.com to download and install the patch.” If a problem unknown to the expert system library arises, a feedback mechanism sends a notification to the expert system library that a problem was discovered. In the preferred embodiment the feedback is automatically sent via software. In an alternative embodiment, the feedback is sent via a user reporting the problem. The feedback is then utilized by the expert system library to increase the total knowledge. Then when another user with a similar or the same setup is tested, the agent application will recognize the issue and will take the appropriate actions to handle it. In time, the number of problems able to be detected and resolved will increase, thus creating a more secure and stable environment.
- In operation, the present invention assists users in detecting potential problems and conflicts that a typical user is unaware of. Other programs attempt to detect specific problems, but they are insufficient to ensure an overall stable environment. The present invention not only checks for software conflicts; it also checks for conflicts within the operating system for hardware conflicts as well. When a conflict or problem does arise, the present invention utilizes scripts to attempt to resolve the problem and further reports these conflicts to the user. Furthermore, the agent application which monitors a user's computer is coupled to a feedback mechanism which is able to send data to the expert system library so that the expert system library is able to learn and expand to handle new potential conflicts. Since the expert system library is continuously expanding with new knowledge, once a new problem is discovered, the agent application is able to aid future users to resolve the problem. Ultimately, the present invention could potentially continue to gain knowledge to the point where most, if not all, conflicts and problems have been discovered and will be resolvable before any detriment comes to the user's system.
- Within the present application, software includes programs, applications, scripts, system software, middleware in addition to any other generally known meaning of software.
- The present invention has been described in terms of specific embodiments incorporating details to facilitate the understanding of principles of construction and operation of the invention. Such reference herein to specific embodiments and details thereof is not intended to limit the scope of the claims appended hereto. It will be readily apparent to one skilled in the art that other various modifications may be made in the embodiment chosen for illustration without departing from the spirit and scope of the invention as defined by the claims.
Claims (37)
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/440,563 US8234238B2 (en) | 2005-03-04 | 2006-05-24 | Computer hardware and software diagnostic and report system |
PCT/US2007/012538 WO2007139963A2 (en) | 2006-05-24 | 2007-05-24 | Computer hardware and software diagnostic and report system |
US12/074,986 US8589323B2 (en) | 2005-03-04 | 2008-03-05 | Computer hardware and software diagnostic and report system incorporating an expert system and agents |
US13/534,493 US20120272099A1 (en) | 2005-03-04 | 2012-06-27 | Computer hardware and software diagnostic and report system |
US14/054,696 US20140047277A1 (en) | 2005-03-04 | 2013-10-15 | Computer hardware and software diagnostic and report system incorporating an expert system and agents |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US65897005P | 2005-03-04 | 2005-03-04 | |
US11/368,214 US7512584B2 (en) | 2005-03-04 | 2006-03-02 | Computer hardware and software diagnostic and report system |
US11/440,563 US8234238B2 (en) | 2005-03-04 | 2006-05-24 | Computer hardware and software diagnostic and report system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/368,214 Continuation-In-Part US7512584B2 (en) | 2005-03-04 | 2006-03-02 | Computer hardware and software diagnostic and report system |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/074,986 Continuation-In-Part US8589323B2 (en) | 2005-03-04 | 2008-03-05 | Computer hardware and software diagnostic and report system incorporating an expert system and agents |
US13/534,493 Continuation US20120272099A1 (en) | 2005-03-04 | 2012-06-27 | Computer hardware and software diagnostic and report system |
Publications (2)
Publication Number | Publication Date |
---|---|
US20070233633A1 true US20070233633A1 (en) | 2007-10-04 |
US8234238B2 US8234238B2 (en) | 2012-07-31 |
Family
ID=38779251
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/440,563 Expired - Fee Related US8234238B2 (en) | 2005-03-04 | 2006-05-24 | Computer hardware and software diagnostic and report system |
US13/534,493 Abandoned US20120272099A1 (en) | 2005-03-04 | 2012-06-27 | Computer hardware and software diagnostic and report system |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/534,493 Abandoned US20120272099A1 (en) | 2005-03-04 | 2012-06-27 | Computer hardware and software diagnostic and report system |
Country Status (2)
Country | Link |
---|---|
US (2) | US8234238B2 (en) |
WO (1) | WO2007139963A2 (en) |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060047946A1 (en) * | 2004-07-09 | 2006-03-02 | Keith Robert O Jr | Distributed operating system management |
US20060047716A1 (en) * | 2004-06-03 | 2006-03-02 | Keith Robert O Jr | Transaction based virtual file system optimized for high-latency network connections |
US20060224544A1 (en) * | 2005-03-04 | 2006-10-05 | Keith Robert O Jr | Pre-install compliance system |
US20070217422A1 (en) * | 2006-03-20 | 2007-09-20 | Fujitsu Limited | Network communication monitoring system, network communication monitoring method, central apparatus, relay unit, and memory product for storing a computer program |
US20070274315A1 (en) * | 2006-05-24 | 2007-11-29 | Keith Robert O | System for and method of securing a network utilizing credentials |
US20080077630A1 (en) * | 2006-09-22 | 2008-03-27 | Keith Robert O | Accelerated data transfer using common prior data segments |
US20080094639A1 (en) * | 2006-10-24 | 2008-04-24 | Kla-Tencor Technologies Corporation | Waferless recipe optimization |
US20080127294A1 (en) * | 2006-09-22 | 2008-05-29 | Keith Robert O | Secure virtual private network |
US7512584B2 (en) | 2005-03-04 | 2009-03-31 | Maxsp Corporation | Computer hardware and software diagnostic and report system |
US20090106597A1 (en) * | 2007-10-19 | 2009-04-23 | International Business Machines Corporation | Automatically Populating Symptom Databases for Software Applications |
US20100058120A1 (en) * | 2008-08-26 | 2010-03-04 | Microsoft Corporation | Dynamic Inline Sequence Interface |
US7844686B1 (en) | 2006-12-21 | 2010-11-30 | Maxsp Corporation | Warm standby appliance |
US8175418B1 (en) | 2007-10-26 | 2012-05-08 | Maxsp Corporation | Method of and system for enhanced data storage |
US8307239B1 (en) | 2007-10-26 | 2012-11-06 | Maxsp Corporation | Disaster recovery appliance |
US8423821B1 (en) | 2006-12-21 | 2013-04-16 | Maxsp Corporation | Virtual recovery server |
US8543691B1 (en) * | 2011-01-31 | 2013-09-24 | The United States Of America As Represented By The Secretary Of The Navy | Cross-platform, targeted, low-level hardware/software diagnostics loader |
US8589323B2 (en) | 2005-03-04 | 2013-11-19 | Maxsp Corporation | Computer hardware and software diagnostic and report system incorporating an expert system and agents |
US8645515B2 (en) | 2007-10-26 | 2014-02-04 | Maxsp Corporation | Environment manager |
US8812613B2 (en) | 2004-06-03 | 2014-08-19 | Maxsp Corporation | Virtual application manager |
US8898319B2 (en) | 2006-05-24 | 2014-11-25 | Maxsp Corporation | Applications and services as a bundle |
US9357031B2 (en) | 2004-06-03 | 2016-05-31 | Microsoft Technology Licensing, Llc | Applications as a service |
US20170161243A1 (en) * | 2015-12-04 | 2017-06-08 | Verizon Patent And Licensing Inc. | Feedback tool |
US20170279702A1 (en) * | 2016-03-25 | 2017-09-28 | Dropbox, Inc. | System and method for automated issue remediation for information technology infrastructure |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8626691B2 (en) * | 2009-12-19 | 2014-01-07 | At&T Intellectual Property I, L.P. | Methods, systems, and products for estimating answers to questions |
US8751777B2 (en) | 2011-01-28 | 2014-06-10 | Honeywell International Inc. | Methods and reconfigurable systems to optimize the performance of a condition based health maintenance system |
US8615773B2 (en) | 2011-03-31 | 2013-12-24 | Honeywell International Inc. | Systems and methods for coordinating computing functions to accomplish a task using a configuration file and standardized executable application modules |
US8990770B2 (en) | 2011-05-25 | 2015-03-24 | Honeywell International Inc. | Systems and methods to configure condition based health maintenance systems |
US8726084B2 (en) * | 2011-10-14 | 2014-05-13 | Honeywell International Inc. | Methods and systems for distributed diagnostic reasoning |
RU2486588C1 (en) | 2012-03-14 | 2013-06-27 | Закрытое акционерное общество "Лаборатория Касперского" | System and method for efficient treatment of computer from malware and effects of its work |
US8832649B2 (en) | 2012-05-22 | 2014-09-09 | Honeywell International Inc. | Systems and methods for augmenting the functionality of a monitoring node without recompiling |
US8832716B2 (en) | 2012-08-10 | 2014-09-09 | Honeywell International Inc. | Systems and methods for limiting user customization of task workflow in a condition based health maintenance system |
US9037920B2 (en) | 2012-09-28 | 2015-05-19 | Honeywell International Inc. | Method for performing condition based data acquisition in a hierarchically distributed condition based maintenance system |
US10528718B2 (en) * | 2013-09-27 | 2020-01-07 | Paypal, Inc. | Method and apparatus for a data confidence index |
US10019716B1 (en) * | 2013-11-21 | 2018-07-10 | Google Llc | Method for feedback submission resolution |
GB2540502B (en) | 2014-07-29 | 2021-02-24 | Halliburton Energy Services Inc | Efficient way of reporting issues associated with reservoir operations to support team |
US9497187B2 (en) * | 2014-12-13 | 2016-11-15 | International Business Machines Corporation | Controlling a discovery component, within a virtual environment, that sends authenticated data to a discovery engine outside the virtual environment |
US9710164B2 (en) | 2015-01-16 | 2017-07-18 | International Business Machines Corporation | Determining a cause for low disk space with respect to a logical disk |
US11442919B2 (en) | 2015-07-31 | 2022-09-13 | Accenture Global Services Limited | Data reliability analysis |
Citations (97)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4866635A (en) * | 1987-10-19 | 1989-09-12 | Carnegie Group Inc. | Domain independent shell for building a diagnostic expert system |
US5602990A (en) * | 1993-07-23 | 1997-02-11 | Pyramid Technology Corporation | Computer system diagnostic testing using hardware abstraction |
US5649196A (en) * | 1993-07-01 | 1997-07-15 | Legent Corporation | System and method for distributed storage management on networked computer systems using binary object identifiers |
US5659743A (en) * | 1994-12-05 | 1997-08-19 | Legent Corporation | Method and apparatus for a pattern based spaced management system |
US5787409A (en) * | 1996-05-17 | 1998-07-28 | International Business Machines Corporation | Dynamic monitoring architecture |
US5802364A (en) * | 1996-04-15 | 1998-09-01 | Sun Microsystems, Inc. | Metadevice driver rename/exchange technique for a computer system incorporating a plurality of independent device drivers |
US5812751A (en) * | 1995-05-19 | 1998-09-22 | Compaq Computer Corporation | Multi-server fault tolerance using in-band signalling |
US5835911A (en) * | 1994-02-08 | 1998-11-10 | Fujitsu Limited | Software distribution and maintenance system and method |
US5897635A (en) * | 1995-06-07 | 1999-04-27 | International Business Machines Corp. | Single access to common user/application information |
US5933647A (en) * | 1997-01-24 | 1999-08-03 | Cognet Corporation | System and method for software distribution and desktop management in a computer network environment |
US5950010A (en) * | 1996-11-25 | 1999-09-07 | J.D. Edwards World Source Co. | System and method for customized application package building and installation |
US5974547A (en) * | 1998-03-20 | 1999-10-26 | 3Com Corporation | Technique for reliable network booting of an operating system to a client computer |
US6012152A (en) * | 1996-11-27 | 2000-01-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Software fault management system |
US6029196A (en) * | 1997-06-18 | 2000-02-22 | Netscape Communications Corporation | Automatic client configuration system |
US6067582A (en) * | 1996-08-13 | 2000-05-23 | Angel Secure Networks, Inc. | System for installing information related to a software application to a remote computer over a network |
US6144959A (en) * | 1997-08-18 | 2000-11-07 | Novell, Inc. | System and method for managing user accounts in a communication network |
US6170065B1 (en) * | 1997-11-14 | 2001-01-02 | E-Parcel, Llc | Automatic system for dynamic diagnosis and repair of computer configurations |
US6189101B1 (en) * | 1997-10-24 | 2001-02-13 | Richard G. Dusenbury, Jr. | Secure network architecture method and apparatus |
US6209089B1 (en) * | 1998-08-12 | 2001-03-27 | Microsoft Corporation | Correcting for changed client machine hardware using a server-based operating system |
US6212660B1 (en) * | 1997-08-21 | 2001-04-03 | Nokia Mobile Phones Limited | Methods and apparatuses for identification of the position of data packets which are located in a serial received data stream |
US6282711B1 (en) * | 1999-08-10 | 2001-08-28 | Hewlett-Packard Company | Method for more efficiently installing software components from a remote server source |
US6301612B1 (en) * | 1998-08-12 | 2001-10-09 | Microsoft Corporation | Establishing one computer as a replacement for another computer |
US20010037323A1 (en) * | 2000-02-18 | 2001-11-01 | Moulton Gregory Hagan | Hash file system and method for use in a commonality factoring system |
US6314428B1 (en) * | 1998-08-26 | 2001-11-06 | International Business Machines Corporation | Method and apparatus for application management in computer networks |
US6317761B1 (en) * | 1998-05-15 | 2001-11-13 | Unicast Communications Corporation | Technique for implementing browser-initiated user-transparent advertising and for interstitially displaying an advertisement, so distributed, through a web browser in response to a user click-stream |
US20010049793A1 (en) * | 2000-06-01 | 2001-12-06 | Asgent, Inc. | Method and apparatus for establishing a security policy, and method and apparatus for supporting establishment of security policy |
US20020013827A1 (en) * | 2000-05-18 | 2002-01-31 | Edstrom Claes G.R. | Personal service environment management apparatus and methods |
US6349137B1 (en) * | 1999-08-05 | 2002-02-19 | Rockwell Electronic Commerce Corp. | Apparatus and method for providing support software for an agent workstation of an automatic call distributor |
US6356915B1 (en) * | 1999-02-22 | 2002-03-12 | Starbase Corp. | Installable file system having virtual file system drive, virtual device driver, and virtual disks |
US20020035674A1 (en) * | 2000-07-11 | 2002-03-21 | Vetrivelkumaran Vellore T. | Application program caching |
US6366296B1 (en) * | 1998-09-11 | 2002-04-02 | Xerox Corporation | Media browser using multimodal analysis |
US6378035B1 (en) * | 1999-04-06 | 2002-04-23 | Microsoft Corporation | Streaming information appliance with buffer read and write synchronization |
US20020049764A1 (en) * | 1997-09-11 | 2002-04-25 | Puma Technology, Inc., Delaware Corporation | Distributed synchronization of databases |
US20020087625A1 (en) * | 2001-01-04 | 2002-07-04 | Kim Toll | Sharing user profiles between processor-based systems |
US6421777B1 (en) * | 1999-04-26 | 2002-07-16 | International Business Machines Corporation | Method and apparatus for managing boot images in a distributed data processing system |
US20020094868A1 (en) * | 2001-01-16 | 2002-07-18 | Alma Tuck | Methods for interactive internet advertising, apparatuses and systems including same |
US20020104080A1 (en) * | 2000-03-29 | 2002-08-01 | Virtual Access Networks, Inc. | Server based extraction, transfer, storage and processing of remote settings, files and data |
US20020107920A1 (en) * | 2001-02-08 | 2002-08-08 | Timo Hotti | Method and system for data management |
US20020107945A1 (en) * | 2000-12-12 | 2002-08-08 | Ibm Corporation | Mechanism to dynamically update a windows system with user specific application enablement support from a heterogeneous server environment |
US20020116585A1 (en) * | 2000-09-11 | 2002-08-22 | Allan Scherr | Network accelerator |
US20020124092A1 (en) * | 2000-02-10 | 2002-09-05 | Pascal Urien | Method for registering a user on an internet-type network directory server and/or for locating a user on said network, and smart card therefor |
US6449658B1 (en) * | 1999-11-18 | 2002-09-10 | Quikcat.Com, Inc. | Method and apparatus for accelerating data through communication networks |
US6459499B1 (en) * | 1998-12-22 | 2002-10-01 | Canon Kabushiki Kaisha | Push technology for network scanner |
US6463530B1 (en) * | 1999-06-10 | 2002-10-08 | International Business Machines Corporation | Method and apparatus for remotely booting a client computer from a network by emulating remote boot chips |
US6473794B1 (en) * | 1999-05-27 | 2002-10-29 | Accenture Llp | System for establishing plan to test components of web based framework by displaying pictorial representation and conveying indicia coded components of existing network framework |
US20020161868A1 (en) * | 2001-04-27 | 2002-10-31 | International Business Machines Corporation | Method and system for fault-tolerant remote boot in the presence of boot server overload/failure with self-throttling boot servers |
US6477531B1 (en) * | 1998-12-18 | 2002-11-05 | Motive Communications, Inc. | Technical support chain automation with guided self-help capability using active content |
US6490677B1 (en) * | 1999-09-16 | 2002-12-03 | International Business Machines Corporation | Method and system for automatically configuring the boot process of a computer having multiple bootstrap programs within a network computer system |
US20020188941A1 (en) * | 2001-06-12 | 2002-12-12 | International Business Machines Corporation | Efficient installation of software packages |
US20030005096A1 (en) * | 2001-06-28 | 2003-01-02 | International Business Machines Corporation | Method and system for dynamic redistribution of remote computer boot service in a network containing multiple boot servers |
US20030033379A1 (en) * | 2001-07-20 | 2003-02-13 | Lemur Networks | Intelligent central directory for soft configuration of IP services |
US20030036882A1 (en) * | 2001-08-15 | 2003-02-20 | Harper Richard Edwin | Method and system for proactively reducing the outage time of a computer system |
US20030041136A1 (en) * | 2001-08-23 | 2003-02-27 | Hughes Electronics Corporation | Automated configuration of a virtual private network |
US20030051128A1 (en) * | 1999-03-31 | 2003-03-13 | Herman Rodriguez | Method and apparatus for managing client computers in a distributed data processing system |
US6536037B1 (en) * | 1999-05-27 | 2003-03-18 | Accenture Llp | Identification of redundancies and omissions among components of a web based architecture |
US6556950B1 (en) * | 1999-09-30 | 2003-04-29 | Rockwell Automation Technologies, Inc. | Diagnostic method and apparatus for use with enterprise control |
US20030110188A1 (en) * | 1996-11-27 | 2003-06-12 | 1 Vision Software, Inc. | Virtual directory file navigation system |
US20030126242A1 (en) * | 2001-12-28 | 2003-07-03 | Chang Albert H. | Network boot system and method using remotely-stored, client-specific boot images created from shared, base snapshot image |
US6606744B1 (en) * | 1999-11-22 | 2003-08-12 | Accenture, Llp | Providing collaborative installation management in a network-based supply chain environment |
US20030191730A1 (en) * | 2002-04-05 | 2003-10-09 | Compaq Information Technologies Group, L.P. | Unobtrusive rule-based computer usage enhancement system |
US6636857B2 (en) * | 2001-12-18 | 2003-10-21 | Bluecurrent, Inc. | Method and system for web-based asset management |
US6649375B2 (en) * | 1993-06-10 | 2003-11-18 | Genetic Theraphy, Inc. | Adenoviral vectors for enhanced gene expression |
US6654797B1 (en) * | 2000-05-25 | 2003-11-25 | International Business Machines Corporation | Apparatus and a methods for server configuration using a removable storage device |
US6694375B1 (en) * | 1997-12-04 | 2004-02-17 | British Telecommunications Public Limited Company | Communications network and method having accessible directory of user profile data |
US6704886B1 (en) * | 2001-01-25 | 2004-03-09 | Emc Corporation | Data backup system having independent data restore execution |
US6718464B2 (en) * | 2001-01-23 | 2004-04-06 | International Business Machines Corporation | Method and system for customizing a client computer system configuration for a current user using BIOS settings downloaded from a server |
US6735625B1 (en) * | 1998-05-29 | 2004-05-11 | Cisco Technology, Inc. | System and method for automatically determining whether a product is compatible with a physical device in a network |
US20040093492A1 (en) * | 2002-11-13 | 2004-05-13 | Olivier Daude | Virtual private network management with certificates |
US6751658B1 (en) * | 1999-10-18 | 2004-06-15 | Apple Computer, Inc. | Providing a reliable operating system for clients of a net-booted environment |
US20040123153A1 (en) * | 2002-12-18 | 2004-06-24 | Michael Wright | Administration of protection of data accessible by a mobile device |
US20040201604A1 (en) * | 2000-06-19 | 2004-10-14 | International Business Machines Corporation | System and method for developing and administering web applications and services from a workflow, enterprise, and mail-enabled web application server and platform |
US6816462B1 (en) * | 2000-08-02 | 2004-11-09 | International Business Machines Corporation | System and method to determine connectivity of a VPN secure tunnel |
US20040236843A1 (en) * | 2001-11-15 | 2004-11-25 | Robert Wing | Online diagnosing of computer hardware and software |
US6871210B1 (en) * | 2000-09-05 | 2005-03-22 | International Business Machines Corporation | Automatic allocation of least loaded boot server to PXE client on a network VIA DHCP server |
US6880108B1 (en) * | 1999-07-29 | 2005-04-12 | International Business Machines Corporation | Risk assessment methodology for AIX-based computer systems |
US6886020B1 (en) * | 2000-08-17 | 2005-04-26 | Emc Corporation | Method and apparatus for storage system metrics management and archive |
US20050144218A1 (en) * | 2003-11-25 | 2005-06-30 | Heintz Timothy J. | Extendible software platform for the construction and deployment of intelligent agents |
US6915343B1 (en) * | 2000-06-22 | 2005-07-05 | International Business Machines Corporation | System and method of running diagnostic testing programs on a diagnostic adapter card and analyzing the results for diagnosing hardware and software problems on a network computer |
US20050149729A1 (en) * | 2003-12-24 | 2005-07-07 | Zimmer Vincent J. | Method to support XML-based security and key management services in a pre-boot execution environment |
US6959235B1 (en) * | 1999-10-28 | 2005-10-25 | General Electric Company | Diagnosis and repair system and method |
US20050273486A1 (en) * | 2004-06-03 | 2005-12-08 | Keith Robert O Jr | Virtual distributed file system |
US20050283606A1 (en) * | 2004-06-22 | 2005-12-22 | Williams Mitchell A | Selecting a boot image |
US20060021040A1 (en) * | 2004-07-22 | 2006-01-26 | International Business Machines Corporation | Apparatus, method and program to detect and control deleterious code (virus) in computer network |
US20060031529A1 (en) * | 2004-06-03 | 2006-02-09 | Keith Robert O Jr | Virtual application manager |
US20060047946A1 (en) * | 2004-07-09 | 2006-03-02 | Keith Robert O Jr | Distributed operating system management |
US20060047716A1 (en) * | 2004-06-03 | 2006-03-02 | Keith Robert O Jr | Transaction based virtual file system optimized for high-latency network connections |
US20060095705A1 (en) * | 2004-10-30 | 2006-05-04 | James Wichelman | Systems and methods for data storage management |
US20060143709A1 (en) * | 2004-12-27 | 2006-06-29 | Raytheon Company | Network intrusion prevention |
US20060224545A1 (en) * | 2005-03-04 | 2006-10-05 | Keith Robert O Jr | Computer hardware and software diagnostic and report system |
US20060224544A1 (en) * | 2005-03-04 | 2006-10-05 | Keith Robert O Jr | Pre-install compliance system |
US7200779B1 (en) * | 2002-04-26 | 2007-04-03 | Advanced Micro Devices, Inc. | Fault notification based on a severity level |
US20070239905A1 (en) * | 2006-03-09 | 2007-10-11 | Banerjee Dwip N | Method and apparatus for efficient determination of memory copy versus registration in direct access environments |
US20070271290A1 (en) * | 2000-03-09 | 2007-11-22 | Keith Robert O Jr | Method and apparatus for accessing data within an electronic system by an extrernal system |
US20070274315A1 (en) * | 2006-05-24 | 2007-11-29 | Keith Robert O | System for and method of securing a network utilizing credentials |
US20080077630A1 (en) * | 2006-09-22 | 2008-03-27 | Keith Robert O | Accelerated data transfer using common prior data segments |
US20080077622A1 (en) * | 2006-09-22 | 2008-03-27 | Keith Robert O | Method of and apparatus for managing data utilizing configurable policies and schedules |
US20080127294A1 (en) * | 2006-09-22 | 2008-05-29 | Keith Robert O | Secure virtual private network |
Family Cites Families (118)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5872911A (en) * | 1995-12-29 | 1999-02-16 | Mci Communications Corporations | Method and system of service impact analysis in a communications network |
US6049671A (en) | 1996-04-18 | 2000-04-11 | Microsoft Corporation | Method for identifying and obtaining computer software from a network computer |
US6757729B1 (en) | 1996-10-07 | 2004-06-29 | International Business Machines Corporation | Virtual environment manager for network computers |
US6292827B1 (en) | 1997-06-20 | 2001-09-18 | Shore Technologies (1999) Inc. | Information transfer systems and method with dynamic distribution of data, control and management of information |
US6311221B1 (en) | 1998-07-22 | 2001-10-30 | Appstream Inc. | Streaming modules |
US20010044850A1 (en) | 1998-07-22 | 2001-11-22 | Uri Raz | Method and apparatus for determining the order of streaming modules |
US20010037400A1 (en) | 1998-07-22 | 2001-11-01 | Uri Raz | Method and system for decreasing the user-perceived system response time in web-based systems |
US6574618B2 (en) | 1998-07-22 | 2003-06-03 | Appstream, Inc. | Method and system for executing network streamed application |
US7197570B2 (en) | 1998-07-22 | 2007-03-27 | Appstream Inc. | System and method to send predicted application streamlets to a client device |
US20020138640A1 (en) | 1998-07-22 | 2002-09-26 | Uri Raz | Apparatus and method for improving the delivery of software applications and associated data in web-based systems |
US6826616B2 (en) | 1998-10-30 | 2004-11-30 | Science Applications International Corp. | Method for establishing secure communication link between computers of virtual private network |
US6553375B1 (en) | 1998-11-25 | 2003-04-22 | International Business Machines Corporation | Method and apparatus for server based handheld application and database management |
US6654801B2 (en) | 1999-01-04 | 2003-11-25 | Cisco Technology, Inc. | Remote system administration and seamless service integration of a data communication network management system |
US6742141B1 (en) * | 1999-05-10 | 2004-05-25 | Handsfree Networks, Inc. | System for automated problem detection, diagnosis, and resolution in a software driven system |
US6721713B1 (en) | 1999-05-27 | 2004-04-13 | Andersen Consulting Llp | Business alliance identification in a web architecture framework |
US7003560B1 (en) | 1999-11-03 | 2006-02-21 | Accenture Llp | Data warehouse computing system |
US6625651B1 (en) | 1999-11-30 | 2003-09-23 | Accenture Llp | On-line transaction control during activation of local telecommunication service |
US6728530B1 (en) | 1999-12-28 | 2004-04-27 | Nokia Corporation | Calendar-display apparatus, and associated method, for a mobile terminal |
US6609050B2 (en) * | 2000-01-20 | 2003-08-19 | Daimlerchrysler Corporation | Vehicle warranty and repair computer-networked system |
US6885481B1 (en) | 2000-02-11 | 2005-04-26 | Hewlett-Packard Development Company, L.P. | System and method for automatically assigning a filename to a scanned document |
US6625754B1 (en) | 2000-03-16 | 2003-09-23 | International Business Machines Corporation | Automatic recovery of a corrupted boot image in a data processing system |
US7627694B2 (en) | 2000-03-16 | 2009-12-01 | Silicon Graphics, Inc. | Maintaining process group membership for node clusters in high availability computing systems |
US6976066B1 (en) | 2000-05-22 | 2005-12-13 | Microsoft Corporation | Network and method for implementing network platform services for a computing device |
US6816882B1 (en) | 2000-05-31 | 2004-11-09 | International Business Machines Corporation | System and method for automatically negotiating license agreements and installing arbitrary user-specified applications on application service providers |
US6925495B2 (en) | 2000-07-13 | 2005-08-02 | Vendaria Media, Inc. | Method and system for delivering and monitoring an on-demand playlist over a network using a template |
US6985967B1 (en) | 2000-07-20 | 2006-01-10 | Rlx Technologies, Inc. | Web server network system and method |
US6697852B1 (en) | 2000-08-17 | 2004-02-24 | Siung Ryu | Oneclick installation for client-server application package |
US7178166B1 (en) | 2000-09-19 | 2007-02-13 | Internet Security Systems, Inc. | Vulnerability assessment and authentication of a computer by a local scanner |
US6757894B2 (en) | 2000-09-26 | 2004-06-29 | Appstream, Inc. | Preprocessed applications suitable for network streaming applications and method for producing same |
US7051315B2 (en) | 2000-09-26 | 2006-05-23 | Appstream, Inc. | Network streaming of multi-application program code |
US7401125B1 (en) | 2000-10-10 | 2008-07-15 | Ricoh Corporation | System, computer program product and method for managing documents |
US20040180721A1 (en) | 2000-12-21 | 2004-09-16 | Igt | Gaming terminal data repository and information distribution system |
US7260597B1 (en) | 2000-11-02 | 2007-08-21 | Sony Corporation | Remote manual, maintenance, and diagnostic services for networked electronic devices |
US20020083183A1 (en) | 2000-11-06 | 2002-06-27 | Sanjay Pujare | Conventionally coded application conversion system for streamed delivery and execution |
US7062567B2 (en) | 2000-11-06 | 2006-06-13 | Endeavors Technology, Inc. | Intelligent network streaming and execution system for conventionally coded applications |
US6959320B2 (en) | 2000-11-06 | 2005-10-25 | Endeavors Technology, Inc. | Client-side performance optimization system for streamed applications |
US20020087883A1 (en) | 2000-11-06 | 2002-07-04 | Curt Wohlgemuth | Anti-piracy system for remotely served computer applications |
US7043524B2 (en) | 2000-11-06 | 2006-05-09 | Omnishift Technologies, Inc. | Network caching system for streamed applications |
US8831995B2 (en) | 2000-11-06 | 2014-09-09 | Numecent Holdings, Inc. | Optimized server for streamed applications |
US6918113B2 (en) | 2000-11-06 | 2005-07-12 | Endeavors Technology, Inc. | Client installation and execution system for streamed applications |
CA2327159C (en) | 2000-11-30 | 2008-10-07 | Ibm Canada Limited-Ibm Canada Limitee | System and method for dynamically displaying html form elements |
US7412721B2 (en) * | 2000-12-20 | 2008-08-12 | Fujitsu Limited | Method of and system for managing information, and computer product |
US7003663B2 (en) | 2000-12-22 | 2006-02-21 | Gemplus | Distribution of deployment information for remote applications |
US7155436B2 (en) | 2001-01-12 | 2006-12-26 | Vendaria, Inc | Method and system for generating and providing rich media presentations optimized for a device over a network |
US20030051026A1 (en) * | 2001-01-19 | 2003-03-13 | Carter Ernst B. | Network surveillance and security system |
US6883118B2 (en) * | 2001-01-24 | 2005-04-19 | Microsoft Corporation | Consumer network diagnostic agent |
US8046672B2 (en) | 2001-02-23 | 2011-10-25 | Dandia Audio Kg Limited Liability Company | Method and system for delivering technology agnostic rich media content within an email, banner ad, and web page |
US20030078960A1 (en) | 2001-04-30 | 2003-04-24 | Murren Brian T. | Architecture and process for creating software applications for multiple domains |
GB0112781D0 (en) | 2001-05-25 | 2001-07-18 | Global Continuity Plc | Method for rapid recovery from a network file server failure |
US7320011B2 (en) | 2001-06-15 | 2008-01-15 | Nokia Corporation | Selecting data for synchronization and for software configuration |
US20040128346A1 (en) | 2001-07-16 | 2004-07-01 | Shmuel Melamed | Bandwidth savings and qos improvement for www sites by catching static and dynamic content on a distributed network of caches |
US7058698B2 (en) | 2001-08-13 | 2006-06-06 | Sun Microsystems, Inc. | Client aware extensible markup language content retrieval and integration in a wireless portal system |
US20030037328A1 (en) | 2001-08-15 | 2003-02-20 | International Business Machines Corporation | Extending installation suites to include topology of suite's run-time environment |
US7111055B2 (en) | 2001-08-30 | 2006-09-19 | Sun Microsystems, Inc. | Method and apparatus to facilitate automated software installation on remote computers over a network |
US7035944B2 (en) | 2001-09-19 | 2006-04-25 | International Business Machines Corporation | Programmatic management of software resources in a content framework environment |
US7237122B2 (en) | 2001-10-19 | 2007-06-26 | Mcafee, Inc. | Method and apparatus to facilitate software installation using embedded user credentials |
US20040153692A1 (en) * | 2001-12-28 | 2004-08-05 | O'brien Michael | Method for managing faults it a computer system enviroment |
US7287053B2 (en) | 2002-01-15 | 2007-10-23 | International Business Machines Corporation | Ad hoc data sharing in virtual team rooms |
US6954930B2 (en) | 2002-02-19 | 2005-10-11 | International Business Machines Corporation | Remote validation of installation input data |
TW541452B (en) | 2002-02-26 | 2003-07-11 | Via Tech Inc | Remote boot-up system and method for multiple terminal equipments |
US7571467B1 (en) | 2002-02-26 | 2009-08-04 | Microsoft Corporation | System and method to package security credentials for later use |
AU2003209658A1 (en) | 2002-03-13 | 2003-09-22 | M-Systems Flash Disk Pioneers Ltd. | Personal portable storage medium |
US7143307B1 (en) | 2002-03-15 | 2006-11-28 | Network Appliance, Inc. | Remote disaster recovery and data migration using virtual appliance migration |
US20030204562A1 (en) | 2002-04-29 | 2003-10-30 | Gwan-Hwan Hwang | System and process for roaming thin clients in a wide area network with transparent working environment |
US7725560B2 (en) | 2002-05-01 | 2010-05-25 | Bea Systems Inc. | Web service-enabled portlet wizard |
US20030233493A1 (en) | 2002-06-15 | 2003-12-18 | Boldon John L. | Firmware installation methods and apparatus |
JP4054616B2 (en) | 2002-06-27 | 2008-02-27 | 株式会社日立製作所 | Logical computer system, logical computer system configuration control method, and logical computer system configuration control program |
US7426560B2 (en) | 2002-06-27 | 2008-09-16 | Intel Corporation | Method and system for managing quality of service in a network |
US20040010716A1 (en) | 2002-07-11 | 2004-01-15 | International Business Machines Corporation | Apparatus and method for monitoring the health of systems management software components in an enterprise |
US7210143B2 (en) | 2002-07-17 | 2007-04-24 | International Business Machines Corporation | Deployment of applications in a multitier compute infrastructure |
US7469363B2 (en) * | 2002-07-29 | 2008-12-23 | Baumuller Anlagen-Systemtech-Nik Gmbh & Co. | Computer network with diagnosis computer nodes |
US20040098717A1 (en) | 2002-09-16 | 2004-05-20 | Husain Syed Mohammad Amir | System and method for creating complex distributed applications |
US7194445B2 (en) | 2002-09-20 | 2007-03-20 | Lenovo (Singapore) Pte. Ltd. | Adaptive problem determination and recovery in a computer system |
CA2406569C (en) | 2002-10-04 | 2011-03-22 | Ibm Canada Limited-Ibm Canada Limitee | Method and apparatus for enabling associated portlets of a web portal to collaborate for synchronized content display |
US7386889B2 (en) | 2002-11-18 | 2008-06-10 | Trusted Network Technologies, Inc. | System and method for intrusion prevention in a communications network |
US7870241B2 (en) | 2002-11-27 | 2011-01-11 | International Business Machines Corporation | Automated power control policies based on application-specific redundancy characteristics |
US8332464B2 (en) | 2002-12-13 | 2012-12-11 | Anxebusiness Corp. | System and method for remote network access |
US7912902B2 (en) | 2003-02-13 | 2011-03-22 | Telcordia Licensing Company, Llc | Application service peering and aggregation |
US6915235B2 (en) * | 2003-03-13 | 2005-07-05 | Csi Technology, Inc. | Generation of data indicative of machine operational condition |
US8245032B2 (en) | 2003-03-27 | 2012-08-14 | Avaya Inc. | Method to authenticate packet payloads |
WO2004097566A2 (en) | 2003-04-24 | 2004-11-11 | Secureinfo Corporation | Automated electronic software distribution and management method and system |
US7146563B2 (en) | 2003-05-29 | 2006-12-05 | International Business Machines Corporation | Maintaining screen and form state in portlets |
US7831693B2 (en) | 2003-08-18 | 2010-11-09 | Oracle America, Inc. | Structured methodology and design patterns for web services |
US7318226B2 (en) * | 2003-10-16 | 2008-01-08 | International Business Machines Corporation | Distributed autonomic solutions repository |
US20050108593A1 (en) | 2003-11-14 | 2005-05-19 | Dell Products L.P. | Cluster failover from physical node to virtual node |
US7546373B2 (en) | 2003-11-14 | 2009-06-09 | Microsoft Corporation | Secure dynamic credential distribution over a network |
US7620667B2 (en) | 2003-11-17 | 2009-11-17 | Microsoft Corporation | Transfer of user profiles using portable storage devices |
US7337311B2 (en) | 2003-11-18 | 2008-02-26 | Giga-Byte Technology Co., Ltd. | Method for controlling upgrade of firmware |
US7383463B2 (en) | 2004-02-04 | 2008-06-03 | Emc Corporation | Internet protocol based disaster recovery of a server |
US7392046B2 (en) | 2004-02-10 | 2008-06-24 | Microsoft Corporation | Method and apparatus for automatic diagnosis and resolution of wireless network malfunctions |
US7627617B2 (en) | 2004-02-11 | 2009-12-01 | Storage Technology Corporation | Clustered hierarchical file services |
US7444633B2 (en) | 2004-03-05 | 2008-10-28 | International Business Machines Corporation | Federating legacy/remote content into a central network console |
US20050216902A1 (en) | 2004-03-23 | 2005-09-29 | General Motors Corporation | Method and system for vehicle software configuration update management |
US20050216524A1 (en) | 2004-03-23 | 2005-09-29 | Integrated Data Corporation | Smart and selective synchronization between databases in a document management system |
US7523341B2 (en) | 2004-05-13 | 2009-04-21 | International Business Machines Corporation | Methods, apparatus and computer programs for recovery from failures in a computing environment |
US8156489B2 (en) | 2004-05-21 | 2012-04-10 | Computer Associates Think, Inc. | Distributed installation configuration system and method |
US8868858B2 (en) | 2006-05-19 | 2014-10-21 | Inmage Systems, Inc. | Method and apparatus of continuous data backup and access using virtual machines |
JP2006011888A (en) | 2004-06-28 | 2006-01-12 | Hitachi Ltd | Remote management system |
US7698487B2 (en) | 2004-06-30 | 2010-04-13 | Intel Corporation | Share resources and increase reliability in a server environment |
US7886345B2 (en) | 2004-07-02 | 2011-02-08 | Emc Corporation | Password-protection module |
US8046440B2 (en) | 2004-08-19 | 2011-10-25 | International Business Machines Corporation | Managing resources through user-facing web services aggregated in portals |
JP4437432B2 (en) | 2004-09-30 | 2010-03-24 | 株式会社日立製作所 | Computer system |
US7401192B2 (en) | 2004-10-04 | 2008-07-15 | International Business Machines Corporation | Method of replicating a file using a base, delta, and reference file |
US20060129459A1 (en) | 2004-11-22 | 2006-06-15 | Mendelsohn Mark P | Method and system for the secure distribution of software via a communications network |
US8161318B2 (en) | 2005-02-07 | 2012-04-17 | Mimosa Systems, Inc. | Enterprise service availability through identity preservation |
US7778976B2 (en) | 2005-02-07 | 2010-08-17 | Mimosa, Inc. | Multi-dimensional surrogates for data management |
US8738760B2 (en) | 2005-04-14 | 2014-05-27 | Verizon Business Global Llc | Method and system for providing automated data retrieval in support of fault isolation in a managed services network |
US7480822B1 (en) | 2005-07-13 | 2009-01-20 | Symantec Corporation | Recovery and operation of captured running states from multiple computing systems on a single computing system |
US7933987B2 (en) | 2005-09-30 | 2011-04-26 | Lockheed Martin Corporation | Application of virtual servers to high availability and disaster recovery solutions |
US7788303B2 (en) | 2005-10-21 | 2010-08-31 | Isilon Systems, Inc. | Systems and methods for distributed system scanning |
JP4544146B2 (en) | 2005-11-29 | 2010-09-15 | 株式会社日立製作所 | Disaster recovery method |
US8010701B2 (en) | 2005-12-19 | 2011-08-30 | Vmware, Inc. | Method and system for providing virtualized application workspaces |
JP4839841B2 (en) | 2006-01-04 | 2011-12-21 | 株式会社日立製作所 | How to restart snapshot |
US20070185936A1 (en) | 2006-02-07 | 2007-08-09 | Derk David G | Managing deletions in backup sets |
US7860825B2 (en) | 2006-05-08 | 2010-12-28 | Palm, Inc. | Method for synchronizing software application and user data for asynchronous client-server and peer to peer computer networks |
US20080034019A1 (en) | 2006-08-04 | 2008-02-07 | Pavel Cisler | System for multi-device electronic backup |
US7873805B2 (en) | 2007-02-23 | 2011-01-18 | Lewis, Rice & Fingersh, L.C. | Data recovery systems and methods |
US20080313632A1 (en) | 2007-06-13 | 2008-12-18 | Apurva Kumar | Methods, devices, and products for providing access to system-administration functions of a computer or related resources |
-
2006
- 2006-05-24 US US11/440,563 patent/US8234238B2/en not_active Expired - Fee Related
-
2007
- 2007-05-24 WO PCT/US2007/012538 patent/WO2007139963A2/en active Application Filing
-
2012
- 2012-06-27 US US13/534,493 patent/US20120272099A1/en not_active Abandoned
Patent Citations (99)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4866635A (en) * | 1987-10-19 | 1989-09-12 | Carnegie Group Inc. | Domain independent shell for building a diagnostic expert system |
US6649375B2 (en) * | 1993-06-10 | 2003-11-18 | Genetic Theraphy, Inc. | Adenoviral vectors for enhanced gene expression |
US5649196A (en) * | 1993-07-01 | 1997-07-15 | Legent Corporation | System and method for distributed storage management on networked computer systems using binary object identifiers |
US5602990A (en) * | 1993-07-23 | 1997-02-11 | Pyramid Technology Corporation | Computer system diagnostic testing using hardware abstraction |
US5835911A (en) * | 1994-02-08 | 1998-11-10 | Fujitsu Limited | Software distribution and maintenance system and method |
US5659743A (en) * | 1994-12-05 | 1997-08-19 | Legent Corporation | Method and apparatus for a pattern based spaced management system |
US5812751A (en) * | 1995-05-19 | 1998-09-22 | Compaq Computer Corporation | Multi-server fault tolerance using in-band signalling |
US5897635A (en) * | 1995-06-07 | 1999-04-27 | International Business Machines Corp. | Single access to common user/application information |
US5802364A (en) * | 1996-04-15 | 1998-09-01 | Sun Microsystems, Inc. | Metadevice driver rename/exchange technique for a computer system incorporating a plurality of independent device drivers |
US5787409A (en) * | 1996-05-17 | 1998-07-28 | International Business Machines Corporation | Dynamic monitoring architecture |
US6067582A (en) * | 1996-08-13 | 2000-05-23 | Angel Secure Networks, Inc. | System for installing information related to a software application to a remote computer over a network |
US5950010A (en) * | 1996-11-25 | 1999-09-07 | J.D. Edwards World Source Co. | System and method for customized application package building and installation |
US6012152A (en) * | 1996-11-27 | 2000-01-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Software fault management system |
US20030110188A1 (en) * | 1996-11-27 | 2003-06-12 | 1 Vision Software, Inc. | Virtual directory file navigation system |
US5933647A (en) * | 1997-01-24 | 1999-08-03 | Cognet Corporation | System and method for software distribution and desktop management in a computer network environment |
US6029196A (en) * | 1997-06-18 | 2000-02-22 | Netscape Communications Corporation | Automatic client configuration system |
US6144959A (en) * | 1997-08-18 | 2000-11-07 | Novell, Inc. | System and method for managing user accounts in a communication network |
US6212660B1 (en) * | 1997-08-21 | 2001-04-03 | Nokia Mobile Phones Limited | Methods and apparatuses for identification of the position of data packets which are located in a serial received data stream |
US20020049764A1 (en) * | 1997-09-11 | 2002-04-25 | Puma Technology, Inc., Delaware Corporation | Distributed synchronization of databases |
US6189101B1 (en) * | 1997-10-24 | 2001-02-13 | Richard G. Dusenbury, Jr. | Secure network architecture method and apparatus |
US6170065B1 (en) * | 1997-11-14 | 2001-01-02 | E-Parcel, Llc | Automatic system for dynamic diagnosis and repair of computer configurations |
US6694375B1 (en) * | 1997-12-04 | 2004-02-17 | British Telecommunications Public Limited Company | Communications network and method having accessible directory of user profile data |
US5974547A (en) * | 1998-03-20 | 1999-10-26 | 3Com Corporation | Technique for reliable network booting of an operating system to a client computer |
US6317761B1 (en) * | 1998-05-15 | 2001-11-13 | Unicast Communications Corporation | Technique for implementing browser-initiated user-transparent advertising and for interstitially displaying an advertisement, so distributed, through a web browser in response to a user click-stream |
US6735625B1 (en) * | 1998-05-29 | 2004-05-11 | Cisco Technology, Inc. | System and method for automatically determining whether a product is compatible with a physical device in a network |
US6301612B1 (en) * | 1998-08-12 | 2001-10-09 | Microsoft Corporation | Establishing one computer as a replacement for another computer |
US6209089B1 (en) * | 1998-08-12 | 2001-03-27 | Microsoft Corporation | Correcting for changed client machine hardware using a server-based operating system |
US6314428B1 (en) * | 1998-08-26 | 2001-11-06 | International Business Machines Corporation | Method and apparatus for application management in computer networks |
US6366296B1 (en) * | 1998-09-11 | 2002-04-02 | Xerox Corporation | Media browser using multimodal analysis |
US6477531B1 (en) * | 1998-12-18 | 2002-11-05 | Motive Communications, Inc. | Technical support chain automation with guided self-help capability using active content |
US6459499B1 (en) * | 1998-12-22 | 2002-10-01 | Canon Kabushiki Kaisha | Push technology for network scanner |
US6363400B1 (en) * | 1999-02-22 | 2002-03-26 | Starbase Corp. | Name space extension for an operating system |
US6356915B1 (en) * | 1999-02-22 | 2002-03-12 | Starbase Corp. | Installable file system having virtual file system drive, virtual device driver, and virtual disks |
US20030051128A1 (en) * | 1999-03-31 | 2003-03-13 | Herman Rodriguez | Method and apparatus for managing client computers in a distributed data processing system |
US6378035B1 (en) * | 1999-04-06 | 2002-04-23 | Microsoft Corporation | Streaming information appliance with buffer read and write synchronization |
US6421777B1 (en) * | 1999-04-26 | 2002-07-16 | International Business Machines Corporation | Method and apparatus for managing boot images in a distributed data processing system |
US6536037B1 (en) * | 1999-05-27 | 2003-03-18 | Accenture Llp | Identification of redundancies and omissions among components of a web based architecture |
US6473794B1 (en) * | 1999-05-27 | 2002-10-29 | Accenture Llp | System for establishing plan to test components of web based framework by displaying pictorial representation and conveying indicia coded components of existing network framework |
US6463530B1 (en) * | 1999-06-10 | 2002-10-08 | International Business Machines Corporation | Method and apparatus for remotely booting a client computer from a network by emulating remote boot chips |
US6880108B1 (en) * | 1999-07-29 | 2005-04-12 | International Business Machines Corporation | Risk assessment methodology for AIX-based computer systems |
US6349137B1 (en) * | 1999-08-05 | 2002-02-19 | Rockwell Electronic Commerce Corp. | Apparatus and method for providing support software for an agent workstation of an automatic call distributor |
US6282711B1 (en) * | 1999-08-10 | 2001-08-28 | Hewlett-Packard Company | Method for more efficiently installing software components from a remote server source |
US6490677B1 (en) * | 1999-09-16 | 2002-12-03 | International Business Machines Corporation | Method and system for automatically configuring the boot process of a computer having multiple bootstrap programs within a network computer system |
US6556950B1 (en) * | 1999-09-30 | 2003-04-29 | Rockwell Automation Technologies, Inc. | Diagnostic method and apparatus for use with enterprise control |
US6751658B1 (en) * | 1999-10-18 | 2004-06-15 | Apple Computer, Inc. | Providing a reliable operating system for clients of a net-booted environment |
US6959235B1 (en) * | 1999-10-28 | 2005-10-25 | General Electric Company | Diagnosis and repair system and method |
US6449658B1 (en) * | 1999-11-18 | 2002-09-10 | Quikcat.Com, Inc. | Method and apparatus for accelerating data through communication networks |
US6606744B1 (en) * | 1999-11-22 | 2003-08-12 | Accenture, Llp | Providing collaborative installation management in a network-based supply chain environment |
US20020124092A1 (en) * | 2000-02-10 | 2002-09-05 | Pascal Urien | Method for registering a user on an internet-type network directory server and/or for locating a user on said network, and smart card therefor |
US20040148306A1 (en) * | 2000-02-18 | 2004-07-29 | Moulton Gregory Hagan | Hash file system and method for use in a commonality factoring system |
US20010037323A1 (en) * | 2000-02-18 | 2001-11-01 | Moulton Gregory Hagan | Hash file system and method for use in a commonality factoring system |
US20070271290A1 (en) * | 2000-03-09 | 2007-11-22 | Keith Robert O Jr | Method and apparatus for accessing data within an electronic system by an extrernal system |
US20020104080A1 (en) * | 2000-03-29 | 2002-08-01 | Virtual Access Networks, Inc. | Server based extraction, transfer, storage and processing of remote settings, files and data |
US20020013827A1 (en) * | 2000-05-18 | 2002-01-31 | Edstrom Claes G.R. | Personal service environment management apparatus and methods |
US6654797B1 (en) * | 2000-05-25 | 2003-11-25 | International Business Machines Corporation | Apparatus and a methods for server configuration using a removable storage device |
US20010049793A1 (en) * | 2000-06-01 | 2001-12-06 | Asgent, Inc. | Method and apparatus for establishing a security policy, and method and apparatus for supporting establishment of security policy |
US20040201604A1 (en) * | 2000-06-19 | 2004-10-14 | International Business Machines Corporation | System and method for developing and administering web applications and services from a workflow, enterprise, and mail-enabled web application server and platform |
US6915343B1 (en) * | 2000-06-22 | 2005-07-05 | International Business Machines Corporation | System and method of running diagnostic testing programs on a diagnostic adapter card and analyzing the results for diagnosing hardware and software problems on a network computer |
US20020035674A1 (en) * | 2000-07-11 | 2002-03-21 | Vetrivelkumaran Vellore T. | Application program caching |
US6816462B1 (en) * | 2000-08-02 | 2004-11-09 | International Business Machines Corporation | System and method to determine connectivity of a VPN secure tunnel |
US6886020B1 (en) * | 2000-08-17 | 2005-04-26 | Emc Corporation | Method and apparatus for storage system metrics management and archive |
US6871210B1 (en) * | 2000-09-05 | 2005-03-22 | International Business Machines Corporation | Automatic allocation of least loaded boot server to PXE client on a network VIA DHCP server |
US20020116585A1 (en) * | 2000-09-11 | 2002-08-22 | Allan Scherr | Network accelerator |
US20020107945A1 (en) * | 2000-12-12 | 2002-08-08 | Ibm Corporation | Mechanism to dynamically update a windows system with user specific application enablement support from a heterogeneous server environment |
US20020087625A1 (en) * | 2001-01-04 | 2002-07-04 | Kim Toll | Sharing user profiles between processor-based systems |
US20020094868A1 (en) * | 2001-01-16 | 2002-07-18 | Alma Tuck | Methods for interactive internet advertising, apparatuses and systems including same |
US6718464B2 (en) * | 2001-01-23 | 2004-04-06 | International Business Machines Corporation | Method and system for customizing a client computer system configuration for a current user using BIOS settings downloaded from a server |
US6704886B1 (en) * | 2001-01-25 | 2004-03-09 | Emc Corporation | Data backup system having independent data restore execution |
US20020107920A1 (en) * | 2001-02-08 | 2002-08-08 | Timo Hotti | Method and system for data management |
US20020161868A1 (en) * | 2001-04-27 | 2002-10-31 | International Business Machines Corporation | Method and system for fault-tolerant remote boot in the presence of boot server overload/failure with self-throttling boot servers |
US20020188941A1 (en) * | 2001-06-12 | 2002-12-12 | International Business Machines Corporation | Efficient installation of software packages |
US20030005096A1 (en) * | 2001-06-28 | 2003-01-02 | International Business Machines Corporation | Method and system for dynamic redistribution of remote computer boot service in a network containing multiple boot servers |
US20030033379A1 (en) * | 2001-07-20 | 2003-02-13 | Lemur Networks | Intelligent central directory for soft configuration of IP services |
US20030036882A1 (en) * | 2001-08-15 | 2003-02-20 | Harper Richard Edwin | Method and system for proactively reducing the outage time of a computer system |
US20030041136A1 (en) * | 2001-08-23 | 2003-02-27 | Hughes Electronics Corporation | Automated configuration of a virtual private network |
US20040236843A1 (en) * | 2001-11-15 | 2004-11-25 | Robert Wing | Online diagnosing of computer hardware and software |
US6636857B2 (en) * | 2001-12-18 | 2003-10-21 | Bluecurrent, Inc. | Method and system for web-based asset management |
US20030126242A1 (en) * | 2001-12-28 | 2003-07-03 | Chang Albert H. | Network boot system and method using remotely-stored, client-specific boot images created from shared, base snapshot image |
US20030191730A1 (en) * | 2002-04-05 | 2003-10-09 | Compaq Information Technologies Group, L.P. | Unobtrusive rule-based computer usage enhancement system |
US7200779B1 (en) * | 2002-04-26 | 2007-04-03 | Advanced Micro Devices, Inc. | Fault notification based on a severity level |
US20040093492A1 (en) * | 2002-11-13 | 2004-05-13 | Olivier Daude | Virtual private network management with certificates |
US20040123153A1 (en) * | 2002-12-18 | 2004-06-24 | Michael Wright | Administration of protection of data accessible by a mobile device |
US20050144218A1 (en) * | 2003-11-25 | 2005-06-30 | Heintz Timothy J. | Extendible software platform for the construction and deployment of intelligent agents |
US20050149729A1 (en) * | 2003-12-24 | 2005-07-07 | Zimmer Vincent J. | Method to support XML-based security and key management services in a pre-boot execution environment |
US20060047716A1 (en) * | 2004-06-03 | 2006-03-02 | Keith Robert O Jr | Transaction based virtual file system optimized for high-latency network connections |
US20060031529A1 (en) * | 2004-06-03 | 2006-02-09 | Keith Robert O Jr | Virtual application manager |
US20050273486A1 (en) * | 2004-06-03 | 2005-12-08 | Keith Robert O Jr | Virtual distributed file system |
US20050283606A1 (en) * | 2004-06-22 | 2005-12-22 | Williams Mitchell A | Selecting a boot image |
US20060047946A1 (en) * | 2004-07-09 | 2006-03-02 | Keith Robert O Jr | Distributed operating system management |
US20060021040A1 (en) * | 2004-07-22 | 2006-01-26 | International Business Machines Corporation | Apparatus, method and program to detect and control deleterious code (virus) in computer network |
US20060095705A1 (en) * | 2004-10-30 | 2006-05-04 | James Wichelman | Systems and methods for data storage management |
US20060143709A1 (en) * | 2004-12-27 | 2006-06-29 | Raytheon Company | Network intrusion prevention |
US20060224544A1 (en) * | 2005-03-04 | 2006-10-05 | Keith Robert O Jr | Pre-install compliance system |
US20060224545A1 (en) * | 2005-03-04 | 2006-10-05 | Keith Robert O Jr | Computer hardware and software diagnostic and report system |
US20070239905A1 (en) * | 2006-03-09 | 2007-10-11 | Banerjee Dwip N | Method and apparatus for efficient determination of memory copy versus registration in direct access environments |
US20070274315A1 (en) * | 2006-05-24 | 2007-11-29 | Keith Robert O | System for and method of securing a network utilizing credentials |
US20080077630A1 (en) * | 2006-09-22 | 2008-03-27 | Keith Robert O | Accelerated data transfer using common prior data segments |
US20080077622A1 (en) * | 2006-09-22 | 2008-03-27 | Keith Robert O | Method of and apparatus for managing data utilizing configurable policies and schedules |
US20080127294A1 (en) * | 2006-09-22 | 2008-05-29 | Keith Robert O | Secure virtual private network |
Non-Patent Citations (1)
Title |
---|
Plug-in definition from Wikipedia, http://en.wikipedia.org/wiki/Plug-in_(computing) printed November 6, 2011, 5 pages. * |
Cited By (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7908339B2 (en) | 2004-06-03 | 2011-03-15 | Maxsp Corporation | Transaction based virtual file system optimized for high-latency network connections |
US20060047716A1 (en) * | 2004-06-03 | 2006-03-02 | Keith Robert O Jr | Transaction based virtual file system optimized for high-latency network connections |
US9569194B2 (en) | 2004-06-03 | 2017-02-14 | Microsoft Technology Licensing, Llc | Virtual application manager |
US9357031B2 (en) | 2004-06-03 | 2016-05-31 | Microsoft Technology Licensing, Llc | Applications as a service |
US8812613B2 (en) | 2004-06-03 | 2014-08-19 | Maxsp Corporation | Virtual application manager |
US20060047946A1 (en) * | 2004-07-09 | 2006-03-02 | Keith Robert O Jr | Distributed operating system management |
US8589323B2 (en) | 2005-03-04 | 2013-11-19 | Maxsp Corporation | Computer hardware and software diagnostic and report system incorporating an expert system and agents |
US7512584B2 (en) | 2005-03-04 | 2009-03-31 | Maxsp Corporation | Computer hardware and software diagnostic and report system |
US20060224544A1 (en) * | 2005-03-04 | 2006-10-05 | Keith Robert O Jr | Pre-install compliance system |
US20070217422A1 (en) * | 2006-03-20 | 2007-09-20 | Fujitsu Limited | Network communication monitoring system, network communication monitoring method, central apparatus, relay unit, and memory product for storing a computer program |
US7639690B2 (en) * | 2006-03-20 | 2009-12-29 | Fujitsu Limited | Network communication monitoring system, network communication monitoring method, central apparatus, relay unit, and memory product for storing a computer program |
US8898319B2 (en) | 2006-05-24 | 2014-11-25 | Maxsp Corporation | Applications and services as a bundle |
US9584480B2 (en) | 2006-05-24 | 2017-02-28 | Microsoft Technology Licensing, Llc | System for and method of securing a network utilizing credentials |
US9160735B2 (en) | 2006-05-24 | 2015-10-13 | Microsoft Technology Licensing, Llc | System for and method of securing a network utilizing credentials |
US20070274315A1 (en) * | 2006-05-24 | 2007-11-29 | Keith Robert O | System for and method of securing a network utilizing credentials |
US8811396B2 (en) | 2006-05-24 | 2014-08-19 | Maxsp Corporation | System for and method of securing a network utilizing credentials |
US9906418B2 (en) | 2006-05-24 | 2018-02-27 | Microsoft Technology Licensing, Llc | Applications and services as a bundle |
US9893961B2 (en) | 2006-05-24 | 2018-02-13 | Microsoft Technology Licensing, Llc | Applications and services as a bundle |
US10511495B2 (en) | 2006-05-24 | 2019-12-17 | Microsoft Technology Licensing, Llc | Applications and services as a bundle |
US20080127294A1 (en) * | 2006-09-22 | 2008-05-29 | Keith Robert O | Secure virtual private network |
US8099378B2 (en) | 2006-09-22 | 2012-01-17 | Maxsp Corporation | Secure virtual private network utilizing a diagnostics policy and diagnostics engine to establish a secure network connection |
US7840514B2 (en) | 2006-09-22 | 2010-11-23 | Maxsp Corporation | Secure virtual private network utilizing a diagnostics policy and diagnostics engine to establish a secure network connection |
US20080077630A1 (en) * | 2006-09-22 | 2008-03-27 | Keith Robert O | Accelerated data transfer using common prior data segments |
US9317506B2 (en) | 2006-09-22 | 2016-04-19 | Microsoft Technology Licensing, Llc | Accelerated data transfer using common prior data segments |
US20080094639A1 (en) * | 2006-10-24 | 2008-04-24 | Kla-Tencor Technologies Corporation | Waferless recipe optimization |
US7844686B1 (en) | 2006-12-21 | 2010-11-30 | Maxsp Corporation | Warm standby appliance |
US8745171B1 (en) | 2006-12-21 | 2014-06-03 | Maxsp Corporation | Warm standby appliance |
US9645900B2 (en) | 2006-12-21 | 2017-05-09 | Microsoft Technology Licensing, Llc | Warm standby appliance |
US8423821B1 (en) | 2006-12-21 | 2013-04-16 | Maxsp Corporation | Virtual recovery server |
US8327191B2 (en) * | 2007-10-19 | 2012-12-04 | International Business Machines Corporation | Automatically populating symptom databases for software applications |
US20090106597A1 (en) * | 2007-10-19 | 2009-04-23 | International Business Machines Corporation | Automatically Populating Symptom Databases for Software Applications |
US8761546B2 (en) | 2007-10-26 | 2014-06-24 | Maxsp Corporation | Method of and system for enhanced data storage |
US8175418B1 (en) | 2007-10-26 | 2012-05-08 | Maxsp Corporation | Method of and system for enhanced data storage |
US8977887B2 (en) | 2007-10-26 | 2015-03-10 | Maxsp Corporation | Disaster recovery appliance |
US9448858B2 (en) | 2007-10-26 | 2016-09-20 | Microsoft Technology Licensing, Llc | Environment manager |
US8645515B2 (en) | 2007-10-26 | 2014-02-04 | Maxsp Corporation | Environment manager |
US9092374B2 (en) | 2007-10-26 | 2015-07-28 | Maxsp Corporation | Method of and system for enhanced data storage |
US8422833B2 (en) | 2007-10-26 | 2013-04-16 | Maxsp Corporation | Method of and system for enhanced data storage |
US8307239B1 (en) | 2007-10-26 | 2012-11-06 | Maxsp Corporation | Disaster recovery appliance |
US20100058120A1 (en) * | 2008-08-26 | 2010-03-04 | Microsoft Corporation | Dynamic Inline Sequence Interface |
US8543691B1 (en) * | 2011-01-31 | 2013-09-24 | The United States Of America As Represented By The Secretary Of The Navy | Cross-platform, targeted, low-level hardware/software diagnostics loader |
US20170161243A1 (en) * | 2015-12-04 | 2017-06-08 | Verizon Patent And Licensing Inc. | Feedback tool |
US10067919B2 (en) * | 2015-12-04 | 2018-09-04 | Verizon Patent And Licensing Inc. | Feedback tool |
US20170279702A1 (en) * | 2016-03-25 | 2017-09-28 | Dropbox, Inc. | System and method for automated issue remediation for information technology infrastructure |
US10162698B2 (en) * | 2016-03-25 | 2018-12-25 | Dropbox, Inc. | System and method for automated issue remediation for information technology infrastructure |
US10846167B2 (en) | 2016-03-25 | 2020-11-24 | Dropbox, Inc. | Automated issue remediation for information technology infrastructure |
Also Published As
Publication number | Publication date |
---|---|
WO2007139963A3 (en) | 2008-07-03 |
US8234238B2 (en) | 2012-07-31 |
WO2007139963A2 (en) | 2007-12-06 |
US20120272099A1 (en) | 2012-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8234238B2 (en) | Computer hardware and software diagnostic and report system | |
US8589323B2 (en) | Computer hardware and software diagnostic and report system incorporating an expert system and agents | |
US7512584B2 (en) | Computer hardware and software diagnostic and report system | |
US7624086B2 (en) | Pre-install compliance system | |
US8099378B2 (en) | Secure virtual private network utilizing a diagnostics policy and diagnostics engine to establish a secure network connection | |
US9658914B2 (en) | Troubleshooting system using device snapshots | |
US7340649B2 (en) | System and method for determining fault isolation in an enterprise computing system | |
CA2468644C (en) | Method and apparatus for managing components in an it system | |
Oppenheimer et al. | Why do Internet services fail, and what can be done about it? | |
US6640317B1 (en) | Mechanism for automated generic application damage detection and repair in strongly encapsulated application | |
JP2018142372A (en) | System and method for automated memory and thread execution anomaly detection in computer network | |
US7840846B2 (en) | Point of sale system boot failure detection | |
US20080082661A1 (en) | Method and Apparatus for Network Monitoring of Communications Networks | |
WO2006032045A2 (en) | Agile information technology infrastructure management system | |
US20040249919A1 (en) | System and method for remote systems management and reporting | |
US20110283138A1 (en) | Change Tracking and Management in Distributed Applications | |
US7469287B1 (en) | Apparatus and method for monitoring objects in a network and automatically validating events relating to the objects | |
US20060282527A1 (en) | System for very simple network management (VSNM) | |
US7631064B1 (en) | Method and apparatus for determining interconnections of network devices | |
Deussen et al. | A TTCN-3 based online test and validation platform for Internet services | |
Cisco | LAN Management Solution 2.1 Bundle Update | |
Cisco | Release Notes for Device Fault Manager 1.2 on Windows 2000 | |
Cisco | Troubleshooting Router Startup Problems | |
US9621415B1 (en) | Automated configuration collection and management using source control | |
White et al. | A Unified Architecture For Automatic Software Updates. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MAXSP CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KEITH, JR., ROBERT O.;REEL/FRAME:018564/0682 Effective date: 20061110 |
|
ZAAA | Notice of allowance and fees due |
Free format text: ORIGINAL CODE: NOA |
|
ZAAB | Notice of allowance mailed |
Free format text: ORIGINAL CODE: MN/=. |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: PAT HOLDER NO LONGER CLAIMS SMALL ENTITY STATUS, ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: STOL); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: NEW CHECKERBOARD CATTLE AND COMPUTER CORPORATION, Free format text: NUNC PRO TUNC CONFIRMATORY ASSIGNMENT WITH AN EFFECTIVE DATE OF 7/1/2008 WHICH CONFIRMS THE BILL OF SALE EXECUTED ON 9/12/2008 FROM JOHN B. GOODRICH TO NEW CHECKERBOARD CATTLE AND COMPUTER CORPORATION;ASSIGNOR:GOODRICH, JOHN B.;REEL/FRAME:036163/0287 Effective date: 20150624 Owner name: MAXSP CORPORATION, CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:NEW CHECKERBOARD CATTLE AND COMPUTER CORPORATION;REEL/FRAME:036148/0889 Effective date: 20080922 Owner name: GOODRICH, JOHN B., CALIFORNIA Free format text: NUNC PRO TUNC CONFIRMATORY ASSIGNMENT WITH AN EFFECTIVE DATE OF 7/1/2008 WHICH CONFIRMS THE AGREEMENT OF SALE EXECUTED ON 7/1/2008 FROM MAXSP CORPORATION TO JOHN B. GOODRICH;ASSIGNOR:MAXSP CORPORATION;REEL/FRAME:036163/0082 Effective date: 20150624 |
|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MAXSP CORPORATION;REEL/FRAME:036168/0302 Effective date: 20150624 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20240731 |