|Publication number||US7694219 B2|
|Application number||US 10/327,311|
|Publication date||Apr 6, 2010|
|Filing date||Dec 20, 2002|
|Priority date||Dec 20, 2002|
|Also published as||US20040119743|
|Publication number||10327311, 327311, US 7694219 B2, US 7694219B2, US-B2-7694219, US7694219 B2, US7694219B2|
|Original Assignee||Oracle International Corporation|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (13), Non-Patent Citations (5), Referenced by (5), Classifications (7), Legal Events (6)|
|External Links: USPTO, USPTO Assignment, Espacenet|
1. Field of the Invention
This application relates to software for representing relationships between objects. More specifically, this application relates to software for building and maintaining trees that represent relationships between objects.
2. Discussion of Prior Art
There are several approaches for representing relationships between objects. One example of a system for representing relationships between objects is a tree. However, prior art trees are not convenient for use while conducting a transaction or to use in real time situations, because the information in them may not be current and updating the information they contain may be cumbersome. In this specification and in the prior art the terminology often used for trees includes terms such as “node,” borrowed from math and science terms used to label a mesh; “branches,” “roots,” and “leaves,” borrowed from the names of parts of a biological tree; and “parent,” “child,” and “sibling,” borrowed from family trees.
Trees constructed in prior art tree managers are essentially “static,” having nodes and leaves that are defined explicitly in the tree manager and saved in a database. For example, using a prior art system the organization of a bank may be provided on a page (a bank page) using a tree in which the branches are the divisions and departments of the bank. If a new division is added to the bank, called Div4 for example, the tree definition in the tree manager needs to be modified and saved, and then the user needs to go back to the bank page in order to view Div4 in the bank tree. The static trees constructed in prior art tree managers are not able to generate and/or update nodes and leaves dynamically at run-time.
In the prior art, the children nodes are handled in essentially the same manner no matter the nature of the relationship to their parent node. Similarly, nodes of different branches are handled in the same manner whether or not they are related.
Another example of a system for representing relationships between objects is a graphic tree generated by running Java™ classes on the client machine. Java™ graphic trees are not Hypertext Markup Language (HTML) trees. The performance of Java™ graphic trees is considered by some to be slow. The consumer must have the application Java classes installed on the client side. So, another problem with using graphic trees generated with Java™ is that the consumer must install the application on every client machine and then reinstall the application whenever there is an application upgrade.
A representation of relational and/or hierarchical information about a consumer or supplier is provided over a network. The representation may also be used for recording information about currently occurring transactions. The recorded information is used to dynamically update the representation of the consumer information and serve as a central application for conducting consumer interactions. For example, an agent may use the tree to enter, change, and/or retrieve data related to a transaction and/or a consumer while conducting the transaction and/or accepting the consumer as a customer. In an embodiment, the representation is a tree that is provided via a browser to a user. The tree may be provided in a display language, which in this specification is a language used to represent documents such as a markup language or a markup meta language. Examples of markup languages and markup meta languages are HTML, Standard Generalized Markup Language (SGML, a markup meta language), a language derived from SGML, Extensible Markup Language (XL, a markup meta language), and a language derived from XML. In an embodiment, the representation may represent relationships among a set of objects, stored in a relational database, in Internet web-based applications. (The term object is to be understood as being generic to its common meaning and its common meaning within the computer programming art.) The representation may use an interactive XML or HTML tree, for example, in order to present a picture that can easily be updated. The tree presented to the user or agent may be dynamically generated using a configurable definition of its nodes and leaves. Rather than relying only on a stored version of the tree that may be out of date the present system is able to generate the tree nodes and leaves (displayed on a browser, for example) at run-time based on the current data in the database tables.
An embodiment of the present system may represent association relationships and aggregation relationships in the same tree, but these two types relationships are handled differently. The handling of aggregation and association relationships differently can be performed in a static tree as well as in a dynamic tree.
An embodiment of the invention allows the user to paste the tree to and run the tree from within a window of another program from which the tree may be run (i.e., the user can “plug and play” the tree). To facilitate plug and play aspects, the tree representation may be implemented in an encapsulated module so that the tree representation can be plugged into other applications.
A system is provided for interacting with consumers using a tree that is in part refreshed with each new request for information. The tree can run in a plug and play manner from within other applications. In order to discuss the system, it is useful to be familiar with its various components and how they interact. Accordingly, the components of the system and how they interact are first described in
Network 201 may include any one of, any combination of, or all of network 114, PSTN 112, and/or a LAN and/or WAN other than network 114. Part of or all of network 201 may be included in provider 116. Alternatively, network 201 may be external to provider 116. Agents 202 and 204 may represent any user of the system of provider 116, such as a customer service representative. Agents 202 and 204 may include appliances with browsers 206 and 208, which are used while communicating, via network 201, with server 212. In this specification references to agents are generic to both the user and the appliance (e.g., computer or Internet appliance) associated with the agent. Tree images 207 and 209 differ from an image of the full tree (not shown) in that tree images 207 and 209 may be images of only a portion of the entire tree. Agents 202 and 204 may use tree images 207 and 209, respectively, to view information related to and/or relationships between consumers, suppliers, inventories, consumer accounts, and/or supplier accounts, for example. Tree images 207 and 209 facilitate a consumer interaction mode for Internet-based Customer Relations Management (CRM) applications or other applications running on the Internet, network 114, network 201, server 212, or on appliances associated with agents 202 and 204, for example. Users of the system of provider 116 (
Server 212 utilizes database 214 to obtain data requested by agents 202 and 204 that are used for tree images 207 and 209. Although only two agents are shown, provider 116 may have any number of agents, which are represented by agents 202 and 204. Database 214 contains consumer data 216 and/or supplier data 218, and tree specification 220. Although server 212 and database 214 are depicted as two separate systems, they may be one and the same system. Server 212 and database 214 may be connected directly to one another or via a LAN and/or WAN.
Database 214 may include one or more processors and/or one or more memory devices. The processors and/or memory devices may be located in one location or distributed among several locations connected via a LAN and/or Wan. Database 214 may also be a collection of data files, which may be located in one location or distributed among several systems.
In an embodiment, the data for tree images 207 and 209 are stored in essentially one location in database 214. In order to allow storing data in one table, for example, data may be tagged (or keyed) with a segment identification characterizing the data (which may be referred to as SETID) and/or a group identification characterizing an organizational entity such as a business unit (which may be referred to as a Business Unit identification) that is associated with the data. The identifications of agents 202 and 204 may be determined according to a set control concept in which a determination may be made whether the agent is a member of a business unit. The segment identification or SETID may be used to identify relatively static sets of information such as definitional information, which may include accounting structure, descriptive information, and processing rules, for example. The group identification or Business Unit identification may be used to identify more dynamic information such as information about transactions, which may include information about cases and orders, for example. The Business Unit identification of a transaction may be determined by the group (e.g., the business unit or organizational entity) that agent 202 or 204 is a member of. Access to the data may be limited according to the segment identification allowing agents 202 and 204 to access only the information that they are allowed to view. Similarly, the group identification or Business Unit identification allows access only to part of the data according to the group or business unit that agent 202 or 204 is a member of In a database table one or more columns are provided in which each entry indicates one or more segment identifications, group identifications, and/or ranges or collections of segment identifications, and/or ranges or collections of group identifications that determine access to that row, thereby tagging or keying the rows. The identification of the agent 202 or 204 may be used in conjunction with segment identification and/or the Business Unit identification when determining whether to grant access to the data keyed by the group or Business Unit identification and/or the segment identification. Thus, using the set control concept a large amount of data can be accessed by a large number of users from only one table while allowing each user to access only those parts of the table to which he or she is entitled.
The configuration of the tree (not shown) associated with tree images 207 and 209 includes the contents and the appearance of tree images 207 and 209. When an agent 202 or 204 needs information about a consumer and/or supplier, agent 202 or 204 uses browser 206 or 208, respectively, to access server 212. In turn, server 212 runs a program that uses tree specification 220 to determine the configuration of the tree (not shown) associated with tree images 207 or 209. In an embodiment, tree specification 220 does not include an explicit tree representation. The tree representation is generated at run-time and not explicitly stored in database 214. Tree images 207 and 209 can be updated in part and/or refreshed at run-time to reflect the changes of the objects represented in the tree (adding, changing, or deleting objects). Tree specification 220 may include any of, any combination of, or all of a tree, a root node (the node at the highest level in the hierarchy), a record name, a node record name, and an ID field name, for example. The nodes/leaves related to the tree (not shown) associated with tree image 207 or 209 are decided and retrieved at run-time based on tree specification 220 and information associated with agents 202 and 204. Tree specification 220 is established when defining the tree (not shown) associated with tree images 207 and 209, respectively. It may be desirable to establish tree specification 220 prior to agents 202 and 204 accessing the tree (not shown) in relation to consumer interactions.
Regarding the content of the tree (not shown), tree specification 220 includes the type of information and where in consumer data 216 and/or supplier data 218 the information can be found. The actual values for the data are contained in consumer database 216 and/or supplier database 218. Using the example of a bank having divisions in different regions, logic and other information about the banks divisions, and regions may be stored in programming units called classes. If agent 202 or 204 would like to setup a tree showing the information related to the bank and its divisions and/or regions, agent 202 or 204 only needs to specify in the tree definition that he or she wants to display a tree having the relationships between the bank and its divisions and/or regions. The details of the bank, divisions, and regions are obtained from consumer data 216 and/or supplier data 218. Server 212 combines the details of consumer data 216 and/or supplier data 218 into tree images 207 or 209 in a page displayed on browser 206 or 208.
As another example, tree specification 220 may contain information dictating that the tree (not shown) should have a node for a consumer, under the consumer node there should be nodes for types of accounts, and under each node for each type of account there should be nodes for each account that displays their respective account numbers. In contrast, consumer data 216 may then contain information that one of the consumer nodes should be John Doe, under which there should only be one type of account, which should be a type appropriate for checking accounts (because, for example, John Doe does not own any types of accounts). Consumer data 216 may specify that there should be two nodes for two different checking accounts owned by John Doe. Consumer data 216 may further specify that John Doe's account numbers are 75143 and 16789.
Although VST 222 does not store an explicit representation of the tree (not shown) associated with tree images 207 and 209, VST 222 includes a virtual representation of that tree. Additionally, the tree (not shown) is a virtual tree that is not necessarily explicitly constructed. VST 222 may be a combination of coding and information stored in the computer memory that represents the tree (not shown) without explicitly constructing it. The configuration information of tree specification 220 is used to establish VST 222. The desired contents of the tree (not shown) may determine where in consumer data 216 and/or supplier data 218 a desired set of information can be obtained. VST 222 is used to determine where to obtain the desired information in consumer data 216 and/or supplier data 218. VST 222 is also used to send a display language tree such as an XML or HTML tree to browser 206 or 208 of agent 202 or 204 for creating tree images 207 or 209, respectively.
In an embodiment, VST 222 includes three virtual trees. One virtual tree, display language tree 228, is coding for generating a display of the tree on a screen. Display language tree 228 is stored on server 212. In an embodiment, display language tree 228 may be an XML tree or a HTML tree. In an embodiment, display language tree 228 is sent to agent 202 or 204 for creating tree images 207 or 209. In an alternative embodiment, a copy of all of or a portion of the coding that makes up display language tree 228 is sent to browser 206 or 208 and the copy is the display language tree used to create tree image 207 or 209 in browser 206 or 208, respectively. In an embodiment, each agent 202 and 204 engages in its own session, and each session has its own display language tree 228 stored on server 212. (A session is the period of time during which a user is logged on to the server. During the session the server 212 stores information particular to the user, which may be used to identify the user.) In an alternative embodiment there is only one display language tree 228 for all agents 202 and 204, and only the portion of display language tree 228 of interest is sent to a particular agent 202 or 204, with possible modifications to account for collapsed branches, is sent to that agent 202 or 204, respectively.
The second virtual tree, display information tree 226, may contain information defining how to arrange tree images 207 and 209 on browsers 206 or 208, respectively. Display information tree 226 typically contains a relatively large amount of information compared to the smart tree 224, which only contains necessary information needed for dynamically retrieving consumer data 216 and/or supplier data 218 and for updating tree images 207 and 209 (smart trees are discussed further, below). In an embodiment, display information tree 226 contains information about how to generate the coding that is display language tree 228. There may be one display information tree 226 for each display language tree 228. Display information tree 226 may be a table in which each row contains information related to how to display a corresponding line of an image of the tree (not shown). In an embodiment, each row of the table corresponds to a node of the tree (not shown). The names of the nodes used by display information tree 226 are the same as they appear in tree images 207 and 209. Display information tree 226 may include hierarchical information. Some of the rows of the table of display information tree 226 may correspond to parts of the tree (not shown) that are not included in tree images 207 and 209. Display information tree 226 may differ from the full tree (not shown) in that display information tree 226 is missing information about the full tree that has not been requested by agent 202 or 204. An example of information that has not been requested by agent 202 or 204 is nodes that are children of a collapsed node that has not been expanded. In an embodiment, in which there is one display language tree 228 for each agent 202 and 204, there may be a one to one correspondence between each of the display images 207 and 209 and the corresponding display language tree 228, because display language trees 228 may be identical to the display language trees resident on the appliances of agent 202 and 204. In an alternative embodiment in which there is only one display language tree 228, there may be a one to one correspondence between the parts of display information tree 226 and the display language tree 228. In an embodiment, display information tree 226 and/or display language tree 228 may be separate entities, part of a separate entity, or part of several separate entities that are different from VST 222.
The third virtual tree, smart tree 224, has names associated with nodes of the tree (not shown) and at least some organizational and/or other information about the tree (not shown) used to find the corresponding information in database 214 at run-time. In an embodiment, the names of the nodes used by smart tree 224 are the same as the names of the nodes used in database 214. These names may be different than the names used in tree images 207 and 209 for the same nodes. Smart tree 224 may contain information about which nodes are parents of, children of, and/or siblings of a given node, for example. Typically, smart tree 224 contains a relatively small amount of information when compared to display information tree 226. There may be one smart tree 224 for each display information tree 226. Smart tree 224 can be searched and can be used for obtaining information about the tree (not shown), tree nodes, or items related to the tree (not shown). Smart tree 224 is capable of performing logical operations for obtaining information about the tree (not shown). Smart tree 224 may also be capable of providing diagnostic information related to the tree (not shown). Smart tree 224 is not updated each time information is accessed. In contrast, display information tree 226 and display language tree 228 may be updated (or a portion of display information tree 226 and display language tree 228 may be updated) frequently with accesses of information associated with the tree (not shown). Elaborating on when the tree is and is not updated, in an embodiment, display information tree 226 is updated each time agent 202 or 204 expands a tree node for the first time in tree image 207 or 209 or conducts a transaction from tree image 207 or 209, respectively. However, in an embodiment, display information tree 226 is not updated if a node in a tree image is being collapsed or if a node that was previously expanded is being expanded again. In an embodiment in which there is only one display language tree 228, the display language tree 228 may optionally be updated only when display information tree 226 is updated. In contrast, in an embodiment in which there is one display language tree 228 for each agent 202 and 204 the display language tree 228 of a given agent 202 or 204 may be updated each time tree image 207 or 209, respectively, is updated.
Frequently, when agent 202 or 204 makes a new request for information, server 212 either reestablishes display information tree 226 or updates part of display information tree 226. Server 212 then sends the change in information to agent 202 or 204. In an embodiment, agents 202 and/or 204 may be capable of altering the information in database 214 in addition to or instead of being able to access information about the tree (not shown). Since VST 222 is in part reconstructed and/or updated frequently with requests for information (as explained above regarding when the tree is and is not updated), the changes to the database 214 (if relevant) will be incorporated into tree images 207 and 209 on browsers 206 and 208 of agents 202 and 204, respectively. The relation of VST 222 to server 212 is discussed further in conjunction with
Processor system 302 may run a variety of applications and may include only a single processor or any number of processors. The processors of processor system 302 may include general purpose processors, which may be configured to run in parallel with one another or in a distributed computing system. Processor system 302 may include one or more special purpose processors such as a memory management processor and a mathematical computations processor. Processor system 304 runs the applications that generate VST 222.
Memory system 304 may include one or any number of memory devices. Memory system 304 may include long term and/or short term memory, for example. Some examples of long term memory devices that may be included in memory system 304 are hard drives, optical disk drives, and tape drives. Some examples of short term memory that may be included in memory system 304 are Random Access Memory (RAM) and cache memory. Any one of, any combination of, or all of the processors of processor system 302 may be associated with a cache memory dedicated to it. Memory system 304 may include a database, such as database 214 and/or another database. Memory system 304 is discussed further in relation to
Input/output system 306 may include any number of and/or any combination of modems, monitors, keyboards, mice, touch sensitive screens, and/or interfaces to outside systems and/or networks, for example. Input/output system 306 allows server 212 to communicate with database 214, agents 202 and 204 (
Communications system 308 may include a bus or one or more electrical and/or optical communications systems, for example. Communications system 308 is for sending messages and transferring data between processor system 302, memory system 304, and input/output system 306. If processor system 302 includes distributed processors, communications system 308 and/or processor system 302 may include a system for managing access to the components of communications system 308, for example.
Memory system 304 stores operating system 402 upon which applications 404 and dynamic tree application 406 run. Dynamic tree application 406 may be any one of, any combination of some of, or any combination of all of a computer program, firmware, and/or hardware. Dynamic tree application 406 generates VST 222. The coding for operating system 402, applications 404, and dynamic tree application 406 may be stored in long term memory of memory system 304. When operating system 402, applications 404, and dynamic tree application 406 are running they are at least in part resident in the short term memory of memory system 304. While dynamic tree application 406 is running, VST 222 may be stored in short term memory of memory system 304 (
Tree generator 502 generates VST 222 (
In contrast to configuration portion 504, tree generator 502 may include coding or hardware for gathering the information stored in tree specification 220, consumer data 216, and supplier data 218. Tree generator 502 may then assemble the gathered information into a tree. The nodes and the leaves of the tree (not shown) are defined in a configuration, by configuration portion 504. The configuration is stored as tree specification 220. Although tree generator 502 and configuration portion 504 are depicted as separate objects, they may be two functions of the same object having their respective lines of code and/or hardware parts interspersed with one another and/or may have different parts or subfunctions distributed among many objects or components of provider 116 (
Regarding tree generator 502, to enhance the object orientation of the dynamic tree application 406 (
Next, in step 590, a decision is made whether to end the session. Application 406 may be set to end the session after a set interval of time in which there is no communications from agent 202 or 204. The time period may vary according to the interaction being conducted and the particular agent 202 or 204. The session may be set to end after an explicit request by agent 202 or 204 to end the session. Application 406 may end the session automatically after certain types of transactions. Step 590 may involve waiting for agent 202 or 204 to make an entry into fields of browser 206 or 208, respectively. The entry may be a new request of step 592 or may be agent 202 or 204 logging out or otherwise terminating the session, for example. If in step 590 it is determined that the session should be ended, the method proceeds to step 594 to end the session.
If the session is not ended, method 570 proceeds to step 592 in which the agent 202 or 204 makes the next request by entering the request into browser 206 or 208, respectively, which causes another signal to be sent to server 212. In response, display information tree 226 (or VST 222,
In the example of
A key is a column in a database table whose value is to be used as an identifier, such as a number, to identify a row of a database table. A primary key is a key with a unique value in each row. A primary key can be used as a unique identification of a row. A combination key is a combination of several keys. None of the keys in a combination key needs to be unique, as long as the entire combination key uniquely identifies a row. If there is not any primary key, a combination key may function as a primary key. A foreign key is also a column in a database table whose value is used as an identifier of a row, but many rows may have the same value for a foreign key. The foreign keys of a table usually have the same name as a key of another table. The region identification is a foreign key in table 610, but not part of any combination key. The company identification is a primary key. A characteristic of association relationship is that deleting Region_West from Region table (not shown) does not require the deletion of rows for Company 1, Company 2, or Company 3 from company table 610 (even if in tree image 207 or 209, Company 1, Company 2, and Company 3 were displayed as children of Region_West), because these companies can be reclassified into a new category called “Region_US.” The new region, Region_US, may include the deleted Region_West in addition to other deleted categories. Region_US would be placed in table entries 612 a-c. In this case, Company1, Company2, and Company3 are associated to a different instance of Region class 608 (
In aggregation relationships, the existence of one class depends on the existence of another class. Consequently, in contrast to
User interface 800 is an example of a user interface or tool for managing consumer interactions (and may be referred to as an interaction manager). In the example shown in
Each tree node of tree image 817 reports to another tree node at a higher level of organization, until the top level of the hierarchy, the root node, is reached. Node 802 could be an example of a root node, which in this embodiment of the invention appears at the top left of tree image 817. In an embodiment, user interface 800 may represent a branch of the tree in which node 802 is the highest level node displayed. In an embodiment, trees of user interface 800 are built from the highest level of the hierarchy (root node 802) to the lowest level of the hierarchy (node 814).
Node 816 has a node icon 816 a, node name 816 b, and node description 816 c, according to the invention. The type and format of node icon 816 a, node name 816 b, and node description 816 c may vary depending on what the node represents. For example, there may be different formats for different types of interactions. Node icon 816 a is a graphical icon giving a pictorial representation for reminding agent 202 or 204 (
Node 802 is expanded, so its folder icon 804 is displayed as open. Nodes 806 and 808 are interaction nodes for interactions 95 and 93, respectively. Nodes 806 and 808 are collapsed, so the folder icon 810 is closed. Plus sign 812 on folder 806 indicates that there is additional information that can be viewed in an expanded view. Node 814 does not have any children reporting to it, and therefore may be represented by a gray folder, for example.
All interactions and sub-interactions are included in the tree (not shown) represented by tree image 817 of user interface 800, and may be displayed in tree image 817. The profile subpage 818 displays an entity's role, phone number, address, e-mail, and marketing segment (indicated by “Segment:”). Agents 202 and 204 (
Display by role field 824 enables agents 202 and 204 (
An interaction can be created, viewed or changed by agent 202 or 204 (
Using user interface 800, dynamic tree application 406 (
Similarly, nodes in which neither is a descendent of the other will be handled differently depending on whether they are related to one another. If there is no relationship between nodes, then the deletion of one node of one branch does not affect the other unrelated nodes of other branches. If these nodes are related, they may also be handled differently depending upon if their relationship is an aggregation or an association. If two nodes have an association relationship and one is deleted, although the other is not deleted it may need to be updated to reflect the deletion. In an embodiment, dynamic tree application 406 may present a dialogue box to the user to check if the other related nodes are also supposed to be updated before updating them, because the relationship may be in error, for example. In contrast, if one node is deleted having an aggregation relationship with other nodes, the other nodes are deleted. In an embodiment, a dialogue box is presented to the user to check if the other nodes should be deleted before deleting them.
Although in the example of
The tree image 817 may be used as the entrance of CRM applications, such as one of applications 404 (
The tree associated with tree image 817 is highly configurable. The icons representing the nodes and the text of the nodes and the structure of the tree, such as the number of nodes under the root, can be configured. The leaves under a child node of user interface 800 may be specified in a database view, for example.
Actions can be defined that are performed on nodes in response to a user clicking on a node. For example, clicking on root node 802 may refresh the tree, clicking on a node may create an object, and clicking on a leaf may cause a view to appear showing the details of the object represented by the leaf. In an embodiment, the number of leaves a node has can be shown on the node before the node is expanded. Dynamic tree application 406 (
The nodes of tree image 817 may be associated with instances and classes of dynamic tree application 406 or other applications. Adding a node to tree image 817 may add one or more instances of various objects to dynamic tree application 406 or another application.
The manner in which sub-interactions are created can also be configured to meet a consumer's needs. Using a configure interaction manager component, whether or not a transaction is to be captured as a sub-interaction can be specified. An interaction (e.g., interaction nodes 804 and 806) may contain multiple sub-interactions. For example, a call with a consumer may involve a case being updated, a service order being added, and a note about the consumer being sent. All of these sub-interactions may be logged under the same interaction and node (or may be represented by children to nodes 804 and 806).
In an embodiment, user interface 800 may include a consumer view, a representative view, and a company view—each view being configured to meet the needs of a different type of viewer. In an embodiment, interactions are created automatically from the consumer and representative view, but not from the company view, because the managers accessing the company view are typically interested in viewing the history of transactions rather than actually conducting transactions. However, in another embodiment, interactions may be automatically created in the company view also and/or not automatically created in the representative and/or consumer view.
In an embodiment, dynamic tree application 406 takes advantage of having gathered all the information associated with a consumer or supplier to provide diagnostic and related information. Using the example of a brokerage firm, dynamic tree application may indicate that the consumer is overly invested in high risk funds, for example.
User interface 900 is an example of how user interface 800 can be configured for consumer needs. In the example of
Number of nodes 908 is a number that indicates the number of child nodes associated with a parent node. The actual number of child nodes displayed may be smaller than number of nodes 908. How many and which of the child nodes are displayed is configurable using configuration portion 504 (
Using the dialog box of interaction details subpage 1100, a user such as a Customer Service Representative (CSR) associated with agent 202 or 204 (
Using interaction details subpage 1100, the CSR can record the callback date and time, attach notes to the interaction, and send an e-mail to the consumer or internal personnel, provided e-mail link 1112 is set up. Specifically, contact method field 1102 is used for recording the method of contact for the interaction having values, such as “Inbound Chat,” “Inbound E-mail,” “Inbound Fax,” “Inbound Phone,” “Inbound Web,” “Outbound E-mail,” “Outbound Fax,” and “Outbound Phone.” Select the status field 1104 is used for recording the status of the interaction and may have values, such as “Busy,” “Callback,” “Child Answered,” “Completed,” “Do Not Call Again,” “In Process,” and “No Answer.” Call back date field 1106 and call back time field 1108 are used for recording the time and date when to call back. Add note field 1110 may be used for keeping notes about a conversation. The user may then save the notes in note field 1110 by clicking the save icon 1116. E-mail link 1112 may be used to open a field for composing an e-mail message. To finish the interaction with the current consumer, the user may click on finish and return to search link 1114 to return to user interface 800 or 900 (
In summary, provider 116 (
Although the invention has been described with reference to specific embodiments, it will be understood by those skilled in the art that various changes may be made and equivalents may be substituted for elements thereof without departing from the true spirit and scope of the invention. In addition, modifications may be made without departing from the essential teachings of the invention.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US6240421 *||Sep 8, 1998||May 29, 2001||Edwin J. Stolarz||System, software and apparatus for organizing, storing and retrieving information from a computer database|
|US6253254 *||Jul 11, 1996||Jun 26, 2001||Ansgar Erlenkoetter||Hyper media object management|
|US6314424 *||Sep 28, 1998||Nov 6, 2001||International Business Machines Corporation||System and method for dynamically expanding and collapsing a tree view for an HTML web interface|
|US6446098 *||Jan 22, 2002||Sep 3, 2002||Everypath, Inc.||Method for converting two-dimensional data into a canonical representation|
|US6466240 *||Apr 2, 1999||Oct 15, 2002||Vadim Maslov||Method for visually writing programs or scripts that transform structured text presented as a tree|
|US6538673 *||Apr 13, 2000||Mar 25, 2003||Divine Technology Ventures||Method for extracting digests, reformatting, and automatic monitoring of structured online documents based on visual programming of document tree navigation and transformation|
|US6775675 *||Apr 4, 2001||Aug 10, 2004||Sagemetrics Corporation||Methods for abstracting data from various data structures and managing the presentation of the data|
|US7191394 *||Jun 21, 2000||Mar 13, 2007||Microsoft Corporation||Authoring arbitrary XML documents using DHTML and XSLT|
|US7197502 *||Feb 18, 2004||Mar 27, 2007||Friendly Polynomials, Inc.||Machine-implemented activity management system using asynchronously shared activity data objects and journal data items|
|US7246351 *||Feb 20, 2002||Jul 17, 2007||Jargon Software||System and method for deploying and implementing software applications over a distributed network|
|US20020078094 *||Sep 6, 2001||Jun 20, 2002||Muralidhar Krishnaprasad||Method and apparatus for XML visualization of a relational database and universal resource identifiers to database data and metadata|
|US20030101235 *||Sep 3, 2002||May 29, 2003||Chenglin Zhang||Browser-to-browser, dom-based, peer-to-peer communication with delta synchronization|
|US20030149934 *||May 11, 2001||Aug 7, 2003||Worden Robert Peel||Computer program connecting the structure of a xml document to its underlying meaning|
|1||*||Cormen, et al., "Introduction to Algorithms," The MIT Press, 1990, title page, copyright page, and pp. 250-253.|
|2||Design Guidelines: Lists, Tables, and Trees. http://java.sun.com/products/jlf/ed1/dg/higp.htm. Printed on Jun. 2, 2003.|
|3||*||Diztek, XML Database Engine-XMLDB & Persistent Document Object Model PDOM reference manual, 1999-2003, Diztek, pp. 1-34.|
|4||Tree Components. http://java.sun.com/products/jlf/ed2/book/HIG.Misc3.html. Printed on Jun. 3, 2003.|
|5||Tree Table Idiom. http://java.sun.com/products/jlf/at/book/Idioms5.html. Printed on Jun. 3, 2003.|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US8683352 *||Sep 5, 2006||Mar 25, 2014||International Business Machines Corporation||Selectable flattening hierarchical file browser|
|US8745086 *||Dec 4, 2009||Jun 3, 2014||New BIS Safe Luxco S.á.r.l.||Methods, apparatus and systems for data visualization and related applications|
|US20080059912 *||Sep 5, 2006||Mar 6, 2008||International Business Machines Corporation||Selectable flattening hierarchical file browser|
|US20120053986 *||Dec 4, 2009||Mar 1, 2012||Business Intelligence Solutions Safe B.V.||Methods, apparatus and systems for data visualization and related applications|
|US20130151315 *||Jun 13, 2013||Sap Ag||Representing Business Drivers and Outcomes to Facilitate Collaborative Planning|
|International Classification||G06F17/30, G09G5/00, G06F17/00|
|European Classification||G06F17/30Z1T, G06F17/30W9|
|Dec 20, 2002||AS||Assignment|
Owner name: PEOPLESOFT, INC.,CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:XU, SONGWEN;REEL/FRAME:013612/0318
Effective date: 20021220
|May 19, 2003||AS||Assignment|
Owner name: ARBOR SURGICAL TECHNOLOGIES, INC.,CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:FOGERTY, THOMAS J.;DREWS, MICHAEL J.;HOLMGREN, NEIL;AND OTHERS;REEL/FRAME:014092/0760
Effective date: 20030429
|Nov 7, 2005||AS||Assignment|
Owner name: ORACLE INTERNATIONAL CORPORATION,CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PEOPLESOFT, INC.;J.D. EDWARDS & COMPANY, LLC;REEL/FRAME:016950/0887
Effective date: 20051028
|Mar 22, 2006||AS||Assignment|
Owner name: ORACLE INTERNATIONAL CORPORATION,CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PEOPLESOFT, INC.;J.D. EDWARDS & COMPANY, LLC;REEL/FRAME:017730/0927
Effective date: 20051028
|Mar 1, 2011||CC||Certificate of correction|
|Sep 4, 2013||FPAY||Fee payment|
Year of fee payment: 4