GENERAL, FLEXIBLE, RESILIENT TICKETING INTERFACE BETWEEN A DEVICE MANAGEMENT SYSTEM AND TICKETING SYSTEMS
Systems and methods of the present disclosure facilitate synchronizing data between a device management system and ticketing systems. In some embodiments, the system includes an update module, a mapping module, and a service board selection module. The update module may be configured to update ticketing information about a ticketing ticket on the ticketing system to match device management information about a device management ticket on the device management system. The mapping module may be configured to select a ticket category for a device management ticket on the device management system responsive to the device management information about the device management ticket. The service board selection module may be configured to select a service board for a ticketing ticket on the ticketing system.
Latest ConnectWise, LLC Patents:
- Systems and Methods for End User Privilege Elevation
- Systems and Methods for Anonymous Administrative Login
- Systems and methods for updating the configuration of a cloud service
- SYSTEMS AND METHODS FOR REMOTE CONTROL IN INFORMATION TECHNOLOGY INFRASTRUCTURE
- SYSTEMS AND METHODS FOR MANAGING SERVICE LEVEL AGREEMENTS OF SUPPORT TICKETS USING A CHAT SESSION
This application claims the benefit of priority under 35 U.S.C. § 120 as a continuation of U.S. patent application Ser. No. 15/948,184, filed Apr. 9, 2018, which claims the benefit of priority under 35 U.S.C. § 120 as a continuation of U.S. patent application Ser. No. 14/972,842, filed Dec. 17, 2015, which claims the benefit of priority under 35 U.S.C. § 121 as a divisional of U.S. patent application Ser. No. 13/796,116, filed Mar. 12, 2013, each of which is hereby incorporated herein by reference in its entirety.
FIELD OF THE DISCLOSUREThe present disclosure generally relates to the use of device management systems to facilitate the management of computing devices. More specifically, the present disclosure relates to the use of ticketing systems with a ticketing interface that improves the process of ticketed device management.
BACKGROUND OF THE INVENTIONManaged Service Providers (MSPs) use device management systems to automate the management of their client devices. MSPs can also use ticketing systems to manage their own internal processes. There is some overlap between the information generated and used by device management systems and ticketing systems, Existing interfaces duplicate this common information manually, which introduces errors.
SUMMARY OF THE INVENTIONSystems and methods of the present disclosure facilitate synchronizing data between a device management system and ticketing systems. For example, the present disclosure provides an automated interface between device management systems and ticketing systems that is configured to bi-directionally transfer information between the systems. The automated interface allows the system to be configured responsive to specific business needs, maintains flexibility so various ticketing systems can be used, and compensates for errors introduced into the overall system by, e.g., differences in various interfacing systems and/or user errors and limitations.
At least one aspect of the present disclosure is directed to a system for synchronizing data between a device management system and a ticketing system. In some embodiments, the system includes an update module, a mapping module, and a service board selection module. The update module can be configured to update ticketing information associated with a first type of ticket, such as a ticketing ticket of the ticketing system. The ticket information can be updated to match device management information associated with a second type of ticket, such as a device management ticket of the device management system. The mapping module can be configured to select a ticket category for a device management ticket on the device management system responsive to the device management information about the device management ticket. The service board selection module may be configured to select a service board for a ticketing ticket on the ticketing system.
In some embodiments, the system includes a detection module. The detection module may be configured to test the device management information for consistency with the ticketing information.
In some embodiments, the system includes a resolution module. The resolution module may be configured to repair issues with the device management information and ticketing information when the test for consistency fails.
At least one aspect of the present disclosure is directed to a method for synchronizing data between a device management system and a ticketing system. The method can include receiving, by an update module executing on at least one processor of a server communicatively coupled to the device management system and the ticketing system, ticket information associated with a ticketing ticket from the ticketing system. The method can also include receiving, by the update module from the device management system, device management information associated with a device management ticket. In some embodiments, the method includes comparing, by the update module, the ticketing information with the device management information. Responsive to the comparison, the method can include updating the ticketing information so it substantially matches the device management information. In some embodiments, the method can include identifying, by a mapping module executing on the server, a ticket category of the device management ticket based on the device management information. The method can include selecting, by a service board selection module executing on the server, a service board for the ticketing ticket responsive to the identified ticket category.
Systems and methods of the present disclosure facilitate synchronizing data between a device management system and ticketing systems. For example, the device management system stores control and status information about the devices under management and the clients, which can be entered and/or modified by a user via a client management interface. An MSP can use a ticketing system to manage and respond to information relevant to managed devices and their end users. This information can be in the form of a ticket and include information about an issue or task that needs to be addressed by the MSP. An end user can directly enter a ticket into the ticketing system, or modify an existing ticket, by using a device to access a client ticket interface.
Since information stored in the device management system and the ticketing system can vary, fall out of synchronization, and/or be in different formats, the ticketing interface can synchronize relevant information between the device management database and the ticketing database. For example, the ticketing interface allows for information that is collected by the device management system to appear in the ticketing system, or information that is collected by the ticketing system to appear in the device management database.
Furthermore, by managing and synchronizing this information among various systems, systems and methods of the present disclosure can utilize the information to provide additional business support services. For example, an MSP can obtain, via the ticketing interface, information related to call times and response times, accuracy of estimates by operations, effectiveness of individual employees, financial status of the business.
Still referring to
In some embodiments, the update module 104 receives device management information associated with a device management ticket from a device management system 102 via the ticketing interface 101 or the network. In some embodiments, the device management system 102 provides the device management ticket or device management information to the update module 104, and in some embodiments the update module 104 obtains the device management ticket or device management information from the device management system 102. In some embodiments, the update module 104 can obtain, receive or request the device management information responsive to a condition, event, or user indication. For example, the update module 104 can receive the device management information responsive to an end user submitting a ticket. In another example, the update module 104 can receive a device management ticket in response to an end user modifying at least one of a ticketing ticket and a device management ticket. In yet another example, the update module 104 can receive the device management information in response to the system identifying a discrepancy, event, or condition occurring with respect to a ticketing ticket or managed device.
In some embodiments, the update module 104 can compare the ticketing information received from the ticketing system with the device management information received from the device management system. For example, the update module 104 can parse the ticketing information and the device management information to identify the differences or similarities. In some embodiments, the update module 104 compares a field of the ticketing ticket with the corresponding field of the device management ticket to determine whether the values of the field are the same or different. For example, the update module 104 can compare strings of the fields, binary values, numerical values, etc.
In some embodiments, the update module 104 identifies that the ticketing ticket and the device management ticket include the same fields, and then compares the values of the fields. If the update module 104 determines, based on the comparison, that the values of the fields are different, the update module 104 may update one of the ticketing information and the device management information. For example, the update module 104 may identify a timestamp associated with each of the ticketing information and device management information, or a specific field thereof, and identify the most current information. Upon identifying the most current information, the update module 104 can retrieve the current information and use it to update the ticketing information or the device management information, whichever is older.
In other embodiments, the update module 104 may use other criteria to determine which information should be used to update the ticketing or device management information. For example, the update module 104 may identify which information has been validated by the system, end user, or MSP device. In other embodiments, the update module 104 may always update the ticketing ticket information with the device management ticket information, or vice versa. In some embodiments, a user of the system or MSP may configure an aspect of the update module 104.
Upon identifying the information that needs to be updated and the information that should be used to perform the update, the update module can perform the update so at least the updated field substantially matches.
In some embodiments, the system includes a mapping module that can analyze or parse the device management information, before being updated or after being updated, to identify a ticket category (e.g., Anti-Virus, Backup, Database, Diagnostic-Check, Disk Drive, E-mail problems, EventLogs, General Questions, Hardware, How Do I, etc.) of the device management ticket, which is discussed further with respect to
In some embodiments, the system includes a service board selection module configured to select a service board (e.g., Managed Services, Support Desk, etc.) for the ticketing ticket in response to the identified ticket category.
The network can include a local-area network (LAN), such as a company Intranet, a metropolitan area network (MAN), or a wide area network (WAN), such as the Internet or the World Wide Web. In some embodiments, there are multiple networks between the devices and the servers. In one of these embodiments, the network may be a public network, a private network, or may include combinations of public and private networks.
The network may be any type or form of network and may include any of the following: a point-to-point network, a broadcast network, a wide area network, a local area network, a telecommunications network, a data communication network, a computer network, an ATM (Asynchronous Transfer Mode) network, a SONET (Synchronous Optical Network) network, a SDH (Synchronous Digital Hierarchy) network, a wireless network and a wireline network. In some embodiments, the network may include a wireless link, such as an infrared channel or satellite band. The topology of the network may include a bus, star, or ring network topology. The network may include mobile telephone networks utilizing any protocol or protocols used to communicate among mobile devices, including advanced mobile phone protocol (“AMPS”), time division multiple access (“TDMA”), code-division multiple access (“CDMA”), global system for mobile communication (“GSM”), general packet radio services (“GPRS”) or universal mobile telecommunications system (“UMTS”). In some embodiments, different types of data may be transmitted via different protocols. In other embodiments, the same types of data may be transmitted via different protocols.
The device management system 102, ticketing system 103, devices 206, and devices under management 209 can include at least one logic device such as a computing device having a processor to communicate via the network, for example with client device 209 or MSP device 206. The systems 102 and 103 can include at least one server. For example, the device management system 102 and ticketing system 103 can include a plurality of servers located in at least one data center. In some embodiments, the ticketing system 102, device management system 103, or ticketing interface 101 can include or communicate with at least one of the update module 104, mapping module 105, service board selection module 107, detection module 108, and resolution module 109. The update module 104, mapping module 105, service board selection module 107, detection module 108, and resolution module 109 can each include at least one processing unit or other logic device such as a programmable logic array engine. The update module 104, mapping module 105, service board selection module 107, detection module 108, and resolution module 109 can be separate components, a single component, part of the device management system 102, part of the ticketing system 103, or an independent entity.
The one or more servers associated with the device management system 102, ticketing system 103, ticketing interface, or MSP device 206 do not need to be physically proximate to each other or in the same machine farm. Thus, the servers logically grouped as a machine farm may be interconnected using a wide-area network (WAN) connection or a metropolitan-area network (MAN) connection. For example, a machine farm may include servers physically located in different continents or different regions of a continent, country, state, city, campus, or room. Data transmission speeds between servers in the machine farm can be increased if the servers are connected using a local-area network (LAN) connection or some form of direct connection.
Management of the servers may be de-centralized. For example, one or more servers may comprise components, subsystems and circuits to support one or more management services. In one of these embodiments, one or more servers provide functionality for management of dynamic data, including techniques for handling failover, data replication, and increasing robustness. Each server may communicate with a persistent store and, in some embodiments, with a dynamic store.
A server may include a file server, application server, web server, proxy server, appliance, network appliance, gateway, gateway, gateway server, virtualization server, deployment server, secure sockets layer virtual private network (“SSL VPN”) server, or firewall. In one embodiment, the server may be referred to as a remote machine or a node.
The system and its components, such as a device management system 102, ticketing system 103 and modules 104, 105, 107, 108 and 109, may include hardware elements, such as one or more processors, logic devices, or circuits. For example, the system and its components may include a bus or other communication component for communicating information and a processor or processing circuit coupled to the bus for processing information. The hardware elements can also include one or more processors or processing circuits coupled to the bus for processing information. The system also includes main memory, such as a random access memory (RAM) or other dynamic storage device, coupled to the bus for storing information, and instructions to be executed by the processor. Main memory can also be used for storing position information, temporary variables, or other intermediate information during execution of instructions by the processor. The system may further include a read only memory (ROM) or other static storage device coupled to the bus for storing static information and instructions for the processor. A storage device, such as a solid state device, magnetic disk or optical disk, can be coupled to the bus for persistently storing information and instructions.
According to various embodiments, the processes described herein can be implemented by the system or hardware components in response to the one or more processors executing an arrangement of instructions contained in memory. Such instructions can be read into memory from another computer-readable medium, such as a storage device. Execution of the arrangement of instructions contained in memory causes the system to perform the illustrative processes described herein. One or more processors in a multi-processing arrangement may also be employed to execute the instructions contained in memory. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to effect illustrative embodiments. Thus, embodiments are not limited to any specific combination of hardware circuitry and software.
To provide for interaction with a user, embodiments of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
The MSP 204 uses the ticketing system 103 to manage and respond to information about the devices under management 209 and their end users 210. The ticketing system 103 uses a ticketing database 213 to store and update information relevant to the devices 209 and their end users 210, in the form of ticketing tickets. The ticketing tickets contain ticketing information about an issue or task that should be addressed by the MSP 204. An end user, exemplified in
The ticketing interface 101 synchronizes relevant information between the device management database 207 and the ticketing database 213. In this way, information that is collected by the device management system 102 appears in the ticketing database 213, and information that is collected by the ticketing system 103 appears in the device management database 207. As an illustrative example, this can enable additional business support services 212 on the ticketing system 103. These business support services 212 can be accessed and utilized by the MSP 204 using a device 206 to access the ticketing system 103 through a user interface. A client-oriented version of the business support services 212 can be accessed by an end user, exemplified in
An employee 205 at an MSP 204 uses a device 206 connected through a network to the device management system 102. The employee 205 uses the device management system 102 to provide monitoring and management functions to devices under management 209. The clients 215 are each internally organized into one or more locations 501. In
The employee 205 defines groups of devices that can encompass any arbitrary set of one or more devices. The utility of these groups derives from the way in which they are defined. Once a group is defined, the employee 205 can apply management actions, or group reporting results, from all the devices in the group as a single unit.
Devices can be in more than one group. In
Tables 904 and 905 represent the structure and content of the groups themselves. Each row of table 904 represents one group and has one column 913 that references the group, and one column 914 that references the parent group. For a group that is in a hierarchy, column 914 refers to the group one level up in the hierarchy. In one embodiment, the entry 923 for the Tampa group 701e has a reference in column 914 that refers 924 to the entry 925 for the Eastern Region group 701f. For a group that is at the top level of the hierarchy, or not in any hierarchy, column 914 has a special “null” value 915 indicating that there is no parent group. Each row of table 905 represents the membership of a single device in a single group, and has one column 916 that references the device, and one column 917 that references the group. As exemplified in
The help desk interface 1006 is used by employees 205a-205d working at the help desk 1001 to provide on-demand assistance to clients. The ticketing system 103 is used to enter issues as they are received from clients and track them through their stages of research and resolution. The ticketing system 103 also facilitates the cooperation of multiple employees in the help desk 1001 in order to resolve an issue.
The operations interface 1007 is used by employees 205e-205h working in operations 1002 to manage installations, modifications, and updates to the system hardware and system software of devices used by clients. The ticketing system 103 allows requests for these operations to originate from clients, internally, as the result of a resolution by the help desk 1001, or as the result of a decision by the marketing/sales group 1003 or the management team 1005.
The marketing/sales interface 1008 is used by employees 205i-205m in marketing/sales 1003 to assist in managing the sales process. The ticketing system 103 gives the marketing/sales staff 1003 more visibility into client requests, client needs, and sales opportunities.
The accounting interface 1009 is used by employees 205n-205q in accounting 1004 to improve the accuracy and efficiency of the ordering, invoicing, and collection processes. Information about billable time used by the help desk 1001 and operations 1002 is obtained from the ticketing system 103, as well as equipment that is installed by operations 1002.
The management interface 1010 is used by company management 205r-205u to get a good overall view of the operation of the company. The ticketing system 103 provides valuable information such as the call times and response times of the help desk 1001, the accuracy of estimates by operations 1002, and the effectiveness of generating and closing opportunities and leads by marketing/sales 1003. The ticketing system 103 also provides some metrics on the effectiveness of individual employees 205. Since the ticketing system 103 contains information about each business transaction of the company, it provides information about the financial status of the business. All of this information is extremely valuable to the management team 1005 in making informed decisions about running the MSP 204.
In
In
There are many advantages to having the process illustrated by
The mapping module 105 has a great deal of available information to drive the generation of the ticket category 106 for the device management ticket.
In one embodiment, a script is used to generate the ticket, and a command 1307 within the script itself sets the ticket category 106. In another embodiment, the ticket is generated by an automated process such as a monitor that triggers based on certain device characteristics and events, and the ID 1308 of that automated process is associated with a ticket category 106. In another embodiment, a specific category override 1309 is associated with a ticket during its creation to force a particular ticket category 106.
Tickets can be created directly on the ticketing system 103 manually by an end user 210, as discussed in conjunction with
In one embodiment, the hardware platform 1311 to which the ticket refers affects the ticket category 106. In another embodiment, the device ID 1312 of the device to which the ticket refers affects the ticket category 106. In another embodiment, the client ID 1313 of the client 215 that owns the device to which the ticket refers affects the ticket category 106. In another embodiment, the location ID 1314 of the location 501 of the device to which the ticket refers affects the ticket category 106. In another embodiment, the group IDs 1315 of all the groups 701 containing the device to which the ticket refers affect the ticket category 106.
This device management information 1307-1315 is taken from the device management ticket table 1301 of the device management database 207, and serves as input to the mapping module 105 to generate the ticket category 106. After the mapping module 105 generates the ticket category 106, the ticket category column 1301 is updated in the device management ticket table 1301 of the device management database 207.
Referring to
This flexibility is achieved with the plug-in architecture of
The plug-in architecture of
The ticketing interface 101 must keep track of the association between the device management tickets 1305 in its device management ticket table 1301 and the ticketing tickets 1504 in the ticketing ticket table 1501. It uses a ticket mapping table 1505 in its device management database 207 in order to do this. The ticket mapping table 1505 has a row 1506 for each association between a device management ticket 1305 in the device management ticket table 1301 and a ticketing ticket 1504 in the ticketing ticket table 1501. The ticket mapping table 1505 has a column 1507 with the ID 1302 of the row 1305 from the device management ticket table 1301, and has a column 1508 with the ID 1502 of the corresponding row 1504 from the ticketing ticket table 1501. In this way, the ticket mapping table 1505 can be used to look up the ID 1502 of a ticketing ticket in the ticketing ticket table 1501, given the ID 1302 of a device management ticket in the device management ticket table 1301. It can also be used to look up the ID 1302 of a device management ticket in the device management ticket table 1301, given the ID 1502 of a ticketing ticket in the ticketing ticket table 1501. This provides the ticketing interface 101 a way to update ticket information in either direction between the two systems.
However, in one embodiment, the ticketing system 103 allows the ID 1502 to be changed. In one embodiment, the ID 1502 is visible to an end user and has an edit function. In another embodiment, the ticketing system 103 has a table optimization function that reorders the ticketing ticket table 1501 and changes one or more of the values of the ID 1502 as a result. Once this happens, the data in the ticket mapping table 1505 becomes invalid. As exemplified in
This is a significant problem, because it can be caused by an end user 210 but it impacts the business of the MSP 204. In one embodiment, an end user 210 updates the ID 1502 of an active ticketing ticket on Friday afternoon, and the MSP 204 loses all the revenue derived from addressing the ticket over the weekend, until a employee 205 at the MSP 204 notices the failure of the ticketing interface 101, and fixes the problem to restore the tracking of the ticket in both the device management system 102 and the ticketing system 103.
The resolution module 109 has a number of different strategies for correcting the issue. In one embodiment, the resolution module 109 discovers the correlation between mismatched data by elimination 1604, where it removes matching data from consideration and matches what is left over. In another embodiment, the resolution module 109 uses matching between data columns of existing rows to find a best fit 1605, and synthesizes information for the unmatched columns. In another embodiment, the resolution module 109 accesses a history 1606 of changes to the database, determines what changes affected the matching, and corrects those changes. These are meant to be illustrative examples of the techniques and not to limit the scope of the resolution module 109.
The flexibility of the sanity checker 1601 is further enhanced by implementing the detection module 108 and resolution module 109 using parameters that are stored in the device management database 207. If a new synchronization issue arises that must be resolved manually, the detection and resolution of the issue can be added to the parameters in the device management database 207, and from then on the issue will be detected and resolved automatically by the sanity checker 1601. In this way, the sanity checker 1601 adds significant value and resilience to the ticketing interface 101.
Asset templates have many important business uses. In one embodiment, the MSP 204 provides multiple service levels by which clients 215 pay more money for a faster response time. This can be implemented by using an asset template 1705 for each service level. These templates are associated with the clients when they purchase the corresponding service level. When a device generates a ticket, the asset template 1705 associated with the client owning that device is used, and the resulting ticket contains ticket information 1708 allowing the mapping module 105 to select the appropriate ticket category 106 for the ticket. That category gives the ticket the appropriate priority in the help desk interface 1006 based on the client's service level. At the same time, the ticket category 106 also gives the ticket the appropriate billing rate in the accounting interface 1009 (higher cost for higher priority). In another embodiment, the MSP 204 decides that servers at all clients should be treated with higher priority, and billed at a higher rate, than end user devices. The device management system 102 automatically determines that the device is a server during the initial device setup 1703, and selects a different asset template 1705 based on that information. In this way, the same result (higher priority at higher cost) is achieved, but for a different reason.
The information about automation time is extremely useful to the MSP 204 in many ways. In one embodiment, marketing/sales 1003 uses the information about automation time as hard data for potential clients about how the device management system 102 and ticketing system 103 can save them money, and also as evidence for existing clients on how it is already saving them money. In another embodiment, accounting 1004 uses the information about automation time to accurately bill clients for services at a lower rate for automation. In another embodiment, management 1005 keeps track of how efficiently the company is using its automated tools and can understand the return on investment that they provide, as well as getting key information about how that return can be improved.
The Server Connection display selected by 1901 includes the network address 1902 of the ticketing system 103, and allows editing that address to use a different ticketing system server. It includes a Statistics display 1914 showing a summary of actions taken by the ticketing interface 101. It also includes a Properties display 1915 that allows editing of parameters that control the ticketing interface 101.
Any of the fields 2101-2107 can be edited for any category by selecting the field and changing it. When the editing operations are done, clicking on the Save button 2108 saves the changes.
Any of the fields 2201-2202 can be edited for any priority by selecting the field and changing it. When the editing operations are done, clicking on the Save button 2203 saves the changes.
Any of the fields 2301-2303 in any of the configuration screens 2305-2307 can be edited by selecting the field and changing it. When the editing operations are done, clicking on the Save button 2304 saves the changes.
There are many practical and operational refinements to the systems and methods of the present disclosure that arise in actual use. These refinements can give rise to additional embodiments that are apparent to one skilled in the art, but have not been described in the detailed embodiments above. Some of these refinements are listed here as examples. This is not a comprehensive list but is intended to demonstrate additional aspects of the power and flexibility of the invention:
In one example, the management server can use information from the agent about devices under management to automatically assign roles to devices in the ticketing system server. In another example, the management server can use information from the agent about the timing and nature of actions taken on devices under management, both automated and manual, along with the roles assigned to the devices, to adjust pricing on those actions in the ticketing system server.
Embodiments of the subject matter and the operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. The subject matter described in this specification can be implemented as one or more computer programs, i.e., one or more circuits of computer program instructions, encoded on one or more computer storage media for execution by, or to control the operation of, data processing apparatus. Alternatively or in addition, the program instructions can be encoded on an artificially generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal that is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus. A computer storage medium can be, or be included in, a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them. Moreover, while a computer storage medium is not a propagated signal, a computer storage medium can be a source or destination of computer program instructions encoded in an artificially generated propagated signal. The computer storage medium can also be, or be included in, one or more separate components or media (e.g., multiple CDs, disks, or other storage devices).
It should be understood that the systems described above may provide multiple ones of any or each of those components and these components may be provided on either a standalone machine or, in some embodiments, on multiple machines in a distributed system. The systems and methods described above may be implemented as a method, apparatus or article of manufacture using programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof. In addition, the systems and methods described above may be provided as one or more computer-readable programs embodied on or in one or more articles of manufacture. The term “article of manufacture” as used herein is intended to encompass code or logic accessible from and embedded in one or more computer-readable devices, firmware, programmable logic, memory devices (e.g., EEPROMs, ROMs, PROMs, RAMs, SRAMs, etc.), hardware (e.g., integrated circuit chip, Field Programmable Gate Array (FPGA), Application Specific Integrated Circuit (ASIC), etc.), electronic devices, a computer readable non-volatile storage unit (e.g., CD-ROM, floppy disk, hard disk drive, etc.). The article of manufacture may be accessible from a file server providing access to the computer-readable programs via a network transmission line, wireless transmission media, signals propagating through space, radio waves, infrared signals, etc. The article of manufacture may be a flash memory card or a magnetic tape. The article of manufacture includes hardware logic as well as software or programmable code embedded in a computer readable medium that is executed by a processor. In general, the computer-readable programs may be implemented in any programming language, such as LISP, PERL, C, C++, C #, PROLOG, or in any byte code language such as JAVA. The software programs may be stored on or in one or more articles of manufacture as object code.
Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated in a single software product or packaged into multiple software products.
References to “of” may be construed as inclusive so that any terms described using “of” may indicate any of a single, more than one, and all of the described terms.
Thus, particular embodiments of the subject matter have been described. Other embodiments are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In certain embodiments, multitasking and parallel processing may be advantageous.
While this specification contains many specific implementation details, these should not be construed as limitations on the scope of any inventions or of what may be claimed, but rather as descriptions of features specific to particular implementations of particular inventions. Certain features described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
Claims
1-20. (canceled)
21. A system, comprising:
- one or more processors executing computer-readable instructions to: identify first ticket information of a first ticket of a first system, and second ticket information of a second ticket of a second system; determine that a modification of a first value of the first ticket information is inconsistent with a corresponding second value of the second ticket information; transmit, responsive to determining that the first value is inconsistent with the corresponding second value, instructions to update the second ticket information at the second system; and generate a third ticket for the first system that indicates resolution of the inconsistency between the first ticket information and the second ticket information.
22. The system of claim 21, wherein the one or more processors execute computer-readable instructions causing the one or more processors to:
- generate the instructions to update the corresponding second value of the second ticket information based on a history of changes to data of the first system.
23. The system of claim 21, wherein the one or more processors execute computer-readable instructions causing the one or more processors to:
- identify a ticket category of the second ticket of the second system; and
- select, responsive to identifying the ticket category, a service board for the first ticket of the first system.
24. The system of claim 21, wherein the one or more processors execute computer-readable instructions causing the one or more processors to:
- select a template based on a device referenced by the second ticket of the second system; and
- update at least a portion of the second ticket information based on the template.
25. The system of claim 21, wherein the one or more processors execute computer-readable instructions causing the one or more processors to:
- receive the first ticket information from the first system and the second ticket information from the second system;
- compare the first ticket information with the second ticket information; and
- update, responsive to the comparison, the first ticket information of the first system to match the second ticket information of the second system.
26. The system of claim 25, wherein the one or more processors execute computer-readable instructions causing the one or more processors to:
- transmit, to the second system, instructions to update the second ticket information to match the first ticket information.
27. The system of claim 21, wherein the one or more processors execute computer-readable instructions causing the one or more processors to:
- modify, responsive to determining that the first value is inconsistent with the corresponding second value, the first ticket of the first system to correspond to the second ticket of the second system.
28. The system of claim 21, wherein the one or more processors execute computer-readable instructions causing the one or more processors to:
- modify, responsive to determining that the first value is inconsistent with the corresponding second value, the second ticket of the second system to correspond to the first ticket of the first system.
29. The system of claim 21, wherein the first value is a first identifier of the first ticket and the corresponding second value is a corresponding second identifier of the second ticket.
30. The system of claim 21, wherein the first system comprises a ticketing system and the second system comprises a device management system.
31. A method, comprising:
- identifying, by one or more processors coupled to memory, first ticket information of a first ticket of a first system, and second ticket information of a second ticket of a second system;
- determining, by the one or more processors, that a modification of a first value of the first ticket information is inconsistent with a corresponding second value of the second ticket information;
- transmitting, by the one or more processors, responsive to determining that the first value is inconsistent with the corresponding second value, instructions to update the second ticket information at the second system; and
- generating, by the one or more processors, a third ticket for the first system that indicates resolution of the inconsistency between the first ticket information and the second ticket information.
32. The method of claim 31, further comprising:
- generating, by the one or more processors, the instructions to update the corresponding second value of the second ticket information based on a history of changes to data of the first system.
33. The method of claim 31, further comprising:
- identifying, by the one or more processors, a ticket category of the second ticket of the second system; and
- selecting, by the one or more processors, responsive to identifying the ticket category, a service board for the first ticket of the first system.
34. The method of claim 31, further comprising:
- selecting, by the one or more processors, a template based on a device referenced by the second ticket of the second system; and
- updating, by the one or more processors, at least a portion of the second ticket information based on the template.
35. The method of claim 31, further comprising:
- receiving, by the one or more processors, the first ticket information from the first system and the second ticket information from the second system;
- comparing, by the one or more processors, the first ticket information with the second ticket information; and
- updating, by the one or more processors, responsive to the comparison, the first ticket information of the first system to match the second ticket information of the second system.
36. The method of claim 35, further comprising:
- transmitting, by the one or more processors, to the second system, instructions to update the second ticket information to match the first ticket information.
37. The method of claim 31, further comprising:
- modifying, by the one or more processors, responsive to determining that the first value is inconsistent with the corresponding second value, the first ticket of the first system to correspond to the second ticket of the second system.
38. The method of claim 31, further comprising:
- modifying, by the one or more processors, responsive to determining that the first value is inconsistent with the corresponding second value, the second ticket of the second system to correspond to the first ticket of the first system.
39. The method of claim 31, wherein the first value is a first identifier of the first ticket and the corresponding second value is a corresponding second identifier of the second ticket.
40. The method of claim 31, wherein the first system comprises a ticketing system and the second system comprises a device management system.
Type: Application
Filed: Apr 24, 2023
Publication Date: Nov 30, 2023
Applicant: ConnectWise, LLC (Tampa, FL)
Inventors: Gregory Francis BUERK (Whitehouse, OH), Scott LOGAN (Arlington, MA)
Application Number: 18/305,645