Abstract:
Xml pages are obtained from knowledge bases that contain step by step instructions. The xml pages are presented as “active content,” by which we mean a series of prompted questions and answers. A user&#39;s interactions with the active content is recorded so that the results may be copied to the user&#39;s clipboard for automatic transfer to a problem management/ticketing system. Active content that contains embedded questions asked of the user may be used to infer answers to some of the questions from a search query, and, thus, alleviate the need for the user to answer them.

Description:
[0001]    The application is a continuation application of U.S. Ser. No. 11/421,847, filed on Jun. 2, 2006, the entirety of which is incorporated herein by reference. 
     
    
     FIELD OF THE INVENTION 
       [0002]    The present invention is generally related to help desks and search methodologies, and more particularly related to active content and searching through content related to the fields of web-based content, mark-up languages and active content, including more particularly notions and standards such as html, dhtml (dynamic html), javascript, java applets and active-X controls. 
       BACKGROUND 
       [0003]    In the prior art, in order to answer callers&#39; problems, call takers must navigate through knowledge documents and follow documented procedures, during which time the callers are asked a series of questions. In such systems, after the problem is resolved or needs to be escalated to a higher level of support, the problem is documented in a problem management/ticketing system (such as, for example. commercial Peregrine and Remedy systems). 
         [0004]    There presently does not exist a way to automatically track diagnostic steps and immediately transcribe the results into a ticketing or other recording system without a user having to independently spell out the details of the diagnostic steps taken. In addition, when a user describes their problem through an explicit or implicit search interface (either to a call taker, or in the context of self-help) to the self-help system, and when either the call taker or the user is taken to a knowledge document to resolve the problem, there presently does not exist a way to bypass questions in the knowledge document that are implicitly answered by the problem description/search query. 
         [0005]    Accordingly, the present invention addresses one or more deficiencies of the prior art. 
       SUMMARY 
       [0006]    In one embodiment, xml pages are obtained from knowledge bases that contain step by step instructions. The xml pages are presented as “active content,” by which we mean a series of prompted questions and answers. A user&#39;s interactions with the active content is recorded so that the results may be copied to the user&#39;s clipboard for automatic transfer to a problem management/ticketing system. 
         [0007]    In one embodiment, “active content” that contains embedded questions asked of the user may be used to infer answers to some of the questions from a search query, and, thus, alleviate the need for the user to answer them. In this manner, the embarrassment of the user feeling like they are saying the same thing twice may be minimized. 
         [0008]    In one embodiment, a computer implemented system, wherein text-based documents are treated in a support knowledge repository as a set of structured directions, or queries for user information, comprises a problem determination engine that interacts with a user through a rendered text-based knowledge document and gathers answers to asked questions and provides the user with follow on information. The rendered text based document may comprise active content. The active content may comprise xml. 
         [0009]    In one embodiment, a computer implemented system may comprise an authoring system, wherein the authoring system creates the active content. The active content may be interpreted as a sequence of procedural steps some of which may solicit information from the user. In one embodiment, a computer implemented system may comprise an executor, wherein in response to user interaction with active content, the executor captures contents of a history of asked questions and provided information and copies the contents to a system or application clipboard, or offers the user the option of copying said contents to a system or application clipboard. In one embodiment, a computer implemented system may comprise an executor, wherein in response to user interaction with active content, the executor captures contents of a history of asked questions and provided information and copies the contents into a problem ticketing system. 
         [0010]    In one embodiment, a method for searching through a collection of standard text and active documents used in a product or system support environment includes rendering one or more text based document to comprise active content. In one embodiment, the active content comprises xml. In one embodiment, a method for searching through a collection of standard text and active documents used in a product or system environment includes identification of answers to questions in the documents. The answers may be identified in response to a user search query. The answers may be supplied to a problem determination engine. The problem determination engine presents the answers to the user. The engine may offer the user the ability to modify answers to questions erroneously presumed to be answered by the search query. A rank of query results may be increased based on the degree to which a problem description or search query implicitly answers the questions. 
         [0011]    In one embodiment, a computer program product comprises a computer readable usable medium having computer usable code that renders text-based documents in a support knowledge repository as a set of structured directions or queries for user information. In one embodiment, a computer program product comprises a computer readable usable medium having computer usable code that implements an authoring system, wherein the authoring system renders text documents as active content. In one embodiment, a computer program product comprises a computer readable usable medium having computer usable code that implements a problem determination engine that walks a user through a rendered text-based knowledge document and gathers answers to asked questions and provides appropriate follow-on information. In one embodiment, the active content comprises xml. 
         [0012]    In one embodiment, a knowledge document based system comprises one or more computer implemented text based knowledge document, wherein the one or more text based knowledge document comprise xml. 
         [0013]    Other embodiments, other advantages, and other benefits will become apparent upon a reading of the included description, figures, and claims. 
     
    
     
       FIGURES 
         [0014]    In  FIG. 1  there is seen a representation of a high level system architecture and process. 
           [0015]    In  FIGS. 2 and 3  there are seen representations of an xml document created according to one embodiment of the present invention. 
           [0016]    In  FIG. 4  there is seen a representation of a screen shot of a Problem Determination Engine. 
           [0017]    In  FIG. 5  there is seen a representation of a system, wherein one or more of the embodiments of the invention described herein may be implemented. 
           [0018]    In  FIG. 6  there is seen a representation of possible embodiments of a client, a server, storage and/or other devices(s), with which embodiments of the present invention may be implemented. 
       
    
    
     DESCRIPTION 
       [0019]    In the following discussion, the terms “certain embodiments”, “an embodiment”, “embodiment”, “embodiments”, “the embodiment”, “the embodiments”, “one or more embodiments”, “some embodiments”, “one embodiment”, and other variants thereof, mean one or more (but not all) embodiments unless expressly specified otherwise. The terms “including”, “comprising”, “having” and variants thereof mean “including but not limited to”, unless expressly specified otherwise. The enumerated listing of items does not imply that any or all of the items are mutually exclusive, unless expressly specified otherwise. The terms “a”, “an” and “the” mean “one or more”, unless expressly specified otherwise. 
         [0020]    Referring to  FIG. 1 , there is seen a representation of a high level system architecture and process used to enable embodiments of the present invention. In one embodiment, the present invention implements creation and storage of active content (step  200 ). In this embodiment, the active content is stored together with text documents that are part of a knowledge base of solutions to commonly found problems. In this embodiment, the active content is rendered by an authoring system (step  100 ) as a series of interactive, prompted steps, using a browser and back-end server software, for example by an application using a servlet/jsp paradigm, as is known to those skilled in the art. In a preferred embodiment, the authoring system is used to create active content as xml, and an independent “executor” executes (“walks”) the directed graph (described by the xml) of content, prompting the user for questions and answers, all the while recording the interaction. In one embodiment, the authoring system includes a graphical user interface that assists in creating a sequence of questions and answers. The authoring system may help a user to visualize questions, and how different answers to a question may give rise to different subsequent questions. At the end of a question and answer session, presumably after either the problem is resolved, or the problem is deemed irresolvable given limitations of the content, a user may be given the option of copying a transcript of the interaction into the system clipboard for subsequent pasting into a problem management/ticketing system, or other means for routing to parties that need to be informed about the incident. 
         [0021]    Referring now to  FIGS. 2 and 3 , there are seen representations of an xml document created according to one embodiment of the present invention. In addition to embodiments described herein, a user may create an xml document by hand and/or with the aid of any alternative xml editor. In the represented xml rendition of active content, one can see in a single xml file ( FIG. 3  is meant to be concatenated at the bottom of  FIG. 2  to form one xml file), an account of the nodes (questions and termination points), and edges (answers) of a directed graph that indicate a series of questions and answers needed to resolve a particular kind of help desk problem. In the embodiment represented by  FIGS. 2 and 3 , the graph is a snippet representing a handoff to another support group. Each node or question may include a number of attributes, which may comprise:
       id—unique numerical identifier   name—a textual name label for the question or termination point   type—either “test” indicating a question, or “state” indicating a termination point of the diagnosis   action—an optional URL of a web page that helps the user answer the question being asked, or in the case of a termination point the url of the problem resolution   text—in the case of a detailed question, the more detailed question   name_label—the label used in the graph viewing GUI to display, in brief, the question text. If text=″″ then the label is assumed to be the entirety of the question.   comment—an optional textual comment placed by the author. Has no consequence for execution.       
 
         [0029]    In the xml rendition of active content, following the description of nodes ( FIG. 2 ), there is seen a description of (directed) edges ( FIG. 3 ). Edges may comprise the following attributes: 
         [0000]    source—node id of the question to which this edge represents one of the answers
 
