WO1994025913A2 - Method and apparatus for enterprise desktop management - Google Patents
Method and apparatus for enterprise desktop management Download PDFInfo
- Publication number
- WO1994025913A2 WO1994025913A2 PCT/US1994/004499 US9404499W WO9425913A2 WO 1994025913 A2 WO1994025913 A2 WO 1994025913A2 US 9404499 W US9404499 W US 9404499W WO 9425913 A2 WO9425913 A2 WO 9425913A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- list
- desktop
- lists
- sub
- resources
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/64—Retargetable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99954—Version management
Definitions
- the invention relates generally to computer networks, and more particularly, to the management of resources available to users on desktop computers connected to the network.
- Network systems management software which traditionally has run on centralized computing centers typically is involved with tasks such as, library and configuration management, version control, resource security, network control, data and storage management, job scheduling, session management, resource monitoring and reporting. Much of the earlier network systems management software was developed to operate in highly structured environments readily susceptible to centralized control. In the past, users at desktop computers on the network often had relatively little flexibility in configuring their desktops to meet their specific needs.
- FIG. 1 there is shown an illustrative block diagram of a typical data center which manages application software and network activities for a network which comprises a multiplicity of end-user terminals such as desktop personal computers.
- a typical data center includes a central computer, often a powerful mainframe computer, and one or more administrative computer terminals. Ordinarily, programs such as security management programs, configuration change management programs, library management programs and presentation management programs run on the central computer.
- desktop computer users have come to demand from their desktop computers much of the computing functionality that once was reserved for centralized computers and computer centers.
- many existing centralized computer applications, and much data critical to an organization often must be accessible to newly emerging client/server applications.
- a desktop application for use in sales analysis may require access to product ordering and availability information that is managed by a central computer.
- a desktop spread sheet application may need data stored in a central database.
- a central computer often is called upon to serve as a central repository of services and data that are to be available to different departments within an organization.
- Different departments often have different needs, and the challenge of centralized management increases as individual users within departments are able to specify their individual needs with greater particularity.
- the managers of networks of distributed desktop computers increasingly are being called upon to support a wide range of end-user involvement with the desktop, most notably the productivity enhancements of personalized desktop computing.
- the issues in enterprise desktop management include the configuration of networked desktop computers, distribution of resources and ongoing maintenance. Once a desktop computer has been configured with the proper resources, those resources must be properly maintained.
- One of the challenges confronting an enterprise management system is that there may be a large variety of software resources available on the network and a large number of desktops. The question of, "who gets what?" can be a difficult one. The complexity of this question is increased by the need to specify not only which application programs should be available at which desktops but also by issues such as which version of an application to use, security, policy based limitations and compatibility.
- the inability to dynamically reconfigure any or all desktop computers in a network on an as-required basis can be a significant systems management shortcoming that can slow enterprise responsiveness to changing technical and business requirements.
- computer software based training information may have to be distributed to hundreds of branch offices and may have to be kept current with changes in bank lending policies and banking regulations.
- the efficient distribution and updating of the software is critical. Failure to distribute new lending policies or new banking regulations to all branches could have serious harmful business consequences.
- FIG. 2 there is shown a typical enterprise configuration management structure. It includes multiple administrator computer terminals and multiple desktop computers, all of which are connected to a central computer.
- the administrator terminals allow network administrative personnel to manage the desktops.
- the central computer provides a centralized locale for the distribution of applications and data to the desktops.
- the management of such resources can entail maintaining lists of resources available to the desktop computers; or the maintenance of rules for the use of resources on the desktop computers.
- Resource availability could be based on policies, such as policies governing which users and which departments can have access to certain application functions and what business or technical data are to be treated as confidential.
- the set of resources available to a given desktop could also depend upon technical issues such as, which operating system is employed on the desktop computer or how much disk space is available on that desktop.
- the administration of such configurations may involve a combination of list- based and rules-based techniques.
- An important challenge in the administration of an enterprise-wide network of desktop computers is that an extremely large body of information often must be managed when the number of desktops, the policies governing them, and the universe of application resources is large. Enterprise systems management involves making certain that the resources possessed by each desktop match the resources that the desktop should possess based upon policy and technology considerations.
- One approach to managing distributed desktop computer resources is to store in the computer lists of the different resources available on different desktop computers.
- computing applications are a type of resource that can be distributed among desktops.
- An initial deployment of a distributed computing application can require a determination by a policy administrator of which users are authorized to utilize the application, followed by a determination by a technical administrator of the particular version of the application software appropriate for that user's already installed equipment and software environment in order to produce a list of components, or "resources" which must be transported to the user computer over a network connection.
- Subsequent changes to the deployed application can require an additional process of determining currently authorized users; determining the changed/added/deleted resource(s) ; and transporting the needed resource changes to the appropriate user(s) .
- the typical approach to managing these changes is largely a clerical one, requiring a technical administrator to manually create lists of components that need to be changed for the "last known" hardware/software environments of the "last known” list of authorized users.
- the use of previously developed authorization lists and user environment status creates the possibility of introducing errors into the change process because one or more user authorizations has been granted or revoked since the list was originally created, or because user hardware/software environments themselves changed since their status was last reported.
- the probability of error is directly related to the accuracy and timeliness of the authorization lists and status information used. Because of the practical difficulties involved in keeping authorization lists and environment status up to date without automated tools and in matching them against components to produce distribution lists without integrating software, the typical change process usually requires a high degree of standardization and a low rate of change in authorizations, environments, and application components.
- the illustrative drawing of Figure 3 shows one method for managing and maintaining such stored lists.
- a list designated as the "Already Have” list is created and saved for each desktop.
- the AH list lists resources that a desktop already has. Such resources may have been transported to the desktop during an initial deployment or a previous configuration activity.
- a list designated as the "Should Have” list can be generated by administrative personnel.
- the SH list lists resources that a desktop should have. This list itemizes the resources that should be available to the desktop for all authorized activities for that desktop.
- the AH lists are stored at either the central computer or at the local desktops. Ordinarily, the SH lists are stored centrally or at the administrative computer that created them. However, the storage location of the AH and SH lists is not critical.
- the list designated as the "Need” list is generated by comparing the AH list with the SH list. Items contained in the SH list that are absent from the AH list are included in the "Need” list. For example, the "Need” list indicates an addition of a new item designated as "ggg” which is listed in the SH list but which is not listed in the AH list.
- the "Need” list also sets forth items which are present in the AH list, but which have been updated in the SH list. These updated items in the "Need” list are to replace corresponding items in the AH list. For example, the item listed as "aaa” in the SH list was last updated on date, 05/01/92, at time, 12:13:45 o'clock. The corresponding item indicated as "aaa” in the AH list was last updated on date, 03/01/92, at time, 12:13:45 o'clock. Thus, the "Need” list includes the item “aaa” as updated on 05/01/92 at
- the "Need” list identifies items that are present in the AH list but absent from the SH list, and which, therefore, must be deleted from the desktop.
- the item “fff” is listed in the "Need” list as requiring deletion from the AH list.
- the items listed in the AH list can represent resource names or pointers to resources or data sets.
- the dates and times adjacent to such items indicate the currency level of the resource.
- the item identified as "ddd” in the SH list was last updated on the day of 05/14/92 at 13:11:45 O'clock.
- the "Need” list identifies resource deletions, additions and updates necessary to configure a desktop computer in accordance with administrator requirements designated in the SH list.
- one earlier process of configuring a desktop computer involved determining what resources the desktop already has; determining what resources the desktop should have; and based on a comparison of the AH and SH resources, determining what resources the desktop needs to add, delete or update. Therefore, once a "Need” list is generated, it is used to manage the process of deleting resources from the desktop or of adding resources to the desktop or updating resources on the desktop.
- earlier processes of deleting, adding or updating resources can involve transporting new or updated versions of programs or data over the network and deleting no longer needed versions of programs or data from the desktop.
- the types of resources that can be deleted, added or updated using such earlier processes can include virtually any information that can be transported over the network such as programs, data, icons and batch files.
- the grouping of resources permits use of structured SH lists which are SH lists made up of sub-lists.
- structured-SH lists can reduce storage requirements for SH lists by obviating the need to store a separate set of lists for each desktop.
- structured SH lists can also simplify the implementation of changes, since changes to structured lists can have effect across numerous desktops on the network. Referring to the illustrative drawings of Figure 5, there is shown an SH list which is a composite of two sub- lists. As illustrated in Figure 6, sub-lists can be shared among SH lists.
- items can be grouped into sub-lists by an administrator based on an analysis of resource sharing among desktops.
- a desktop request for a configuration activity prompts a comparison of a SH list for a desktop with the .AH list for that desktop, then the SH list can be generated from the master list and the sub-lists.
- One difficulty with automating the SH list generation process has been that different desktops can have different hardware and software platforms.
- the SH list generation process frequently involved a clerical task in which administrative personnel determined which resources a desktop should have.
- desktops In order to ease the administrative burden of generating SH lists, desktops often are grouped together and share common SH lists. Once the SH list has been generated for a desktop or a group of desktops, then the SH list can be compared to the AH lists of the individual desktops to generate "Need" lists.
- grouping of desktops involves a cost in terms of granularity of the available resources: desktop users may be relegated to the nearest fit sub-list or the least common denominator of sub-lists due to an inability to fully articulate and manage the specific desktop user configuration requirements for individual desktops.
- SH sub-list may be inappropriate in the changed desktop platform.
- the type of desktop printer may be changed; the monitor type may change; the operating system or the network operating system may be changed to an updated version. Consequently, a desktop, may require different SH sub-lists which list resource items appropriate for the changed desktop platform.
- Rules-based lists can be more dynamic in that they can accommodate such changes automatically. For example, rules like "if printer type A then use SH sub-list A, and if printer type B, then use sub-List B," could be applied. However, such rules can require additional programming effort by network administrative personnel to anticipate the multitude of potential desktop platform changes.
- dynamic linkage substitution is used to facilitate the resolution of a SH list so as to meet the current predictable needs of a desktop environment.
- an LUDT/LSDT comparison process is used to avoid unnecessary comparisons of AH list items with SH list items.
- both dynamic linkage substitution-and an LUDT/LSDT process are employed.
- the present invention automates and integrates the management of changes in a distributed computing environment by automatic construction of required/needed component lists for each distributed user based on a real-time interrogation of the user's environmental status together with the user's current authorization as derived in real-time from access rules and/or lists maintained by policy administrators. Integral to this automation is the process of "differencing" or difference calculation between already distributed components and the components required by changes to the user's environment, authorization, or the application itself. Since the process itself "remembers" users and already distributed components and automatically calculates needed component lists based on current user authorization and environment status, the administrative activities are simplified while accuracy and precision are improved. Because this automated process is equally applicable and effective for the initial deployment of an application it can render the change management process virtually indistinguishable from the initial configuration process.
- Figure 1 is a block diagram illustrating the prior art relationship between a datacenter which includes, administrator terminals and a mainframe computer, and end-users with desktop computers;
- Figure 2 is a generalized drawing of a typical enterprise management structure which includes a central computer administered through multiple administrator terminals and which further includes a multitude of desktops.
- Figure 3 is an illustrative drawing showing that a comparison of an Already Have list and a Should Have list results in a Need list which itemizes discrepancies between the AH and SH lists;
- Figure 4 is an illustrative drawing showing the potential for a proliferation of AH lists and SH lists for a network that includes a multitude of desktops;
- FIG. 5 is an illustrative drawing showing the use of a structured SH list which comprises two sub- lists; the SH list is compared with an AH list to arrive at a Need list;
- Figure 6 is an illustrative drawing which shows the sharing of sub-lists among different structured SH lists
- Figure 7 is an illustrative drawing which illustrates the resolution of a dynamic linkage as part of the process of generating an SH list from sub-lists in accordance with the present invention
- Figure 8 shows an illustrative schema which includes a dynamic linkage in accordance with the present invention
- Figure 9 illustrates a Last Updated Date/Time (LUDT) field in an SH list and a Last Synchronized Date/Time (LSDT) field in an AH list in accordance with the invention
- Figure 10 illustrates the use of the LUDT/LSDT process in accordance with the present invention
- Figure 11 illustrates the use of an Object Identity Checksum (OIDC) and a Last Synchronized Checksum (LSC) to detect dynamic linkage substitution in a Should Have list in accordance with the present invention
- OIDC Object Identity Checksum
- LSC Last Synchronized Checksum
- Figure 12 illustrates the process of fractional change detection by parsing a SH list schema using both an LUDT/LSDT process and an OIDC/LSC process in accordance with the present invention.
- the present invention comprises a novel method and apparatus for enterprise system management of the resources of distributed desktop computers.
- the following description is presented to enable any person skilled in the art to make and use the invention, and is provided in the context of particular applications and their requirements.
- Various modifications to the preferred embodiment will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the invention.
- the present invention is not intended to be limited to the embodiment shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.
- a process of dynamic linkage substitution allows for dynamic linkage of sub-lists which can facilitate automatic adaptation of a SH list to predictable user initiated changes in the desktop environment. That is, if the user changes the desktop environment, the SH list adapts accordingly.
- a branch interrogation such as "Size?" in Figure 7 results in a substitution of a value, "Small” or a value, "Large” based upon a desktop resource variable.
- the substituted value, Small or Large is determined based upon the desktop platform at the time of SH list generation.
- the generated SH list reflects up-to-date desktop resource needs.
- the overall SH list comprises sub-lists A, B and C.
- Sub-list A includes sub-lists Al and A2.
- Sub-list B includes sub-lists Bl, B2 and B3.
- Sub-list C includes sub-lists CI and C2.
- Sub-list B2 includes sub-lists B21, B22 and B23.
- the linkage between sub-list B2 and sub-lists B22 and B23 is a dynamic linkage.
- only one of the sub-lists B22 and B23 will be substituted into the SH list schema. The steps whereby the schema is parsed to resolve the SH list are described below.
- One desktop resource variable could be the operating system which could be OS/2TM or Windows for example.
- a change in the desktop operating system variable can change a sub-list of resources that a desktop should have.
- the desktop is interrogated as to all variables such as operating system, microprocessor type, disk space, memory size, interrupts and installed application software.
- the purpose of the interrogation process is to assign names for each such variable.
- the operating system variable can be represented by the variable "Size" in Figure 7, for example, and possible values for the Size variable could be "Small" for Windows and "Large” for OS/2.
- Interrogation Code selects variable names that correspond to the resource values in use on the desktop.
- the variable names can be transported to the computer, via standard network connections using standard network protocols, where the SH list resolution process takes place, the SH list resolution process ordinarily occurs at the central computer. However, it could be performed at the desktop instead.
- List resolution is part of the configuration process which can be triggered by any number of events such as a desktop timer, the "boot procedures," or by the user selecting an appropriate icon.
- SH list resolution a sub-list is linked into the SH list based on the name assigned for the variable during the interrogation process. This process occurs for each desktop variable resource.
- the desktop SH list is responsive to predictable desktop platform changes.
- the dynamic linkage process uses naming conventions.
- the sub-lists associated with a dynamic linkage correspond to different variables.
- the name which is assigned to the variable during the interrogation process determines how the dynamic linkage will be resolved during SH list generation.
- the Interrogator Code associates the names to resource variables.
- the naming conventions permit different sub-lists, for example, to be associated with different desktop variables. Continuing with the above example in which "Small” is associated with a Windows operating system and "Large” is associated with an OS/2 operating system, Windows requires one set of resources which correspond to the items in the sub-list named, Small; and OS/2 requires another set of resources which correspond to the items in the sub-list named, Large.
- the different sub-lists for example, could list different applications which use different graphical interface modules for use with Windows on the one hand and with OS/2 on the other hand.
- a dynamic linkage can be built into the structured SH list.
- the linkage will be generated in favor of a sub-list that reflects the resource needs of the desktop operating system type.
- An advantage of adaptive list generation using dynamic linkage substitution is that it can reduce the need for administrator intervention when the desktop environment is changed.
- the use of naming conventions in accordance with the present invention permits the resolution of an SH list which reflects the particular needs of a desktop environment without resort to rule based programming.
- the novel use of dynamic linkages therefore, advantageously permits desktop users to customize their desktops to fit their particular requirements without imposing an undue management burden upon the network administrators.
- the use of dynamic linkages affords the automatic connection of sub-lists appropriate to the desktop environment based upon the value/name assigned for a particular variable in a desktop environment. It will be appreciated that the configuration process in accordance with the present invention permits the automation of system administration by separating policy decisions from technology packaging decisions.
- the use of variables and dynamic linkages in the technology packaging process permits technology packaging requirements to automatically conform to both policy changes and to desktop platform changes.
- the LUDT for an item in an SH list represents the last date/time on which the item was updated or added to the SH list.
- the LSDT represents the last date/time on which the SH list and the AH list were synchronized. A one-to-one comparison of all SH list items to all AH list items can be avoided when there are no changes to previously configured resources.
- another approach in accordance with the invention is to maintain an overall LUDT for the entire SH list.
- This approach requires maintenance of overall LUDTs for each sub-list within the SH list. If the overall LUDTs for each of the SH list sub-lists for a particular desktop are less than the desktop LSDT then the contents of the generated SH list resource list could not have been altered by addition, deletion or update since the last synchronization of the SH and AH lists for the desktop.
- This approach shall be referred to as
- the LUDT or ELUDT processes can be used during the SH list generation process in order to bypass the one-to-one comparison of all AH list contents with all SH list contents when no additions, deletions or updates have been introduced to the SH list since the date/time of the last synchronization.
- LUDT is useful for "flat" lists, while ELUDT is useful for structured lists.
- the LUDT can identify changed resources.
- the ELUDT can identify the addition or deletion of entire sub-lists.
- FIG. 10 shows the use of the LUDT process in connection with SH list.
- the desktop LSDT for the desktop AH list is compared with the overall SH list LUDT and with the LUDTs for each of the two SH sub-lists to determine whether any one-to-one sub-list comparison is necessary. In this case, since the LSDT is later than each of the three LUDTs associated with the SH list, no further comparison is necessary.
- the ELUDT process works not only for sub-lists, but also for equivalent intermediate connecting structures such as objects. For example, if objects are maintained instead of lists then current ELUDT information is maintained for the objects. Keeping track of ELUDTs for a master list and for all sub- lists is tantamount to inheritance of ELUDT information within object classes.
- a lookaside table of substitution values used during the last SH list generation process can be stored so as to identify required SH list changes due to changes in the desktop variables.
- Another process in accordance with the invention for identifying desktop changes that may require a change in the resources that a desktop should have involves the use of dynamic linkage substitution and a checksum process.
- a unique numerical identifier which shall be called an object identifier is assigned to each resource and to each sub-list and to any other connecting elements or sub-sub-lists used to generate the list.
- the OID of each resource or sub-list included in the SH list is processed using one of two alternative checksum methods.
- An overall OID checksum for the SH list is calculated. If the overall OIDC is equal to a Last Synchronized Checksum for the user desktop, then the overall structure of the generated SH list has not changed.
- the LUDT process is used to detect changes in the contents of any particular list or sub-list.
- the OID process detects linkage changes.
- the LUDT process detects changes in the contents of individual resource lists or sub—lists.
- the OID checksum process, together with the LUDT process allows the one-to-one AH list to SH list comparison to be bypassed in cases where there have been no changes, even where dynamic linkage substitution or other dynamic or generation techniques have been employed.
- FIG. 11 there is shown in an example of change detection using an OID checksum to detect dynamic linkage substitution. Since the desktop LSDT is older than or equal to all of the LUDTs in the SH list, no previously defined SH list resources have changed, at least not resources which cannot be subject to dynamic substitution.
- the overall OIDC of the SH list is compared with the LSC of the desktop AH list. If the overall OIDC is not equal to the LSC, then there has been a change in the composition of the sublists. The overall most recently generated OIDC becomes the new LSC, and further comparison is required to detect the detailed changes.
- Figure 12 which shows an example of such further comparisons as part of a process of fractional change detection in accordance with the present invention.
- the process of fractional change detection detects both changes in linkages and changes within resource sublists.
- a checksum process can be used to determine whether the linkage substitution of B22 or B23 in Figure 9 is different from the linkage substitution the last time the AH and SH lists were synchronized.
- the LUDT process is used to determine whether an existing resource entry within any of the sub-lists has changed. For example, a sub-list may have resource "qqq”. The parameters within resource "qqq" may have changed, however. This change in resource "qqq" parameters is identified by date changes. Only sub-lists and resources for which changes have occurred require comparison as explained in relation to Figure 12.
- a latest LUDT is generated for the overall SH list while the SH list is being generated, and an LLUDT is maintained for the AH list. Similarly, for each sub-list, a separate LLUDT is maintained. In order to avoid further comparison, the LLUDT for a given sub-list will have to be earlier than the LSDT.
- the fractional change detection process involves separate change detections and comparisons for the different sub-lists.
- the LLUDT for sub-list A indicates the latest LUDT out of all of the resource entries in sub-list A.
- the LLUDT for sub-list B indicates the latest LUDT out of all of the entries in sub-list B.
- an LLUDT is maintained for sub-list A, and an LLUDT is maintained for sub-list B.
- LUDT and LLUDT values are maintained both for the SH list and for the AH list.
- An SOIDC is generated while the SH list is generated.
- a desktop LSC is saved for the AH list each time the AH list and the SH list are synchronized during the configuration process.
- the LLUDT/SOIDC information for the SH list is compared with the LSDT/LSC for the overall AH list. If the LLUDT matches the LSDT, and the SOIDC matches the LSC, then no further comparison of linkages or resource entries in the AH and SH lists is necessary. If, they are not equal, however, then the change detection/differencing process proceeds further.
- the comparison of the SOIDC and the LSC for sub-lists A of the SH list and the AH list shows that for these sub-lists, the SOIDCs and LSC's match.
- the SOIDCs are different. This indicates a linkage change.
- the LUDTs are different as well. This indicates an update in a resource entry in sub-list B.
- the contents of sub-list B of the SH list no longer match the contents of sub-list B of the AH list. Further comparison of the AH sub-list B and the SH sub-list B are required.
- This further comparison can involve network transport of the SH sub-list to the desktop for comparison with a desktop AH sub- list.
- the file identified as "eee” having the OID 005 is different from the file identified as "fff" which has an OID of 009.
Abstract
In an enterprise-wide network which includes at least one centralized computer and a plurality of desktop computers, a method for enterprise system management comprising the steps of: storing an Already Have list for each desktop; storing a plurality of Should Have sub-lists; and generating a respective Should Have list from the stored sub-lists for a respective desktop computer during configuration of the desktop computer; wherein the schema of the gnerated Should Have list includes at least one dynamic linkage which encompasses more than one Should Have sub-lists.
Description
METHOD AND APPARATUS FOR ENTERPRISE DESKTOP MANAGEMENT
1. Field of the Invention
The invention relates generally to computer networks, and more particularly, to the management of resources available to users on desktop computers connected to the network.
2. Description of the Related Art
A. Traditional Data Centers and Networks
As large scale corporate computing has evolved, on-line systems and applications have been made increasingly available to virtually all segments of commerce through the widespread proliferation of desktop computers linked via telecommunication networks to centralized computing centers. Traditionally, these networks have been centrally managed as part of the responsibilities of an information technology organizational unit. The complexity of managing strategically vital computing resources; managing significant numbers of critical business applications and their associated data; providing networked desktop computer access to the appropriate systems and applications; and all the while safeguarding the integrity, security, and availability of such assets have been some of the most significant challenges addressed by both the information management and the computer science disciplines.
Network systems management software which traditionally has run on centralized computing centers typically is involved with tasks such as, library and configuration management, version control, resource security, network control, data and storage management, job scheduling, session management, resource monitoring and reporting. Much of the earlier network systems management software was developed to operate in highly structured environments readily susceptible to centralized control. In the past, users at desktop computers on the network often had relatively little flexibility in configuring their desktops to meet their specific needs.
Recently, the revolutionary strides in hardware and software technology and in the human-to-computer interface have made an enormous range of different application programs available for desktop use on personal computers. Moreover, desktop computers have become so easy to operate that users have come to rely upon them for a broad array of specialized tasks such as word processing, spread sheet analysis and personal information management. The proliferation of application programs for desktop computers and the wide usage of computers in vast networks continues to make the job of managing networks ever more challenging.
Referring to the illustrative drawing of Figure 1, there is shown an illustrative block diagram of a typical data center which manages
application software and network activities for a network which comprises a multiplicity of end-user terminals such as desktop personal computers. A typical data center includes a central computer, often a powerful mainframe computer, and one or more administrative computer terminals. Ordinarily, programs such as security management programs, configuration change management programs, library management programs and presentation management programs run on the central computer.
B. Migration of Data Center Functions to the Desktop
The development of more powerful desktop personal computers has led to the- migration of many functions to the desktop computer. In the past, these functions were managed by a central computer located in the data center. This migration of functions to the desktop has been spurred by the advent of the graphical user interfaces which represent a computing environment in terms of simple pictures in which applications and other resources are depicted as icons to be manipulated. A GUI can permit a user to interact with images on a computer screen in much the same way that he would interact with a real object such as a telephone, a file folder, or other objects that often can be found on a real desk. The resulting easily understood and intuitive environment provides the foundation upon which innumerable new robust and powerful application programs have been built.
As a result, desktop computer users have come to demand from their desktop computers much of the computing functionality that once was reserved for centralized computers and computer centers. In addition, many existing centralized computer applications, and much data critical to an organization, often must be accessible to newly emerging client/server applications. For example, a desktop application for use in sales analysis may require access to product ordering and availability information that is managed by a central computer. Alternatively, for example, a desktop spread sheet application may need data stored in a central database.
In short, a central computer often is called upon to serve as a central repository of services and data that are to be available to different departments within an organization. Different departments often have different needs, and the challenge of centralized management increases as individual users within departments are able to specify their individual needs with greater particularity. Thus, the managers of networks of distributed desktop computers increasingly are being called upon to support a wide range of end-user involvement with the desktop, most notably the productivity enhancements of personalized desktop computing.
C. Content/Distribution Management Issues
The issues in enterprise desktop management include the configuration of networked desktop computers, distribution of resources and ongoing maintenance. Once a desktop computer has been configured with the proper resources, those resources must be properly maintained. One of the challenges confronting an enterprise management system is that there may be a large variety of software resources available on the network and a large number of desktops. The question of, "who gets what?" can be a difficult one. The complexity of this question is increased by the need to specify not only which application programs should be available at which desktops but also by issues such as which version of an application to use, security, policy based limitations and compatibility.
The inability to dynamically reconfigure any or all desktop computers in a network on an as-required basis can be a significant systems management shortcoming that can slow enterprise responsiveness to changing technical and business requirements. For example, in the banking industry, computer software based training information may have to be distributed to hundreds of branch offices and may have to be kept current with changes in bank lending policies and banking regulations. In such a banking scenario, for example, the efficient distribution and updating of the software is critical. Failure to distribute new lending policies or new banking
regulations to all branches could have serious harmful business consequences.
Referring to the illustrative drawing of Figure 2, there is shown a typical enterprise configuration management structure. It includes multiple administrator computer terminals and multiple desktop computers, all of which are connected to a central computer. The administrator terminals allow network administrative personnel to manage the desktops. The central computer provides a centralized locale for the distribution of applications and data to the desktops. The management of such resources can entail maintaining lists of resources available to the desktop computers; or the maintenance of rules for the use of resources on the desktop computers.
Resource availability, for example, could be based on policies, such as policies governing which users and which departments can have access to certain application functions and what business or technical data are to be treated as confidential. The set of resources available to a given desktop, for example, could also depend upon technical issues such as, which operating system is employed on the desktop computer or how much disk space is available on that desktop. The administration of such configurations may involve a combination of list- based and rules-based techniques.
An important challenge in the administration of an enterprise-wide network of desktop computers is that an extremely large body of information often must be managed when the number of desktops, the policies governing them, and the universe of application resources is large. Enterprise systems management involves making certain that the resources possessed by each desktop match the resources that the desktop should possess based upon policy and technology considerations. One approach to managing distributed desktop computer resources is to store in the computer lists of the different resources available on different desktop computers.
For example, computing applications are a type of resource that can be distributed among desktops. An initial deployment of a distributed computing application can require a determination by a policy administrator of which users are authorized to utilize the application, followed by a determination by a technical administrator of the particular version of the application software appropriate for that user's already installed equipment and software environment in order to produce a list of components, or "resources" which must be transported to the user computer over a network connection.
Subsequent changes to the deployed application can require an additional process of determining currently authorized users; determining the changed/added/deleted resource(s) ; and transporting the needed resource changes to the appropriate user(s) .
The typical approach to managing these changes is largely a clerical one, requiring a technical administrator to manually create lists of components that need to be changed for the "last known" hardware/software environments of the "last known" list of authorized users. The use of previously developed authorization lists and user environment status creates the possibility of introducing errors into the change process because one or more user authorizations has been granted or revoked since the list was originally created, or because user hardware/software environments themselves changed since their status was last reported. The probability of error is directly related to the accuracy and timeliness of the authorization lists and status information used. Because of the practical difficulties involved in keeping authorization lists and environment status up to date without automated tools and in matching them against components to produce distribution lists without integrating software, the typical change process usually requires a high degree of standardization and a low rate of change in authorizations, environments, and application components.
The illustrative drawing of Figure 3 shows one method for managing and maintaining such stored lists. A list designated as the "Already Have" list is created and saved for each desktop. The AH list lists resources that a desktop already has. Such resources may have been transported to the desktop
during an initial deployment or a previous configuration activity. A list designated as the "Should Have" list can be generated by administrative personnel. The SH list lists resources that a desktop should have. This list itemizes the resources that should be available to the desktop for all authorized activities for that desktop. The AH lists are stored at either the central computer or at the local desktops. Ordinarily, the SH lists are stored centrally or at the administrative computer that created them. However, the storage location of the AH and SH lists is not critical.
The list designated as the "Need" list is generated by comparing the AH list with the SH list. Items contained in the SH list that are absent from the AH list are included in the "Need" list. For example, the "Need" list indicates an addition of a new item designated as "ggg" which is listed in the SH list but which is not listed in the AH list. The "Need" list also sets forth items which are present in the AH list, but which have been updated in the SH list. These updated items in the "Need" list are to replace corresponding items in the AH list. For example, the item listed as "aaa" in the SH list was last updated on date, 05/01/92, at time, 12:13:45 o'clock. The corresponding item indicated as "aaa" in the AH list was last updated on date, 03/01/92, at time, 12:13:45 o'clock. Thus, the "Need" list includes the item "aaa" as updated on 05/01/92 at
12:13:45 o'clock which will supplant the item "aaa"
item last updated 03/01/92. Moreover, the "Need" list identifies items that are present in the AH list but absent from the SH list, and which, therefore, must be deleted from the desktop. The item "fff" is listed in the "Need" list as requiring deletion from the AH list.
The items listed in the AH list, such as for example, "ddd" can represent resource names or pointers to resources or data sets. The dates and times adjacent to such items indicate the currency level of the resource. For example, the item identified as "ddd" in the SH list was last updated on the day of 05/14/92 at 13:11:45 O'clock. The "Need" list identifies resource deletions, additions and updates necessary to configure a desktop computer in accordance with administrator requirements designated in the SH list. Thus, one earlier process of configuring a desktop computer involved determining what resources the desktop already has; determining what resources the desktop should have; and based on a comparison of the AH and SH resources, determining what resources the desktop needs to add, delete or update. Therefore, once a "Need" list is generated, it is used to manage the process of deleting resources from the desktop or of adding resources to the desktop or updating resources on the desktop.
For example, earlier processes of deleting, adding or updating resources for example, can involve transporting new or updated versions of
programs or data over the network and deleting no longer needed versions of programs or data from the desktop. The types of resources that can be deleted, added or updated using such earlier processes can include virtually any information that can be transported over the network such as programs, data, icons and batch files.
One problem with the type of lists described with reference to Figure 3 is that the addition, deletion and updating of desktop resources can involve the searching/comparing of entire SH lists to entire AH lists for a large number of desktops which can involve large network transport overhead. The complexity of the search/comparison task increases both with the number of desktops and with the number of resources managed. Referring to the illustrative drawings of Figure 4, there is shown a proliferation of AH lists and of corresponding SH lists. Each AH list and each corresponding SH list relates to a different desktop. The process explained with reference to Figure 3 must be performed for every desktop in the network.
An earlier approach to simplifying the management of large numbers of desktops and resources is to group desktop computers together to reduce the number of lists. Instead of maintaining a different AH and SH list for each desktop, different AH and SH lists are maintained for groups of desktops. As a result, the total number of AH and SH lists is reduced. However, such grouping can
require standardization of the resources available to groupings of desktops, which reduces the user's ability to customize their individual desktops. Another similar alternative could use a rules-based approach to the grouping of desktops. For example, desktops could be divided into groups, and rules could be imposed which assign one set of resources to one group and another set of resources to another group. The result, however, is the same: a reduction in the user's ability to customize their individual desktops.
The grouping of resources permits use of structured SH lists which are SH lists made up of sub-lists. The use of structured-SH lists can reduce storage requirements for SH lists by obviating the need to store a separate set of lists for each desktop. The use of structured SH lists can also simplify the implementation of changes, since changes to structured lists can have effect across numerous desktops on the network. Referring to the illustrative drawings of Figure 5, there is shown an SH list which is a composite of two sub- lists. As illustrated in Figure 6, sub-lists can be shared among SH lists.
Thus, items can be grouped into sub-lists by an administrator based on an analysis of resource sharing among desktops. When a desktop request for a configuration activity prompts a comparison of a SH list for a desktop with the .AH list for that desktop, then the SH list can be generated from the
master list and the sub-lists. One difficulty with automating the SH list generation process has been that different desktops can have different hardware and software platforms. Thus, the SH list generation process frequently involved a clerical task in which administrative personnel determined which resources a desktop should have.
In order to ease the administrative burden of generating SH lists, desktops often are grouped together and share common SH lists. Once the SH list has been generated for a desktop or a group of desktops, then the SH list can be compared to the AH lists of the individual desktops to generate "Need" lists. However, as explained above, grouping of desktops involves a cost in terms of granularity of the available resources: desktop users may be relegated to the nearest fit sub-list or the least common denominator of sub-lists due to an inability to fully articulate and manage the specific desktop user configuration requirements for individual desktops.
Another problem with the use of structured SH lists is that the desktop platform may change, and resources identified in a SH sub-list may be inappropriate in the changed desktop platform. For example, the type of desktop printer may be changed; the monitor type may change; the operating system or the network operating system may be changed to an updated version. Consequently, a desktop, may require different SH sub-lists which list resource
items appropriate for the changed desktop platform. Rules-based lists can be more dynamic in that they can accommodate such changes automatically. For example, rules like "if printer type A then use SH sub-list A, and if printer type B, then use sub-List B," could be applied. However, such rules can require additional programming effort by network administrative personnel to anticipate the multitude of potential desktop platform changes.
Therefore, there has been a need for an improved and automated configuration process that permits dynamic reconfiguration of a desktop based upon policy and desktop platform changes.
There also has been a need to optimize the process of comparing SH lists with AH lists to determine what resources must be added, deleted or updated on a desktop computer. This need is particularly acute in networks having a large number of desktops and a large number of variable resources. In such large networks, a one-to-one approach of matching an AH list against a generated SH list for a large number of desktops and a large number of resources can be storage, processing and network transport intensive. For example, if there are 5,000 desktops and 1,000 possible resources, then there could be five million records in the AH and SH lists. If there are 100 characters per record then a Gigabyte of data might have to be stored. The present invention also meets the need to improve the comparison process.
There also has been a need for a method of network administration which automatically makes resources available to a desktop in response to predictable changes in the desktop platform. The present invention also meets this need.
SUMMARY OF THE INVENTION
In one aspect of the invention, dynamic linkage substitution is used to facilitate the resolution of a SH list so as to meet the current predictable needs of a desktop environment. In another aspect of the invention, an LUDT/LSDT comparison process is used to avoid unnecessary comparisons of AH list items with SH list items. In still another aspect, both dynamic linkage substitution-and an LUDT/LSDT process are employed.
The present invention automates and integrates the management of changes in a distributed computing environment by automatic construction of required/needed component lists for each distributed user based on a real-time interrogation of the user's environmental status together with the user's current authorization as derived in real-time from access rules and/or lists maintained by policy administrators. Integral to this automation is the process of "differencing" or difference calculation between already distributed components and the components required by changes to the user's environment, authorization, or the application itself. Since the process itself "remembers" users and already distributed components and automatically
calculates needed component lists based on current user authorization and environment status, the administrative activities are simplified while accuracy and precision are improved. Because this automated process is equally applicable and effective for the initial deployment of an application it can render the change management process virtually indistinguishable from the initial configuration process.
These and other purposes and advantages of the present invention will become more apparent to those skilled in the art from the following detailed description in conjunction with the appended drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 is a block diagram illustrating the prior art relationship between a datacenter which includes, administrator terminals and a mainframe computer, and end-users with desktop computers;
Figure 2 is a generalized drawing of a typical enterprise management structure which includes a central computer administered through multiple administrator terminals and which further includes a multitude of desktops.
Figure 3 is an illustrative drawing showing that a comparison of an Already Have list and a Should Have list results in a Need list which itemizes discrepancies between the AH and SH lists;
Figure 4 is an illustrative drawing showing the potential for a proliferation of AH lists and SH lists for a network that includes a multitude of desktops;
Figure 5 is an illustrative drawing showing the use of a structured SH list which comprises two sub- lists; the SH list is compared with an AH list to arrive at a Need list;
Figure 6 is an illustrative drawing which shows the sharing of sub-lists among different structured SH lists;
Figure 7 is an illustrative drawing which illustrates the resolution of a dynamic linkage as part of the process of generating an SH list from sub-lists in accordance with the present invention;
Figure 8 shows an illustrative schema which includes a dynamic linkage in accordance with the present invention;
Figure 9 illustrates a Last Updated Date/Time (LUDT) field in an SH list and a Last Synchronized Date/Time (LSDT) field in an AH list in accordance with the invention;
Figure 10 illustrates the use of the LUDT/LSDT process in accordance with the present invention;
Figure 11 illustrates the use of an Object Identity Checksum (OIDC) and a Last Synchronized Checksum (LSC) to detect dynamic linkage substitution in a Should Have list in accordance with the present invention; and
Figure 12 illustrates the process of fractional change detection by parsing a SH list schema using both an LUDT/LSDT process and an OIDC/LSC process in accordance with the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT The present invention comprises a novel method and apparatus for enterprise system management of the resources of distributed desktop computers. The following description is presented to enable any person skilled in the art to make and use the invention, and is provided in the context of particular applications and their requirements. Various modifications to the preferred embodiment will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the invention. Thus, the present invention is not intended to be limited to the embodiment shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.
Referring to the illustrative drawing of Figure 7 there is shown a process of adaptive list generation using structured lists in accordance with the present invention. A process of dynamic linkage substitution allows for dynamic linkage of sub-lists which can facilitate automatic adaptation of a SH list to predictable user initiated changes in the desktop environment. That is, if the user changes the desktop environment, the SH list adapts accordingly.
In a dynamic linkage process in accordance with the present invention, a branch interrogation such as "Size?" in Figure 7, results in a substitution of a value, "Small" or a value, "Large" based upon a desktop resource variable. The substituted value, Small or Large, is determined based upon the desktop platform at the time of SH list generation. Thus, the generated SH list reflects up-to-date desktop resource needs.
Referring to the illustrative drawing of Figure 8, there is shown a representative schema for a desktop SH list in accordance with the present invention. The overall SH list comprises sub-lists A, B and C. Sub-list A includes sub-lists Al and A2. Sub-list B includes sub-lists Bl, B2 and B3. Sub-list C includes sub-lists CI and C2. Sub-list B2 includes sub-lists B21, B22 and B23. The linkage between sub-list B2 and sub-lists B22 and B23 is a dynamic linkage. At the time of the SH list
resolution, only one of the sub-lists B22 and B23 will be substituted into the SH list schema. The steps whereby the schema is parsed to resolve the SH list are described below.
The use of dynamic linkage substitution to accommodate desktop platform changes will be better appreciated through the following illustrative example. One desktop resource variable could be the operating system which could be OS/2™ or Windows for example. A change in the desktop operating system variable can change a sub-list of resources that a desktop should have. During a configuration process, the desktop is interrogated as to all variables such as operating system, microprocessor type, disk space, memory size, interrupts and installed application software. The purpose of the interrogation process is to assign names for each such variable. The operating system variable can be represented by the variable "Size" in Figure 7, for example, and possible values for the Size variable could be "Small" for Windows and "Large" for OS/2.
Thus, a naming convention is used to determine values for resource variables. Interrogation Code selects variable names that correspond to the resource values in use on the desktop. At the time of SH list resolution, the variable names can be transported to the computer, via standard network connections using standard network protocols, where the SH list resolution process takes place, the SH list resolution process ordinarily occurs at the
central computer. However, it could be performed at the desktop instead. List resolution is part of the configuration process which can be triggered by any number of events such as a desktop timer, the "boot procedures," or by the user selecting an appropriate icon. During SH list resolution, a sub-list is linked into the SH list based on the name assigned for the variable during the interrogation process. This process occurs for each desktop variable resource. Thus, the desktop SH list is responsive to predictable desktop platform changes.
Thus, the dynamic linkage process uses naming conventions. The sub-lists associated with a dynamic linkage correspond to different variables. The name which is assigned to the variable during the interrogation process determines how the dynamic linkage will be resolved during SH list generation.
An administrator establishes these different names. The Interrogator Code associates the names to resource variables. The naming conventions permit different sub-lists, for example, to be associated with different desktop variables. Continuing with the above example in which "Small" is associated with a Windows operating system and "Large" is associated with an OS/2 operating system, Windows requires one set of resources which correspond to the items in the sub-list named, Small; and OS/2 requires another set of resources which correspond to the items in the sub-list named, Large. The different sub-lists, for example, could
list different applications which use different graphical interface modules for use with Windows on the one hand and with OS/2 on the other hand.
Since it is predictable that a desktop environment operating system variable may charge from one variable type to another variable type, a dynamic linkage can be built into the structured SH list. When the SH list is generated the linkage will be generated in favor of a sub-list that reflects the resource needs of the desktop operating system type.
An advantage of adaptive list generation using dynamic linkage substitution is that it can reduce the need for administrator intervention when the desktop environment is changed. The use of naming conventions in accordance with the present invention permits the resolution of an SH list which reflects the particular needs of a desktop environment without resort to rule based programming. The novel use of dynamic linkages, therefore, advantageously permits desktop users to customize their desktops to fit their particular requirements without imposing an undue management burden upon the network administrators. The use of dynamic linkages affords the automatic connection of sub-lists appropriate to the desktop environment based upon the value/name assigned for a particular variable in a desktop environment.
It will be appreciated that the configuration process in accordance with the present invention permits the automation of system administration by separating policy decisions from technology packaging decisions. The use of variables and dynamic linkages in the technology packaging process permits technology packaging requirements to automatically conform to both policy changes and to desktop platform changes.
Comparison Avoidance Using Last Synchronization Date/Time
Referring to the illustrative drawings of Figure 9, there is shown the use of a Last Updated Date/Time field and the Last Synchronized Date/Time field which can reduce the network transport overhead associated with the comparison of SH list items. The LUDT for an item in an SH list represents the last date/time on which the item was updated or added to the SH list. The LSDT represents the last date/time on which the SH list and the AH list were synchronized. A one-to-one comparison of all SH list items to all AH list items can be avoided when there are no changes to previously configured resources. By comparing the LUDT field for each resource entry in a generated SH list with the LSDT for a desktop AH list, a determination can be made as to whether or not a comparison of the items SH and AH lists is necessary. If all of the LUDTs in the SH list are earlier than the LSDT for the desktop AH list, then no previously defined resources in the SH list have
changed since the last synchronization of the SH and AH lists for the desktop and no lists need to be compared for changes.
Referring to the illustrative drawing of Figure 10, another approach in accordance with the invention is to maintain an overall LUDT for the entire SH list. This approach requires maintenance of overall LUDTs for each sub-list within the SH list. If the overall LUDTs for each of the SH list sub-lists for a particular desktop are less than the desktop LSDT then the contents of the generated SH list resource list could not have been altered by addition, deletion or update since the last synchronization of the SH and AH lists for the desktop. This approach shall be referred to as
Enhanced LUDT. The LUDT or ELUDT processes can be used during the SH list generation process in order to bypass the one-to-one comparison of all AH list contents with all SH list contents when no additions, deletions or updates have been introduced to the SH list since the date/time of the last synchronization.
It will be appreciated that LUDT is useful for "flat" lists, while ELUDT is useful for structured lists. The LUDT can identify changed resources.
The ELUDT can identify the addition or deletion of entire sub-lists.
The drawing of Figure 10 shows the use of the LUDT process in connection with SH list. The
desktop LSDT for the desktop AH list is compared with the overall SH list LUDT and with the LUDTs for each of the two SH sub-lists to determine whether any one-to-one sub-list comparison is necessary. In this case, since the LSDT is later than each of the three LUDTs associated with the SH list, no further comparison is necessary.
The ELUDT process works not only for sub-lists, but also for equivalent intermediate connecting structures such as objects. For example, if objects are maintained instead of lists then current ELUDT information is maintained for the objects. Keeping track of ELUDTs for a master list and for all sub- lists is tantamount to inheritance of ELUDT information within object classes.
It will be appreciated that the ELUDT information is checked as a prelude to the actual process of comparing the actual contents of SH and AH lists. Actual comparisons are required only when SH list or sub-list have been changed since the list synchronization of the desktop AH and SH lists. Moreover, as explained below, a comparison process in accordance with the present invention seeks to compare as little as necessary to bring the AH list up to date with the SH list.
Fractional Change Detection
As explained above, dynamic linkage substitution occurs at the time of SH list generation. A potential problem is that the desktop environment may have changed after the last synchronization of the AH and SH lists for a desktop. Specifically, the LUDT of each SH list and each SH sub-list used in the most recent synchronization might be older than the LSDT, but the desktop platform nevertheless may have changed since the most recent synchronization. That is, after the last synchronization a desktop variable may have changed. This change in variable, such as a change in monitor types for example, will not ordinarily be detectable through the LUDT/LSDT process alone. Moreover, the change in desktop variables may change the resources that a desktop should have.
A lookaside table of substitution values used during the last SH list generation process can be stored so as to identify required SH list changes due to changes in the desktop variables.
Another process in accordance with the invention for identifying desktop changes that may require a change in the resources that a desktop should have involves the use of dynamic linkage substitution and a checksum process. A unique numerical identifier which shall be called an object identifier is assigned to each resource and to each
sub-list and to any other connecting elements or sub-sub-lists used to generate the list.
During the generation of an SH list, the OID of each resource or sub-list included in the SH list is processed using one of two alternative checksum methods. An overall OID checksum for the SH list is calculated. If the overall OIDC is equal to a Last Synchronized Checksum for the user desktop, then the overall structure of the generated SH list has not changed. The LUDT process is used to detect changes in the contents of any particular list or sub-list. The OID process detects linkage changes. The LUDT process detects changes in the contents of individual resource lists or sub—lists. The OID checksum process, together with the LUDT process allows the one-to-one AH list to SH list comparison to be bypassed in cases where there have been no changes, even where dynamic linkage substitution or other dynamic or generation techniques have been employed.
Referring to the illustrative drawing of Figure 11, there is shown in an example of change detection using an OID checksum to detect dynamic linkage substitution. Since the desktop LSDT is older than or equal to all of the LUDTs in the SH list, no previously defined SH list resources have changed, at least not resources which cannot be subject to dynamic substitution. In addition, the overall OIDC of the SH list is compared with the LSC of the desktop AH list. If the overall OIDC is not equal
to the LSC, then there has been a change in the composition of the sublists. The overall most recently generated OIDC becomes the new LSC, and further comparison is required to detect the detailed changes. Figure 12 which shows an example of such further comparisons as part of a process of fractional change detection in accordance with the present invention.
The process of fractional change detection detects both changes in linkages and changes within resource sublists. In particular, for example, a checksum process can be used to determine whether the linkage substitution of B22 or B23 in Figure 9 is different from the linkage substitution the last time the AH and SH lists were synchronized. The LUDT process is used to determine whether an existing resource entry within any of the sub-lists has changed. For example, a sub-list may have resource "qqq". The parameters within resource "qqq" may have changed, however. This change in resource "qqq" parameters is identified by date changes. Only sub-lists and resources for which changes have occurred require comparison as explained in relation to Figure 12.
Referring to Figure 12, there is shown a fractional date change detection process. A latest LUDT is generated for the overall SH list while the SH list is being generated, and an LLUDT is maintained for the AH list. Similarly, for each sub-list, a separate LLUDT is maintained. In order
to avoid further comparison, the LLUDT for a given sub-list will have to be earlier than the LSDT. The fractional change detection process involves separate change detections and comparisons for the different sub-lists. The LLUDT for sub-list A indicates the latest LUDT out of all of the resource entries in sub-list A. The LLUDT for sub-list B, indicates the latest LUDT out of all of the entries in sub-list B. Similarly, for the AH list, an LLUDT is maintained for sub-list A, and an LLUDT is maintained for sub-list B. Thus, LUDT and LLUDT values are maintained both for the SH list and for the AH list.
An SOIDC is generated while the SH list is generated. A desktop LSC is saved for the AH list each time the AH list and the SH list are synchronized during the configuration process. The LLUDT/SOIDC information for the SH list is compared with the LSDT/LSC for the overall AH list. If the LLUDT matches the LSDT, and the SOIDC matches the LSC, then no further comparison of linkages or resource entries in the AH and SH lists is necessary. If, they are not equal, however, then the change detection/differencing process proceeds further.
In particular, the comparison of the SOIDC and the LSC for sub-lists A of the SH list and the AH list shows that for these sub-lists, the SOIDCs and LSC's match. Thus, there has been no change in the linkages or the resource information in sub-list A
for the SH list or in sub-list A for the AH list. For sub-list B, however, the SOIDCs are different. This indicates a linkage change. Moreover, the LUDTs are different as well. This indicates an update in a resource entry in sub-list B. Thus, the contents of sub-list B of the SH list no longer match the contents of sub-list B of the AH list. Further comparison of the AH sub-list B and the SH sub-list B are required. This further comparison can involve network transport of the SH sub-list to the desktop for comparison with a desktop AH sub- list. In particular, referring to the specific contents of sub-list B of the SH list, the file identified as "eee" having the OID 005 is different from the file identified as "fff" which has an OID of 009.
It will be appreciated that the above description is an example of fractional change detection because comparisons are performed on fractional parts of the schema rather than on the entire schema. No changes between the SH sub-list A and the AH sub-list A were detected. Hence, no further comparison of the SH sub-list A and the AH sub-list A were undertaken. However, changes between the SH sub-list B and the AH sub-list B were detected. Hence, further comparison of the AH sub- list A and the SH sub-list B were performed.
Various modifications to the preferred embodiment can be made without departing from the spirit and scope of the invention. Thus, the foregoing description is not intended to limit the invention which is described in the appended claims in which:
Claims
WHAT IS CLAIMED St 1. A process of enterprise system management for use with an enterprise-wide network which includes at least one centralized computer and a plurality of desktop computers, the method comprising the steps of: storing an Already Have list for each desktop; storing a plurality of Should Have sub- lists; generating a respective Should Have list from the stored sub-lists for a respective desktop computer during configuration of the desktop computer; and wherein the schema of the generated Should Have list includes at least one dynamic linkage which encompasses more than on Should Have sub- lists.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US5633393A | 1993-04-30 | 1993-04-30 | |
US08/056,333 | 1993-04-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO1994025913A2 true WO1994025913A2 (en) | 1994-11-10 |
WO1994025913A3 WO1994025913A3 (en) | 1994-12-22 |
Family
ID=22003720
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US1994/004499 WO1994025913A2 (en) | 1993-04-30 | 1994-04-29 | Method and apparatus for enterprise desktop management |
PCT/US1994/004896 WO1994025924A1 (en) | 1993-04-30 | 1994-05-02 | Method and apparatus for enterprise desktop management |
PCT/US1994/004504 WO1994025923A1 (en) | 1993-04-30 | 1994-05-02 | Method and apparatus for enterprise desktop management |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US1994/004896 WO1994025924A1 (en) | 1993-04-30 | 1994-05-02 | Method and apparatus for enterprise desktop management |
PCT/US1994/004504 WO1994025923A1 (en) | 1993-04-30 | 1994-05-02 | Method and apparatus for enterprise desktop management |
Country Status (7)
Country | Link |
---|---|
US (4) | US5581764A (en) |
EP (1) | EP0696368B1 (en) |
JP (1) | JP3466193B2 (en) |
AT (1) | ATE156282T1 (en) |
CA (1) | CA2160907A1 (en) |
DE (1) | DE69404647T2 (en) |
WO (3) | WO1994025913A2 (en) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0987627A1 (en) * | 1998-09-15 | 2000-03-22 | Eastman Kodak Company | Method and system for performing an update |
GB2352539A (en) * | 1999-04-30 | 2001-01-31 | Hugh Symons Group Plc | A method and system for managing distribution of content to a device |
WO2002005184A2 (en) * | 2000-07-10 | 2002-01-17 | Critical Devices, Inc. | Method and system for software inventory management using a global central repository |
EP1327191A1 (en) * | 2000-09-22 | 2003-07-16 | Patchlink. Com Corporation | Non-invasive automatic offsite patch fingerprinting and updating system and method |
US6886017B1 (en) | 1999-04-30 | 2005-04-26 | Elata Limited | System and method for managing distribution of content to a device |
US7039612B1 (en) * | 2000-09-07 | 2006-05-02 | Sprint Communications Company L.P. | Intranet platform system |
EP1832953A2 (en) | 2001-10-24 | 2007-09-12 | Groove Networks, Inc. | Method and apparatus for managing a peer-to-peer collaboration system |
US8024399B2 (en) | 1994-05-31 | 2011-09-20 | Twintech E.U., Limited Liability Company | Software distribution over a network |
GB2528679A (en) * | 2014-07-28 | 2016-02-03 | Ibm | Software discovery in an environment with heterogeneous machine groups |
Families Citing this family (360)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6044205A (en) * | 1996-02-29 | 2000-03-28 | Intermind Corporation | Communications system for transferring information between memories according to processes transferred with the information |
US8352400B2 (en) | 1991-12-23 | 2013-01-08 | Hoffberg Steven M | Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore |
US6193520B1 (en) * | 1993-05-10 | 2001-02-27 | Yugengaisha Adachi International | Interactive communication system for communicating video game and karaoke software |
JPH07306778A (en) * | 1994-05-16 | 1995-11-21 | Fujitsu Ltd | Development management system in decentralized development environment of software |
US5897640A (en) * | 1994-08-08 | 1999-04-27 | Microsoft Corporation | Method and system of associating, synchronizing and reconciling computer files in an operating system |
JP3865775B2 (en) | 1995-04-11 | 2007-01-10 | キネテック インコーポレイテッド | Data identification in data processing systems |
US6240451B1 (en) * | 1995-05-25 | 2001-05-29 | Punch Networks Corporation | Method and apparatus for automatically disseminating information over a network |
US5694596A (en) * | 1995-05-25 | 1997-12-02 | Kangaroo, Inc. | On-line database updating network system and method |
US20020178051A1 (en) | 1995-07-25 | 2002-11-28 | Thomas G. Scavone | Interactive marketing network and process using electronic certificates |
US6625617B2 (en) | 1996-01-02 | 2003-09-23 | Timeline, Inc. | Modularized data retrieval method and apparatus with multiple source capability |
US5862325A (en) * | 1996-02-29 | 1999-01-19 | Intermind Corporation | Computer-based communication system and method using metadata defining a control structure |
US5745679A (en) * | 1996-03-06 | 1998-04-28 | Micron Technology, Inc. | Method and device for file transfer by cascade release |
US6366930B1 (en) | 1996-04-12 | 2002-04-02 | Computer Associates Think, Inc. | Intelligent data inventory & asset management systems method and apparatus |
US6304885B1 (en) * | 1996-05-01 | 2001-10-16 | The United States Of America As Represented By The Secretary Of The Navy | Digital data retrieving, organizing and display system |
US20030195846A1 (en) | 1996-06-05 | 2003-10-16 | David Felger | Method of billing a purchase made over a computer network |
US7555458B1 (en) | 1996-06-05 | 2009-06-30 | Fraud Control System.Com Corporation | Method of billing a purchase made over a computer network |
US8229844B2 (en) | 1996-06-05 | 2012-07-24 | Fraud Control Systems.Com Corporation | Method of billing a purchase made over a computer network |
US6151643A (en) * | 1996-06-07 | 2000-11-21 | Networks Associates, Inc. | Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer |
US6074434A (en) | 1996-06-07 | 2000-06-13 | International Business Machines Corporation | Selection of code updates, data updates or new data for client |
US5752042A (en) * | 1996-06-07 | 1998-05-12 | International Business Machines Corporation | Server computer for selecting program updates for a client computer based on results of recognizer program(s) furnished to the client computer |
US6094680A (en) * | 1996-06-27 | 2000-07-25 | Microsoft Corporation | System and method for managing distributed resources on networks |
US5919247A (en) | 1996-07-24 | 1999-07-06 | Marimba, Inc. | Method for the distribution of code and data updates |
US6006034A (en) * | 1996-09-05 | 1999-12-21 | Open Software Associates, Ltd. | Systems and methods for automatic application version upgrading and maintenance |
US6199076B1 (en) * | 1996-10-02 | 2001-03-06 | James Logan | Audio program player including a dynamic program selection controller |
US6061740A (en) * | 1996-12-09 | 2000-05-09 | Novell, Inc. | Method and apparatus for heterogeneous network management |
US5999973A (en) * | 1997-03-28 | 1999-12-07 | Telefonaktiebolaget L M Ericsson (Publ) | Use of web technology for subscriber management activities |
KR100287137B1 (en) * | 1997-04-11 | 2001-04-16 | 윤종용 | Method for managing version of portable information terminal |
AU7116598A (en) * | 1997-04-14 | 1998-11-11 | R2K, Llc | Registry management system |
US6332217B1 (en) | 1997-05-09 | 2001-12-18 | Hearme | Software inventory control system |
US20090043907A1 (en) * | 1997-09-11 | 2009-02-12 | Digital Delivery Networks, Inc. | Local portal |
US6216140B1 (en) * | 1997-09-17 | 2001-04-10 | Hewlett-Packard Company | Methodology for the efficient management of hierarchically organized information |
US5898872A (en) * | 1997-09-19 | 1999-04-27 | Tominy, Inc. | Software reconfiguration engine |
US6282709B1 (en) * | 1997-11-12 | 2001-08-28 | Philips Electronics North America Corporation | Software update manager |
US6216132B1 (en) | 1997-11-20 | 2001-04-10 | International Business Machines Corporation | Method and system for matching consumers to events |
US6091724A (en) * | 1997-11-20 | 2000-07-18 | International Business Machines Corporation | Routing messages within a network using the data content of the message |
US5996073A (en) * | 1997-12-18 | 1999-11-30 | Tioga Systems, Inc. | System and method for determining computer application state |
US6192518B1 (en) | 1998-01-22 | 2001-02-20 | Mis Only, Inc. | Method for distributing software over network links via electronic mail |
US6807632B1 (en) * | 1999-01-21 | 2004-10-19 | Emc Corporation | Content addressable information encapsulation, representation, and transfer |
GB2333864B (en) | 1998-01-28 | 2003-05-07 | Ibm | Distribution of software updates via a computer network |
US6202207B1 (en) | 1998-01-28 | 2001-03-13 | International Business Machines Corporation | Method and a mechanism for synchronized updating of interoperating software |
US7051003B1 (en) | 1998-02-26 | 2006-05-23 | Atabok Japan, Inc. | Method and apparatus for delivering electronic data through a proxy server |
US6052531A (en) | 1998-03-25 | 2000-04-18 | Symantec Corporation | Multi-tiered incremental software updating |
US7185332B1 (en) | 1998-03-25 | 2007-02-27 | Symantec Corporation | Multi-tiered incremental software updating |
JPH11282779A (en) * | 1998-03-27 | 1999-10-15 | Matsushita Electric Ind Co Ltd | File distribution system |
US6681266B2 (en) * | 1998-04-14 | 2004-01-20 | Dell Usa, L.P. | Late binding dynamic software configuration information |
JP3307329B2 (en) * | 1998-05-27 | 2002-07-24 | 日本電気株式会社 | Network configuration managed access system and method |
US6141778A (en) * | 1998-06-29 | 2000-10-31 | Mci Communications Corporation | Method and apparatus for automating security functions in a computer system |
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 |
US20010044850A1 (en) | 1998-07-22 | 2001-11-22 | Uri Raz | Method and apparatus for determining the order of streaming modules |
US6311221B1 (en) * | 1998-07-22 | 2001-10-30 | Appstream Inc. | Streaming modules |
US6338149B1 (en) * | 1998-07-31 | 2002-01-08 | Westinghouse Electric Company Llc | Change monitoring system for a computer system |
US6449642B2 (en) * | 1998-09-15 | 2002-09-10 | Microsoft Corporation | Method and system for integrating a client computer into a computer network |
US6272398B1 (en) * | 1998-09-21 | 2001-08-07 | Siebolt Hettinga | Processor-based process control system with intuitive programming capabilities |
US6523166B1 (en) * | 1998-09-21 | 2003-02-18 | Microsoft Corporation | Method and system for on-demand installation of software implementations |
US6532493B1 (en) * | 1998-10-29 | 2003-03-11 | Cisco Technology, Inc. | Methods and apparatus for redirecting network cache traffic |
US7028019B2 (en) | 1998-11-11 | 2006-04-11 | Wise Solutions, Inc. | Method and system of managing software conflicts in computer system that receive, processing change information to determine which files and shared resources conflict with one another |
US6324691B1 (en) * | 1998-11-12 | 2001-11-27 | Hewlett-Packard Company | Manufacture of software distribution media packages from components resident on a remote server source |
US6480818B1 (en) | 1998-11-13 | 2002-11-12 | Cray Inc. | Debugging techniques in a multithreaded environment |
US6952827B1 (en) * | 1998-11-13 | 2005-10-04 | Cray Inc. | User program and operating system interface in a multithreaded environment |
US6314471B1 (en) * | 1998-11-13 | 2001-11-06 | Cray Inc. | Techniques for an interrupt free operating system |
US6862635B1 (en) | 1998-11-13 | 2005-03-01 | Cray Inc. | Synchronization techniques in a multithreaded environment |
US6163859A (en) * | 1998-12-02 | 2000-12-19 | Support.Com, Inc. | Software vault |
US7058597B1 (en) | 1998-12-04 | 2006-06-06 | Digital River, Inc. | Apparatus and method for adaptive fraud screening for electronic commerce transactions |
US20030195974A1 (en) | 1998-12-04 | 2003-10-16 | Ronning Joel A. | Apparatus and method for scheduling of search for updates or downloads of a file |
US7617124B1 (en) | 1998-12-04 | 2009-11-10 | Digital River, Inc. | Apparatus and method for secure downloading of files |
US6266774B1 (en) | 1998-12-08 | 2001-07-24 | Mcafee.Com Corporation | Method and system for securing, managing or optimizing a personal computer |
US6665688B1 (en) * | 1998-12-23 | 2003-12-16 | Cray Inc. | Method and system for automatically regenerating data on-demand |
US6430676B1 (en) | 1998-12-23 | 2002-08-06 | Cray Inc. | Method and system for calculating instruction lookahead |
US6353829B1 (en) | 1998-12-23 | 2002-03-05 | Cray Inc. | Method and system for memory allocation in a multiprocessing environment |
US6230313B1 (en) * | 1998-12-23 | 2001-05-08 | Cray Inc. | Parallelism performance analysis based on execution trace information |
US6415433B1 (en) | 1998-12-23 | 2002-07-02 | Cray Inc. | Method and system for identifying locations to move portions of the computer program |
US6938075B1 (en) | 1998-12-24 | 2005-08-30 | Computer Associates Think, Inc. | Method and apparatus for hierarchical software distribution packages including composite packages |
US7904187B2 (en) | 1999-02-01 | 2011-03-08 | Hoffberg Steven M | Internet appliance system and method |
AU763524B2 (en) | 1999-03-02 | 2003-07-24 | Flexera Software Llc | Data file synchronisation |
US6760340B1 (en) | 1999-03-30 | 2004-07-06 | International Business Machines Corporation | Message sequencing for ordered multicasting of a message across a routing network |
US7283463B2 (en) | 1999-03-30 | 2007-10-16 | International Business Machines Corporation | Non-disruptive reconfiguration of a publish/subscribe system |
US7050432B1 (en) | 1999-03-30 | 2006-05-23 | International Busines Machines Corporation | Message logging for reliable multicasting across a routing network |
US6907011B1 (en) | 1999-03-30 | 2005-06-14 | International Business Machines Corporation | Quiescent reconfiguration of a routing network |
DE60001931T2 (en) * | 1999-04-28 | 2004-02-12 | Tranxition Corp., Beaverton | METHOD AND SYSTEM FOR AUTOMATIC TRANSLATION OF CONFIGURATION SETTINGS BETWEEN COMPUTER SYSTEMS |
GB9910164D0 (en) * | 1999-04-30 | 1999-06-30 | Hugh Symons Group Plc | The distributed management of network devices |
US6574657B1 (en) * | 1999-05-03 | 2003-06-03 | Symantec Corporation | Methods and apparatuses for file synchronization and updating using a signature list |
US6654746B1 (en) | 1999-05-03 | 2003-11-25 | Symantec Corporation | Methods and apparatuses for single-connection file synchronization workgroup file update |
US7146354B1 (en) | 1999-06-18 | 2006-12-05 | F5 Networks, Inc. | Method and system for network load balancing with a compound data structure |
US6405219B2 (en) | 1999-06-22 | 2002-06-11 | F5 Networks, Inc. | Method and system for automatically updating the version of a set of files stored on content servers |
US6938081B1 (en) * | 1999-06-30 | 2005-08-30 | Level 3 Communications, Inc. | Methods and systems for managing network infrastructure change including obtaining approval for the network infrastructure changes |
US6467088B1 (en) | 1999-06-30 | 2002-10-15 | Koninklijke Philips Electronics N.V. | Reconfiguration manager for controlling upgrades of electronic devices |
US6539425B1 (en) | 1999-07-07 | 2003-03-25 | Avaya Technology Corp. | Policy-enabled communications networks |
US7346695B1 (en) | 2002-10-28 | 2008-03-18 | F5 Networks, Inc. | System and method for performing application level persistence |
US6374300B2 (en) | 1999-07-15 | 2002-04-16 | F5 Networks, Inc. | Method and system for storing load balancing information with an HTTP cookie |
US7287084B1 (en) | 1999-07-15 | 2007-10-23 | F5 Networks, Inc. | Enabling encryption of application level persistence between a server and a client |
US7657910B1 (en) * | 1999-07-26 | 2010-02-02 | E-Cast Inc. | Distributed electronic entertainment method and apparatus |
US6446048B1 (en) | 1999-09-03 | 2002-09-03 | Intuit, Inc. | Web-based entry of financial transaction information and subsequent download of such information |
US6976165B1 (en) * | 1999-09-07 | 2005-12-13 | Emc Corporation | System and method for secure storage, transfer and retrieval of content addressable information |
DE10048942B4 (en) * | 1999-12-01 | 2008-07-03 | International Business Machines Corp. | Method and system for maintaining software over a network |
US6654748B1 (en) | 1999-12-07 | 2003-11-25 | Rwd Technologies, Inc. | Dynamic application browser and database for use therewith |
EP1107108A1 (en) * | 1999-12-09 | 2001-06-13 | Hewlett-Packard Company, A Delaware Corporation | System and method for managing the configuration of hierarchically networked data processing devices |
US7441045B2 (en) * | 1999-12-13 | 2008-10-21 | F5 Networks, Inc. | Method and system for balancing load distribution on a wide area network |
US6983315B1 (en) * | 2000-01-18 | 2006-01-03 | Wrq, Inc. | Applet embedded cross-platform caching |
AU2001234486B2 (en) * | 2000-01-18 | 2005-11-24 | Isogon Corporation | Continuous surveyor monitor |
US7395241B1 (en) | 2000-01-19 | 2008-07-01 | Intuit Inc. | Consumer-directed financial transfers using automated clearinghouse networks |
US7047301B2 (en) * | 2000-01-31 | 2006-05-16 | F5 Networks, Inc. | Method and system for enabling persistent access to virtual servers by an LDNS server |
US6529784B1 (en) | 2000-02-29 | 2003-03-04 | Caldera Systems, Inc. | Method and apparatus for monitoring computer systems and alerting users of actual or potential system errors |
US8380854B2 (en) | 2000-03-21 | 2013-02-19 | F5 Networks, Inc. | Simplified method for processing multiple connections from the same client |
US7343413B2 (en) * | 2000-03-21 | 2008-03-11 | F5 Networks, Inc. | Method and system for optimizing a network by independently scaling control segments and data flow |
US6904593B1 (en) | 2000-03-24 | 2005-06-07 | Hewlett-Packard Development Company, L.P. | Method of administering software components using asynchronous messaging in a multi-platform, multi-programming language environment |
US6728715B1 (en) | 2000-03-30 | 2004-04-27 | International Business Machines Corporation | Method and system for matching consumers to events employing content-based multicast routing using approximate groups |
US6976061B1 (en) * | 2000-05-24 | 2005-12-13 | Sun Microsystems, Inc. | Resource adapter and XML descriptor for use in a client server environment utilizing an enterprise information system |
US7159008B1 (en) | 2000-06-30 | 2007-01-02 | Immersion Corporation | Chat interface with haptic feedback functionality |
US6981252B1 (en) | 2000-07-14 | 2005-12-27 | Symantec Corporation | Method and apparatus for automatically uninstalling software on a network |
US7117436B1 (en) * | 2000-08-31 | 2006-10-03 | Oracle Corporation | Generating a Web page by replacing identifiers in a preconstructed Web page |
US20040003266A1 (en) * | 2000-09-22 | 2004-01-01 | Patchlink Corporation | Non-invasive automatic offsite patch fingerprinting and updating system and method |
US6757894B2 (en) | 2000-09-26 | 2004-06-29 | Appstream, Inc. | Preprocessed applications suitable for network streaming applications and method for producing same |
US20020087717A1 (en) | 2000-09-26 | 2002-07-04 | Itzik Artzi | Network streaming of multi-application program code |
US6963882B1 (en) * | 2000-10-02 | 2005-11-08 | International Business Machines Corporation | Method and apparatus for processing a list structure |
US6678682B1 (en) * | 2000-11-28 | 2004-01-13 | G.E. Information Services, Inc. | Method, system, and software for enterprise access management control |
US7155487B2 (en) | 2000-11-30 | 2006-12-26 | Intel Corporation | Method, system and article of manufacture for data distribution over a network |
US20020069192A1 (en) * | 2000-12-04 | 2002-06-06 | Aegerter William Charles | Modular distributed mobile data applications |
US20020069271A1 (en) * | 2000-12-06 | 2002-06-06 | Glen Tindal | Event manager for network operating system |
US7054946B2 (en) * | 2000-12-06 | 2006-05-30 | Intelliden | Dynamic configuration of network devices to enable data transfers |
US7249170B2 (en) | 2000-12-06 | 2007-07-24 | Intelliden | System and method for configuration, management and monitoring of network resources |
US8219662B2 (en) | 2000-12-06 | 2012-07-10 | International Business Machines Corporation | Redirecting data generated by network devices |
US6978301B2 (en) | 2000-12-06 | 2005-12-20 | Intelliden | System and method for configuring a network device |
US7013461B2 (en) * | 2001-01-05 | 2006-03-14 | International Business Machines Corporation | Systems and methods for service and role-based software distribution |
US6961773B2 (en) * | 2001-01-19 | 2005-11-01 | Esoft, Inc. | System and method for managing application service providers |
US7647411B1 (en) | 2001-02-26 | 2010-01-12 | Symantec Corporation | System and method for controlling distribution of network communications |
WO2002069108A2 (en) | 2001-02-26 | 2002-09-06 | Eprivacy Group, Inc. | System and method for controlling distribution of network communications |
US7150037B2 (en) * | 2001-03-21 | 2006-12-12 | Intelliden, Inc. | Network configuration manager |
GB0108924D0 (en) * | 2001-04-10 | 2001-05-30 | Ibm | Installation of a data processing solution |
US20020191014A1 (en) * | 2001-04-30 | 2002-12-19 | Hsieh Vivian G. | Graphical user interfaces for software management in an automated provisioning environment |
US7389515B1 (en) | 2001-05-21 | 2008-06-17 | Microsoft Corporation | Application deflation system and method |
US7243346B1 (en) * | 2001-05-21 | 2007-07-10 | Microsoft Corporation | Customized library management system |
US7162543B2 (en) * | 2001-06-06 | 2007-01-09 | Sap Ag | Process for synchronizing data between remotely located devices and a central computer system |
EP1405199A4 (en) * | 2001-06-11 | 2007-08-15 | Totalecare Inc | Apparatus, method, and article of manufacture for managing changes on a compute infrastructure |
EP1410196B1 (en) * | 2001-06-22 | 2019-08-07 | AVEVA Software, LLC | Installing supervisory process control and manufacturing software from a remote location and maintaining configuration data links in a run-time environment |
US7111249B2 (en) * | 2001-07-09 | 2006-09-19 | Wildtangent, Inc. | Communication and/or transaction with client through active management of a client menu hierarchy |
US8296400B2 (en) | 2001-08-29 | 2012-10-23 | International Business Machines Corporation | System and method for generating a configuration schema |
US7200548B2 (en) * | 2001-08-29 | 2007-04-03 | Intelliden | System and method for modeling a network device's configuration |
EP1367655A4 (en) * | 2001-09-03 | 2009-05-06 | Panasonic Corp | Semiconductor light emitting device, light emitting apparatus and production method for semiconductor light emitting device |
US7559059B2 (en) * | 2001-09-21 | 2009-07-07 | Bea Systems, Inc. | Method and apparatus for smart directories for application deployment |
EP1300761A1 (en) * | 2001-10-04 | 2003-04-09 | Brendan Tschabold | Methods for upgrading or updating data and software on computers |
US20030069960A1 (en) * | 2001-10-04 | 2003-04-10 | Symons Julie A. | Method for describing and comparing data center physical and logical topologies and device configurations |
US20030079053A1 (en) * | 2001-10-23 | 2003-04-24 | Kevin Burns | System and method for evaluating effectiveness of network configuration management tools |
US7251812B1 (en) * | 2001-10-31 | 2007-07-31 | Microsoft Corporation | Dynamic software update |
US20030088654A1 (en) * | 2001-11-02 | 2003-05-08 | Gordon Good | Directory server schema replication |
US7065562B2 (en) * | 2001-11-26 | 2006-06-20 | Intelliden, Inc. | System and method for generating a representation of a configuration schema |
US20030110371A1 (en) * | 2001-12-08 | 2003-06-12 | Yongzhi Yang | Methods and apparatus for storing, updating, transporting, and launching personalized computer settings and applications |
US8108687B2 (en) | 2001-12-12 | 2012-01-31 | Valve Corporation | Method and system for granting access to system and content |
US7243226B2 (en) * | 2001-12-12 | 2007-07-10 | Valve Corporation | Method and system for enabling content security in a distributed system |
US6996817B2 (en) * | 2001-12-12 | 2006-02-07 | Valve Corporation | Method and system for upgrading and rolling back versions |
US7392390B2 (en) | 2001-12-12 | 2008-06-24 | Valve Corporation | Method and system for binding kerberos-style authenticators to single clients |
US7290040B2 (en) * | 2001-12-12 | 2007-10-30 | Valve Corporation | Method and system for load balancing an authentication system |
US7373406B2 (en) | 2001-12-12 | 2008-05-13 | Valve Corporation | Method and system for effectively communicating file properties and directory structures in a distributed file system |
AU2002360844A1 (en) * | 2001-12-31 | 2003-07-24 | Citadel Security Software Inc. | Automated computer vulnerability resolution system |
US7543056B2 (en) | 2002-01-15 | 2009-06-02 | Mcafee, Inc. | System and method for network vulnerability detection and reporting |
US7257630B2 (en) | 2002-01-15 | 2007-08-14 | Mcafee, Inc. | System and method for network vulnerability detection and reporting |
US7243148B2 (en) | 2002-01-15 | 2007-07-10 | Mcafee, Inc. | System and method for network vulnerability detection and reporting |
US8166185B2 (en) * | 2002-03-05 | 2012-04-24 | Hewlett-Packard Development Company, L.P. | System and method for enterprise software distribution |
US6983449B2 (en) | 2002-03-15 | 2006-01-03 | Electronic Data Systems Corporation | System and method for configuring software for distribution |
US7590618B2 (en) * | 2002-03-25 | 2009-09-15 | Hewlett-Packard Development Company, L.P. | System and method for providing location profile data for network nodes |
US20030192039A1 (en) * | 2002-04-05 | 2003-10-09 | Mcconnell Richard G. | Configuration management system & method |
CA2481712C (en) | 2002-04-11 | 2011-07-12 | International Business Machines Corporation | A software distribution method and system |
KR20040101538A (en) * | 2002-04-19 | 2004-12-02 | 컴퓨터 어소시에이츠 싱크, 인코포레이티드 | Method and system for managing a computer system |
US6959329B2 (en) * | 2002-05-15 | 2005-10-25 | Intelliden | System and method for transforming configuration commands |
US20040003067A1 (en) * | 2002-06-27 | 2004-01-01 | Daniel Ferrin | System and method for enabling a user interface with GUI meta data |
US7464145B2 (en) | 2002-07-11 | 2008-12-09 | Intelliden, Inc. | Repository-independent system and method for asset management and reconciliation |
GB0217839D0 (en) * | 2002-08-01 | 2002-09-11 | Ibm | Installation of a data processing solution |
US7454529B2 (en) | 2002-08-02 | 2008-11-18 | Netapp, Inc. | Protectable data storage system and a method of protecting and/or managing a data storage system |
US7366893B2 (en) | 2002-08-07 | 2008-04-29 | Intelliden, Inc. | Method and apparatus for protecting a network from attack |
US7007023B2 (en) * | 2002-08-27 | 2006-02-28 | International Business Machines Corporation | Method for flagging differences in resource attributes across multiple database and transaction systems |
US7882081B2 (en) * | 2002-08-30 | 2011-02-01 | Netapp, Inc. | Optimized disk repository for the storage and retrieval of mostly sequential data |
US7437387B2 (en) | 2002-08-30 | 2008-10-14 | Netapp, Inc. | Method and system for providing a file system overlay |
US7430755B1 (en) | 2002-09-03 | 2008-09-30 | Fs Networks, Inc. | Method and system for providing persistence in a secure network access |
US7370092B2 (en) * | 2002-09-12 | 2008-05-06 | Computer Sciences Corporation | System and method for enhanced software updating and revision |
US7558847B2 (en) | 2002-09-13 | 2009-07-07 | Intelliden, Inc. | System and method for mapping between and controlling different device abstractions |
US8024172B2 (en) | 2002-12-09 | 2011-09-20 | Netapp, Inc. | Method and system for emulating tape libraries |
US7567993B2 (en) | 2002-12-09 | 2009-07-28 | Netapp, Inc. | Method and system for creating and using removable disk based copies of backup data |
US20050251546A1 (en) * | 2002-12-11 | 2005-11-10 | International Business Machines Corporation | Method and system for configuring processing entities according to their roles in a data processing system with a distributed architecture |
US6976133B1 (en) * | 2002-12-13 | 2005-12-13 | Bmc Software, Inc. | System and method for updating devices using limited amounts of random access memory |
US20040117437A1 (en) * | 2002-12-16 | 2004-06-17 | Exanet, Co. | Method for efficient storing of sparse files in a distributed cache |
US7627891B2 (en) | 2003-02-14 | 2009-12-01 | Preventsys, Inc. | Network audit and policy assurance system |
US7624422B2 (en) | 2003-02-14 | 2009-11-24 | Preventsys, Inc. | System and method for security information normalization |
US6973369B2 (en) | 2003-03-12 | 2005-12-06 | Alacritus, Inc. | System and method for virtual vaulting |
US20040186903A1 (en) * | 2003-03-20 | 2004-09-23 | Bernd Lambertz | Remote support of an IT infrastructure |
US7373519B1 (en) | 2003-04-09 | 2008-05-13 | Symantec Corporation | Distinguishing legitimate modifications from malicious modifications during executable computer file modification analysis |
CA2465151A1 (en) | 2003-04-16 | 2004-10-16 | Novadigm, Inc. | Method and system for patch management |
US20040225282A1 (en) * | 2003-05-09 | 2004-11-11 | Ness Anton P. | Method and articles for assuring appropriate surgery |
US7437492B2 (en) | 2003-05-14 | 2008-10-14 | Netapp, Inc | Method and system for data compression and compression estimation in a virtual tape library environment |
JP2004355125A (en) * | 2003-05-27 | 2004-12-16 | Pioneer Electronic Corp | Software update processing device, system, its method and program, and recording medium with the program recorded thereon |
JP2004362144A (en) * | 2003-06-03 | 2004-12-24 | Hitachi Ltd | Method for managing operation, execution device, and processing program |
US7603464B2 (en) * | 2003-06-04 | 2009-10-13 | Sony Computer Entertainment Inc. | Method and system for identifying available resources in a peer-to-peer network |
US20040250247A1 (en) * | 2003-06-09 | 2004-12-09 | Sun Microsystems, Inc. | Extensible software installation and configuration framework |
US7804609B2 (en) * | 2003-11-07 | 2010-09-28 | Desktop Standard Corporation | Methods and systems to connect network printers |
US8713544B1 (en) | 2003-11-25 | 2014-04-29 | Symantec Corporation | Universal data-driven computer proxy |
US8381207B2 (en) * | 2003-12-02 | 2013-02-19 | International Business Machines Corporation | Script generation engine and mapping semantic models for target platform |
JP2005242981A (en) * | 2004-01-28 | 2005-09-08 | Seiko Epson Corp | Service providing system, apparatus, program, and method, and application management system, application management program and method, and storage medium |
US7325159B2 (en) | 2004-02-04 | 2008-01-29 | Network Appliance, Inc. | Method and system for data recovery in a continuous data protection system |
US7904679B2 (en) | 2004-02-04 | 2011-03-08 | Netapp, Inc. | Method and apparatus for managing backup data |
US7490103B2 (en) | 2004-02-04 | 2009-02-10 | Netapp, Inc. | Method and system for backing up data |
US7426617B2 (en) | 2004-02-04 | 2008-09-16 | Network Appliance, Inc. | Method and system for synchronizing volumes in a continuous data protection system |
US7406488B2 (en) | 2004-02-04 | 2008-07-29 | Netapp | Method and system for maintaining data in a continuous data protection system |
US7783606B2 (en) | 2004-02-04 | 2010-08-24 | Netapp, Inc. | Method and system for remote data recovery |
US7315965B2 (en) * | 2004-02-04 | 2008-01-01 | Network Appliance, Inc. | Method and system for storing data using a continuous data protection system |
US7559088B2 (en) | 2004-02-04 | 2009-07-07 | Netapp, Inc. | Method and apparatus for deleting data upon expiration |
US7720817B2 (en) | 2004-02-04 | 2010-05-18 | Netapp, Inc. | Method and system for browsing objects on a protected volume in a continuous data protection system |
US7467378B1 (en) | 2004-02-09 | 2008-12-16 | Symantec Corporation | System state rollback after modification failure |
US7853609B2 (en) * | 2004-03-12 | 2010-12-14 | Microsoft Corporation | Update distribution system architecture and method for distributing software |
US8201257B1 (en) | 2004-03-31 | 2012-06-12 | Mcafee, Inc. | System and method of managing network security risks |
US7519954B1 (en) | 2004-04-08 | 2009-04-14 | Mcafee, Inc. | System and method of operating system identification |
WO2005120102A1 (en) * | 2004-05-19 | 2005-12-15 | Wurld Media, Inc. | Dynamic connection structure topologies and methods for facilitating the peer-to-peer transfer of digital files |
US7496910B2 (en) * | 2004-05-21 | 2009-02-24 | Desktopstandard Corporation | System for policy-based management of software updates |
CN100343803C (en) * | 2004-07-26 | 2007-10-17 | 国际商业机器公司 | Method and syste mfor transplanting prsonalized computation environment from source platform to target platform |
US8028135B1 (en) | 2004-09-01 | 2011-09-27 | Netapp, Inc. | Method and apparatus for maintaining compliant storage |
US7711835B2 (en) | 2004-09-30 | 2010-05-04 | Citrix Systems, Inc. | Method and apparatus for reducing disclosure of proprietary data in a networked environment |
US8099482B2 (en) * | 2004-10-01 | 2012-01-17 | E-Cast Inc. | Prioritized content download for an entertainment device |
US7689999B2 (en) * | 2004-12-01 | 2010-03-30 | Bea Systems, Inc. | Sharing dynamically changing resources in software systems |
US7526620B1 (en) | 2004-12-14 | 2009-04-28 | Netapp, Inc. | Disk sanitization in an active file system |
US7581118B2 (en) | 2004-12-14 | 2009-08-25 | Netapp, Inc. | Disk sanitization using encryption |
US7558839B1 (en) | 2004-12-14 | 2009-07-07 | Netapp, Inc. | Read-after-write verification for improved write-once-read-many data storage |
US7774610B2 (en) | 2004-12-14 | 2010-08-10 | Netapp, Inc. | Method and apparatus for verifiably migrating WORM data |
US7934215B2 (en) * | 2005-01-12 | 2011-04-26 | Microsoft Corporation | Smart scheduler |
US20090124372A1 (en) * | 2005-04-29 | 2009-05-14 | Gagner Mark B | Asset management of downloadable gaming components in a gaming system |
US9110985B2 (en) | 2005-05-10 | 2015-08-18 | Neetseer, Inc. | Generating a conceptual association graph from large-scale loosely-grouped content |
US7958120B2 (en) * | 2005-05-10 | 2011-06-07 | Netseer, Inc. | Method and apparatus for distributed community finding |
US7293170B2 (en) | 2005-06-06 | 2007-11-06 | Tranxition Corporation | Changing the personality of a device by intercepting requests for personality information |
US8250137B1 (en) * | 2005-09-19 | 2012-08-21 | Apple Inc. | Peer to peer component distribution |
US7401198B2 (en) | 2005-10-06 | 2008-07-15 | Netapp | Maximizing storage system throughput by measuring system performance metrics |
JP4402033B2 (en) * | 2005-11-17 | 2010-01-20 | コニカミノルタエムジー株式会社 | Information processing system |
WO2007084616A2 (en) | 2006-01-18 | 2007-07-26 | Ilial, Inc. | System and method for context-based knowledge search, tagging, collaboration, management and advertisement |
WO2007084778A2 (en) | 2006-01-19 | 2007-07-26 | Llial, Inc. | Systems and methods for creating, navigating and searching informational web neighborhoods |
US7752401B2 (en) | 2006-01-25 | 2010-07-06 | Netapp, Inc. | Method and apparatus to automatically commit files to WORM status |
US20070226536A1 (en) * | 2006-02-06 | 2007-09-27 | Crawford Timothy J | Apparatus, system, and method for information validation in a heirarchical structure |
WO2007100923A2 (en) * | 2006-02-28 | 2007-09-07 | Ilial, Inc. | Methods and apparatus for visualizing, managing, monetizing and personalizing knowledge search results on a user interface |
US7644308B2 (en) * | 2006-03-06 | 2010-01-05 | Hewlett-Packard Development Company, L.P. | Hierarchical timestamps |
US8185576B2 (en) | 2006-03-14 | 2012-05-22 | Altnet, Inc. | Filter for a distributed network |
US20070244897A1 (en) * | 2006-04-18 | 2007-10-18 | David Voskuil | Methods and systems for change management for a group policy environment |
US7650533B1 (en) | 2006-04-20 | 2010-01-19 | Netapp, Inc. | Method and system for performing a restoration in a continuous data protection system |
US8429642B1 (en) * | 2006-06-13 | 2013-04-23 | Trend Micro Incorporated | Viral updating of software based on neighbor software information |
US8566452B1 (en) | 2006-08-03 | 2013-10-22 | F5 Networks, Inc. | Intelligent HTTP based load-balancing, persistence, and application traffic management of SSL VPN tunnels |
US7567984B1 (en) * | 2006-08-31 | 2009-07-28 | Symantec Operating Corporation | Operating system and application deployment based on stored user state and organizational policy |
US8042090B2 (en) * | 2006-09-29 | 2011-10-18 | Sap Ag | Integrated configuration of cross organizational business processes |
TW200834446A (en) | 2006-10-11 | 2008-08-16 | Visa Int Service Ass | Method and system for processing micropayment transactions |
US10068220B2 (en) | 2006-10-11 | 2018-09-04 | Visa International Service Association | Systems and methods for brokered authentication express seller links |
US8234641B2 (en) | 2006-10-17 | 2012-07-31 | Managelq, Inc. | Compliance-based adaptations in managed virtual systems |
US8612971B1 (en) | 2006-10-17 | 2013-12-17 | Manageiq, Inc. | Automatic optimization for virtual systems |
US8234640B1 (en) | 2006-10-17 | 2012-07-31 | Manageiq, Inc. | Compliance-based adaptations in managed virtual systems |
US9015703B2 (en) | 2006-10-17 | 2015-04-21 | Manageiq, Inc. | Enforcement of compliance policies in managed virtual systems |
US8458695B2 (en) * | 2006-10-17 | 2013-06-04 | Manageiq, Inc. | Automatic optimization for virtual systems |
US8949826B2 (en) | 2006-10-17 | 2015-02-03 | Managelq, Inc. | Control and management of virtual systems |
US9086917B1 (en) | 2006-10-17 | 2015-07-21 | Manageiq, Inc. | Registering and accessing virtual systems for use in a managed system |
US8949825B1 (en) | 2006-10-17 | 2015-02-03 | Manageiq, Inc. | Enforcement of compliance policies in managed virtual systems |
US9697019B1 (en) | 2006-10-17 | 2017-07-04 | Manageiq, Inc. | Adapt a virtual machine to comply with system enforced policies and derive an optimized variant of the adapted virtual machine |
US9038062B2 (en) | 2006-10-17 | 2015-05-19 | Manageiq, Inc. | Registering and accessing virtual systems for use in a managed system |
US8752045B2 (en) * | 2006-10-17 | 2014-06-10 | Manageiq, Inc. | Methods and apparatus for using tags to control and manage assets |
US9817902B2 (en) | 2006-10-27 | 2017-11-14 | Netseer Acquisition, Inc. | Methods and apparatus for matching relevant content to user intention |
US8438560B2 (en) * | 2006-11-07 | 2013-05-07 | Hewlett-Packard Development Company, L.P. | Resource assessment method and system |
US20080114748A1 (en) * | 2006-11-13 | 2008-05-15 | Richard Varner | Peer review system and method therefor |
US8799854B2 (en) * | 2007-01-22 | 2014-08-05 | International Business Machines Corporation | Reusing software development assets |
US8161473B2 (en) | 2007-02-01 | 2012-04-17 | Microsoft Corporation | Dynamic software fingerprinting |
US20100174692A1 (en) * | 2007-03-15 | 2010-07-08 | Scott Meyer | Graph store |
US8204856B2 (en) * | 2007-03-15 | 2012-06-19 | Google Inc. | Database replication |
US20100121839A1 (en) * | 2007-03-15 | 2010-05-13 | Scott Meyer | Query optimization |
US20090024590A1 (en) * | 2007-03-15 | 2009-01-22 | Sturge Timothy | User contributed knowledge database |
US8315652B2 (en) | 2007-05-18 | 2012-11-20 | Immersion Corporation | Haptically enabled messaging |
US8762984B2 (en) * | 2007-05-31 | 2014-06-24 | Microsoft Corporation | Content distribution infrastructure |
US8146098B2 (en) * | 2007-09-07 | 2012-03-27 | Manageiq, Inc. | Method and apparatus for interfacing with a computer user via virtual thumbnails |
US8418173B2 (en) | 2007-11-27 | 2013-04-09 | Manageiq, Inc. | Locating an unauthorized virtual machine and bypassing locator code by adjusting a boot pointer of a managed virtual machine in authorized environment |
US8407688B2 (en) | 2007-11-27 | 2013-03-26 | Managelq, Inc. | Methods and apparatus for storing and transmitting historical configuration data associated with information technology assets |
US8560593B2 (en) * | 2008-03-27 | 2013-10-15 | Dell Software Inc. | System for provisioning, allocating, and managing virtual and physical desktop computers in a network computing environment |
US8806053B1 (en) | 2008-04-29 | 2014-08-12 | F5 Networks, Inc. | Methods and systems for optimizing network traffic using preemptive acknowledgment signals |
US10387892B2 (en) * | 2008-05-06 | 2019-08-20 | Netseer, Inc. | Discovering relevant concept and context for content node |
US8533797B2 (en) | 2008-06-12 | 2013-09-10 | Microsoft Corporation | Using windows authentication in a workgroup to manage application users |
US7975025B1 (en) | 2008-07-08 | 2011-07-05 | F5 Networks, Inc. | Smart prefetching of data over a network |
US8566444B1 (en) | 2008-10-30 | 2013-10-22 | F5 Networks, Inc. | Methods and system for simultaneous multiple rules checking |
US8417695B2 (en) * | 2008-10-30 | 2013-04-09 | Netseer, Inc. | Identifying related concepts of URLs and domain names |
US7827108B2 (en) * | 2008-11-21 | 2010-11-02 | Visa U.S.A. Inc. | System and method of validating a relationship between a user and a user account at a financial institution |
JP5168112B2 (en) * | 2008-12-02 | 2013-03-21 | 富士通株式会社 | Patch application device, patch application method, and patch application program |
US20110093500A1 (en) * | 2009-01-21 | 2011-04-21 | Google Inc. | Query Optimization |
US8925034B1 (en) | 2009-06-30 | 2014-12-30 | Symantec Corporation | Data protection requirements specification and migration |
US8387047B1 (en) | 2009-08-03 | 2013-02-26 | Symantec Corporation | Method of virtualizing file extensions in a computer system by determining an association between applications in virtual environment and a file extension |
US8352937B2 (en) * | 2009-08-03 | 2013-01-08 | Symantec Corporation | Streaming an application install package into a virtual environment |
US8090744B1 (en) | 2009-08-26 | 2012-01-03 | Symantec Operating Corporation | Method and apparatus for determining compatibility between a virtualized application and a base environment |
US8473444B1 (en) | 2009-08-28 | 2013-06-25 | Symantec Corporation | Management of actions in multiple virtual and non-virtual environments |
US8438555B1 (en) | 2009-08-31 | 2013-05-07 | Symantec Corporation | Method of using an encapsulated data signature for virtualization layer activation |
US8458310B1 (en) | 2009-09-14 | 2013-06-04 | Symantec Corporation | Low bandwidth streaming of application upgrades |
US10157280B2 (en) | 2009-09-23 | 2018-12-18 | F5 Networks, Inc. | System and method for identifying security breach attempts of a website |
US8676639B2 (en) | 2009-10-29 | 2014-03-18 | Visa International Service Association | System and method for promotion processing and authorization |
US8280788B2 (en) | 2009-10-29 | 2012-10-02 | Visa International Service Association | Peer-to-peer and group financial management systems and methods |
US9313047B2 (en) | 2009-11-06 | 2016-04-12 | F5 Networks, Inc. | Handling high throughput and low latency network data packets in a traffic management device |
US8868961B1 (en) | 2009-11-06 | 2014-10-21 | F5 Networks, Inc. | Methods for acquiring hyper transport timing and devices thereof |
US10721269B1 (en) | 2009-11-06 | 2020-07-21 | F5 Networks, Inc. | Methods and system for returning requests with javascript for clients before passing a request to a server |
US8566297B1 (en) | 2010-01-14 | 2013-10-22 | Symantec Corporation | Method to spoof data formats from image backups |
US8290912B1 (en) | 2010-01-29 | 2012-10-16 | Symantec Corporation | Endpoint virtualization aware backup |
US8775245B2 (en) | 2010-02-11 | 2014-07-08 | News America Marketing Properties, Llc | Secure coupon distribution |
JP5527027B2 (en) * | 2010-06-04 | 2014-06-18 | 富士通株式会社 | Schema definition generation device, schema definition generation method, and schema definition generation program |
US9218135B2 (en) | 2010-06-16 | 2015-12-22 | Microsoft Technology Licensing, Llc | Hierarchical allocation for file system storage device |
US9141625B1 (en) | 2010-06-22 | 2015-09-22 | F5 Networks, Inc. | Methods for preserving flow state during virtual machine migration and devices thereof |
US10015286B1 (en) | 2010-06-23 | 2018-07-03 | F5 Networks, Inc. | System and method for proxying HTTP single sign on across network domains |
JP2012008871A (en) * | 2010-06-25 | 2012-01-12 | Ricoh Co Ltd | Equipment management apparatus, equipment management method, and equipment management program |
US8706854B2 (en) * | 2010-06-30 | 2014-04-22 | Raytheon Company | System and method for organizing, managing and running enterprise-wide scans |
US8908545B1 (en) | 2010-07-08 | 2014-12-09 | F5 Networks, Inc. | System and method for handling TCP performance in network access with driver initiated application tunnel |
US8347100B1 (en) | 2010-07-14 | 2013-01-01 | F5 Networks, Inc. | Methods for DNSSEC proxying and deployment amelioration and systems thereof |
US8495625B1 (en) | 2010-07-27 | 2013-07-23 | Symantec Corporation | Method and system for creation of streamed files on-demand |
US9083760B1 (en) | 2010-08-09 | 2015-07-14 | F5 Networks, Inc. | Dynamic cloning and reservation of detached idle connections |
US8630174B1 (en) | 2010-09-14 | 2014-01-14 | F5 Networks, Inc. | System and method for post shaping TCP packetization |
US8886981B1 (en) | 2010-09-15 | 2014-11-11 | F5 Networks, Inc. | Systems and methods for idle driven scheduling |
US8463909B1 (en) | 2010-09-15 | 2013-06-11 | F5 Networks, Inc. | Systems and methods for managing server resources |
US8804504B1 (en) | 2010-09-16 | 2014-08-12 | F5 Networks, Inc. | System and method for reducing CPU load in processing PPP packets on a SSL-VPN tunneling device |
US9880836B2 (en) | 2010-10-26 | 2018-01-30 | Hewlett Packard Enterprise Development Lp | System and method for deploying a software program |
US9554276B2 (en) | 2010-10-29 | 2017-01-24 | F5 Networks, Inc. | System and method for on the fly protocol conversion in obtaining policy enforcement information |
US8959571B2 (en) | 2010-10-29 | 2015-02-17 | F5 Networks, Inc. | Automated policy builder |
US8627467B2 (en) | 2011-01-14 | 2014-01-07 | F5 Networks, Inc. | System and method for selectively storing web objects in a cache memory based on policy decisions |
US10135831B2 (en) | 2011-01-28 | 2018-11-20 | F5 Networks, Inc. | System and method for combining an access control system with a traffic management system |
US9246819B1 (en) | 2011-06-20 | 2016-01-26 | F5 Networks, Inc. | System and method for performing message-based load balancing |
US8959425B2 (en) | 2011-12-09 | 2015-02-17 | Microsoft Corporation | Inference-based extension activation |
US9270766B2 (en) | 2011-12-30 | 2016-02-23 | F5 Networks, Inc. | Methods for identifying network traffic characteristics to correlate and manage one or more subsequent flows and devices thereof |
US9679163B2 (en) * | 2012-01-17 | 2017-06-13 | Microsoft Technology Licensing, Llc | Installation and management of client extensions |
US9256445B2 (en) | 2012-01-30 | 2016-02-09 | Microsoft Technology Licensing, Llc | Dynamic extension view with multiple levels of expansion |
US9449112B2 (en) | 2012-01-30 | 2016-09-20 | Microsoft Technology Licensing, Llc | Extension activation for related documents |
US10230566B1 (en) | 2012-02-17 | 2019-03-12 | F5 Networks, Inc. | Methods for dynamically constructing a service principal name and devices thereof |
US9231879B1 (en) | 2012-02-20 | 2016-01-05 | F5 Networks, Inc. | Methods for policy-based network traffic queue management and devices thereof |
US9172753B1 (en) | 2012-02-20 | 2015-10-27 | F5 Networks, Inc. | Methods for optimizing HTTP header based authentication and devices thereof |
EP2853074B1 (en) | 2012-04-27 | 2021-03-24 | F5 Networks, Inc | Methods for optimizing service of content requests and devices thereof |
US9338095B2 (en) | 2012-05-01 | 2016-05-10 | F5 Networks, Inc. | Data flow segment optimized for hot flows |
US9154423B1 (en) | 2012-05-01 | 2015-10-06 | F5 Networks, Inc. | Minimize SYN-flood issues with flow cache while maintaining performance |
US9525632B1 (en) | 2012-05-01 | 2016-12-20 | F5 Networks, Inc. | Minimize recycle SYN issues for split TCP hot flows to improve system reliability and performance |
US9203771B1 (en) | 2012-07-23 | 2015-12-01 | F5 Networks, Inc. | Hot service flow hardware offloads based on service priority and resource usage |
US9766873B2 (en) | 2012-08-17 | 2017-09-19 | Tripwire, Inc. | Operating system patching and software update reconciliation |
US10311085B2 (en) | 2012-08-31 | 2019-06-04 | Netseer, Inc. | Concept-level user intent profile extraction and applications |
US9003086B1 (en) | 2012-10-27 | 2015-04-07 | Twitter, Inc. | Dynamic distribution of replicated data |
US10375155B1 (en) | 2013-02-19 | 2019-08-06 | F5 Networks, Inc. | System and method for achieving hardware acceleration for asymmetric flow connections |
US9880776B1 (en) | 2013-02-22 | 2018-01-30 | Veritas Technologies Llc | Content-driven data protection method for multiple storage devices |
US10223637B1 (en) | 2013-05-30 | 2019-03-05 | Google Llc | Predicting accuracy of submitted data |
US20150032648A1 (en) * | 2013-07-23 | 2015-01-29 | Healthcare Compliance Pros, Inc. | Customizing informational modules that are distributed hierarchically |
US10187317B1 (en) | 2013-11-15 | 2019-01-22 | F5 Networks, Inc. | Methods for traffic rate control and devices thereof |
US10015143B1 (en) | 2014-06-05 | 2018-07-03 | F5 Networks, Inc. | Methods for securing one or more license entitlement grants and devices thereof |
US11838851B1 (en) | 2014-07-15 | 2023-12-05 | F5, Inc. | Methods for managing L7 traffic classification and devices thereof |
US10122630B1 (en) | 2014-08-15 | 2018-11-06 | F5 Networks, Inc. | Methods for network traffic presteering and devices thereof |
US10182013B1 (en) | 2014-12-01 | 2019-01-15 | F5 Networks, Inc. | Methods for managing progressive image delivery and devices thereof |
US11895138B1 (en) | 2015-02-02 | 2024-02-06 | F5, Inc. | Methods for improving web scanner accuracy and devices thereof |
US10834065B1 (en) | 2015-03-31 | 2020-11-10 | F5 Networks, Inc. | Methods for SSL protected NTLM re-authentication and devices thereof |
US11350254B1 (en) | 2015-05-05 | 2022-05-31 | F5, Inc. | Methods for enforcing compliance policies and devices thereof |
US10505818B1 (en) | 2015-05-05 | 2019-12-10 | F5 Networks. Inc. | Methods for analyzing and load balancing based on server health and devices thereof |
US11757946B1 (en) | 2015-12-22 | 2023-09-12 | F5, Inc. | Methods for analyzing network traffic and enforcing network policies and devices thereof |
US10404698B1 (en) | 2016-01-15 | 2019-09-03 | F5 Networks, Inc. | Methods for adaptive organization of web application access points in webtops and devices thereof |
US10797888B1 (en) | 2016-01-20 | 2020-10-06 | F5 Networks, Inc. | Methods for secured SCEP enrollment for client devices and devices thereof |
US11178150B1 (en) | 2016-01-20 | 2021-11-16 | F5 Networks, Inc. | Methods for enforcing access control list based on managed application and devices thereof |
US10791088B1 (en) | 2016-06-17 | 2020-09-29 | F5 Networks, Inc. | Methods for disaggregating subscribers via DHCP address translation and devices thereof |
US11063758B1 (en) | 2016-11-01 | 2021-07-13 | F5 Networks, Inc. | Methods for facilitating cipher selection and devices thereof |
US10505792B1 (en) | 2016-11-02 | 2019-12-10 | F5 Networks, Inc. | Methods for facilitating network traffic analytics and devices thereof |
US11496438B1 (en) | 2017-02-07 | 2022-11-08 | F5, Inc. | Methods for improved network security using asymmetric traffic delivery and devices thereof |
US10791119B1 (en) | 2017-03-14 | 2020-09-29 | F5 Networks, Inc. | Methods for temporal password injection and devices thereof |
US10812266B1 (en) | 2017-03-17 | 2020-10-20 | F5 Networks, Inc. | Methods for managing security tokens based on security violations and devices thereof |
US10931662B1 (en) | 2017-04-10 | 2021-02-23 | F5 Networks, Inc. | Methods for ephemeral authentication screening and devices thereof |
US10972453B1 (en) | 2017-05-03 | 2021-04-06 | F5 Networks, Inc. | Methods for token refreshment based on single sign-on (SSO) for federated identity environments and devices thereof |
US11343237B1 (en) | 2017-05-12 | 2022-05-24 | F5, Inc. | Methods for managing a federated identity environment using security and access control data and devices thereof |
US11122042B1 (en) | 2017-05-12 | 2021-09-14 | F5 Networks, Inc. | Methods for dynamically managing user access control and devices thereof |
US11658995B1 (en) | 2018-03-20 | 2023-05-23 | F5, Inc. | Methods for dynamically mitigating network attacks and devices thereof |
US11044200B1 (en) | 2018-07-06 | 2021-06-22 | F5 Networks, Inc. | Methods for service stitching using a packet header and devices thereof |
US11132185B2 (en) | 2018-08-07 | 2021-09-28 | Microsoft Technology Licensing, Llc | Embedding of multiple versions in monolithic applications during compilation |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4780821A (en) * | 1986-07-29 | 1988-10-25 | International Business Machines Corp. | Method for multiple programs management within a network having a server computer and a plurality of remote computers |
US4951192A (en) * | 1987-06-04 | 1990-08-21 | Apollo Computer, Inc. | Device for managing software configurations in parallel in a network |
US5247683A (en) * | 1990-06-28 | 1993-09-21 | International Business Machines Corporation | System and method for installing software and updating configuration files |
US5263164A (en) * | 1991-01-09 | 1993-11-16 | Verifone, Inc. | Method and structure for determining transaction system hardware and software configurations |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4558413A (en) | 1983-11-21 | 1985-12-10 | Xerox Corporation | Software version management system |
US5155847A (en) | 1988-08-03 | 1992-10-13 | Minicom Data Corporation | Method and apparatus for updating software at remote locations |
US5282273A (en) * | 1989-03-15 | 1994-01-25 | Hitachi, Ltd. | Enterprise information system having three level hierarchy of data bases and communication paths |
WO1991002313A1 (en) * | 1989-08-03 | 1991-02-21 | International Business Machines Corporation | Data processing network |
US5473772A (en) | 1991-04-02 | 1995-12-05 | International Business Machines Corporation | Automatic update of static and dynamic files at a remote network node in response to calls issued by or for application programs |
JP3190028B2 (en) * | 1989-11-30 | 2001-07-16 | 富士通株式会社 | System resource management device |
JPH04280342A (en) * | 1991-03-08 | 1992-10-06 | Toshiba Corp | Program management method for work station computer |
US5649204A (en) * | 1991-08-22 | 1997-07-15 | Rec Software, Inc. | Method and apparatus for consolidating software module linkage information used for starting a multi-module program |
US5619716A (en) * | 1991-11-05 | 1997-04-08 | Hitachi, Ltd. | Information processing system having a configuration management system for managing the software of the information processing system |
US5586322A (en) | 1992-06-11 | 1996-12-17 | Beck; Robert E. | Workgroup organized network manager with workstation comparison system |
US5432941A (en) * | 1992-10-13 | 1995-07-11 | Microsoft Corporation | Method and system for dynamically configuring a software system using configuration groups |
US5325527A (en) * | 1993-01-19 | 1994-06-28 | Canon Information Systems, Inc. | Client/server communication system utilizing a self-generating nodal network |
-
1994
- 1994-04-29 WO PCT/US1994/004499 patent/WO1994025913A2/en active Application Filing
- 1994-05-02 WO PCT/US1994/004896 patent/WO1994025924A1/en active IP Right Grant
- 1994-05-02 WO PCT/US1994/004504 patent/WO1994025923A1/en active Application Filing
- 1994-05-02 JP JP52464694A patent/JP3466193B2/en not_active Expired - Fee Related
- 1994-05-02 AT AT94916651T patent/ATE156282T1/en not_active IP Right Cessation
- 1994-05-02 EP EP94916651A patent/EP0696368B1/en not_active Expired - Lifetime
- 1994-05-02 CA CA002160907A patent/CA2160907A1/en not_active Abandoned
- 1994-05-02 US US08/237,498 patent/US5581764A/en not_active Expired - Lifetime
- 1994-05-02 DE DE69404647T patent/DE69404647T2/en not_active Expired - Lifetime
-
1997
- 1997-11-26 US US08/979,083 patent/US6292889B1/en not_active Expired - Lifetime
-
2001
- 2001-05-29 US US09/870,048 patent/US20010034829A1/en not_active Abandoned
- 2001-12-04 US US10/006,261 patent/US6915451B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4780821A (en) * | 1986-07-29 | 1988-10-25 | International Business Machines Corp. | Method for multiple programs management within a network having a server computer and a plurality of remote computers |
US4951192A (en) * | 1987-06-04 | 1990-08-21 | Apollo Computer, Inc. | Device for managing software configurations in parallel in a network |
US5247683A (en) * | 1990-06-28 | 1993-09-21 | International Business Machines Corporation | System and method for installing software and updating configuration files |
US5263164A (en) * | 1991-01-09 | 1993-11-16 | Verifone, Inc. | Method and structure for determining transaction system hardware and software configurations |
Non-Patent Citations (2)
Title |
---|
1988 IEEE, CARL W. SYMBORSKI, "Updating Software and Configuration Data in a Distributed Communications Network", pages 331-337. * |
IEEE SPECTRUM, April 1992, L. BROOKS HICKERSON et al., "Managing Networked Workstations", pages 55-56, 58. * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8024399B2 (en) | 1994-05-31 | 2011-09-20 | Twintech E.U., Limited Liability Company | Software distribution over a network |
US9111604B2 (en) | 1994-05-31 | 2015-08-18 | Intellectual Ventures I Llc | Software and method that enables selection of on-line content from one of a plurality of network content service providers in a single action |
US8069204B2 (en) | 1994-05-31 | 2011-11-29 | Twintech E.U., Limited Liability Company | Providing and receiving content over a wireless communication system |
EP0987627A1 (en) * | 1998-09-15 | 2000-03-22 | Eastman Kodak Company | Method and system for performing an update |
GB2352539A (en) * | 1999-04-30 | 2001-01-31 | Hugh Symons Group Plc | A method and system for managing distribution of content to a device |
GB2352539B (en) * | 1999-04-30 | 2003-11-26 | Hugh Symons Group Plc | A system and method for managing distribution of content to a device |
US6886017B1 (en) | 1999-04-30 | 2005-04-26 | Elata Limited | System and method for managing distribution of content to a device |
WO2002005184A3 (en) * | 2000-07-10 | 2003-10-30 | Critical Devices Inc | Method and system for software inventory management using a global central repository |
WO2002005184A2 (en) * | 2000-07-10 | 2002-01-17 | Critical Devices, Inc. | Method and system for software inventory management using a global central repository |
US7039612B1 (en) * | 2000-09-07 | 2006-05-02 | Sprint Communications Company L.P. | Intranet platform system |
US7823147B2 (en) | 2000-09-22 | 2010-10-26 | Lumension Security, Inc. | Non-invasive automatic offsite patch fingerprinting and updating system and method |
EP1327191A4 (en) * | 2000-09-22 | 2005-11-30 | Patchlink Corp | Non-invasive automatic offsite patch fingerprinting and updating system and method |
EP1327191A1 (en) * | 2000-09-22 | 2003-07-16 | Patchlink. Com Corporation | Non-invasive automatic offsite patch fingerprinting and updating system and method |
US8407687B2 (en) | 2000-09-22 | 2013-03-26 | Lumension Security, Inc. | Non-invasive automatic offsite patch fingerprinting and updating system and method |
EP1832953A2 (en) | 2001-10-24 | 2007-09-12 | Groove Networks, Inc. | Method and apparatus for managing a peer-to-peer collaboration system |
EP1832953A3 (en) * | 2001-10-24 | 2008-05-28 | Microsoft Corporation | Method and apparatus for managing a peer-to-peer collaboration system |
GB2528679A (en) * | 2014-07-28 | 2016-02-03 | Ibm | Software discovery in an environment with heterogeneous machine groups |
US9535677B2 (en) | 2014-07-28 | 2017-01-03 | International Business Machines Corporation | Software discovery in an environment with heterogeneous machine groups |
Also Published As
Publication number | Publication date |
---|---|
DE69404647D1 (en) | 1997-09-04 |
EP0696368A1 (en) | 1996-02-14 |
CA2160907A1 (en) | 1994-11-10 |
WO1994025923A1 (en) | 1994-11-10 |
JPH08510341A (en) | 1996-10-29 |
EP0696368B1 (en) | 1997-07-30 |
US6292889B1 (en) | 2001-09-18 |
US20020049810A1 (en) | 2002-04-25 |
ATE156282T1 (en) | 1997-08-15 |
US6915451B2 (en) | 2005-07-05 |
WO1994025913A3 (en) | 1994-12-22 |
US20010034829A1 (en) | 2001-10-25 |
JP3466193B2 (en) | 2003-11-10 |
DE69404647T2 (en) | 1997-11-27 |
WO1994025924A1 (en) | 1994-11-10 |
US5581764A (en) | 1996-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO1994025913A2 (en) | Method and apparatus for enterprise desktop management | |
WO1994025924A9 (en) | Method and apparatus for enterprise desktop management | |
US6792462B2 (en) | Methods, systems and computer program products for rule based delegation of administration powers | |
US9135322B2 (en) | Environment classification | |
US7219234B1 (en) | System and method for managing access rights and privileges in a data processing system | |
US7167874B2 (en) | System and method for command line administration of project spaces using XML objects | |
CA2375395C (en) | Method for data maintenance in a network of partially replicated database systems | |
US6058426A (en) | System and method for automatically managing computing resources in a distributed computing environment | |
US5495603A (en) | Declarative automatic class selection filter for dynamic file reclassification | |
US5838970A (en) | Object-oriented computer environment and related method | |
US8806185B2 (en) | System and method for automatic configuration of portal composite applications | |
US5586322A (en) | Workgroup organized network manager with workstation comparison system | |
US20020178262A1 (en) | System and method for dynamic load balancing | |
US5890165A (en) | Method and apparatus for automatic discovery of databases | |
US20100161577A1 (en) | Method of Reconciling Resources in the Metadata Hierarchy | |
US20030050913A1 (en) | System and method for selectively defining access to application features | |
US20080275976A1 (en) | Information gathering tool for systems administration | |
US5440739A (en) | Method of maintaining updated set-up configurations in workgroups on a network | |
US20110010420A1 (en) | Client environment creation system, client environment creation method, client environment creation program and storage medium | |
US6721758B1 (en) | System and method for using schema attributes as meta-data in a directory service | |
US5799149A (en) | System partitioning for massively parallel processors | |
US7856450B2 (en) | Apparatus and method for distributing information between business intelligence systems | |
US6999964B2 (en) | Support for domain level business object keys in EJB | |
JP2002533829A (en) | Method and apparatus for user extensible event structure | |
Hooshiari | Assignment of availability objectives to components of heterogenous distributed computer systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): CA JP |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE |
|
AK | Designated states |
Kind code of ref document: A3 Designated state(s): CA JP |
|
AL | Designated countries for regional patents |
Kind code of ref document: A3 Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
NENP | Non-entry into the national phase |
Ref country code: CA |
|
122 | Ep: pct application non-entry in european phase |