Patent Publication Number: US-9852166-B2

Title: Task handling in a multisystem environment

Description:
BACKGROUND 
     The present disclosure relates to task handling and data management, and more specifically, to organizing data across different formats. 
     An organization, for example a commercial company, may generate large amounts of data during normal functioning of the organization. Maintaining the quality and accuracy of this data may be important. A particular focus may be data which is essential for the functioning of the organization. In a company this may include, for example, data about customers, suppliers, partners, products, materials, accounts, and employees and their records. Such data is termed master data and may be high value, core information which is needed across different business processes, across organizational units, and between operational systems and decision support systems of the company. In some organizations, the multiplicity of systems being used may result in data records in a multiple, different formats and structures. 
     SUMMARY 
     Embodiments of the present disclosure may be directed toward a computer-implemented method where a task pattern is identified in a completed task. The completed task may be in a task handling system. The identified task pattern may comprise a first data set, the first data set selected from a group consisting of task data and task metadata and an action taken in the task handling system to complete the completed task. The identified task pattern can then be compared with task patters of a patterns database and the system can determine the identified task pattern matches an existing task pattern in the patterns database. The patterns database may have a plurality of task patterns and actions associated with each task pattern. In response to the determining, the task pattern count of the existing task pattern can be incremented, and it may be determined that a task pattern count threshold for the existing task pattern in the patterns database has been exceeded. Active tasks in an active task list can then be searched and active tasks that match the existing task pattern can be identified. To each of these identified matched active tasks, the action for the existing task pattern can be applied. Each of the matched active tasks can then be closed. 
     Embodiments of the present disclosure may be directed toward a system with one or more processing circuits, where the circuits may be configured to identify a task pattern in a completed task. The completed task may be in a task handling system. The identified task pattern may comprise a first data set, the first data set selected from a group consisting of task data and task metadata and an action taken in the task handling system to complete the completed task. The identified task pattern can then be compared with task patterns of a patterns database and the system can determine the identified task pattern matches an existing task pattern in the patterns database. The patterns database may have a plurality of task patterns and actions associated with each task pattern. In response to the determining, the task pattern count of the existing task pattern can be incremented, and it may be determined that a task pattern count threshold for the existing task pattern in the patterns database has been exceeded. Active tasks in an active task list can then be searched and active tasks that match the existing task pattern can be identified. To each of these identified matched active tasks, the action for the existing task pattern can be applied. Each of the matched active tasks can then be closed. 
     Embodiments of the present disclosure may be directed toward a computer program product with a computer readable storage medium having program instructions embodied therewith. The computer readable storage medium is not a transitory signal per se. The program instructions may be executable by a computer processing circuit to cause the circuit to perform a method where a task pattern is identified in a completed task. The completed task may be in a task handling system. The identified task pattern may comprise a first data set, the first data set selected from a group consisting of task data and task metadata and an action taken in the task handling system to complete the completed task. The identified task pattern can then be compared with task patters of a patterns database and the system can determine the identified task pattern matches an existing task pattern in the patterns database. The patterns database may have a plurality of task patterns and actions associated with each task pattern. In response to the determining, the task pattern count of the existing task pattern can be incremented, and it may be determined that a task pattern count threshold for the existing task pattern in the patterns database has been exceeded. Active tasks in an active task list can then be searched and active tasks that match the existing task pattern can be identified. To each of these identified matched active tasks, the action for the existing task pattern can be applied. Each of the matched active tasks can then be closed. 
     The above summary is not intended to describe each illustrated embodiment or every implementation of the present disclosure. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The drawings included in the present application are incorporated into, and form part of, the specification. They illustrate embodiments of the present disclosure and, along with the description, serve to explain the principles of the disclosure. The drawings are only illustrative of certain embodiments and do not limit the disclosure. 
         FIG. 1  depicts a block diagram of a master data management (MDM) system, according to embodiments. 
         FIG. 2  depicts a flow chart illustrating the operation of an MDM system, according to embodiments. 
         FIG. 3A  depicts a block diagram of an MDM system for handling data, according to embodiments. 
         FIG. 3B  depicts a portion of the MDM system of  FIG. 3A , according to embodiments. 
         FIG. 4  depicts a flow chart of a method of operating an MDM system, according to embodiments. 
         FIG. 5A  depicts a block diagram of an operation for task handling, according to embodiments. 
         FIG. 5B  depicts a block diagram of another operator for task handling with an MDM system, according to embodiments. 
         FIG. 6A  depicts a first portion of an example of an active task list comprising a task queue, provided by, for example, an MDM system as described with reference to  FIG. 3A , for a task handling station, according to embodiments. 
         FIG. 6B  depicts a second portion of an example of an active task list comprising a task queue, provided by, for example, an MDM system as described with reference to  FIG. 3A , for a task handling station, according to embodiments. 
         FIG. 7A  depicts a patterns database comprising patterns, according to embodiments. 
         FIG. 7B  depicts a data structure for recording pattern count values, according to embodiments. 
         FIG. 8A  depicts a task handling system for handling tasks in an MDM system, according to embodiments. 
         FIG. 8B  depicts a computer program product, according to embodiments. 
         FIG. 9  depicts a data processing system configured to hand tasks and manage data as described, according to embodiments. 
     
    
    
     While the invention is amenable to various modifications and alternative forms, specifics thereof have been shown by way of example in the drawings and will be described in detail. It should be understood, however, that the intention is not to limit the invention to the particular embodiments described. On the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. 
     DETAILED DESCRIPTION 
     Aspects of the present disclosure relate to task handling, more particular aspects relate to data management in a multisystem environment. While the present disclosure is not necessarily limited to such applications, various aspects of the disclosure may be appreciated through a discussion of various examples using this context. 
     Many organizations may generate large amounts of data that needs to be saved and accessed throughout the course of business. This data may be created and saved in a variety of formats, based on, for example, a client&#39;s needs or a branch of the organization&#39;s structure or function. However, this data, despite the diversity of formats or systems to which it belongs, may need to be accessed and utilized across functional units. To attempt to reconcile such differences and to allow coherent and consistent handling of an organization&#39;s master data, the concept of master data management, MDM, has developed. An MDM system may be a computing product comprising a set of data governance processes, tools, policies, and rules which provide this coherent and consistent data handling inherent in master data management. 
     A feature of an MDM system may be the application of rules and policies to data records to attempt to unify the organization&#39;s view of its master data. This may involve maintaining a central authoritative repository of the organization&#39;s master data. The rules and policies may be manually defined, for example, by a data governance council of individuals who understand the organization&#39;s master data requirements. This may be, in particular, through an understanding of the usage of the data, of the source of the data and its structure, of industry specific compliance and regulation requirements, and of corporate best practices for data, amongst other things. 
     In some MDM systems, the processing of data can generate tasks which comprise identifying actions which need to be applied to data to correct, for example, inaccuracies, inconsistencies, and duplications. Tasks may be handled by the MDM system applying rules to the data and updating the data as required by the rules. Some tasks may not match specific rules exactly but are, for example, partial matches. These tasks, where there is not an exact match to a rule, may be decided by an operator, termed a data steward. 
     The data steward may be, for example, an individual who has been authorized by the data governance council of the organization, and whose role is to supervise the quality of the organization&#39;s master data. The data steward may apply individual judgment and understanding of rules and policies to partially matched data, and the data steward can decide on an appropriate action to apply to the data. 
     In some organizations, a significant number of tasks requiring manual intervention may be created on a daily basis (e.g., as changes are made to the master data). Embodiments of the disclosed may be described with reference to a task handling system for handling tasks which arise in relation to a master data management (MDM) system. Embodiments of the disclosed may include applications in other task handling systems, where the task handling systems are concerned with the maintenance of the quality of the data used by an organization. 
       FIG. 1  depicts a block diagram of an organizational data processing structure  100 , according to embodiments. The elements of organizational data processing system  100  may comprise an MDM system  130 . There may be a number of possible structures for organizing an MDM system. For example, a database of master data may be maintained as a separate entity in an MDM system, an MDM system may provide a view in to a collection of source system databases, or the system may be a hybrid comprising some combination of the two.  FIG. 1  will be described with reference to a system in which a separate database of master data is maintained by the MDM system. 
       FIG. 1  depicts an organizational data processing structure  100  comprising three example organization source systems. An organizational data processing structure could comprise more or fewer organizational source systems, and the description provided is for example only. Source systems  1 ,  2  and  3 ,  110   a ,  110   b , and  110   c , respectively, may represent different areas of an organization&#39;s functioning. For example, source system  1 ,  110   a , could be a sales system, source system  2 ,  110   b , could be a customer database system, and source system  3 ,  110   c , could represent a payroll system. Source systems  1 ,  2 , and  3  may continually generate new data. For example, source system  1 ,  110   a , may be a sales system which generates data relating to a sale. In addition to handling this data within source system  1 ,  110   a , the system may pass data relating to the sale to receiving component  120  for analysis and preparation for handling by the MDM system. 
     Receiving component  120  may receive data from each source system,  110   a ,  100   b , and  110   c , and perform an analysis to identify data which may be relevant to the organization&#39;s master data collection. Receiving component  120  may comprise, for example, an application program, a constituent component of a larger data processing system, or a component of MDM system  130 . Receiving component  120  may carry out further processing, for example, to map the received data to a format compatible with the data format of MDM system  130 . Receiving component  120  may pass processed data to MDM system  130 . 
     MDM system  130  may comprise a rules database  140 . Rules database  140  may comprise a collection of policies and rules which have been determined to be appropriate for application to the organization&#39;s master data. Such policies and rules describe the types of data to be recorded as master data, the form of that data, and the actions to be performed upon it. The policies and rules may be set according to a data governance strategy laid down by a data governance council of individuals who understand the organization&#39;s master data requirements. 
     MDM system  130  may further comprise MDM database  150 , a database which contains master data for the organization. MDM system  130  may compare received data with master data in MDM database  150  of MDM system  130 , and apply appropriate rules from rules database  140 . With the application of appropriate rules from rules database  140 , MDM system  130  identifies a task relevant to the received data. The task may comprise, for example, an item of data and an action which could be applied to it. The task could also comprise multiple items of data and one or more actions which could be applied to them. With the application of further rules from rules database  140 , MDM system  130  may determine whether the identified task matches a rule to a sufficient degree to be automatically processed by MDM system  130 . 
     For example, the data may comprise a name and address, and the task may comprise identifying a duplicate name and address record in the master data. A rule may specify the criteria of similarity which determine a match. For example, small differences in certain fields may be allowed while still identifying the two records as relating to the same entity and thus a match. Where the similarity criteria are met, the MDM system can automatically confirm the match and associate the new data in the system with the master data record of MDM database  150 , for example, by updating an address record. 
     Where an identified task does not satisfy the criteria of an appropriate rule in full but does provide a partial match, MDM system  130  may be configured to not process the task automatically. Thus, this partial match may require a further action. For example, an address may match parts of an address in a master data record, but the address may not sufficiently match the address in the master data record to satisfy the criteria of an address matching rule for automatically collapsing the two in to one (e.g., identifying the two as the same address), and so the addresses may then be categorized as suspected duplicates. The further action that may be taken comprises, for example, passing the identified task to a task handling station  170 . 
     The task handling station may be a workstation for a human operator, for example a data steward, as discussed herein. The data steward may be an individual who has been authorized by the data governance council of the organization, whose role is to supervise the quality of the organization&#39;s master data. Although illustrated as a single task handling station  170 , any number of task handling stations  170  and data stewards may be provided as appropriate for the volume of tasks. 
     Task handling functionality of MDM system  130  may send tasks as they are generated by MDM system  130  to an active task list comprising queue  160  for action by task handling station  170  of a data steward. Although illustrated as a single task list and queue, active task list  160  may comprise any number of individual queues. For example, there may be one queue per task handling station  170 . A data steward at task handling station  170  may determine an appropriate action for each queued task when the task is taken from the top of the active task list comprising queue  160 , based on the data steward&#39;s understanding of the policies and rules of the data governance council. In the example above of addresses identified as potential duplicates, the determination may be whether the suspected duplicates do, in fact, represent the same address. Task handling station  170  may pass the action for the particular task decided on by the data steward to MDM system  130  which applies it to the appropriate master data in MDM database  150 . 
     Also illustrated in  FIG. 1  are representative master data consuming systems of the organization, shown as consumer  1 ,  180   a , and consumer  2 ,  180   b , which are systems of the organization which may require access to the records of the organization&#39;s master data. Any number of consuming systems may receive master data from MDM database  150  of MDM system  130 , and each of consuming systems consumer  1 ,  180   a , and consumer  2 ,  180   b , may comprise the same system as one of source systems source  1 ,  2 , or  3  ( 110   a ,  110   b , and  110   c , respectively). 
       FIG. 2  illustrates a flow diagram for the operation of a data processing structure (e.g., data processing structure  100  of  FIG. 1 ) comprising an MDM system. At step  210 , source systems, such as source systems  110   a  to  110   c , generate data. At step  220 , receiving component  120  analyses the generated data to identify data relevant to the organization&#39;s master data, and may map it to a MDM format to enable handling by MDM system  130 . At step  230 , MDM system  130  applies applicable MDM rules of rules database  140  to the received data to identify a task appropriate to the data. 
     At step  240 , based on further rules, MDM system  130  may make a determination as to whether or not the matching criteria of an identified rule are met so that MDM system  130  may automatically handle the task. If the answer is “yes” (i.e. a match), then at step  250  MDM system  130  can automatically handle the task. Processing may pass to step  280 , where MDM system  130  can update the master data of MDM database  150  as determined by the applicable rules and the data. 
     If there is a partial match to an applicable rule, so that the rule is appropriate but the task is not matched to the level of the matching criteria of the rule, then the answer at  240  is “no” and at step  260  MDM system  130  can pass the task to the active task list comprising queue  160  of task handling station  170  and to a data steward for action. A data steward at task handling station  170  can then determine an action or actions for the task at step  270 , and MDM system  130  can update the master data of MDM database  150  as appropriate at step  280 . 
     MDM system  130  may identify features of data which give rise to a large number of recurring tasks which only partially meet the matching criteria of a rule of rules database  140  of MDM system  130 . This may occur, for example, where a new format of a particular type of data record arises, or where a default value occurs in a data field so that a large number of data records have the same value in that data field. This may result in a partial match to an established rule so that matching criteria for automatic processing by MDM system  130  are not met. This may affect a large number of data records, so that there may be a large number of very similar tasks in the queue for the attention of a data steward at task handling station  170 . Data steward at task handling station  170  may then issue a large number of identical or very similar actions to MDM system  130 . The extra work involved for data steward at task handling station  170  and subsequent extra data processing may lead to a delay in processing of tasks which could delay the updating of master data. Master data may not be up-to-date as a result and the quality of the organization&#39;s master data could suffer accordingly. 
       FIG. 3A  depicts an organizational data processing system  300  comprising an MDM system  330  according to embodiments. The organizational data processing system may parallel the data processing structure  100  in  FIG. 1 . Source systems  1 ,  2  and  3 ,  310   a ,  310   b , and  310   c , respectively, are comparable to source systems  110   a  to  110   c , and source systems  1 - 3   310  may continually generate new data.  FIG. 3A  illustrates representative consumers of master data, consumer  1 ,  380   a  and consumer  2 ,  380   b , and as before they may be the same systems as source systems  1 ,  2 , or  3 ,  310   a  to  310   c.    
     In embodiments, receiving component  320  can have comparable functionality to receiving component  120 . Receiving component  320  may pass processed data to MDM system  330 . MDM system  330  may comprise rules database  340 . Rules database  340  may comprise a collection of policies and rules as described with reference to rules database  140  (of  FIG. 1 ). MDM system  330  may further comprise MDM database  350  of master data, which may have comparable functionality to MDM database  150  above. 
     MDM system  330  can compare received data with master data in MDM database  350  of MDM system  330 , apply appropriate rules of rules database  340 , and identify a task which may not be processed automatically, for example as described with reference to MDM system  130  ( FIG. 1 ). 
     If the task is not processed automatically, the system may provide further action to processes the task. For example, the further action may comprise passing the identified task to an active task list comprising queue  360  for action at task handling station  370  by a data steward. Although illustrated as a single task list, active task list  360  may comprise any number of individual queues over which the task list is distributed. For example, there may be one queue per task handling station  370  for each data steward. Task handling station  370  may comprise a single task handling station, or any number of separate task handling stations  370 . 
     As described with reference to MDM system  130 , a data steward at task handling station  370  may determine an appropriate action for each queued task, and task handling station  370  can pass the determined action for the task to MDM system  330 . The MDM system  330  can then apply the action for that task to the appropriate master data in MDM database  350 , as described herein. 
     In embodiments, MDM system  330  may further comprises patterns database  375  and associated pattern identification logic. For each task completed by a data steward at task handling station  370 , pattern identification logic of MDM system  330  can identify a pattern of the completed task. The pattern is a data record which may represent the characteristics of the task and the action taken by the data steward at task handling station  370 . Pattern identification logic of MDM system  330  may record the pattern in a defined pattern format in patterns database  375 . 
       FIG. 3B  depicts part of an organizational data processing system comprising MDM system  330  according to embodiments. The unillustrated remainder of the system may be as illustrated in  FIG. 3A , and the constituent parts can function as described with reference to that figure. Task handling station  370  can form part of an artificial intelligence data processing system, or AI system,  390 . AI system  390  may comprise decision logic  385  to support decision making of a data steward, or in some embodiments to replace the data steward. AI system  390  may comprise data gathering functionality, a database, fuzzy logic processing, or other artificial intelligence constructs to augment or replace human decision making at the data steward position. 
     If AI system  390  replaces human decision making in the manner described, the action taken to complete a task in active task list  360  may be determined by decision logic  385  and actioned automatically. The identified task pattern of the completed task is written to patterns database  375  as described with reference to  FIG. 3A  above. In embodiments, task handling station  370  may comprise a component part of AI system  390 , or of MDM system  330 , and not comprise a physically separate location. In other embodiments AI system  390  may comprise an integrated part of MDM system  330  so as to form a part of data processing functionality of MDM system  330 . Other arrangements are possible without departing from the scope of the disclosed. 
     The method of  FIG. 4  may be executed over various computer processing circuits. The flow diagram of  FIG. 4  may commence from step  260  ( FIG. 2 ) as described with reference to the operation of MDM system  130  ( FIG. 1 ), which is the point where a task may be passed by task handling functionality of MDM system  330  to a task handling station  370  of a data steward for action. In embodiments, MDM system  330  may identify a task for a data steward action at step  405  and place the task in an active task list comprising an active task queue, for example, queue  360  of  FIG. 3A . A data steward at task handling station  370  may remove the task from the active task list that may comprise queue  360 , and completes the task. In an embodiment (e.g., that of  FIG. 3B ) completion can be assisted or completed by AI system  390 . 
     At step  410  pattern identification logic of MDM system  330  ( FIG. 3A ) identifies the task pattern of the completed task. In addition to the action taken by the data steward to complete the task, the task pattern identified may include such items as an identifier of the data items in the task, and the relevant fields matched. At step  415  pattern processing logic of MDM system  330  can write the identified task pattern in a defined task pattern format to patterns database  375  ( FIG. 3A ). Pattern processing logic of MDM system  330  may group the task patterns in an appropriate logical order within patterns database  375 . 
     Pattern identification logic of MDM system  330  may repeat the task pattern identification operation for each task completed at task handling station  370 . Processing may move to step  420  at which processing logic of MDM system  330  compares the identified task pattern with patterns in patterns database  375  in a matching operation. At step  425  MDM system  330  processing logic determines if there is a match using appropriate matching criteria. If it determines there is no match, and that the pattern is not pre-existing in task patterns database  375 , processing follows the “no” branch. At step  435  pattern processing logic of MDM system  330  captures the task pattern as a new task pattern and records it in patterns database  375  in the defined pattern format. Processing can then pass to step  465 , where it ends. 
     If at step  425  the pattern does exist in patterns database  375 , then processing follows the “yes” branch, and pattern processing logic of MDM system  330  increments a pattern count value of the identified pattern by one at step  430 . Processing can then move to step  440  at which pattern processing logic determines whether a pattern count threshold is now exceeded for this pattern. The value of the pattern count threshold for the pattern may be set at a value determined to indicate the likelihood of a large amount of data processing time at task handling station  370  of a data steward. If the pattern count threshold is not exceeded, then processing follows the “no” branch to step  465  where processing ends. 
     If the pattern count threshold is exceeded for that pattern, processing follows the “yes” branch and at step  445 , processing logic of MDM system  330  searches all active tasks in active task list  360  at task handling station  370 . Processing can then move to step  450  where processing logic of MDM system  330  determines if any task matching the pattern whose threshold is exceeded is present in queue  360 . If no matching task is found, then processing follows the “no” branch and processing can end at step  465 . 
     If processing logic of MDM system  330  finds a matching task in the active tasks in active task list  360 , processing follows the “yes” branch to step  455 . At step  455 , processing logic of MDM system  330  applies the action recorded for that task pattern in task pattern database  375  to that queued matching task. Processing can pass to step  460  and processing logic can close the task. The task can then also be flagged in the queue as automatically actioned. The process can end at step  465 . 
     Processing logic of MDM system  330  repeats this process for each further task present in active task list  360  which matches this task pattern. This task pattern can then have a status of “threshold value exceeded” and processing logic of MDM system  330  can then automatically process any further tasks entering active task list comprising queue  360  which match this pattern so that they are not presented at task handling station  370  to a data steward for action. In another embodiment, processing logic of MDM system  330  can prevent matched tasks from entering the active task list that comprises queue  360 . In an embodiment, processing logic may continue to increment pattern counts of task patterns after the task patter has reached its threshold value. 
     The MDM system  330  of the above described embodiment comprises a rules database  340  which MDM system  330  uses to identify tasks which may be processed automatically because they match a rule or rules of rules database  340 . MDM system  330  of the above described embodiment further comprises a patterns database  375 . MDM system  330  can use this patterns database  375  in identifying tasks partially matched to rules and those tasks which have task patterns matching patterns of patterns database  375  with a pattern count exceeding a threshold value. These tasks are also processed automatically by MDM system  330 . The result may be a lowering of the number of tasks which require further processing. The lower number of tasks can also result in a decrease in processing demand at a task handling station  370 . 
     As operation of MDM system  330  continues, new task patterns can continue to enter the patterns database  375 . MDM system  330  can also continue to identify task patterns in patterns database  375  which exceed their pattern count threshold values and are flagged as “threshold value exceeded” status in patterns database  375 . In this way, patterns database  375  may grow in size over time, and numbers of task patterns automatically actioned can also increase over time. In some embodiments, a data governance council may use contents of task patterns database  375  to provide information when considering changes to policies and rules of rules database  340 . 
       FIG. 5A  illustrates the operation of a system which can apply to embodiments, for example, those described in  FIGS. 3 and 4 . An active task list may comprise queue  520   a  which contains tasks queued for action at task handling station  510   a  of a data steward. MDM system  530   a  may comprise a system as in  FIG. 3A , MDM system  330 . MDM system  530   a  can remove task  540   a , the task at the top of the processing queue, and MDM system  530   a  can pass the task  540   a  to task handling station  510   a  which can then present it to a data steward. The action determined by the data steward can then be applied to task  540   a  by MDM system  530   a . The task and action can be recorded as a task pattern by pattern identification logic of MDM system  530   a.    
     In embodiments, pattern processing logic of MDM system  530   a  can identify the pattern as a pre-existing pattern of patterns database of MDM system  530   a , and increment the pattern count for the pattern by one. This may cause the pattern count threshold to be exceeded for this pattern. This in turn may cause MDM system  530   a  to search queue  520   a  for further queued tasks matching the pattern. Tasks  550   a ,  550   b , and  550   c  may be identified by MDM system as matching the pattern. The action recorded for the matching task pattern can then be applied to each of tasks  550   a ,  550   b , and  550   c . MDM system  530   a  can flag these tasks as automatically actioned and remove them from the active tasks of queue  520   a.    
       FIG. 5B  illustrates the operation of a system which applies an embodiment of the invention as described with reference to  FIGS. 3 and 4  and as an alternative to  FIG. 5A . An alternative embodiment of  FIG. 5B  differs from the embodiment of  FIG. 5A  in having more than one task handling station, and a task list comprising more than one queue. The system is illustrated as having three task handling stations each with a queue. Other arrangements are possible comprising two or more task handling stations without departing from the scope of the disclosure. 
     Task handling stations  510   b ,  510   c  and  510   d  each has a task queue, respectively queues  520   b ,  520   c , and  520   d . MDM system  530   b  comprises means for selecting tasks for adding to queues  520   b ,  520   c , and  520   d . This may comprise for example load balancing processing of MDM system  530   b  which optimally distributes tasks to queues  520   b ,  520   c , and  520   d . In the example operation of the embodiment of  FIG. 5B , task  520   b  is processed at task handling station  510   b . MDM system  530   b  identifies the task pattern of task  540   b , which matches a task pattern of patterns database of MDM system  530   b . MDM system  530   b  increments the pattern count value by one and thereby exceeds the threshold count value for this task pattern. 
     MDM system  530   b  now searches the active task list across queues  520   b ,  520   c , and  520   d . The search matches a number of pending tasks in each of queues  520   b ,  520   c , and  520   d . These are  550   d ,  550   e , and  550   f  from queue  520   b ,  550   g ,  550   h , and  550   i  from queue  520   c  and  550   j ,  550   k ,  5501 , and  550   m  from queue  520   d . MDM system  530   b  can process each of these tasks as determined by the matched task pattern which has exceeded its threshold count value. It can flag each identified task as automatically actioned, and remove each from the active task queues. 
     Variations of the arrangements of the embodiments described above are possible without departing from the scope of the disclosed. For example, task handling station of  FIG. 5 a    may represent multiple task handling stations, each task handling station having a data steward but each taking tasks from the same queue  520   a . In this arrangement, the task at the head of the queue is addressed by the first available task handling station, or distributed from queue  520   a  using any suitable distribution scheme. 
       FIG. 6A  depicts a first portion of an example of an active task list comprising a task queue  600 , provided by, for example, an MDM system as described with reference to  FIG. 3A , for a task handling station, according to embodiments.  FIG. 6B  depicts a second portion of an example of an active task list comprising a task queue for a task handling station, according to embodiments. 
     Task queue  600  may comprise tasks  610   a  to  610   n . Each task may comprise a data record structure. Using task  610   a  as an example, each task may comprise the following: Task id  615  may comprise a unique identifier applied by MDM system  330  to the task in the queue. Task type  620  may comprises a task type identifier according to task classification processing logic of MDM system  330  ( FIG. 3A ). Data covered by the task  625  may comprise, for example, the data records identified as possibly associated by a rule of rules database  340 . Source ID  630  may comprise the source system generating the data, for example, source  1 ,  2 , or  3 ,  310   a ,  310   b , or  310   c  ( FIG. 3A ). Linked attributes  635  may comprise the elements identified in records A and B which may be matched by MDM system  330  processing logic. Action taken  640  may comprise the action taken by MDM system  330  to process task  610   a  and action taken  640  may be entered by a data steward. 
     Processing of active task list comprising queue  600  may proceed in task order  610   a ,  610   b ,  610   c , and to  610   d . Task  610   d  may be the same as task  610   a , in that it has the same task pattern as task  610   a . In the example shown, processing of task  610   d  increments the count of the task pattern of task  610   a  and  610   d  so as to exceed the pattern count threshold value of patterns database  375  for that pattern. In response, MDM system  330  can then search some or all active tasks in active task list comprising queue  600 , and identify task  610   n  as matching the task pattern. MDM system  330  may action task  610   n  according to the action of the task pattern, and record that the action may occur automatically (auto collapse in this case) in action taken  650 . The system can then flag task  610   n  as automatically actioned and remove task  610   n  from the active task list comprising queue  600 . 
       FIG. 7A  depicts a patterns database  700 , according to embodiments. Patterns database  700  may be, for example, patterns database  375  of  FIG. 3A . Task patterns are depicted in the figure as they might appear in patterns database  700 . Three task patterns,  710   a ,  710   b , and  710   c  show example task patterns. Each task pattern may comprise metadata identifying the content of the task pattern and an action which was taken to handle the task originating the task pattern. Each task pattern may also comprise data from constituent records of the originating task. A combination of data and metadata may be envisioned without departing from the scope of the disclosed, for example exclusively metadata, exclusively data, or some mixture of the two. 
     In the examples depicted, task patterns  710   a ,  710   b , and  710   c  may comprise task pattern names, respectively Pattern 1   720   a , Pattern 2   720   b , and Pattern 3   720   c . Further fields of the task patterns comprise for example the type of task, here identified as TaskName,  730   a ,  730   b , and  730   c  respectively. This field comprises metadata describing the task type, for example Suspect Duplicate in  710   a . Field  740   a ,  740   b , and  740   c  comprise the attributes matched in the task, here identified as MatchedAttribute. This field may comprise data in addition to metadata, as shown in task pattern  710   c , field  740   c  which contains data in the form of AddressLine1=′London′. Field  750   a ,  750   b , and  750   c  may comprise the source from which the data for the task was taken, here identified as Source. 
     Field  760   a ,  760   b , and  760   c  may comprise the action taken for the originating task, identified as Action Taken. Field  765   a ,  765   b , and  765   c  may comprise the pattern count threshold for task patterns  710   a ,  710   b , and  710   c , respectively. In embodiments, pattern count thresholds  760   a ,  760   b ,  760   c  may comprise a default value automatically entered at pattern creation in patterns database  375 . In embodiments, pattern count threshold  760   a ,  760   b , and  760   c  may be set by an operator. This operator could be, for example, a data steward at task handling station  370 , using an administrator user interface of task handling functionality of MDM system  330 . This may be by selection of an appropriate value to replace the default value. For example, in  FIG. 7A  the default pattern count threshold  765   a ,  765   b  is 10 as in Pattern 1   710   a  and Pattern 2   710   b . The pattern count threshold  765   c  of Pattern 3   710   c  has been changed to 15. In embodiments, a global pattern count threshold may be set for all task patterns so that there is no requirement for a pattern count threshold field  765   a ,  765   b , and  765   c  of task patterns  710   a ,  710   b , and  710   c , respectively. In this embodiment, global settings of MDM system  330  may set the task pattern threshold. Global settings may be set by, for example, use of an administrator user interface. 
       FIG. 7B  depicts an example data structure, table  770 , recording the pattern count value of patterns, for example, for each of the patterns of  FIG. 5A , according to embodiments. Column  775  may comprise the pattern name. Column  780  may comprise the pattern count which is incremented by one at each match of the task pattern. Column  785  may record whether MDM system  330  will automatically action tasks matching the respective task pattern. In this example, threshold pattern count value set in MDM system  330  for Pattern 1 ,  710   a  is 10. The count for Pattern 1  is 17, and so the value in column  785  is “Yes”. MDM system  330  therefore may read this value from data structure  770  and automatically action all tasks matching Pattern 1 ,  710   a  in active task queues, for example, queue  360  of MDM system  330 . 
       FIG. 8A  depicts an embodiment comprising a system comprising a task handling system  800 . Task handling system  800  may comprise a part of an MDM system according to embodiments, such as MDM system  330  ( FIG. 3A ). In task handling system  800 , identifying component  805  identifies a task pattern in a task completed at a task handling station, such as task handling station  370 . The system may write the identified task pattern to patterns database  850 , which may be a patterns database such as patterns database  375  ( FIG. 3A ). 
     Comparing component  810  may compare the identified task pattern with existing task patterns of patterns database  850 . If the identified task pattern matches an existing task pattern in patterns database  850 , incrementing component  815  may increment a task pattern count of the existing task pattern. If the identified task pattern does not match an existing task pattern in patterns database  850 , adding component  820  may add the identified task pattern as a new task pattern in patterns database  850 . 
     Specifying component  825  may specify a task pattern count threshold for a task pattern. Specifying component  825  may receive input from a default pattern count threshold of patterns database  850 , or from a pattern count threshold entered by a human operator. For example, the human operator may be a data steward at task handling station  370 . If the task pattern count threshold is exceeded for a task pattern, searching component  830  may search active tasks in an active task list awaiting attention in task handling system  800  and identify active tasks matching that task pattern. 
     Applying component  835  may apply, to each matched active task, the action for that task pattern as recorded in patterns database  850 . Closing component  840  may close each task as “actioned” and flag each closed task as “automatically actioned.” 
       FIG. 8B  depicts a computer program product, according to embodiments. The computer program product may comprise a computer readable storage medium  860 . Computer readable storage medium  860  may comprise a computer program stored therein which implements embodiments of the invention as described above when loaded in to a data processing device, for example, data processing apparatus  870  illustrated, and executed by data processing apparatus  870 . 
       FIG. 9  illustrates a system for implementing aspects of the present disclosure, according to embodiments. Data processing system  900  operable for storing and/or executing program code includes at least one processor  902  coupled directly or indirectly to memory elements through a system bus  904 . The memory elements may comprise local memory employed during actual execution of the program code, bulk storage memory, and cache memory for providing temporary storage of at least some program code in order to reduce the number of times program code must be retrieved from bulk storage during program execution. 
     Memory elements may comprise system memory  906  in the form of non-volatile read only memory (ROM)  908  and volatile random access memory (RAM)  910 . A basic input/output system (BIOS)  912  may be stored in ROM  908 . Software  914  may be stored in RAM  910 . Software  914  may comprise system software  916 , which may comprise operating system software  918 , and software applications  920 . 
     Memory elements may also comprise primary storage means  922  which may comprise a magnetic hard disc drive, and secondary storage means  924  which may comprise an optical disc drive or a magnetic disc drive. The primary and secondary storage means and their associated computer-readable storage media provide non-volatile storage of computer-executable instructions, data structures, program modules and other data for data processing system  900 . Software applications may be stored on the primary and secondary storage means  922 ,  924  as well as in system memory  906 . 
     Data processing system  900  may operate in a networked environment using logical connections to one or more remote data processing systems via network adapter  926 . 
     Input/output (I/O) devices  928  may be coupled to the system either directly or through intervening I/O controllers. A user may enter commands and information into system  900  through input devices such as a keyboard, pointing device such as a mouse, or other input devices such as microphone, joystick, trackball, touchpad, game controller, satellite dish, scanner etc. Output devices may comprise printers, speakers etc. Display device  930  may also be connected to system bus  904  via an interface such as video adapter  932 . 
     The present disclosure may be a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention. 
     The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire. 
     Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device. 
     Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as SMALLTALK, C++ or the like, and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user&#39;s computer, partly on the user&#39;s computer, as a stand-alone software package, partly on the user&#39;s computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user&#39;s computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention. 
     Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions. 
     These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks. 
     The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks. 
     The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions. 
     The descriptions of the various embodiments of the present disclosure have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.