REMOTE MANAGEMENT AGENT FOR APPLICATION
PROVISIONING A D CONTENT SYNCHRONIZATION IN AN
UNATTENDED OPERATION ENVIRONMENT
RELATED APPLICATIONS
[0001] The present invention claims priority from United States Provisional Application
No. 60/295,551 filed June 05, 2001. BACKGROUND OF THE INVENTION
[0002] The invention relates to management of distributed computers. Remote computers running in environments where there is a lack of onsite or otherwise readily available technical support present difficulties to the users and the system in which the remote computers exist. This may be especially true in video-centric systems, e.g. satellite based playback and/or multimedia presentation systems. A lack of support and/or support personnel may inhibit companies from taking advantage of current computer technology to enable a variety of otherwise available applications.
[0003] Maintaining the system requires maintaining applications and application environments at the remote computer. However, current systems and users are often incapable of monitoring local application environments and reacting appropriately to abnormal conditions. Numerous times, these abnormal conditions can be detected and the abnormal conditions prevented if caught early.
[0004] Further, in many environments it is desirable to have the remote computer recover from such abnormal conditions as much as possible locally or recover with the help of a remote system and without the need for human intervention.
[0005] In a preferred embodiment, the present invention comprises a system and method for providing a remote management agent for application provisioning and content synchronization in an unattended operation environment. The system comprises a network operations center which is operatively in communication with a data network as is a remote management agent where the remote management agent executes in a computer remote from the network operations center. The remote management agent comprises a service watchdog; an application manager; a command processor; and a file synchronizer.
[0006] In a preferred embodiment, the network operations center is initialized to receive communications from the remote management agent. The remote management agent is also initialized in a computer remote from the network operations center. The remote management agent monitors a predetermined set of environmental values at the remote computer and determines a current value of the predetermined set of environmental values. These are reported back to the network operations center when the determined current environmental value exceeds a predetermined value.
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] These and other features, aspects, and advantages of the present invention will become more fully apparent from the following description, appended claims, and accompanying drawings in which:
[0008] Fig. 1 is a schematic of an exemplary system for providing a remote management agent for application provisioning and content synchronization in an unattended operation environment;
[0009] Fig. 2 is a schematic of an exemplary remote management agent; and
[0010] Fig. 3 is flowchart of an exemplary embodiment.
DETAILED DESCRIPTION OF AN EXEMPLARY EMBODIMENT
[0011] In general, throughout this description, if an item is described as implemented in software, it can equally well be implemented as hardware.
[0012] Referring now to Fig. 1, a schematic of an exemplary system for providing a remote management agent for application provisioning and content synchronization in an unattended operation environment, system 10 comprises data network 100, network operations center 20, and remote management agent 40. Remote management agent 40 executes in a computer remote from network operations center 20, e.g. remote computer 30. Network operations center 20 and remote computer 30 are connected via data network 100, which in the preferred embodiment is a public data network, e.g. the Internet. Data network 100 may further include wired networks and wireless networks such as cable, DSL, and satellite 110 as well as dial-up.
[0013] As used herein, remote computer 30 may be a personal computer, a television enhanced with built-in intelligence, a set-top box, a wireless Personal Digital Assistance, a digital media receiver such as used with satellite 110 or cable, and the like, or combinations thereof.
[0014] Referring additionally to Fig. 2, a schematic of an exemplary remote management agent, remote management agent 40 comprises service watchdog 42, application manager 44, command processor 46, and file synchronizer 48.
[0015] Service watchdog 42 comprises scanning component 42b capable of determining and reporting on computing environment conditions. For example, these conditions may include available persistent data storage capacity, available CPU computation power, errors reported by component 42a associated with applications, and the like, or combinations thereof.
[0016] Application manager 44 comprises service provisioning component 44b for ensuring that selected operational environment parameters conform to a predetermined configuration. These selected operational environment parameters may comprise file storage location requirements, validation of file storage at the required file storage locations, conformance to operational parameters in a configuration file, determining of and reporting on software application version data, and the like, or combinations thereof.
[0017] Application manager 44 may further comprise trigger function 44a capable of retrieving or otherwise invoking an available software application at remote computer 30. For example, trigger function 44a may be used to invoke an upgrade function when determined software application version data are of a predetermined value, e.g. out-of-date. [0018] Command processor 46 comprises application launcher 46b for launching a software application upon receipt of a predetermined trigger from network operations center 20 (Fig. 1). Application launcher 46b can also react to a reset instruction to reset remote computer 30 (Fig. 1) such as upon receipt of a predetermined trigger from network operations center 20 (Fig. 1), e.g. a reboot instruction to reboot remote computer 30 (Fig. 1) upon receipt of a predetermined trigger from network operations center 20 (Fig. 1). Command processor 46 also comprises file purger 46a for purging unwanted files or data at remote computer 30 upon receipt of a purge command trigger from network operations center 20 (Fig. 1).
[0019] File synchronizer 48 comprises file synchronizer 48a capable of comparing a file storage structure at remote computer 30 (Fig. 1) with a file storage structure at another computer such as source remote computer 32 (Fig. 1) or network operations center 20 (Fig. 1), updating files in the file storage structure at remote computer 30 (Fig. 1) with files from the file storage structure at the other computer, reporting to network operations center 20 (Fig. 1) on differences
between the file storage structure at remote computer 30 and the file storage structure at the other computer, and the like, or combinations thereof. Remote computer 30 can synchronize its file storage structure with source remote computer 32 through network operations center 20. [0020] In the operation of an exemplary embodiment, referring now to Fig. 3, a flowchart of an exemplary method, remote management agent 40 may be provided for application provisioning and content synchronization in an unattended operation environment. Network operations center 20 comprises software that is used to instruct remote computer 30 via data network (100) 100 when remote computer 30 can not recover its own operation by itself using existing agent software at remote computer 30. For example, network operations center 20 can send a command to remote computer 30 to force remote computer 30 to reboot in order to recover from an error condition that remote computer 20 can not self recover, e.g. a deadly embrace condition. Network operations center 20 can also send a purge command to delete a file resident at remote computer 30 such as may be needed for garbage collection and disk resource management.
[0021] A further task of network operations center 20 is to pull and collect status and error log files from remote computer 30 and store those status and error log files into a database for resource management on the remote computer 30. In order to have file synchronization between remote computer 30 and a file directory at network operations center 20, network operations center 20 may periodically conduct directory comparisons between its own file directory with remote computer 30 file directory.
[0022] Network operations center 20 is initialized at step 200 to receive communications from one or more remote management agents 40. Additionally, remote management agent 40 is
initialized at step 210 at remote computer 30, although these operations do not need to be simultaneous or close in time.
[0023] Once initialized, remote management agent 40 monitors at step 220 a predetermined set of environmental parameter values at remote computer 30. Monitoring may include using service watchdog 42 to scan all tasks currently executing in remote computer 30 as well as using application manager 44 to monitor operational environment parameters of remote computer 30.
[0024] Using monitored environmental parameter values, remote management agent 40 may determine at step 230 a current value of the predetermined set of environmental values, e.g. available persistent data storage capacity, available CPU computation power, and errors reported by applications.
[0025] Remote management agent 40 may report at step 240 the determined current environmental values to network operations center 20, such as over data network (100) 100. In a preferred embodiment, the reporting may be limited to occasions when the determined current environmental value exceeds a predetermined value from a set of predetermined operational environment parameters, e.g. file storage location requirements, validation of file storage limit at the required file storage locations, conformance to operational parameters in a configuration file, and determining of and reporting on software application version data. Remote management agent 40 may therefore be used to detect and report on conditions at remote computer 30 which may possibly cause errors, for example fatal errors created by software applications or hostile environmental conditions.
[0026] Network operations center 20 may generate a triggering message in response to a communication received from remote management agent 40 and communicate the triggering
message back to remote management agent 40. Upon receipt of the triggering message, remote management agent 40 may initiate a task or otherwise invoke a required function at remote computer 30 in response to the triggering message, e.g. use command processor 44 to launch a software application, issue a reset instruction to reset remote computer 30, issue a reboot instruction to reboot remote computer 30, or the like, or a combination thereof. The trigger can therefore be used to provide for servicing of remote computer 30 and help minimize operational errors.
[0027] Additionally, remote management agent 40 may cause one or more functions to execute at remote computer 30 when certain conditions are met without a triggering message. For example, in response to determining that a software application version is at or below a required level, remote management agent 40 may cause the retrieval of an acceptable, available software application from a source of software applications.
[0028] Remote management agent 40 may also compare a file storage structure at remote computer 30 with a file storage structure at another computer, e.g. use file synchronizer 48 to compare file structures at remote computer 30 with file structures at remote computer 32 or network operations center 40. Comparison may be under local programmatic control or be triggered by network operations center 20. If remote management agent 40 determines that its local file structure is out of date or otherwise out of sync, remote management agent 40 may update files in its local file storage structure with files from the file storage structure at the other source computer through network operations center 20.
[0029] Additionally, remote management agent 40 may also report to network operations center 20 on differences between the file storage structures at remote computer 30 and the file storage structure at another source remote computer 32. For example, network operations center
20 may provide a file directory structure to remote management agent 40. Remote management agent 40, using file synchronizer 48, may compare the new file directory structure with the file directory structure currently in place at remote computer 30 with that of source remote computer 32 via the network operations center 20 and report back differences in the two structures to network operations center 20. Accordingly, remote management agent 40 may be used to keep files and data content synchronized with files and data content resident outside remote computer 30 as well as to maintain files and data content, e.g. remove redundant or obsolete files. [0030] By way of further example, a file structure at network operations center 20 may comprise video data which can expire and requires replenishing, e.g. news broadcasts or content having limited duration of accessibility. Remote management agent 40 may determine that the file structure local to remote computer 30 at which remote management agent 40 has data in its file structure which needs pruning because it has expired and requires being refreshed and replenished from an alternative source, e.g. network operations center 20. [0031] Operating either locally or under control from network operations center 20, remote management agent 40 may also ensure that predetermined operational environment parameters conform to a predetermined configuration, for example available disk space needing to be at or exceeding a predetermined level.
[0032] If remote computer 30 has an error condition which causes remote computer 30 to fail, remote management agent 40 may be used to reboot remote computer 30, fix its data and file structures if damaged, and restore its data and files structures, e.g. reinstall applications and/or data from a second computer, if the data and/or file structures at remote computer 30 were damaged. These operations may occur automatically.
[0033] It will be understood that various changes in the details, materials, and arrangements of the parts which have been described and illustrated above in order to explain the nature of this invention may be made by those skilled in the art without departing from the principle and scope of the invention as recited in the following claims.