DISPLAYING MESSAGES RELEVANT TO SYSTEM ADMINISTRATION
This description relates to displaying messages relevant to system administration. Computers can be used to monitor and manage other computer systems in various ways by one or more system administrators. The system administration systems and methods that we describe here may encompass one or more of the following (and other) aspects, features, and implementations, and combinations of them. In general, in an aspect, a method includes receiving an indication of a condition at a first component of a computer system. The method also includes performing a search of one or more archives that identifies, among artifacts of at least one of the archives, information relevant to the condition. The method also includes displaying, in a user interface, information determined based on at least one of the artifacts in association with a visual representation indication of the condition. Implementations of this aspect may include one or more of the following features. The method includes identifying a facility at which a system administrator accesses notifications of conditions experienced by a system designated as managed by the system administrator, the facility being associated with the user interface, receiving at least one notification designated for delivery to the facility, and providing, the information determined based on the at least one artifact to the facility in association with the at least one notification. The facility includes an electronic message system and the user interface comprises an electronic message. The user interface includes a first portion that includes information relevant to the condition, and a second portion that includes the information determined based on the at least one artifact. At least some of the identified artifacts include content describing a previous instance of the condition experienced by the first component. The method includes identifying, among the artifacts relevant to the condition, an artifact identified as containing information describing how the condition was resolved during the previous instance of the condition. The search that identifies artifacts relevant to the condition identifies artifacts relevant to an instance of the condition experienced by a second component, the second component being identified as matching at least one similarity criterion to the first component. The method includes generating a search query based on keywords identified as relevant to the indicated condition. The method includes submitting the search query to a search facility that searches the one or more archives. The method includes displaying, in the user interface, a visual representation of the search query, the visual representation enabling a modification of the keywords of the search query. The method includes displaying, in the user interface, controls that enable a user to save and recall the search query. At least some of the identified artifacts include documentation describing the first component. The method includes displaying, in the user interface, one or more users identified as associated with at least some of the artifacts. An electronic message indicates the condition. The electronic message is an email message, a social media message, or an instant message. A telephone communication indicates the condition. At least one of the archives is accessed using the Internet. The method includes detecting the condition using a detection mechanism to determine the indication, and where the indication is received from the detection mechanism. In general, in another aspect, a computer readable storage device storing a computer program product includes machine-readable instructions that, when executed, cause a computer system to carry out operations including receiving an indication of a condition at a first component of a computer system. The operations also include performing a search of one or more archives that identifies, among artifacts of at least one of the archives, information relevant to the condition. The operations also include displaying, in a user interface, information determined based on at least one of the artifacts in association with a visual representation indicating the condition. Implementations of this aspect may include one or more of the following features. The operations include identifying a facility at which a system administrator accesses notifications of conditions experienced by a system designated as managed by the system administrator, the facility being associated with the user interface, receiving at least one notification designated for delivery to the facility, and providing, the information determined based on the at least one artifact to the facility in association with the at least one notification. The facility includes an electronic message system and the user interface comprises an electronic message. The user interface includes a first portion that includes information relevant to the condition, and a second portion that includes the information determined based on the at least one artifact. At least some of the identified artifacts include content describing a previous instance of the condition experienced by the first component. The operations include identifying, among the artifacts relevant to the condition, an artifact identified as containing information describing how the condition was resolved during the previous instance of the condition. The search that identifies artifacts relevant to the condition identifies artifacts relevant to an instance of the condition experienced by a second component, the second component being identified as matching at least one similarity criterion to the first component. The operations include generating a search query based on keywords identified as relevant to the indicated condition. The operations include submitting the search query to a search facility that searches the one or more archives. The operations include displaying, in the user interface, a visual representation of the search query, the visual representation enabling a modification of the keywords of the search query. The operations include displaying, in the user interface, controls that enable a user to save and recall the search query. At least some of the identified artifacts include documentation describing the first component. The operations include displaying, in the user interface, one or more users identified as associated with at least some of the artifacts. An electronic message indicates the condition. The electronic message is an email message, a social media message, or an instant message. A telephone communication indicates the condition. At least one of the archives is accessed using the Internet. The operations include detecting the condition using a detection mechanism to determine the indication, and where the indication is received from the detection mechanism. In general, in another aspect, a system includes a computer system configured to display, in a user interface, information determined based on at least one artifact in association with a visual representation indication of a condition, the at least one artifact having been identified in response to a search of one or more archives that identifies, among artifacts of at least one archive, information relevant to a condition at a first component of a computer system. Implementations of this aspect may include one or more of the following features. The system is configured to identify a facility at which a system administrator accesses notifications of conditions experienced by a system designated as managed by the system administrator, the facility being associated with the user interface, receive at least one notification designated for delivery to the facility, and provide, the information determined based on the at least one artifact to the facility in association with the at least one notification. The facility includes an electronic message system and the user interface comprises an electronic message. The user interface comprises a first portion that includes information relevant to the condition, and a second portion that includes the information determined based on the at least one artifact. At least some of the identified artifacts include content describing a previous instance of the condition experienced by the first component. The system is configured to identify, among the artifacts relevant to the condition, an artifact identified as containing information describing how the condition was resolved during the previous instance of the condition. The search that identifies artifacts relevant to the condition identifies artifacts relevant to an instance of the condition experienced by a second component, the second component being identified as matching at least one similarity criterion to the first component. The system is configured to generate a search query based on keywords identified as relevant to the indicated condition. The system is configured to submit the search query to a search facility that searches the one or more archives. The system is configured to display, in the user interface, a visual representation of the search query, the visual representation enabling a modification of the keywords of the search query. The system is configured to display, in the user interface, controls that enable a user to save and recall the search query. At least some of the identified artifacts include documentation describing the first component. The system is configured to display, in the user interface, one or more users identified as associated with at least some of the artifacts. An electronic message indicates the condition. The electronic message is an email message, a social media message, or an instant message. A telephone communication indicates the condition. At least one of the archives is accessed using the Internet. The system is configured to detect the condition using a detection mechanism. These and other aspects, features, and implementations, and combinations of them, may be expressed as apparatus, methods, methods of doing business, means or steps for performing functions, components, systems, program products, and in other ways. Other aspects, features, and advantages will be apparent from the description and the claims. A system administrator may use a user interface that identifies conditions of systems under control of the administrator. Further, an archive may store artifacts (e.g., messages, documents, or any other kind of data or portion of data) that are relevant to the condition. For example, the system administrator may have previously received communications such as email messages pertaining to the component experiencing the problem and/or the particular problem being experienced. As another example, messages or documents may exist on the system but have never been shown to the administrator (e.g., because they belong to another user). The user interface can display artifacts identified as relevant to the condition in a format useful to the system administrator. For example, the artifacts could be displayed in the format in a manner that could be useful in analyzing the condition. If the condition is a problem, the artifacts may be useful to the system administrator in diagnosing the problem, e.g., as an annotation to the messages that alert the administrator to the problem. In some implementations, the user interface identifies relevant artifacts using a search engine. The search engine may be a part of the user's local system, one or more remote systems, a cloud system, or another kind of system. The search engine and the user interface may be on the same system, or may each be on a different system. In some implementations, the search engine is on a different system than the user interface, and information form the search engine is transmitted to the user interface for display. In some implementations, the search engine is operated by a third party, for instance, an independent search vendor or provider. The search engine may be available to a large number of users, e.g., if the search engine is a public search engine available on the Internet. When we use the term system, we mean it in a very broad sense, to include, for example, any computing device or combination of devices that is used by one or more users. For instance, a system may include a desktop computer, laptop computer, cellular phone, smartphone, tablet computer, server, cloud system, gaming system, or any other computing device. When we use the term condition, we mean it in a very broad sense, to include, for example, any instant (current) or historical (previous) property, state, characteristic, or condition of a system. For instance, the condition of a system may include information about its functional state (e.g., if the system is functioning properly or abnormally) and its power state (e.g., if the system is on, off, in a lower power state, “sleeping”, “hibernating”, or in a “stand-by mode”), either of the system as a whole or of one or more components of the system. The condition of a system can also include performance characteristics, for instance performance characteristics related to memory (e.g., the amount of memory that is being used or is available for use), storage (e.g., the amount of storage space that is being used or is available for use, described as absolute values or as a space usage percentage), networking (e.g., the rate at which data is being transferred to and from the system), system utilization (e.g., the processing capacity of the system that is being utilized to perform a task), or any other characteristic related to the instant or historical performance of a system. The condition of the system can also include a rate of change of a performance characteristic (e.g., the rate at which storage space usage changes during a given period of time). The condition of a system can also include relatively static information, for instance identifying information of the system (e.g., model and/or serial numbers or other descriptive information about the system or its constituent components), specifications (e.g., specifications of the system or its constituent components), user information (e.g., identifying information about the user, owner, operator, administrator, or other entity related to the system), or other such information. When we use the term artifact, we mean it in a very broad sense, to include, for example, any portion or fragment of data, e.g., that forms an electronic communication. A file management application enables a user to access, manipulate, share and in other respects to use artifacts. We refer to any of these types of activities and to any other use of artifacts broadly as “interacting” with or “using” artifacts. Any portion of data, such as any portion of an electronic communication, can be an artifact. Anything sent and received by a user of one of the applications can be an artifact. For example, an email message is an artifact. An email message typically has a topic (sometimes denoted by a “subject” field) and contains content written by a user about the topic. An email message can also relate to multiple topics. A portion that is less than all of an email can also be an artifact. An email message has at least one recipient, and may have many recipients who are either individual users or groups of users (e.g., a mailing list of users). An email message could also contain multiple artifacts. For example, one portion of an email message body could be an artifact, and another portion (e.g., a portion relating to a different topic) could be a different artifact. An attachment to the email message could be yet another artifact, as could an in-line image within the email message. As another example, a posting on a social networking service (e.g., a posting on a public or internal/private social networking service), or a portion of a posting, is an artifact. A posting on a social networking service is typically composed by a user and relates to a topic of interest by the user. The posting may be available to all other users linked to the user, or the posting may be available to only select users, or the posting may be available to all users of the social networking service, or the posting may be available to some other category or categories of users. As another example, a portion of a real-time conversation is an artifact. For example, a real-time communication system, such as an instant messaging system that enables users to exchange short messages in real time, may be used to facilitate and record a series of messages related to a topic or multiple topics being discussed by users of the instant messaging system. The conversation may be held between two or more users; i.e., two or more users may participate in a single conversation, sometimes referred to as a single session. A transcript of messages exchanged in a single session may include one or more artifacts. Each message may be an artifact, a portion of the conversation (e.g., a portion relevant to a particular topic), or the entirety of the conversation may be an artifact. As another example, data stored as files on a file system are artifacts. Data may include one or more types of information, such as textual data (e.g., text documents such as letters, memos, reports, tables, spreadsheets, etc.), image data (e.g., photographs, illustrations, charts, etc.), audio data (e.g., recorded music, speech, and other auditory information), video data, or combinations of one or more types of information (e.g., illustrated documents, multimedia presentations, annotated videos, webpages, wiki pages, etc.) Files may be stored individually on a file system, or may be stored in combination with other files in one or more file repositories or archives. As another example, data from issue tracking systems, customer relationship management systems, or other business applications are artifacts. For instance, artifacts can include support tickets and bug reports from an issue tracking system. In another example, artifacts can include data relating to business arrangements between a company and its customers (e.g., information regarding existing or expected contracts to provide service or support). Other types of data that can be artifacts include syndication feeds (e.g., RSS feeds), voice data or other kinds of audio (e.g., recorded telephone calls, voice messages such as voicemail, transcripts of a spoken conversation, audio feeds, etc.), and video (recorded video calls, video mail or video messages, security cameras, video feeds, etc.). When we use the term cloud system, we mean it in a very broad sense, to include, for example, any remote system of storing, maintaining, and processing data. For example, in some examples a cloud system may be a computing device such as a server or a data storage facility that includes multiple servers. The cloud system may be any other kind of system that can store, send, and receive data. When we use the term archive, we mean it in a very broad sense, to include, for example, any grouping of one or more artifacts. In some implementations, an archive is a collection of artifacts stored according to a particular storage structure. For example, an archive may be a collection of artifacts stored within one or more container files (e.g., compressed container files, uncompressed container files, or a combination of compressed and uncompressed container files). In another example, an archive may be one or more directories containing one or more artifacts. In another example, an archive may be a combination of one or more directories, and one or more container files. In some implementations, archives may be stored on one or more storage facilities. The client computers 102 In some examples, the client computers 102 In some implementations, other systems may monitor one or more systems, and information pertaining to the conditions of the monitored systems is transmitted to one or more of the client computers 102 After receipt of this data, the monitoring system 110 In some implementations, the monitoring system 110 In addition to displaying condition data, the user interface 104 In some examples, user interface 104 In some examples, systems may store one or more archives 118 Further, archives can be stored on one or more “cloud” systems. For example, an archive 118 In some examples, a cloud system need not be located locally to a client's system, nor under direct control of a client. For instance, a cloud system may be located at a physical location under the control to a third party service provider, rather than located at a physical location under the control of a client. If a cloud system is a distributed system including multiple servers, then the cloud system may be located at several physical locations, at least some of which may be under the control of a third party, or the client, or a combination of the two. In some examples, the cloud system or portions of the cloud system could be located at one or more physical locations that are hundreds or thousands of miles away from any resource of a client. In some implementations, a portion of the cloud system may be operated by an entity other than a service provider directly contracted by a client. For example, a service provider may hire a subcontractor to maintain a portion of the cloud system. In some implementations, a service provider has control over the entire cloud system, including portions operated by another entity. In some examples, one or more artifacts can be stored within one or more archives on one or more storage facilities. A search is performed 304 in order to identify artifacts relevant to the condition. For example, the search can be performed by a client computer 102 Information about the condition and the relevant archives is displayed 306 to the user. For example, information can be displayed 306 on a user interface 104 The user interface 104 In some implementation, the artifact field 404 can also display additional information about each artifact. For instance, in some implementations, the artifact field 404 can display metadata (e.g., data describing attributes of the data that makes of the artifact) such as the title of the artifact 408, the file or data type of the artifact 410, creation information 412 describing when the artifact was created or started, modification information 414 describing when the artifact was last modified, and user information 416 describing one or more users associated with the artifact. The user information 416 can describe, for example, users who created or modified the artifact, users who were recipients of the artifact (e.g., users who received an e-mail or instant message artifact), or users who are responsible for the contents of the artifact. Other information about each artifact can also be displayed, either additionally or alternatively. For instance, other information can include key words, summaries or abstracts, relevance metrics (e.g., a relevance score determined by a search engine), file size, an indication of where the artifact is being stored, or other information relating to each artifact and its contents. A user can access the one or more artifacts 406 In some implementations, the user interface 104 In some implementations, the user interface 104 can also include a suggestion field 427 that displays suggestions 428 to the user that are related to the condition data. The suggestions 428 are made based on the current state of knowledge of the system, and can include, for example, information related to recommended actions that the user can perform in response to the condition data (e.g., to maintain a monitored system or to diagnose and/or resolve an abnormal condition of a monitored system). Example recommended actions include recommended corrective or preventative tasks for the user to perform, recommended search queries for the user to conduct, recommended users with whom the user can further discuss the condition, and so forth. In some implementations, the suggestions 428 can include information from one or more artifacts. For example, the suggestions 428 can include relevant portions of information from one or more artifacts (e.g., excerpts of textual information, selected images, selected video, and so forth). These excerpts or portions can be identified in various ways. For example, in some implementations, excerpts can be identified based on the results of search queries, for instance as described above. In some implementations, suggestions can be based on previously conducted search queries, alerts, saved key descriptors, and/or current or previous actions of other users. In additional to viewing the suggestions 428, the user can also access the source artifact corresponding to each suggestion 428. For example, a user can select a view option 436 in order to access and display the artifact 406 In some examples, condition data and one or more artifacts that are relevant to the condition data can be sent to a user in one or more discrete messages, for instance as a part of one or more instant messages, e-mail messages, SMS messages, electronic notifications, telephone messages, or other type of messages. The message can be created by one or more systems of the system 100, for example by a client computer 102 A message is created 504 that contains a portion of or all of this condition data. The message can include, for example, the entirety of the condition data or a portion of the condition data. The condition data can be formatted such that it is more readily understood by the user (e.g., summarized, highlighted, labeled, provided with contextual descriptors, and so forth), or to conform to particular message formats or protocols (e.g., to conform to limitations regarding message length, text formatting, visual layout, and so forth). The system 100 identifies 506 one or more artifacts that are relevant to the condition data. This can be determined, for example, by the local client computer 102 The message 600 can include information similar to the information displayed in the user interface 104 In some implementations, the message 600 can be adapted to transmission according to other messaging protocols, and can be, for instance, an instant message, an e-mail message, an SMS message, an electronic notification, a social media message (i.e., a message transmitted using a social media network), or another type of message. In some implementations, the message 600 can include audio and/or video data. For instance, in some implementations, the message 600 can be an audio message, and includes spoken information concerning the condition data and the related artifacts. In some implementations, the message 600 can be transmitted by way of an audio channel, for instance a telephone connection, radio connection, or other connection capable of carrying auditory information. The memory 720 stores information within the system 700. In some implementations, the memory 720 is a computer-readable medium. In some implementations, the memory 720 is a volatile memory unit. In some implementations, the memory 720 is a non-volatile memory unit. The storage device 730 is capable of providing mass storage for the system 700. In some implementations, the storage device 730 is a non-transitory computer-readable medium. In various different implementations, the storage device 730 can include, for example, a hard disk device, an optical disk device, a solid-date drive, a flash drive, magnetic tape, or some other large capacity storage device. In some implementations, the storage device 730 may be a cloud storage device, e.g., a logical storage device including multiple physical storage devices distributed on a network and accessed using a network. In some examples, the storage device may store long-term data, such as the artifacts 120 or 202 A server (e.g., a file server 106 Although an example processing system has been described in The term “system” may encompass all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. A processing system can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them. A computer program (also known as a program, software, software application, script, executable logic, or code) can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and it can be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network. Computer readable media suitable for storing computer program instructions and data include all forms of non-volatile or volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks or magnetic tapes; magneto optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry. Sometimes a server (e.g., a cloud system 124 Certain features that are described above in the context of separate implementations can also be implemented in combination in a single implementation. Conversely, features that are described in the context of a single implementation can be implemented in multiple implementations separately or in any sub-combinations. The order in which operations are performed as described above can be altered. In certain circumstances, multitasking and parallel processing may be advantageous. The separation of system components in the implementations described above should not be understood as requiring such separation. Other implementations are within the scope of the following claims. Among other things, in an aspect, a method includes receiving an indication of a condition at a first component of a computer system. The method also includes performing a search of one or more archives that identifies, among artifacts of at least one of the archives, information relevant to the condition. The method also includes displaying, in a user interface, information determined based on at least one of the artifacts in association with a visual representation indication of the condition. 1. A method comprising
receiving an indication of a condition at a first component of a computer system; performing a search of one or more archives that identifies, among artifacts of at least one of the archives, information relevant to the condition; and displaying, in a user interface, information determined based on at least one of the artifacts in association with a visual representation indication of the condition. 2. The method of identifying a facility at which a system administrator accesses notifications of conditions experienced by a system designated as managed by the system administrator, the facility being associated with the user interface; receiving at least one notification designated for delivery to the facility; and providing, the information determined based on the at least one artifact to the facility in association with the at least one notification. 3. The method of 4. The method of 5. The method of 6. The method of 7. The method of 8. The method of 9. The method of 10. The method of 11. The method of 12. The method of 13. The method of 14. The method of 15. The method of 16. The method of 17. The method of 18. The method of wherein the indication is received from the detection mechanism. 19. A computer readable storage device storing a computer program product comprising machine-readable instructions that, when executed, cause a computer system to carry out operations comprising:
receiving an indication of a condition at a first component of a computer system; performing a search of one or more archives that identifies, among artifacts of at least one of the archives, information relevant to the condition; and displaying, in a user interface, information determined based on at least one of the artifacts in association with a visual representation indication of the condition. 20. The computer readable storage device of identifying a facility at which a system administrator accesses notifications of conditions experienced by a system designated as managed by the system administrator, the facility being associated with the user interface; receiving at least one notification designated for delivery to the facility; and providing, the information determined based on the at least one artifact to the facility in association with the at least one notification. 21. The computer readable storage device of 22. The computer readable storage device of 23. The computer readable storage device of 24. The computer readable storage device of 25. The computer readable storage device of 26. The computer readable storage device of 27. The computer readable storage device of 28. The computer readable storage device of 29. The computer readable storage device of 30. The computer readable storage device of 31. The computer readable storage device of 32. The computer readable storage device of 33. The computer readable storage device of 34. The computer readable storage device of 35. The computer readable storage device of 36. The computer readable storage device of wherein the indication is received from the detection mechanism. 37. A system comprising:
a computer system configured to: display, in a user interface, information determined based on at least one artifact in association with a visual representation indication of a condition, the at least one artifact having been identified in response to a search of one or more archives that identifies, among artifacts of at least one archive, information relevant to a condition at a first component of a computer system. 38. The system of identify a facility at which a system administrator accesses notifications of conditions experienced by a system designated as managed by the system administrator, the facility being associated with the user interface; receive at least one notification designated for delivery to the facility; and provide, the information determined based on the at least one artifact to the facility in association with the at least one notification. 39. The system of 40. The system of 41. The system of 42. The system of 43. The system of 44. The system of 45. The system of 46. The system of 47. The system of 48. The system of 49. The system of 50. The system of 51. The system of 52. The system of 53. The system of 54. The system of BACKGROUND
SUMMARY
DESCRIPTION