target—node id of the question following the one just asked given the answer described by this edge
 
label−textual answer to the question with node id=source.
 
         [0030]    Together, the nodes and edges describe a complete directed graph containing all questions and answers that lead to a diagnosis and resolution of the problem or problem family of the active content document. 
         [0031]    Referring back to  FIG. 1 , after the active content is created, either using an authoring system or otherwise, the generated mark-up text may be stored in a content repository (step  200 ) for later retrieval, either by the authoring system (i.e. if a revision to the flow is needed) or by a system that interactively prompts users for answers to questions (step  300 ), for example, using a system that we refer to variously as the Problem Determination Engine, the Execution Engine, or simply the “Executor.” 
         [0032]    Referring now to  FIG. 4 , there is seen a representation of a screen shot of a Problem Determination Engine used in (step  300 ) of  FIG. 1 . In  FIG. 4 , there is seen that a user may be presented with a question, a set of answers, and a list of previously asked questions and their answers. In one embodiment, the bottom frame may be empty, but optionally can be used to help a user to answer the question. In one embodiment, a user may go back to a previously answered question by clicking on the question hyperlink and changing the previous answer. In  FIG. 4 , there is seen that a user may also click on a Grab History button, in which case the historical interaction may be copied into a text box. The user may then click on a Copy and Close button to copy the historical interaction transcription into a clipboard (step  400 ) and then paste the contents into a problem ticketing system (step  500 ), from which the ticket may be directed to a Problem Management Database (step  600 ) for reporting, further routing, and sharing the experience with other call takers or, in a self-help environment, by end users. 
         [0033]    The present invention identifies that search methodologies may be beneficially implemented to search the aforementioned active content, or a mixture of active content and traditional documents. Searches of knowledge documents may be performed in either a self-help or call center environment, wherein one may enter search terms or a description of one&#39;s problem to perform a keyword search that returns matching documents. In this manner, users may be encouraged to provide reasonable descriptions of their problems in a search query and then to use semantic analysis to discern when questions being called out by the active content are either explicitly or implicitly being answered. Because there maybe some doubt as to whether the answers believed to be implied by the search are in fact implied by the search, a user can be presented with the answers in a way such that the answers can readily be changed (i.e. as in the previously discussed  FIG. 4 ). It is noted that in a typical call-center interaction, users typically describe their problem to the call-taker, so this description would normally be entered in its entirety as a search query. 
         [0034]    Referring now to  FIG. 5 , there is seen a representation of a system  501 , wherein one or more of the embodiments of the invention described herein may be implemented. System  501  may comprise a network  502 , wherein one or more clients  510 ,  512 ,  514  are operatively coupled to communicate with one or more servers  504 ,  506 , and one or more storage devices  508 , as could be implemented by those skilled in the art. Client/server may describe a relationship between two computers/programs in which one computer/program, the client, makes a request for service to another computer/program, the server, which fulfills the request. Although the client/server idea can be used by programs within a single computer, it is applicable to a network of computers as well. In a network, the client/server model provides a convenient and efficient way to implement and interconnect needed hardware, firmware, and software that may distributed across different locations. 
         [0035]    Referring now to  FIG. 6 , and other Figures as needed, there is seen a representation of possible embodiments of a client, a server, storage and/or other devices(s), with which embodiments of the present invention may be implemented. In embodiments, a client, a server, storage and/or other devices(s) may comprise one or more of the following: a processor  606 , a memory  608  (e.g., a volatile memory device), storage devices  626 ,  630 ,  624 , and other shown and unshown circuits, as are known and able to be implemented by those skilled in the art. In one embodiment, storage devices may be embodied as a non-volatile memory device, magnetic disk drive, optical disk drive, tape drive, etc. Storage may as well comprise an internal storage device, an attached storage device, and/or a network accessible storage device. Other possible components know to those skilled are represented and may be implemented as needed by those skilled in the art. 
         [0036]    Accordingly, one or more of the embodiments described herein may as well be implemented by those skilled in the art as a method, apparatus or article of manufacture involving software, firmware, micro-code, hardware and/or combinations thereof. Certain embodiments of the present invention in system  501  may reside on and/or may be implemented in a processor, a memory, storage, circuit, hardware, firmware, software, etc. In one embodiment, the present invention may be deployed as computing instructions by a person or automated processing integrating computer-readable code into a computing system, wherein the code in combination with the computing system is enabled to perform the operations of the described embodiments. Certain ones of the operations described herein may be performed in parallel as well as sequentially. In alternative embodiments, certain of the operations may be performed in a different order, modified or removed. Furthermore, some of the elements have been described separately for purposes of illustration. Such components may be integrated into a fewer number of components or divided into a larger number of components. Additionally, certain operations described as performed by a specific component may be performed by other components. 
         [0037]    The term “article of manufacture” as used herein refers to code or logic implemented in a medium, where such medium may comprise hardware logic [e.g., an integrated circuit chip, Programmable Gate Array (PGA), Application Specific Integrated Circuit (ASIC), etc.] or a computer readable medium, such as magnetic storage medium (e.g., hard disk drives, floppy disks, tape, etc.), optical storage (CD-ROMs, optical disks, etc.), volatile and non-volatile memory devices [e.g., Electrically Erasable Programmable Read Only Memory (EEPROM), Read Only Memory (ROM), Programmable Read Only Memory (PROM), Random Access Memory (RAM), Dynamic Random Access Memory (DRAM), Static Random Access Memory (SRAM), flash, firmware, programmable logic, etc.]. Code in the computer readable medium is accessed and executed by a processor. The medium in which the code or logic is encoded may also comprise transmission signals propagating through space or a transmission media, such as an optical fiber, copper wire, etc. The transmission signal in which the code or logic is encoded may further comprise a wireless signal, satellite transmission, radio waves, infrared signals, Bluetooth, etc. The transmission signal in which the code or logic is encoded is capable of being transmitted by a transmitting station and received by a receiving station, where the code or logic encoded in the transmission signal may be decoded and stored in hardware or a computer readable medium at the receiving and transmitting stations or devices. Additionally, the “article of manufacture” may comprise a combination of hardware and software components in which the code is embodied, processed, and executed. Of course, those skilled in the art will recognize that many modifications may be made without departing from the scope of embodiments, and that an article of manufacture may comprise any information bearing medium. For example, an article of manufacture comprises a storage medium having stored therein instructions that when executed by a machine results in operations being performed. 
         [0038]    Certain embodiments can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In a preferred embodiment, the invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, etc. Furthermore, certain embodiments can take the form of a computer program product accessible from a computer usable or computer readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer usable or computer readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD. 
         [0039]    Elements of the invention that are in communication with each other need not be in continuous communication with each other, unless expressly specified otherwise. In addition, devices that are in communication with each other may communicate directly or indirectly through one or more intermediaries. Additionally, a description of an embodiment with several elements in communication with each other does not necessarily imply that all such components are required. On the contrary a variety of optional elements are described to illustrate the wide variety of possible embodiments. 
         [0040]    Further, although process steps, method steps, algorithms or the like may be described in a sequential order, such processes, methods and algorithms may be configured to work in alternate orders. In other words, any sequence or order of steps that may be described does not necessarily indicate a requirement that the steps be performed in that order. The steps of processes described herein may be performed in any order practical. Further, some steps may be performed simultaneously, in parallel, or concurrently. 
         [0041]    Therefore, the foregoing description of the embodiments has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the embodiments to the precise form disclosed. Many modifications and variations are possible in light of the above teaching.