US11782763B2ActiveUtilityA1

Resolution of tickets in a multi-tenant environment

32
Assignee: ORACLE INT CORPPriority: May 7, 2019Filed: May 7, 2019Granted: Oct 10, 2023
Est. expiryMay 7, 2039(~12.8 yrs left)· nominal 20-yr term from priority
G06F 9/5027G06F 9/5077G06N 20/20G06N 5/01
32
PatentIndex Score
0
Cited by
24
References
20
Claims

Abstract

An aspect of the present disclosure facilitates resolving tickets in a multi-tenant environment. In one embodiment, a server receives a ticket for a tenant from a ticketing system and then determines a gross job representing a class of jobs suitable for resolution of the received ticket. The server then identifies a set of values for a set of system parameters characterizing the computing resources serving the tenant. The server selects a target job based on the combination of the determined gross job and the set of values for the set of system parameters. The selected target job is then executed to cause resolution of the ticket for the tenant. According to another aspect, the server performs the above noted actions automatically without manual intervention, in response to adding of the ticket into the ticketing system.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A digital processing system comprising:
 a random access memory (RAM) to store instructions; and 
 one or more processors to retrieve and execute said instructions, wherein execution of said instructions causes said digital processing system to perform the actions of:
 creating a machine learning model designed to predict gross jobs based on historical information in tickets and gross jobs executed for resolution of said tickets, wherein said machine learning model is a decision tree comprising a plurality of nodes, each node being associated with a corresponding keyword, and wherein each of node of only some of said plurality of nodes are associated with a corresponding gross job; 
 receiving a ticket containing description of issues for a first tenant from a ticketing system, wherein said description contains keywords; 
 determining a gross job of a plurality of gross jobs based on said keywords of said description, said gross job representing a class of jobs, wherein each job of said class of jobs is suitable for resolution of said ticket in a corresponding tenant configured to be served by a respective combination of computing resources, wherein said determining comprises: 
 traversing said decision tree based on the probability of occurrence of said keywords to identify a set of nodes of said plurality of nodes, wherein each node of said set of nodes is associated with a corresponding gross job; 
 computing, associated with said traversing, a respective confidence value for each node of said set of nodes, the confidence value reflecting a degree of certainty of said corresponding gross job to address the issues in said ticket given the extracted keywords of said description; and 
 selecting, based on said respective confidence values, a first node of said set of nodes, wherein the corresponding gross job associated with said first node is determined as said gross job; 
 identifying data specifying a first combination of computing resources currently configured to serve said first tenant; 
 selecting a first target job from said class of jobs represented by said gross job, based on both of said gross job and said first combination of computing resources currently configured to serve said tenant; and 
 executing said first target job to cause resolution of said ticket for said first tenant, 
 wherein said determining is performed without using said data specifying computing resources currently configured to serve said first tenant, and wherein said selecting is performed after said determining. 
 
 
     
     
       2. The digital processing system of  claim 1 , wherein a specification includes data indicating a corresponding combination of computing resources configured to serve a respective tenant,
 wherein said identifying comprises examining said specification to identify said first combination for said first tenant, 
 wherein said receiving, said determining, said identifying, said selecting and said executing are all performed automatically without manual intervention, in response to adding of said ticket into said ticketing system. 
 
     
     
       3. The digital processing system of  claim 1 , further performing the actions of:
 receiving said tickets for corresponding tenants, said tickets including description of respective issues; and 
 extracting keywords from said description of said tickets, 
 wherein said creating creates said machine learning model based on occurrence of keywords in said tickets. 
 
     
     
       4. The digital processing system of  claim 1 , further performing the actions of maintaining for each gross job of said plurality of gross jobs, a respective rules data that maps the respective combinations of values of said set of system parameters to a corresponding one of a plurality of target jobs,
 wherein said selecting selects said first target job based on said rules data for said gross job and said first set of values for said set of system parameters specified in said specification. 
 
     
     
       5. A non-transitory machine readable medium storing one or more sequences of instructions, wherein execution of said one or more instructions by one or more processors contained in a server causes said server to perform the actions of:
 creating a machine learning model designed to predict gross jobs based on historical information in tickets and gross jobs executed for resolution of said tickets, wherein said machine learning model is a decision tree comprising a plurality of nodes, each node being associated with a corresponding keyword, and wherein each of node of only some of said plurality of nodes are associated with a corresponding gross job; 
 receiving a ticket containing description of issues for a first tenant from a ticketing system, wherein said description contains keywords; 
 determining a gross job of a plurality of gross jobs based on said keywords of said description, said gross job representing a class of jobs, wherein each job of said class of jobs is suitable for resolution of said ticket in a corresponding tenant configured to be served by a respective combination of computing resources, wherein said determining comprises: 
 traversing said decision tree based on the probability of occurrence of said keywords to identify a set of nodes of said plurality of nodes, wherein each node of said set of nodes is associated with a corresponding gross job; 
 computing, associated with said traversing, a respective confidence value for each node of said set of nodes, the confidence value reflecting a degree of certainty of said corresponding gross job to address the issues in said ticket given the extracted keywords of said description; and 
 selecting, based on said respective confidence values, a first node of said set of nodes, wherein the corresponding gross job associated with said first node is determined as said gross job; 
 identifying data specifying a first combination of computing resources currently configured to serve said first tenant; 
 selecting a first target job from said class of jobs represented by said gross job, based on both of said gross job and said first combination of computing resources currently configured to serve said tenant; and 
 executing said first target job to cause resolution of said ticket for said first tenant, 
 wherein said determining is performed without using said data specifying computing resources currently configured to serve said first tenant, and wherein said selecting is performed after said determining. 
 
     
     
       6. The non-transitory machine readable medium of  claim 5 , wherein a specification includes data indicating a corresponding combination of computing resources configured to serve a respective tenant,
 wherein said identifying comprises examining said specification to identify said first combination for said first tenant, 
 wherein said receiving, said determining, said identifying, said selecting and said executing are all performed automatically without manual intervention, in response to adding of said ticket into said ticketing system. 
 
     
     
       7. The non-transitory machine readable medium of  claim 6 , wherein said multi-tenant environment is a cloud infrastructure,
 wherein said computing resources configured to serve said first tenant comprises software applications hosted as a first cloud on said cloud infrastructure, 
 wherein said specification specifies a first set of values for a set of system parameters indicating the presence or absence of a corresponding software application configured to serve said first tenant in said first cloud, 
 wherein said executing of said first target job affects operation of at least one software application in said first cloud. 
 
     
     
       8. The non-transitory machine readable medium of  claim 7 , further performing the actions of maintaining for each gross job of said plurality of gross jobs, a respective rules data that maps the respective combinations of values of said set of system parameters to a corresponding one of a plurality of target jobs,
 wherein said selecting selects said first target job based on said rules data for said gross job and said first set of values for said set of system parameters specified in said specification. 
 
     
     
       9. The non-transitory machine readable medium of  claim 8 , further comprising maintaining an availability list specifying target jobs available for execution in said first cloud, said selecting further comprising determining, based on said availability list, a first available job corresponding to said first target job as said first target job. 
     
     
       10. The non-transitory machine readable medium of  claim 9 , wherein said executing of said first target job requires values for a first set of target job arguments, said actions further comprising:
 determining a set of gross job arguments associated with said gross job; 
 obtaining a third set of values for said set of gross job arguments specific to the computing resources configured to serve said first tenant; 
 extrapolating a fourth set of values for said first set of target job arguments from said third set of values for said set of gross job arguments. 
 
     
     
       11. The non-transitory machine readable medium of  claim 6 , wherein said receiving receives a second ticket for a second tenant,
 wherein said determining determines said gross job for said second ticket, 
 wherein said identifying identifies a second set of values for said set of system parameters characterizing computing resources configured to serve said second tenant, 
 wherein said selecting selects a second target job based on the combination of said gross job and said second set of values for said set of system parameters, said second target job being different from said first target job, 
 wherein said executing executes said second target job at a scheduled time to cause resolution of said second ticket for said second tenant, wherein said scheduled time is received along with said second ticket from said second tenant. 
 
     
     
       12. The non-transitory machine readable medium of  claim 5 , wherein said multi-tenant environment is a Software-as-a-Service (SaaS) infrastructure,
 wherein said computing resources configured to serve said first tenant comprises components of a software, wherein said set of system parameters indicates the presence or absence of a corresponding component, 
 wherein said executing of said first target job affects operation of at least one component of said software. 
 
     
     
       13. The non-transitory machine readable medium of  claim 5 , further performing the actions of:
 receiving said tickets for corresponding tenants, said tickets including description of respective issues; and 
 extracting keywords from said description of said tickets, 
 wherein said creating creates said machine learning model based on occurrence of keywords in said tickets. 
 
     
     
       14. The non-transitory machine readable medium of  claim 13 , wherein the computing resources configured to serve said corresponding tenants comprises different instances of the same enterprise application,
 whereby, in resolving said ticket, said first tenant is facilitated to benefit from experience of other tenants captured by said machine learning model. 
 
     
     
       15. A method for resolving tickets in a multi-tenant environment, said method comprising:
 creating a machine learning model designed to predict gross jobs based on historical information in tickets and gross jobs executed for resolution of said tickets, wherein said machine learning model is a decision tree comprising a plurality of nodes, each node being associated with a corresponding keyword, and wherein each of node of only some of said plurality of nodes are associated with a corresponding gross job; 
 receiving a ticket containing description of issues for a first tenant from a ticketing system, wherein said description contains keywords; determining a gross job of a plurality of gross jobs based on said keywords of said description, said gross job representing a class of jobs, wherein each job of said class of jobs is suitable for resolution of said ticket in a corresponding tenant configured to be served by a respective combination of computing resources, wherein said determining comprises: 
 traversing said decision tree based on the probability of occurrence of said keywords to identify a set of nodes of said plurality of nodes, wherein each node of said set of nodes is associated with a corresponding gross job; 
 computing, associated with said traversing, a respective confidence value for each node of said set of nodes, the confidence value reflecting a degree of certainty of said corresponding gross job to address the issues in said ticket given the extracted keywords of said description; and selecting, based on said respective confidence values, a first node of said set of nodes, wherein the corresponding gross job associated with said first node is determined as said gross job; 
 identifying data specifying a first combination of computing resources currently configured to serve said first tenant; 
 selecting a first target job from said class of jobs represented by said gross job, based on both of said gross job and said first combination of computing resources currently configured to serve said tenant; and 
 executing said first target job to cause resolution of said ticket for said first tenant, wherein said determining is performed without using said data specifying computing resources currently configured to serve said first tenant, and wherein said selecting is performed after said determining. 
 
     
     
       16. The method of  claim 15 , wherein a specification includes data indicating a corresponding combination of computing resources configured to serve a respective tenant,
 wherein said identifying comprises examining said specification to identify said first combination for said first tenant, 
 wherein said receiving, said determining, said identifying, said selecting and said executing are all performed automatically without manual intervention, in response to adding of said ticket into said ticketing system. 
 
     
     
       17. The method of  claim 16 , wherein said multi-tenant environment is a cloud infrastructure,
 wherein said computing resources configured to serve said first tenant comprises software applications hosted as a first cloud on said cloud infrastructure, 
 wherein said specification specifies a first set of values for a set of system parameters indicating the presence or absence of a corresponding software application configured to serve said first tenant in said first cloud, 
 wherein said executing of said first target job affects operation of at least one software application in said first cloud. 
 
     
     
       18. The method of  claim 17 , further performing the actions of maintaining for each gross job of said plurality of gross jobs, a respective rules data that maps the respective combinations of values of said set of system parameters to a corresponding one of a plurality of target jobs,
 wherein said selecting selects said first target job based on said rules data for said gross job and said first set of values for said set of system parameters specified in said specification. 
 
     
     
       19. The method of  claim 18 , further comprising maintaining an availability list specifying target jobs available for execution in said first cloud, said selecting further comprising determining, based on said availability list, a first available job corresponding to said first target job as said first target job. 
     
     
       20. The method of  claim 16 , wherein said receiving receives a second ticket for a second tenant,
 wherein said determining determines said gross job for said second ticket, 
 wherein said identifying identifies a second set of values for said set of system parameters characterizing computing resources configured to serve said second tenant, 
 wherein said selecting selects a second target job based on the combination of said gross job and said second set of values for said set of system parameters, said second target job being different from said first target job, 
 wherein said executing executes said second target job at a scheduled time to cause resolution of said second ticket for said second tenant, wherein said scheduled time is received along with said second ticket from said second tenant.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.