1. Technical Field
This application relates to digital data processing and, more particularly, to automated methods and apparatus for managing/monitoring work and enterprise content in multiple systems.
2. Description of Related Art
Computer systems, and software applications executing thereon, may be used to perform a variety of different tasks including automation of work processing such as, for example, in connection with work items in a business process. One drawback of some software applications used to automate work processing is that such applications are only “self-aware”—that is, they cannot manage work across multiple systems or provide a unified view of the work/enterprise content across an organization that deploys multiple software applications/systems with different types of technologies and versions. Users of such systems must separately attend to every individual system deployed within the organization (e.g. Payroll, Human Resources, Time Sheets, etc.) in order to determine, prioritize and process their complete list of outstanding tasks. This approach can prove to be very time-consuming, especially if there are many separate systems used by an organization to create and/or manage different types of work (referred to below collectively as “source systems”) and if such systems are not accessible in the same geographic location. The mere fact that users must check every system regardless of whether that system has any current tasks/assignment for that user hinders work automation and process efficiency.
In accordance with one aspect of the invention is an integrated work management system, comprising: an integrated work management server for processing one or more datum of one or more source systems interfaced with the integrated work management server, wherein the datum of each of the one or more source systems relates to at least one work item and the work item represents at least one assignment to be processed by at least one resource; an integrator coupled to the integrated work management server, wherein the integrator uses the one or more datum to create, store and/or update a combined work queue for the resource, the combined work queue comprising any of at least one work item and at least one assignment; and one or more prioritization rules specifying one or more criteria, wherein the integrator prioritizes the combined work queue by evaluating the criteria in accord with the one or more datum. The one or more datum may be any of: periodically propagated to the integrated work management server from the one or more source systems; and periodically retrieved by the integrated work management server, wherein the integrated work management server queries the one or more source systems and the one or more source systems return the one or more datum in response. Each of the one or more source systems may be any of a single server and a cluster. Each of the one or more source systems may support one or more software applications. The one or more datum of each of the one or more source systems may further include any of a context of at least one authorized resource with access to the source system; one or more workbaskets wherein each of the one or more workbaskets comprises any of at least one work item and at least one assignment that is eligible for processing by more than one authorized resource; any of an age, work type and an urgency level associated with any of at least one assignment and at least one work item; and, system information that can be used to identify any of the source system and the one or more software applications. The context may include information related to any of security and identification data, roles, privileges, skills, age, locale and disability settings of the authorized resource. The context may be used to identify any of at least one assignment and at least one work item that is eligible for any of creation, review and processing by the authorized resource. The system may further comprise a gateway coupled to the integrated work management server, wherein after the authorized resource specifies any of at least one assignment and at least one work item for any of creation, review and processing, the gateway identifies at least one source system corresponding to any of the specified assignment and the specified work item. The integrator may set an expiration period for any of the specified assignment and the specified work item and may remove any of the specified assignment and the specified work item from the combined work queue for the duration of the expiration period. Any of the specified assignment and the specified work item may be processed in the corresponding source system according to pre-defined processing steps and any the specified assignment and the specified work item may be permanently removed from the combined work queue after said processing. The pre-defined processing steps may be any of defined and stored in the corresponding source system. The integrated work management server may be interfaced with the one or more source systems through a network, and the gateway may identify at least one corresponding source system by constructing a Uniform Resource Locator for the corresponding source system. The authorized resource may be any of an operator, an inbound service, a batch process, a software application and a digital data processing system comprising one or more digital data processors. The authorized resource may use a user interface in communication with the integrated work management server to specify any of at least one assignment and at least one work item for any of creation, review and processing, wherein the user interface presents a view of any of the combined work queue and at least one source system to the authorized resource. The user interface may allow the authorized resource to choose one source system among a plurality of source systems that are identified by the gateway to correspond to any of the specified assignment and the specified work item. The user interface may permit the authorized resource to query the source system to review any of at least one assignment and at least one work item in the source system. The user interface may permit the authorized resource to create any of at least one new assignment and at least one new work item in the source system. The user interface may allow the authorized resource to retrieve any of a highest priority work item and a highest priority assignment from any of the combined work queue and the one or more workbaskets by querying the one or more datum. The user interface may allow the authorized resource to any of: view a list of the one or more source systems interfaced with the integrated work management server; disconnect the interface between the one or more source systems and the integrated work management server; filter the combined work queue to exclude any of work items and assignments of the one or more source systems from the combined work queue; and filter the combined work queue to exclude any of the work items and assignments of the one or more workbaskets. The user interface may allow the authorized resource to customize the prioritization rules. The integrator and the gateway may be included in the integrated work management server. The urgency level may indicate a relative urgency with respect to any of at least one other assignment and at least one other work item within the source system. Any of the specified assignment and the specified work item may be permanently removed when the integrated work management server receives an updated one or more datum from the corresponding source system after said processing, said updated datum excluding any of the specified assignment and the specified work item. The integrated work management server may be a first integrated work management server that processes the one or more datum of said one or more source systems and the system may further comprise one or more other integrated work management servers interfaced with at least a portion of said one or more source systems to perform processing of the datum of every source system included in said portion. One or more identification datum of a resource may be transmitted to the gateway when the resource attempts to establish a connection with the integrated work management server. The resource may be authenticated by the gateway before establishing the connection by comparing the one or more identification datum of the resource with the context of one or more authorized resources.
In accordance with another aspect of the invention is a computer-implemented method for providing integrated work management comprising: processing, using an integrated work management server, one or more datum of one or more source systems interfaced with the integrated work management server, wherein the datum of each of said one or more source systems relates to at least one work item and the work item represents at least one assignment to be processed by at least one resource; providing an integrator coupled to the integrated work management server, wherein said integrator uses the one or more datum to create, store and/or update a combined work queue for the resource, said combined work queue comprising at least one work item and at least one assignment; and prioritizing the combined work queue by evaluating one or more criteria specified by one or more prioritization rules, wherein the one or more criteria is evaluated by the integrator in accord with said one or more datum. The one or more datum may be any of: periodically propagated to the integrated work management server from the one or more source systems; and periodically retrieved by the integrated work management server, wherein the integrated work management server queries the one or more source systems and the one or more source systems return the one or more datum in response. Each of the one or more source systems may be any of a single server and a cluster. Each of the one or more source systems may support one or more software applications. The one or more datum of each of the one or more source systems may further include any of a context of at least one authorized resource with access to the source system; one or more workbaskets wherein each of the one or more workbaskets comprises any of at least one work item and at least one assignment that is eligible for processing by more than one authorized resource; any of an age, work type and an urgency level associated with any of at least one assignment and at least one work item; and system information that can be used to identify any of the one or more source systems and the one or more software applications. The context may include information related to any of security and identification data, roles, privileges, skills, age, locale and disability settings of the authorized resource. The context may be used to identify any of at least one assignment and at least one work item that is eligible for any of creation, review and processing by the authorized resource. The method may further comprise the step of providing a gateway coupled to the integrated work management server, wherein after the authorized resource specifies any of at least one assignment and at least one work item for any of creation, review and processing, the gateway identifies at least one source system corresponding to any of the specified assignment and the specified work item. The method may also include setting an expiration period for any of the specified assignment and the specified work item and removing any of the specified assignment and the specified work item from the combined work queue for the duration of the expiration period. The method may also include processing any of the specified assignment and the specified work item in the corresponding source system according to pre-defined processing steps and permanently removing any of the specified assignment and the specified work item from the combined work queue after said processing. The pre-defined processing steps may be any of defined and stored in the corresponding source system. The method may include interfacing the integrated work management server with the one or more source systems through a network, and identifying at least one corresponding source system by constructing a Uniform Resource Locator for the corresponding source system. The authorized resource may be any of an operator, an inbound service, a batch process, a software application and a digital data processing system comprising one or more digital data processors. The authorized resource may use a user interface in communication with the integrated work management server to specify any of at least one assignment and at least one work item for any of creation, review and processing, wherein the user interface presents a view of any of the combined work queue and at least one source system to the authorized resource. The user interface may allow the authorized resource to choose one source system among a plurality of source systems that are identified by the gateway to correspond to any of the specified assignment and the specified work item. The user interface may permit the authorized resource to query the source system to review any of at least one assignment and at least one work item in the source system. The user interface may permit the authorized resource to create any of at least one new assignment and at least one new work item in the source system. The user interface may allow the authorized resource to retrieve any of a highest priority work item and a highest priority assignment from any of the combined work queue and the one or more workbaskets by querying the one or more datum. The user interface may allow the authorized resource to perform any of: viewing a list of the one or more source systems interfaced with the integrated work management server; disconnecting the interface between the one or more source systems and the integrated work management server; and filtering the combined work queue to exclude any of work items and assignments of the one or more source systems from the combined work queue. The user interface may allow the authorized resource to customize the prioritization rules. The integrator and the gateway may be included in the integrated work management server. The urgency level may indicate a relative urgency with respect to any of at least one other assignment and at least one other work item within the source system. The method may include permanently removing any of the specified assignment and the specified work item upon the integrated work management server receiving an updated one or more datum from the corresponding source system after said processing, said updated datum excluding the specified assignment. The integrated work management server may be a first integrated work management server that processes the one or more datum of said one or more source systems, wherein the system may further comprise one or more other integrated work management servers interfacing with at least a portion of said one or more source systems to perform processing of the datum of every source system included in said portion. The method may also include transmitting one or more identification datum of a resource to the gateway when the resource attempts to establish a connection with the integrated work management server and authenticating the resource before establishing the connection by comparing the one or more identification datum of the resource with the context of one or more authorized resources.
In accordance with another aspect of the invention is a computer-implemented method for providing integrated work management comprising: processing one or more datum of one or more source systems interfaced with an integrated work management server, wherein the datum of each of said one or more source systems relates to at least one work item and the work item represents at least one assignment to be processed by at least one resource; using the one or more datum to create, store and/or update a combined work queue for the resource comprising any of at least one work item and at least one assignment; and providing one or more prioritization rules specifying one or more criteria, wherein the combined work queue is prioritized by evaluating said criteria in accordance with said one or more datum.
In accordance with another aspect of the invention is a computer readable medium comprising executable code thereon for providing integrated work management, the computer readable medium comprising executable code for: processing one or more datum of one or more source systems interfaced with an integrated work management server, wherein the datum of each of said one or more source systems relates to at least one work item and the work item represents at least one assignment to be processed by at least one resource; using the one or more datum to create, store and/or update a combined work queue for the resource comprising any of at least one work item and at least one assignment; and providing one or more prioritization rules specifying one or more criteria, wherein the combined work queue is prioritized by evaluating said criteria in accordance with said one or more datum.
Features and advantages of the present invention will become more apparent from the following detailed description of exemplary embodiments thereof taken in conjunction with the accompanying drawings in which:
Referring to
In the illustrated embodiment, client digital data processor 70 is depicted as an individual workstation. However, in other embodiments it may be any personal computer, mainframe, personal digital assistants (PDAs), mobile phone, embedded processor and/or other digital data apparatus of the type known in the art, one or more of which can be adapted for operation in accord with the teachings hereof. In the example 1000 of
Illustrated source systems 10, 20 and 30 are server digital data processors that execute in the networked environment and may comprise personal computers, workstations, mainframes, or other digital data processing apparatus. Each illustrated source system may be a single server digital data processor or a cluster of servers working together in environments, networked or otherwise. In a typical embodiment, illustrated here, a client data processor 70 coupled to each source system via a network 40 may be used in development mode, e.g., by software engineers, test engineers, systems administrators, etc. (collectively, “developers”) to develop, test and maintain/or software applications. Likewise, client data processor 70 may be employed by an end-user operator 80 to execute instantiations of one or more applications on each source system.
In the discussion that follows, source systems 10, 20 and 30 assume the role of development and execution devices, i.e., they are treated as if used by developers to develop, test and maintain applications, as well as the role of executing such applications at the behest of client device 70 used by an operator 80. Moreover, the operator 80 may be a developer of the applications or an end user operator of the applications. Still further, it is also assumed for sake of simplicity of discussion that applications execute on a single server digital data processor; however, in practice, the applications may execute on or over multiple server digital data processors (e.g., in client-server mode, peer-to-peer mode, etc.).
In the example 1000, source systems 10, 20 and 30 are shown executing exemplary Finance, Human Resources and Legal software applications. It will be appreciated that such software applications may comprise various different types of software applications written, tested and revised by developers and executed by users. By way of non-limiting example, such applications may be any multi-user enterprise software applications such as, for example, business process management applications that may be used in a variety of different industries and lines of business. By way of non-limiting example, such industries and lines of business may include, health care, finance, life sciences, telecommunications, government, insurance, business process outsourcing, automotive, retail product sales, clothing, marketing, computer services and food and restaurant industry. Moreover, each application may comprise one or more components, rules, modules, systems, and so forth (collectively, “components”), as is common in the art. In operation, these components allow applications to automate work processing because they typically define the sequence and other details of processing steps that are applied by each application to individual units of work (hereinafter “work items”). Although, in the illustrated embodiment, these processing steps are created, stored and executed on the source systems, in other embodiments, these may be created, stored, and/or executed otherwise.
The automated work items typically contain information related to the type of work being processed by the application(s), as well as data related to a plurality of assignments/tasks that need to be acted upon by one or more resources (e.g., a person, another system or a piece of equipment) during processing. A resource may be a person, software application, inbound service or batch processing software, digital data processing system comprising one or more digital data processors, and the like, which may complete an assignment or otherwise perform processing upon a work item. Thus, for example, in a source system comprising a server digital data processor executing a software application that is used to automate automobile insurance quotes, each work item may represent an auto insurance quote request that contains work data about the applicant, vehicle, driver details, as well as the coverage selected for the quote. Furthermore, the work item may also contain information about the resource assigned to act upon the work item at a particular processing step, the type of task(s) to be completed at that step by the assigned resource, the timeline for completing the task/assignment etc. (hereinafter “assignment data”). In some embodiments, the assignment data may change during work item processing as tasks and resources are updated at different stages of the process.
The illustrated source system 30 executes one or more software applications that are used to automate the processing of legal work within an enterprise. One such application may be a contract request software application where each work item represents a request from a sales representative to the legal department to generate a contract for a prospective customer or vendor. When the request is initiated, a work item may be instantiated containing work data about the requestor, prospective customer or vendor, as well as the requested business and legal terms to be included in the contract. In the next processing step after request initiation, the work item may need to be routed to an appropriate resource to complete the task/assignment (hereinafter “assignment”) of generating the contract based upon the work data contained within the work item. The assignment data (e.g. assignment description, assignment status, goal deadline, due deadline, urgency level, resource skills, capabilities desired and/or required to complete the assignment etc.) associated with that particular assignment may also be stored in the work item. The source system 30 and/or application, in turn, may apply a variety of techniques that use the assignment data to perform prioritization, routing and/or other work management of the work item and its associated assignments. By way of non-limiting example, techniques described in U.S. Patent Publication No. 2006/0173724, U.S. patent application Ser. No. 11/046,211, filed Jan. 28, 2005, “Methods and Apparatus for Work Management and Routing”, Trefler et al., (the '211 application), which is incorporated by reference herein, may be employed by the source system and/or application to optimally route work items and/or individual assignments to one or more resources using the assignment data. In the '211 application, techniques are described for service-level based and/or skills-based assignment of work to one or more resources based on fitness, for example, of skills required by the former to those provided by the latter. Techniques described in the '211 application may be incorporated for use in an embodiment in accordance with techniques described herein. For example, an embodiment in accordance with the techniques herein may assign a work item and/or assignment to one or more resources for processing based on a matching or similarity between a set of skills and/or level of skill or other characteristics attributable to a resource (e.g., that can be provided by the resource) and a set of required and/or desired characteristics associated with the work item and/or assignment which may characterize those which are necessary and/or desired in order to provide services in connection with the work item and/or assignment. As a further example, a resource may be an employee performing a service on behalf of a company where work items created relate to providing services to consumers or customers of the company. A work item may be assigned to a particular employee or group of employees for processing based on the type and level of skills of each employee selected in accordance with those which are deemed desired and/or required to complete the work item processing.
In a manner similar to that as described herein for source system 30, other source systems such as systems 10 and 20 may execute one or more software applications to automate the processing of other work in different areas within an enterprise (e.g., here, Finance and Human Resources, respectively).
It will be appreciated that there may be multiple assignments associated with one work item that can be performed by one or more resources (i.e. “open or pending assignments”) at any point in time (e.g., see, queue 12, first two assignments 3 and 7 for the same work item, “item 2”). In the contract request example stated above, the work item processing steps may be defined in parallel such that while the contract generation assignment is waiting in queue to be processed by an appropriate resource (e.g., a lawyer in the legal department) another assignment associated with the same work item may be simultaneously open for a sales supervisor resource to review/approve the business terms requested by the sales representative who initiated the request. Furthermore, the data structure definitions for work items in some source systems may be such that there is a “cover work item” that includes a plurality of linked “child work items” each comprising work data and assignment data of its own. Still other variations in data structure and work processing definitions are possible in different embodiments of the techniques herein.
In the illustrated embodiment of
In operation, a single application executing on a source system may have multiple workbaskets to categorize its work items. For example, a benefits enrollment HR application executing on the source system 20 may have the following workbaskets:
The number of workbaskets that may be used in connection with a software application may vary depending upon on several factors, such as, the structure of the organization deploying the application, the types of assignments made, the number and types of access roles (i.e., class access rights), types of processing to be performed, reporting requirements, and the like. For example, one organization may need to have assignments routed to work lists for one line of business and to workbaskets for another line of business. Another approach might be to consider the number of unique instructions associated with assignments—and to create that number of workbaskets. For example, if an application has one assignment instructing the users to collect available rates, another to verify employment, and a third to crosscheck references, then it may make sense to have three workbaskets, one for each of the foregoing. In this case, a pool of workers can draw assignments from a designated workbasket to handle common tasks. Still other variations in workbasket and work list configuration are possible in other embodiments.
In some embodiments using the techniques herein, work lists and workbaskets function in tandem for more efficient teaming and workload balancing. Qualified resources can pull cases from workbaskets to their work lists, transfer cases to other resources, or return cases to workbaskets. Furthermore, an application may automatically route assignments in a workbasket to users based on work schedules, due dates, skills, workloads, and other factors. Still further, managers may transfer assignments from a workbasket to operator work lists.
In the example 1000 of
As used here, an ‘urgency’ value is a numeric value used for indicating priority of work to be performed, both for automated tasks (e.g., by agents, batch processing or other automated system-to-system use) and any assignments requiring user interactions. The urgency of an assignment for a particular work item may be represented as an integer value between 0 and 100 that defines the importance (i.e., priority) of promptly completing and resolving a particular assignment. In the illustrated embodiment of
It will be appreciated that even though in the illustrated embodiment, the work queues are ordered based upon urgency values for individual assignments, in other embodiments, work may be prioritized by urgency values for work items. Such work item urgency values may depend upon the urgency values of the one or more assignments associated with the work item or they may be computed independently of the status of the associated assignment(s). Still other variations in methods of associating work items and assignments and prioritization of work are possible in other embodiments using the techniques described herein.
Furthermore, as will be described in more detail below, prioritization criteria evaluated by the IWM system 60 (e.g. one or more criterion specified by prioritization rules 43) can use the urgency value, alone or in combination with other data elements, to specify the order that assignments appear on a resource's integrated or combined work queue across multiple source systems (e.g., containing work items/assignments from multiple different source systems). In other words, an embodiment in accordance with techniques herein may define criteria used by the IWM system 60 to re-prioritize work queues of individual source system(s) and compile an ordered composite list of work item/assignments for a resource across multiple source systems.
Systems and methods according to techniques described herein facilitate managing work centrally as well as in individual source systems within a distributed multi-system environment. This is depicted, by way of non-limiting example, in
In the illustrated example, the combined work queue 72 comprises assignment data 46 related to individual work queues 12, 22 and 32 from source systems 10, 20 and 30, respectively. Just like the assignments contained in these individual work queues 12, 22 and 32, the combined work queue 72 may comprise pending assignments from both work lists and eligible workbaskets that the operator 80 can access on each source system. Among other things, this data is used to order the combined work queue 72 based upon prioritization rules 43 that may or may not specify the same prioritization criteria as individual source systems. To illustrate this point, the operator 80 in
As shown in
Once the resource is authenticated and a connection with the IWM system 60 is established, the gateway 61 on the IWM system 60 responds to the operator's request by passing the operator's context-related data to the integrator 63, which in turn, retrieves and executes the prioritization rules 43 in accordance with the current context. The manner of operation of the gateway 61 and the integrator 63, which may both be implemented in the same software module or in separate software modules, is discussed in further detail below and illustrated in
Thus referring back to
In a typical embodiment as illustrated in
In
Moreover, the illustrated IWM system 60 is shown with a single server 50 that co-houses the repository 65, integrator 63 and the gateway 61, as discussed in more detail elsewhere herein. However, in other embodiments, multiple servers may be provided which may (or may not) include co-housed repository, integrator and the gateway. Still further, although server 50 of the illustrated embodiment is depicted as being remotely disposed from the client digital data processor 70, in other embodiments, one or more of the client devices may be disposed in vicinity of the server and, indeed, may be co-housed with it.
In the illustrated embodiment, the IWM system 60 may ‘pull’ the necessary data (e.g., assignment data 46) from source system(s) that it is interfaced with (here, 10, 20 and 30) or such source systems may ‘push’ the data to the IWM system. In connection with a data pull operation from the IWM system 60, the data request is initiated by the IWM system 60 and the source systems may reply or respond accordingly by providing the requested data. On the other hand, the data transmission is initiated by the source system(s) in a data ‘push’ model. Both methods of data transmission may be synchronous or asynchronous and can be implemented in a variety of ways using an automated background process (e.g., agent programs) that operates on each source system and/or the IWM system.
By way of non-limiting example, in a ‘push’ model, an agent program may be defined and stored on each source system that is interfaced with one or more IWM systems. This agent program may be configured to periodically (e.g., a specified interval, a recurring pattern of minutes, hours, days, upon an occurrence of a trigger event such as a source system generating a threshold number of new work items/assignments for processing, etc.) execute and transmit a pre-defined set of data from the source system to the one or more IWM systems. Furthermore, data pushed from the source systems to the one or more IWM systems may be a result of a programmed requests generated by such IWM systems. That is, a ‘client program’ running on the IWM systems may capture profiles (e.g. system information or user profiles) and then periodically initiate requests for data on behalf of the IWM systems and/or users. Similarly, in a pull model, an agent program may execute on the IWM system such that it periodically retrieves a predefined set of data from one or more source systems specified by the agent program. Still other methods and techniques of data transmission are possible in other embodiments of the techniques herein.
When designing agents executing or running on the source systems, it is important to consider the frequency with which the agent should perform processing and transmit data to the IWM system 60. Performing processing and transmitting such data from an agent too frequently may waste system and network resources whereas work processing can be severely hampered by an agent that does not transmit such data frequently enough. To illustrate this point, assume that a software application that handles mortgages is executing on the Finance source system 10. It may process fewer than 10 of these requests each day where each request generates a small number of assignments or tasks that may take days or even weeks to complete. Due to this low volume of requests and the infrequency with which the assignment data is updated, having the agent check for updates every five seconds would result in excessive processing. In contrast, having the agent every hour or even once a day might be sufficient. On the other hand, if the software application is processing 10,000 daily invoices with multiple assignments for each invoice getting completed the same day, having the agent run every five seconds may be necessary. Thus, considering the possibility of such variance in the optimal agent execution and/or data transmission time based upon the nature of the work being processed, the agent design in a pull model may be updated by developers every time a new source system is interfaced with the IWM system.
Moreover, the data transmitted to IWM system(s) from one or more source systems may vary in different embodiments of the techniques herein. In the illustrated example, source systems 10, 20 and 30 transmit assignment data 46 that is stored in the repository 65, as mentioned above. Furthermore, context-related data, such as, the operator profiles (including security and identification information, roles, privileges, skills etc.) for all authorized operators with direct access to the source systems, is transmitted to the IWM system 60 so that such operators can be authenticated when they attempt to connect to the source systems through the IWM system 60. In an embodiment where an authorized resource may be an application or system, the context-related data provided from the source system may include application or system profile information such as, for example, an application name or identifier, system name or identifier (e.g., an IP or other address or other network identifier), so that the IWM system 60 may properly authenticate authorized applications and/or systems. The particular type of context-related data used in connection with resources (as may be provided by one or more source systems) may vary with the particular resources in an embodiment. Furthermore, all workbasket records are transmitted to the IWM system 60 so that the same work pools are available to a resource on the IWM system as they are on each source system. Still further, source system names or other system information used to identify each particular source system, and or application(s) thereon, may be transmitted and stored in the repository 65 so that the IWM system can locate and/or identify the corresponding source system for each work item and/or assignment being created, reviewed and/or processed through the IWM system 60. Still other types of data may be transmitted and stored in the IWM system in other embodiments.
It will be appreciated that even though the illustrated resource for processing work in
As part of initialization of the system of
Referring to
As illustrated by steps 103 and 104, generally in operation, the IWM system 60 responds to signaling, e.g., received from the client devices (e.g., by way of HTTP requests), by generating redirect requests for transmittal to the client devices (e.g., 70) in order to locate the appropriate source system to any of create, review or process work. However, the processing steps may vary depending upon the type of incoming requests.
Thus, for example, in step 101 the gateway determines the type of request and operation to be performed on the request and behaves differently depending upon whether the incoming request is a “Get most urgent” query or not. If step 101 evaluates to no indicating that the request is for any of creating, reviewing or processing an work item/assignment specifically identified in the request (e.g. an operator performing a search by work item ID or selecting a specific assignment to process), the gateway 61 parses the incoming request (e.g., HTTP data) to identify the appropriate source system as illustrated in step 102. In one embodiment, the gateway may identify the source system by comparing the prefix value (e.g. CR) of the work item ID specified in the request (e.g., CR-123) against the assignment data 46 from various source systems stored in the repository 65. The repository 65 may store prefix values associated with different types of work items/assignments that can be generated from each of one or more source systems and the corresponding source system identifier(s) (e.g., a URL, an IP address etc.). If a prefix value associated with a particular source system as stored in the repository 65 successfully matches the prefix value specified in the request, the gateway uses the corresponding source system identifier to construct the appropriate URL and sends a redirect message back to the client digital data processor as shown in step 103.
It will be appreciated that even though in the illustrated embodiment, the gateway uses the prefix value to locate the appropriate source system, in other embodiments, other data and techniques may be used to identify the source system. For example, the repository 65 may store the source system identifier(s) as part of each work item or assignment record from a source system. The gateway may, in turn, use the work item/assignment ID to retrieve the appropriate record and extract the source system identifier(s). Still other variations in methods and techniques of source system identification are possible.
In step 104, a browser executing on the client digital data processor 70 processes the redirect message and uses the URL constructed by the gateway to send the request directly to the appropriate source system. Such redirection of the client's initial request may happen automatically (unbeknownst to a user making the request) where only one source system is identified by the gateway. However, in situations where multiple source systems are identified (e.g., when the same prefix value is associated with two different source systems), the resource may be presented with a screen that displays an error or allows the resource to select the appropriate source system such that the resource can direct its request to the specified source system. In such cases, instead of the gateway sending a redirect message with a URL to the client processor 70, it may transmit a markup language stream, e.g., in HTML or other conventional format or protocol, for the screen (e.g., web page).
In steps 105 and 106, again, the processing of the request may vary in different embodiments depending upon the nature of the request and the source system design. By way of non-limiting example, if the request is for reviewing and/or processing an existing work item/assignment, the source system determines if that particular piece of work is already “locked” by another resource—that is, whether the particular work item/assignment is already being reviewed and/or processed by another resource. The work data structures (e.g., work item, assignment and the like) may be defined in the source system such that there may multiple pending assignments or tasks that are associated with a single work item. In such cases, a resource may be allowed to review/process pending assignments or work items even though other pending assignments associated with the same work item are locked by another resource. Still further, a resource may be allowed to review a portion of the data associated with a work item even though one or more assignments associated with the work item are locked by another resource. Still other variations in techniques for locking mechanisms are possible in other embodiments.
In the illustrated embodiment, the source system does not lock or check for a lock on an existing assignment or work item if a resource is simply reviewing it. For all “review” requests, as well as requests from a resource to create a new work item and/or assignment (depending upon the data structure definition in the source system), the source system constructs a markup language stream, e.g., in HTML or other conventional format or protocol, comprising the requested data. As shown in step 107, that stream (or, more accurately, markup language document) is transmitted by the source system, per convention, to the requesting client digital data processor (e.g., 70) for response by the resource. Even though, in the illustrated embodiment, the source system constructs and forwards the stream to the browser of the client device substantially concurrently with its request for the corresponding specified assignment or work item (i.e., during the same online session on which that request was made and/or within the conventional time periods expected for response to a web page), these are not requirements of an embodiment using the techniques herein. In step 108, the browser of the client device likewise substantially concurrently executes that stream for display to the resource, e.g., within that same online session and/or within the conventional time periods expected for execution of a web page although, again, this is not a requirement of the an embodiment utilizing the techniques herein. An exemplary resulting display is shown in
It will be appreciated that the contents of the markup language stream may vary in different embodiments of the techniques herein depending upon the nature of the request. For example, in the illustrated embodiment, where the resource is creating a new work item and/or assignment, the stream comprises markup language for a user interface that allows the resource to respond to the source system by entering the relevant information needed to create the work item/assignment and transmitting the information to the source system, per convention, for processing and/or storage. For review requests, on the other hand, the stream may comprise the requested work/assignment data along with the markup language for a user interface that displays the data (hereinafter “review screen”). However, unlike the user interface for creating new work, the review screen may or may not provide a mechanism (e.g., a submit button or “process work” button) for the resource to submit a response to the source system upon completion of its review.
Referring back to steps 105/106 and to the discussion above, for requests by a resource to process work (e.g., an operator submitting a ‘Get most urgent’ query), a source system in the illustrated embodiment checks for a lock on that particular piece of work (e.g., work item and/or assignment). If the work item is not locked on the source system so that step 106 evaluates to no, the interaction between the client and source system proceeds as indicated in steps 107 and 108. However, if the particular work item and/or assignment is locked (e.g., due to another resource already processing the work item/assignment) so that step 106 evaluates to yes, the source system may return a special data packet back to the IWM server 60 as depicted in step 113. In turn, the gateway 61 parses the contents of the data packet to create another ‘Get Most Urgent’ query and passes it on the integrator as shown in steps 114 and 109. In step 110, the integrator 63 queries the assignment data 46 stored in the repository 65 in order to retrieve the next highest priority work item/assignment that can be processed by the requesting resource. The integrator may select the appropriate work item/assignment based upon the work item/assignment priority and current context of the requesting resource. For example, where the requesting resource is an operator, an operator identification or profile record as may be stored on the IWM system 60 may specify the workbaskets a particular operator can access and other selection criteria (e.g., selecting work from personal work lists before selecting work from a workbasket). Still other variations in selection criteria are possible in other embodiments.
Once the work item/assignment is identified and retrieved, the integrator passes the data back to the gateway in step 111. Also, in the illustrated embodiment, the integrator removes the work item/assignment from the combined work queue of the resource (e.g., 72) and sets an expiration period for such assignment/ work item. These measures improve work efficiency by preventing multiple ‘eligible’ resources (i.e., those resources with authorized access to process the same work) from trying to process the same work item/assignment simultaneously. In the event that the work item/assignment is not processed within the expiration period, the integrator may remove the expiration period setting and make the work item/assignment available again for processing by eligible resources. Furthermore, in the illustrated embodiment, the expiration period may be configurable by one or more designated users (e.g., system administrators, developers, end user operators) of the IWM system 60. This is useful because the IWM system may be deployed in a variety of different integrated work environments with different work processing requirements. Still further, even though in the illustrated embodiment, the expiration period is defined by a rule and stored in the repository 65, in other embodiments, the expiration period may be defined and stored differently. In the event that the work item/assignment is processed within the expiration period, the corresponding source system where the work item/assignment is processed, may propagate updated assignment data for the work item/assignment (e.g., with an assignment status of “Resolved” or “Completed”) to the IWM system 60 such that the IWM system 60 removes the work item/assignment from the list of outstanding assignments/work items (e.g., prioritization rules 43 exclude assignments with a “Resolved” status from the combined work queues). In other embodiment, resolved work items/assignments may be excluded all together when assignment data is transmitted to and/or retrieved by the IWM system 60, thus, removing such work items/assignments from the combined work queue. Still other variations in methods and techniques for removing completed work items/assignments from the combined work queue are possible in other embodiments.
It should be noted that the specified assignment may be processed when a resource, such as an operator, is directly connected to the appropriate source system or connected through the IWM system 60. Either way, the processing performed to complete the outstanding work item/assignment in a source system is in accordance with pre-configured processing steps defined, executed and/or stored in the corresponding source system.
In step 112, the gateway may use techniques similar to those described in connection with step 102 above (e.g., parsing the work item/assignment data to extract the source system identifier(s)) to identify the corresponding source system upon receiving the data packet from the integrator. Finally, the gateway redirects the request to the corresponding source system in order for the resource to continue processing the candidate work item/assignment as previously described in steps 103-108.
The techniques described above in steps 105-114 allow the gateway to handle ‘failures’ or latency issues. Consider the example of an enterprise where User 1 and User 2 both work in the Finance department. They both connect to an IWM system 60 through their respective client digital data processors to view their respective combined work queues where expense report 1 (ER1) is the highest priority work item/assignment for both users. Both User 1 and User 2 may simultaneously be viewing ER 1 on their respective combined work queues when User 1 clicks on ER1 fractions of a second before User 2 so that User 1 can perform the required work for ER1. Behind the scenes and unbeknownst to the users, the IWM system 60 allows User 1 to view and process the work item/assignment for ER 1 while marking the same work item/assignment as unavailable for User 2 such that when User 2 subsequently performs the same action (i.e., click on ER1) fractions of a second later than User 1, User 2 may be presented with the next most important item on User 2's combined work queue (e.g., ER2 for a work item/assignment for expense report 2 or POl for a work item/assignment for purchase order 1).
Referring now to
In this embodiment of the user interface 200, the main panel on the right 270 allows an operator 80 to view the combined work queue (e.g., element 72 of
The content display in the main panel 270 can be controlled by tabs (e.g., 210, 220, 222 etc.) that appear on top of the main panel 270. When an operator logs on to the IWM system 60, the integrated work manager portal screen 200 displays the operator's combined work queue (e.g., 72) in the main panel 270 with the ‘Home’ tab 210 highlighted. From that view of the IWM system 60, an operator can perform a variety of actions including any of review, create and process work items (e.g., 255-257) and/or assignments across multiple source systems. Furthermore, during the performance of any such actions, an operator can return to viewing their combined work queue in the main panel 270 by clicking on the ‘Home’ tab 210.
By way of example, a resource may review a work item and/or assignment by selecting (e.g., by single clicking or otherwise) an item from its combined work queue 72 that is displayed under the ‘Home’ tab 210. A work item and/or assignment may also be reviewed by submitting a query based upon the work item ID and/or assignment ID. In the illustrated embodiment, a resource (e.g., an operator) can submit such a query through the ‘Find By ID’ input field 230 at the top of the screen 200 by entering a work item ID in 230 and single-clicking the arrow to the pointing to the right (located to the right of the field 230). It will be appreciated that the ID field is illustrative only and queries may be constructed using any unique work item/assignment identifier in other embodiments.
After a request to review a particular work item and/or assignment is submitted, the gateway 61 redirects the request to the appropriate source system using techniques described above (see
Resources using the screen 200 can also close individual work items by clicking the ‘x’ button 231 on the work item display. If that is the only work item open for a particular work type, the corresponding tab identifying the work type may be automatically closed. However, if there are multiple work items open of the same work type, all of such work items need to be closed for the corresponding tab for that work type to disappear. Alternatively, a resource can close all open work items for a particular work type by clicking the ‘x’ mark displayed on each tab when it is highlighted (e.g., 224).
For instance, the illustrated ‘Recent Items Opened’ folder 254 in the left panel 280 contains two open personal auto insurance work items, 255 and 257, along with an open insurance products work item 256. The resource using screen 200 can switch the display of the work items 255 and 257 in the main panel 270 under the same tab 224 by highlighting or selecting the row for the respective work items listed under the folder 254. Selection is accomplished by single-clicking on the desired row. Similarly, if the resource selects the row for the insurance products work item 256, the display in the main panel 270 switches to show the contents of the selected work item under a highlighted ‘Insurance Products’ tab 222. Since there is only one work item 256 open for the ‘Insurance Products’ work type, closing that work item may also close the corresponding tab 222. However, the resource has to individually close both personal auto work items 255 and 256 or click the ‘x’ on the highlighted ‘Personal Auto Application’ tab 224 to make that tab disappear.
In addition to methods of reviewing work mentioned above, a resource can review and/or process work by clicking the ‘Get Most Urgent’ button 240 on the screen 200. This generates a ‘Get most urgent’ query (as described previously in connection with
As used here, a “submit action” may be characterized as a resource action intended to signify that input fields of the web page are completed (or sufficiently completed) and ready for submission to a server digital data processor (e.g., source systems, IWM system 60). These are conventional actions known in the art, such as, user selection of the “submit button” (including, user selection of a designated radio button on the web page or user selection of a designated submit button on the web page), and/or user striking of the ENTER key (or the like) on the client digital data processor while a focus is on any of the web page or one of its input fields.
In an embodiment using the techniques herein, the logic incorporated on the web page that causes such “pre-” or “asynchronous” processing (i.e., processing that occurs prior to or in the absence of a submit action) of ‘data’ (e.g., point-and-click selections, gestures and so forth made with respect to at least various display/input/output fields of the web page) may be defined by rule(s) that are stored and/or executed on a server digital data processor (e.g., source system or IWM system). Furthermore, the same rule(s) or one or more different rules may be used to define the layout and/or configuration of the webpage. An example of a system and method that, among other things, can be used to process rules to generate a user interface and perform such pre-processing of data is disclosed in the commonly assigned U.S. patent application Ser. No. 11/396,415, filed Mar. 30, 2006, entitled “User Interface Methods and Apparatus for Rules Processing,” and U.S. patent application Ser. No. 12/035,682, filed Feb. 22, 2008, entitled “User Interface Methods and Apparatus for Rules Processing”, both of which are incorporated herein by reference.
In the illustrated embodiment, the work manager portal screen 200 is a combination of static and dynamic components. In other words, the overall configuration and placement of the various sections (e.g., left panel 280, right panel 270, top half displaying ‘Find By ID’ etc.) of the portal remains static while the contents of some or all of the sections may be rendered dynamically based upon rules being executed and/or processed on the IWM system 60 and the source system(s) at any given point in time.
By way of non-limiting example, the layout and/or configuration of the portal screen 200 may be defined by one or more rules 45 stored on the IWM system 60. In operation, when an operator logs on to the IWM system 60 through a client digital data processor 70, the browser of the client 70 may generate a request for the “integrated work manager portal” web page 200. The request passes through the gateway 61 to the integrator 63, which in turn, retrieves rules 45 implicated by that request from the repository 65 (if it has not already done so), as determined by the request itself, the context (e.g., security settings and privileges for the user), the state of currently executing rules for that user, and so forth. The integrator 63 then processes those rules, (e.g., in view of that context) to select which fields (e.g., Find By ID), submit buttons (here, ‘New’ or ‘Get Most Urgent’)), display elements, etc., to include on the web page 200 and how to configure those elements. Moreover, the integrator 63 also retrieves the assignment data 46 from the repository 65 and processes such data to order the combined work queue for that user by evaluating one or more criteria specified by the prioritization rules 43 in accord with the assignment data and/or the context. As a result of such data and rule processing, a markup language stream is transmitted to the client digital data processor in order to render the combined work queue in the main panel 270 under the ‘Home’ tab 210. Thereafter, the display of information in the main panel 270 under each tab corresponding to different work types (e.g., 220, 222 and 224) may be defined in a variety of different ways in different embodiments of the techniques herein.
In the illustrated embodiment, the gateway 61 redirects the resource's requests (e.g., HTTP requests) to create, review and/or process work from the IWM system 60 to an appropriate source system. In response to the request, the markup language stream transmitted to the IWM system 60 from the corresponding source system contains the work/assignment data to be displayed as well as the layout definition for the display of such data (e.g., in view of the current context) under the appropriate tab. In other embodiments utilizing the techniques herein, the markup language stream may only comprise the requested work/assignment data that is reconfigured for display under the appropriate tab based upon rule(s) defined and stored on the IWM system 60. Still other variations in methods and techniques for user interface definition, generation and data processing are possible in different embodiments.
As mentioned above, a resource may be able to create new work items and/or assignments in one or more source systems by connecting to such systems through the IWM system 60 using the integrated work manager portal screen 200. For example, based upon an operator's current context (e.g., security, privilege, roles etc. associated with the operator), he/she may be able to view the ‘New’ button 250 in the left panel of the screen 200. When the operator clicks that button, a list of eligible software application(s) (i.e., software application(s) executing on one or more source systems that the operator has access to) appears in a pop-up screen 232. Highlighting or selecting each application in the pop-up screen may further display a list 233 of eligible work item types (here, New Quote, Auto Claim, Home Owners Application and Personal Auto Application) that can be created by the operator with the selected software application. Operator selection of a work item type from the list 233 initiates a request (e.g., HTTP request) to create the specified new work item in the corresponding source system where the selected software application is being executed. Again, the gateway 61 parses the request to locate the corresponding source system (e.g., by construction the URL or otherwise) and redirects the operator's request to that system in order to initiate the creation and subsequent processing of the specified work item based upon processing steps defined by the software application.
In the illustrated embodiment, the display of information under each work item tab (e.g., 220, 222 and 224) in the main panel 270 during creation, review and processing of a work item/assignment is the same as if the operator were directly logged into the corresponding source system(s). Therefore, depending upon the context (e.g., resource's security settings, locale, system settings etc.) and/or user interface definitions of such source systems, the screen 200 may provide a consolidated view of enterprise content (e.g., business rules and data, policies, procedures, processes, workflows etc. stored in such source systems) across all eligible source systems regardless of their number, version, geographical location, system specifications, and the like.
In an embodiment in accordance with the techniques herein, an integrated view of work items and/or assignments as a combined work queue 72 is provided across multiple source systems for different types of work. A resource, such as an operator, may connect to the IWM system 60 and is automatically directed to the proper source system when processing, reviewing and/or creating work. If a source system is down or otherwise unavailable, the IWM system may simply provide a combined work queue for all remaining source systems such that the work items/assignments for the source system that is unavailable may be excluded from the combined work queue.
An embodiment in accordance with techniques herein may provide a resource, such as an operator, with an option of specifying (such as via user interface selections) the one or more source systems and/or applications that may supply the data for review, update and/or processing by the IWM system 60 using techniques and operations described herein. For example, an operator may specify that for the purposes of retrieving the highest priority work for that operator, a “Get Most Urgent” query exclude data related to work items/assignments from a particular source system. Such specifications by a resource may be used for a single current session as well as subsequent sessions for the same resource until modified. An embodiment may also provide for automatically updating the list of available source systems and automatically modifying the list of source systems excluded/included for use with IWM system 60 processing such as to produce the combined work list and/or workbasket.
In one embodiment using a push data model, a source system may periodically propagate security-related data so that if a new resource, such as a new operator, is allowed direct access to the source system, the IWM system 60 is accordingly informed. Furthermore, such security-related information may indicate what types of operations with respect to different work types a particular operator is allowed to perform in each different source system. Since such information about an operator may be periodically updated, such information may also be synchronously or asynchronously (e.g., depending upon the specifications for the agent program transmitting the data) propagated to the IWM system 60.
As also described above (e.g., in connection with
An embodiment in accordance with the techniques described herein allows resources to manage/process work across a plurality of source systems by either connecting to such source systems through the IWM system 60 or by connecting directly to each source system. For example, an operator may directly log in to a source system and execute a “Get Most Urgent” query. However, performing such an operation to retrieve the next highest priority work item and/or assignment when communicating directly with the source system will result in retrieving the highest priority work item and/or assignment with respect to that source system only (e.g., such as from a single list 12 of
It should be noted that even though a portion of information associated with work items (e.g., assignment data) may be transmitted to the IWM system 60 for use in producing the combined work queue, the work items and their associated data are generally stored, maintained and processed in each individual source system.
In connection with an embodiment of the IWM system 60 as described herein, the prioritization rules, or more generally the prioritization criteria, used to order a combined work queue for a resource may perform prioritization across multiple source systems based on time/age of an outstanding work item/assignment in determining a priority of the outstanding item on a combined work list, and/or a workbasket, and the like.
It should be noted that as described herein, a single IWM system 60 is shown interfaced with multiple source systems. An embodiment may also include multiple IWM systems where one or more source systems each communicate with the multiple IWM systems using the techniques described herein. For example, a large bank may wish to have one IWM system for retail banking related work and a separate IWM system that consolidates work across the wholesale banking division in the bank. In this type of an enterprise architecture, a single financial source system may communicate with both IWM systems if that source system creates and/or processes work related to both retail and wholesale banking
As described above, the techniques herein have application, by way of non-limiting example, to enable organizations to provide centralized navigation and processing capabilities for its enterprise content/work while facilitating execution on distributed platforms and technology versions. The techniques herein provide for improved methods and apparatus for digital data processing and present an enterprise view of work across all enterprise applications regardless of their number, version, geographical location, and the like. The techniques described herein provide for methods and apparatus that facilitate creating, prioritizing, viewing, retrieving and processing work across multiple systems as if they were unified. A centralized directory of enterprise content across multiple applications may be provided. The techniques herein may be used with legacy, as well as new, applications, and may be implemented and operated at reduced expense on existing and new platforms. The techniques as described herein provide such methods and apparatus that allow organizations to manage work centrally as well as in individual systems in a distributed multi-system environment.
An embodiment in accordance with techniques described herein may include functionality to perform one or more of: generate a combined work queue for one or more resources across multiple source systems, provide one or more workbaskets of assignments/work items that can be performed by more than one resource, retrieve a highest priority work item/assignment for a resource from the resource's combined work queue, create a new work item, retrieve a specified work item/assignment in accordance with an identifier such as an assignment ID and/or work item ID, and other processing operations as described above.
The techniques herein may be performed by executing code which is stored on any one or more different forms of computer-readable media. Computer-readable media may include different forms of volatile (e.g., RAM) and non-volatile (e.g., ROM, flash memory, magnetic or optical disks, or tape) storage which may be removable or non-removable.
While the invention has been disclosed in connection with preferred embodiments shown and described in detail, their modifications and improvements thereon will become readily apparent to those skilled in the art. Accordingly, the spirit and scope of the present invention should be limited only by the following claims.
Number | Date | Country | |
---|---|---|---|
Parent | 12386959 | Apr 2009 | US |
Child | 14597207 | US |