An example of a solution provided here comprises receiving as input at least one event (chosen from an event generated by an application probe, and an event generated by a component probe), and providing graphical output based on said inputs, whereby a user correlates a component problem with a performance problem affecting an application. Methods connected with graphics for end to end component mapping and problem—solving in a network environment, systems for executing such methods, and instructions on a computer-usable medium, for executing such methods, are provided.
|
1. A method for mapping, said method comprising: receiving component identifiers as input, wherein each component identifier comprises a depth parameter, a component name parameter, and a parent component parameter;
receiving one or more event identifiers as input, wherein each event identifier comprises a depth parameter, an event name parameter, and a parent component parameter; and
providing a graphical representation of a hierarchy containing separate graphical objects representative of a business process, an event generated by one of an application probe or a component probe, and at least one of a hardware component or a software component, wherein:
the graphical representation of the hierarchy is generated based on the received component identifiers and the one or more event identifiers,
a general view of a business process is represented in a level at one extreme of said hierarchy,
at least one event generated by a component probe is represented in a level at the opposite extreme of said hierarchy from the level at which the general view of the business process is represented, and
at least one event generated by an application probe is represented in an intermediate level of said hierarchy between the general view of the business process and the at least one event generated by the component probe,
wherein said providing a graphical representation further comprises:
providing an axis representing the death parameter, wherein graphical objects representative of the business process, an event generated by one of an application probe or a component probe, and at least one of a hardware component or a software component are arranged along the axis according to their corresponding depth parameter in the corresponding component or event identifier.
5. A method for mapping, said method comprising:
receiving as input at least one component identifier representing at least one of the hardware component or the software component, wherein each component identifier comprises a depth parameter, a component name parameter, and a parent component parameter,
receiving as input at least one event identifier representing at least one event chosen from:
an event generated by an application probe; and
an event generated by a component probe, wherein each event identifier comprises a depth parameter, an event name parameter, and a parent component parameter; and
providing graphical output based on at least one component identifier and said at least one event identifier, wherein:
providing a graphical output comprises providing a graphical representation of a hierarchy containing separate graphical objects representative of the at least one event whereby a user correlates a component problem with a performance problem affecting an application based on the graphical output,
said component problem is associated with said at least one event,
a general view of a business process is represented in a level at one extreme of said hierarchy,
at least one event generated by a component probe is represented in a level at the opposite extreme of said hierarchy from the level at which the general view of the business process is represented, and
at least one event generated by an application probe is represented in an intermediate level of said hierarchy between the general view of the business process and the at least one event generated by the component probe,
wherein providing a graphical output further comprises:
providing an axis representing the depth parameter, wherein graphical objects representative of the at least one event and the at least one of the hardware component or the software component are arranged along the axis according to their corresponding depth parameter in their corresponding component or event identifier.
2. The method of
at least one event generated by an application probe; and
at least one event generated by a component probe.
4. The method of
providing a class diagram.
6. The method of
directing problem—solving efforts, based on said graphical output.
7. The method of
providing graphical representations of items chosen from:
a business process; and
an application.
8. The method of
providing an axis representing a depth parameter.
10. The method of
providing a class diagram.
11. The method of
providing one or more views chosen from:
an application view;
a component view; and
a combination view.
12. The method of
13. The method of
14. The method of
15. The method of
16. The method of
17. The method of
18. The method of
19. The method of
20. The method of
21. The method of
|
The present application is related to co-pending applications entitled Method and System for Probing in a Network Environment, application Ser. No. 10/062,329, filed on Jan. 31, 2002, Method and System for Performance Reporting in a Network Environment, application Ser. No. 10/062,369, filed on Jan. 31, 2002, and End to End Component Mapping and Problem—Solving in a Network Environment, filed on even date herewith. These co-pending applications are assigned to the assignee of the present application, and herein incorporated by reference. A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
The present invention relates generally to information handling, and more particularly to graphics for end to end component mapping and problem—solving, for information handling in a network environment.
Various approaches have been proposed for monitoring, simulating, or testing web sites. Examples include U.S. Pat. No. 6,278,966 B1 (Howard, et al., Aug. 21, 2001), “Method and System for Emulating Web Site Traffic to Identify Web Site Usage Patterns.” However, this example addresses substantially different problems (problems of simulation and hypothetical phenomena), and thus is significantly different from the present invention. Other examples include U.S. Pat. No. 6,078,956 (Bryant, et al., Jun. 20, 2000) and U.S. Pat. No. 5,787,254 (Maddalozzo, et al., Jul. 28, 1998). Other examples include services available from vendors such as Atesto Technologies Inc., Keynote Systems, and Mercury Interactive Corporation. These services may involve a script that runs on a probe computer. The examples mentioned above do not necessarily provide graphical tools for directing problem—solving efforts toward a component that is causing a problem.
When a problem occurs, lack of useful information can hamper efforts to restore the proper performance of an application in a network environment. These applications may involve many hardware and software components, so it may be difficult to quickly identify a component that is causing a problem. Thus there is a need for tools that quickly identify the cause of an outage at the component level, and properly focus problem—solving efforts for applications in a network environment, including but not limited to web sites and web services.
An example of a solution to problems mentioned above comprises: receiving as input at least one event (chosen from an event generated by an application probe, and an event generated by a component probe), and providing graphical output based on said inputs, whereby a user correlates a component problem with a performance problem affecting an application. Another example of a solution comprises: receiving component identifiers as input, receiving event identifiers as input, and providing a graphical representation of a hierarchy containing items chosen from:
a business process;
an application;
an event generated by an application probe;
a hardware component;
a software component; and
an event generated by a component probe.
The solutions provided here address the need to quickly understand the business impact of an outage, the need to quickly identify the cause of an outage at the component level, and the need to give high priority to problems with components that affect multiple business processes, for example.
A better understanding of the present invention can be obtained when the following detailed description is considered in conjunction with the following drawings. The use of the same reference symbols in different drawings indicates similar or identical items.
The examples that follow involve the use of one or more computers and may involve the use of one or more communications networks. The present invention is not limited as to the type of computer on which it runs, and not limited as to the type of network used. The present invention is not limited as to the type of medium used for graphics. Means for providing graphical output may include sketching diagrams by hand on paper, printing images on paper, displaying images on a screen, or some combination of these, for example. A model of a solution might be provided on paper, and later the model could be the basis for a design implemented via computer, for example.
The following are definitions of terms used in the description of the present invention and in the claims:
“Availability” means ability to be accessed or used.
“Business process” means any process involving use of a computer by any enterprise, group, or organization; the process may involve providing goods or services of any kind.
“Client-server application” means any application involving a client that utilizes a service, and a server that provides a service. Examples of such a service include but are not limited to: information services, transactional services, access to databases, and access to audio or video content.
“Comparing” means bringing together for the purpose of finding any likeness or difference, including a quantitative likeness or difference. “Comparing” may involve answering questions including but not limited to: “Is a measured response time greater than a threshold response time?” Or “Is a response time measured by a remote probe significantly greater than a response time measured by a local probe?”
“Component” means any element or part, and may include elements consisting of hardware or software or both.
“Computer-usable medium” means any carrier wave, signal or transmission facility for communication with computers, and any kind of computer memory, such as floppy disks, hard disks, Random Access Memory (RAM), Read Only Memory (ROM), CD-ROM, flash ROM, non-volatile ROM, and non-volatile memory.
“Measuring” means evaluating or quantifying.
“Event” means any action initiated by a computer or a user, including the sending of alerts, warnings, or other signals.
“Output” or “Outputting” means producing, transmitting, or turning out in some manner, including but not limited to printing on paper, or displaying on a screen, or using an audio device.
“Performance” means execution or doing; “performance” may refer to any aspect of an application's operation, including availability, response time, time to complete batch processing or other aspects.
“Probe” means any computer used in evaluating, investigating, or quantifying the functioning of a component or the performance of an application; for example a “probe”, may be a personal computer executing a script, acting as a client, and requesting services a from a server.
“Response time” means elapsed time in responding to a request or signal.
“Script” means any program used in evaluating, investigating, or quantifying performance; for example a script may cause a computer to send requests or signals according to a transaction scenario. A script may be written in a scripting language such as Perl or some other programming language.
“Service level agreement” means any oral or written agreement between provider and user. For example, “service level agreement” includes but is not limited to an agreement between vendor and customer, and an agreement between an information technology department and an end user. For example, a “service level agreement” might involve one or more client-server applications, and might include specifications regarding availability, response times or problem—solving.
“Storing” data or information, using a computer, means placing the data or information, for any length of time, in any kind of computer memory, such as floppy disks, hard disks, Random Access Memory (RAM), Read Only Memory (ROM), CD-ROM, flash ROM, non-volatile ROM, and non-volatile memory.
“Structured identifier” means any definition, label, tag, or other means of identifying something, with a certain arrangement or order.
“Threshold value” means any value used as a borderline, standard, or target; for example, a “threshold value” may be derived from a service level agreement, industry norms, or other sources.
While the computer system described in
Turning now to some details of the example implementation, application probes such as probe 221 measured response time for requests. The double-headed arrow connecting local application probe 221 with application 201 symbolizes requests and responses.
We located application probes locally at hosting sites (e.g. local application probe shown at 221, within data center 211) and remotely at relevant end-user sites (not shown in this diagram). This not only exercised the application code and application hosting site infrastructure, but also probed the ability of the application and network to deliver data from the application hosting site to the remote end-user sites. End-to-end measurement of IBM external applications (symbolized by application 201 with web pages 202) for customers or business partners, for example, involved remote application probes (RAP's) on the Internet (shown at 290). We also measured the availability and performance of the application at the location where it was deployed (local application probe shown at 221, within data center 211). This provided baseline performance measurement data, that could be used for analyzing the performance measurements from the remote probes (not shown in this diagram).
Local application probe 221 was implemented with a personal computer, utilizing IBM's Enterprise Probe Platform technology, but other kinds of hardware and software could be used. A local application probe 221 was placed on the IBM network just outside the firewall at the center where the web site was hosted. A local application probe 221 was used to probe one specific site per probe. There could be multiple scripts per site. A local application probe 221 executed the script every 20 minutes. Intervals of other lengths also could be used.
Component probe 271 could be implemented with a personal computer running a script, but other kinds of hardware and software could be used. Component probe 271 could be implemented with software products (such as those available from TIVOLI, for example, or other similar products). These products provide a framework for probing infrastructure components. These products are available for various operating systems and middle ware components.
Another aspect of this example in
Turning now to some details of providing input from a plurality of probes, Component Probes measure availability, utilization and performance of infrastructure components, including servers, LAN, and services. Local component probes (LCPS) may be deployed locally in hosting sites, service delivery centers or data centers (e.g., at 211).
Network Probes measure network infrastructure response time and availability. Remote Network Probes (RNPS) may be deployed in a local hosting site or data center (e.g. at 211) if measuring the intranet or at Internet Service Provider (ISP) sites if measuring the Internet.
Application Probes measure availability and performance of applications and business processes.
Local Application Probe (LAP): Application probes deployed in a local hosting site or data center (e.g. at 211) are termed Local Application Probes.
Remote Application Probe (RAP): An application probe deployed from a remote location is termed a Remote Application Probe.
The concept of “probe”, is a logical one. Thus for example, implementing a local component probe could actually consist of implementing multiple physical probes.
Providing a script for an application probe would comprise defining a set of transactions that are frequently performed by end users. Employing a plurality of application probes would comprise placing at least one remote application probe (not shown in
The example in
The local application probe 221 automatically sent events to the management console 205 used by the operations department. In the example solution, integration was provided with the TIVOLI MANAGEMENT ENVIRONMENT and the TIVOLI EVENT CONSOLE product. The example solution generated events from the local application probe 221, and the events were generated after two consecutive errors on the same step in the business process. This could then be adjusted to send an event on the first error, for even faster notification. The recommendation is to send events on the second occurrence initially and then adjust to sending the event on the first occurrence as the environment becomes more stable and better understood by the operational staff. The reason for the recommendation is that in a Web environment there are a number of things that can cause intermittent problems, and it is ultimately a business decision when to invoke problem determination procedures.
Consider the following example of a condition where an event was generated. This example involved probing a web site for selling computer hardware. There were executions of the probe script that failed on step two. (Regarding the steps involved, see Table 1 below.) The associated event sent to the TIVOLI ENTERPRISE CONSOLE had a severity of “Warning,” and documented the failure of step two, where the probe was unable to log on to the web site. Note that the date and time is the local time from the probe. In the examples below, “CRT” refers to a type of probe technology used by IBM. An example of an alert follows.
Tivoli alert for CRT probe failure:
Tivoli CRT Alert—PC NA
WARNING (NAQS2 [LogonFailed/1])
PCNa—Partner Commerce North America CRT Monitor
tag:auth=crtGwaFw
tag:message=PartnerCommerceNA https://ecna.partner.com Step-NAQS2-failed: Logon failed.
tag:severity=WARNING
tag:slot hostname=d03bpec18. pinfo.com
tag:slot mail svr=CVRM
tag:slot mta=ecna.partner.com
tag:slot probe_addr=NAQS2
tag:slot probe_date=07/21
tag:slot probe_time=19:58
tag:class=crt_event
tag:source=SENTRY
It is useful to automatically close opened events if a subsequent business process is executed successfully. This allows the operational staff to direct time and efforts to those events that remain in “open” status. Below is an example of such an event which was used to automatically close the previously opened event. The event was reported as severity HARMLESS and with the appropriate rules defined on the TIVOLI ENTERPRISE CONSOLE the previously opened event would be closed. This HARMLESS event was generated when the probe successfully executed the script and was able to log on to the web site. An example of such an event follows.
Tivoli alert for CRT probe failure:
Tivoli CRT Alert—PC NA
HARMLESS (NAQS2 [RecoveredZf/0])
PCNa—Partner Commerce North America CRT Monitor
tag:auth=crtGwaFw
tag:message=PartnerCommerceNA https://ecna.partner.com Step-NAQS2-failed: The problem causing the previous alert has been fixed.
tag:severity=HARMLESS
tag:slot hostname=d03bpec18. pinfo.com
tag:slot mail_svr=CVRM
tag:slot mta=ecna.partner.com
tag:slot probe_addr=NAQS2
tag:slot probe_date=07/21
tag:slot probe_time=21:43
tag:class=crt_event
tag:source=SENTRY
Event 321 signals that performance problem 391 exists with an application. For example, event 321 might be similar to the problem event described above regarding
Those skilled in the art will recognize that blocks in the above-mentioned flow chart could be arranged in a somewhat different order, but still describe the invention. Blocks could be added to the above-mentioned flow chart to describe details, or optional features; some blocks could be subtracted to show a simplified example.
Turning to details of obtaining input for graphical tools, we may begin with transaction steps in a business process. Some examples are steps involved in using a web site, a web application, web services, database management software, a customer relationship management system, an enterprise resource planning system, or an opportunity-management business process.
The following discussion involves an example of how a web site was analyzed and how inputs were developed for graphical tools. The discussion begins with transaction steps, then covers components and events. A tool used for looking at transaction steps was a table containing the transaction step number, step name, and a description of what action the end user takes to execute the step. Table 1 below is an example of such a table, based on a web site for selling computer hardware.
TABLE 1
Step No.
Step name
Description
NAQS1
Open URL
Go to URL http://
NAQS2
Logon
Enter Login
ID/Password. Click
on Logon button.
NAQS3
Navigation 1
Click on Personal
Systems and
NETFINITY
NAQS4
Clear Form
Select ‘Clear the
form’. Click “ok” on
pop-up window.
NAQS5
Select Catalog
Select Catalog Order
from left hand
navigation bar
NAQS6
Select Printers
Select Printers
NAQS7
Select Printer Model
Select Infoprint
NAQS8
Add to Order
Type 1 in Quantity
box for 1st item
Click Add to Order,
Click OK on pop-up
window
NAQS9
Display Order Form
Click on Go to order
form
NAQS10
Validate Order
Click Save/Validate
Items
NAQS10A
Home Page
Click on “Overview”
link
NAQS11
Logoff
Click Logoff. Click
“ok” on popup
Another detail involved in obtaining inputs, at block 410, may be developing a script to run on a local application probe or remote application probe. Transaction steps such as those shown in Table 1 are primary candidates for use in developing a script.
Another tool for looking at transaction steps was a table containing the transaction step name, the name of an application supporting the step, and the data center where the application is hosted. Table 2 below is an example of such a table.
TABLE 2
Supporting
Data
Step name
Application
center
Open URL
Application 1
Boulder
Logon
Application 2
Southbury
Navigation 1
Application 1
Boulder
Clear Form
Application 1
Boulder
Select Catalog
Application 1
Boulder
Select Printers
Application 1
Boulder
Select Printer Model
Application 1
Boulder
Add to Order
Application 1
Boulder
Display Order Form
Application 1
Boulder
Validate Order
Application 3
Portsmouth
Home Page
Application 1
Boulder
Logoff
Application 1
Boulder
Another detail involved in obtaining inputs, at block 410 in
TABLE 3
Infrastructure
Middleware
Network
Application
dependencies
dependencies
dependencies
Application 1
d0xx2111,
MQSeries
Link 9
d0xx2113,
Channel A
d0xx2115
Application 2
d0xx2112
MQSeries
Link 9,
Channel B
Link 12
Application 3
d0xx2119
DB/2 database
Link 15
Customer data
In the examples considered here, typically the input for graphical tools would include at least one event generated by an application probe, and at least one event generated by a component probe. Obtaining input may comprise determining specifications to support the deployment of the probes. Determining specifications may further comprise determining a plurality of specifications such as: a resource specification; a threshold value specification; an event severity specification; and an event class specification. For example, a resource specification would define an infrastructure resource to be probed, such as file space used on a server. A threshold value specification might be “file space 80% full,” for example. Examples of event severity specifications “warning” and “harmless” were given above in connection with
Continuing with details of obtaining inputs (block 410 in
TABLE 4
Examples of structured identifiers for some
components and events
PARENT
BUSINESS
DEPTH/
COMPO-
PROCESS
LEVEL
NAME
NENT
NAME
CRITICALITY
3
Timeout
Open Leads
CRM2000
Warning
5
d0xx
GWA
CRM2000
Critical
6
Inetd
d0xx
CRM2000
Critical
6
Disk failure
d0xx
CRM2000
Critical
Table 4 shows an example using five parameters (depth, name, parent component, business process name, and criticality) to give a logical view of a business process, its components and events. (Features of this example are also shown in
The event “Inetd” indicated a problem with a software component (inetd, the Internet super-server daemon, in an operating system such as UNIX, LINUX, or IBM's AIX). The event “Disk failure”, indicated a problem with a hardware component (a disk).
In contrast to Table 4, a structured identifier may be expressed in plain text, following this pattern, for example: (Depth, Component Name, Parent Component, Business Process Name, Criticality). For example a software component “inetd” could have the following identifier: (6, inetd, d0xx1, CRM2000, Critical). This identifier identifies the position of each component, and retains the data pertaining to its relationships and dependencies. The same software component “inetd,” regarding its utilization in another application or business process called “CVRM,” could have the following identifier: (6, inetd, d0xx1, CVRM, Critical).
The example in
Level 4 contained logical components in the infrastructure, such as IBM's Global Web Architecture (GWA) at block 541, an environment that hosts web servers. Also represented at level 4, at block 542, was an environment that included an application (the software product sold under the trademark SIEBEL) and database servers supporting the application. The SIEBEL application was used as a front end application to many other applications supporting IBM business processes. These other applications are represented by “Downstream Apps.” at block 543 in
Continuing with further details of
Continuing with further details of
One possible use of a graphical representation such as
Another possible use of a graphical representation such as
Continuing with further details of
Some examples of additional parameters that could be used with the five parameters shown above are problem determination, destination, and service level agreement parameters. First, an additional parameter for problem determination (PD) can be added. The purpose of this parameter would be to associate problem determination procedures to every event generated. This parameter could be used to identify the actions or procedures to be used when this event is generated. These actions or procedures can be automatic (e.g. identifying a program or function to be automatically executed when the event occurs). Another implementation could be to use this parameter as an index into an operational repository to retrieve written instructions to be followed to correct the problem. Depending on the missions of different organizations, the operational procedures will vary. In the example in Table 4, where we had a problem with the inetd daemon, the automated PD process could be to run the appropriate shell script to restart the inetd daemon. In the case of a disk crash, the operational procedure could be a reference to a document describing how to replace broken hardware and apply the necessary backup and restore procedures. On depth level 2 the PD parameter could refer to an automated or written process for how the business owner of the process is contacted and informed about the business impact of the infrastructure problem.
A second example would be to add a destination parameter to the event. Most likely several different teams are involved in the management of an end to end business process. These teams have different missions and accordingly different roles and responsibilities. For example an eBusiness Center could have a mission to manage the end to end process from a customer perspective and the service delivery centers could perform traditional information technology services. The destination (i.e. a target audience or event console) parameter could be used to indicate that the event documenting the disk crash has been sent to an event console used by the service delivery center with a responsibility to address infrastructure problems. The service delivery center may receive the disk crash event as CRITICAL. The same event could be sent to different destinations with different values in the criticality parameter, depending on the roles and responsibilities of the target audience. The disk crash event could be sent to the eBusiness Command Center and could have a criticality value of WARNING.
Thirdly, Service Level Agreements (SLA's) are most likely in a place for the whole end to end system and in many cases the individual components. Adding an SLA parameter would allow this parameter to be used as an index into a repository of existing SLA's. Again, these SLA's differ based on the missions of the organizations, so the end to end SLA documents the availability agreement for the customer process, and the SLA for infrastructure documents hardware availability etc. Since these SLA's are commitments by the service providers and could impose penalties, it is useful to direct problem resolution activities in accordance with the service level commitments. More sophisticated implementations could include automatic data collection for SLA attainment calculations.
In various situations, various combinations of these parameters may be used. For example, an enterprise could use the problem determination parameter but not the SLA parameter (they may not have an SLA). Another situation could be an enterprise who has an SLA but has not implemented automated or manual operational processes in support of their SLA commitments.
The elements shown in
Continuing with the color coding in
In the example in
In the example in
Turning to implementation and use of graphical outputs, graphics similar to the examples in
In another example of graphics (not shown here), elements of a hierarchy were arranged diagonally, descending from left to right. Elements were connected by plain solid lines. Classes of components were represented by file-folder symbols. This example used levels numbered from 0 to 7, where hardware and software classes of components were at Level 6, and events like “Inetd” and “Disk failure”, were at Level 7. Additional levels could be defined within tools like TIVOLI BUSINESS SYSTEMS MANAGER to group components for easier administration. This example was essentially a component view.
Another example of graphics (not shown here) was essentially an application view, showing one or more applications and events generated by an application probe. In contrast, the examples seen in
Graphics like those described above were useful to administrators who, for example, provide support for a business process. Such graphics addressed administrators, need to quickly understand the business impact of an outage, the need to quickly identify the root cause of an outage at the component level, and the need to give high priority to problems with components that affect multiple business processes. In conclusion, we have shown examples of graphics for end to end component mapping and problem—solving in a network environment.
One of the possible implementations of the invention is an application, namely a set of instructions (program code) executed by a processor of a computer from a computer-usable medium such as a memory of a computer. Until required by the computer, the set of instructions may be stored in another computer memory, for example, in a hard disk drive, or in a removable memory such as an optical disk (for eventual use in a CD ROM) or floppy disk (for eventual use in a floppy disk drive), or downloaded via the Internet or other computer network. Thus, the present invention may be implemented as a computer-usable medium having computer-executable instructions for use in a computer. In addition, although the various methods described are conveniently implemented in a general-purpose computer selectively activated or reconfigured by software, one of ordinary skill in the art would also recognize that such methods may be carried out in hardware, in firmware, or in more specialized apparatus constructed to perform the required method steps.
While the invention has been shown and described with reference to particular embodiments thereof, it will be understood by those skilled in the art that the foregoing and other changes in form and detail may be made therein without departing from the spirit and scope of the invention. The appended claims are to encompass within their scope all such changes and modifications as are within the true spirit and scope of this invention. Furthermore, it is to be understood that the invention is solely defined by the appended claims. It will be understood by those with skill in the art that if a specific number of an introduced claim element is intended, such intent will be explicitly recited in the claim, and in the absence of such recitation no such limitation is present. For non-limiting example, as an aid to understanding, the appended claims may contain the introductory phrases “at least one” or “one or more” to introduce claim elements. However, the use of such phrases should not be construed to imply that the introduction of a claim element by indefinite articles such as “a” or “an” limits any particular claim containing such introduced claim element to inventions containing only one such element, even when the same claim includes the introductory phrases “at least one” or “one or more” and indefinite articles such as “a” or “an;” the same holds true for the use in the claims of definite articles.
Olsson, Stig Arne, Vijayan, Geetha, Fearn, Paul
Patent | Priority | Assignee | Title |
10540159, | Jun 29 2005 | ServiceNow, Inc | Model-based virtual system provisioning |
10999152, | Apr 20 2020 | ServiceNow, Inc. | Discovery pattern visualizer |
11025508, | Apr 08 2020 | ServiceNow, Inc.; ServiceNow, Inc | Automatic determination of code customizations |
11095506, | Jul 22 2020 | ServiceNow, Inc | Discovery of resources associated with cloud operating system |
11150784, | Sep 22 2020 | ServiceNow, Inc. | User interface elements for controlling menu displays |
11216271, | Dec 10 2020 | ServiceNow, Inc. | Incremental update for offline data access |
11245591, | Sep 17 2020 | ServiceNow, Inc. | Implementation of a mock server for discovery applications |
11252047, | Apr 08 2020 | ServiceNow, Inc. | Automatic determination of code customizations |
11258847, | Nov 02 2020 | ServiceNow, Inc.; ServiceNow, Inc | Assignments of incoming requests to servers in computing clusters and other environments |
11263195, | May 11 2020 | ServiceNow, Inc. | Text-based search of tree-structured tables |
11269618, | Dec 10 2020 | ServiceNow, Inc. | Client device support for incremental offline updates |
11272007, | Jul 21 2020 | ServiceNow, Inc. | Unified agent framework including push-based discovery and real-time diagnostics features |
11275580, | Aug 12 2020 | ServiceNow, Inc. | Representing source code as implicit configuration items |
11277321, | Jul 06 2020 | ServiceNow, Inc.; ServiceNow, Inc | Escalation tracking and analytics system |
11277359, | Jun 11 2020 | ServiceNow, Inc.; ServiceNow, Inc | Integration of a messaging platform with a remote network management application |
11277369, | Mar 02 2021 | ServiceNow, Inc. | Message queue architecture and interface for a multi-application platform |
11277475, | Jun 01 2021 | ServiceNow, Inc. | Automatic discovery of storage cluster |
11281442, | Nov 18 2020 | ServiceNow, Inc. | Discovery and distribution of software applications between multiple operational environments |
11296922, | Apr 10 2020 | ServiceNow, Inc. | Context-aware automated root cause analysis in managed networks |
11301271, | Jan 21 2021 | ServiceNow, Inc.; ServiceNow, Inc | Configurable replacements for empty states in user interfaces |
11301365, | Jan 13 2021 | ServiceNow, Inc. | Software test coverage through real-time tracing of user activity |
11301435, | Apr 22 2020 | ServiceNow, Inc.; ServiceNow, Inc | Self-healing infrastructure for a dual-database system |
11301503, | Jul 10 2020 | ServiceNow, Inc. | Autonomous content orchestration |
11342081, | Oct 21 2020 | ServiceNow, Inc.; ServiceNow, Inc | Privacy-enhanced contact tracing using mobile applications and portable devices |
11343079, | Jul 21 2020 | ServiceNow, Inc.; ServiceNow, Inc | Secure application deployment |
11363115, | Nov 05 2020 | ServiceNow, Inc.; ServiceNow, Inc | Integrated operational communications between computational instances of a remote network management platform |
11372920, | Aug 31 2020 | ServiceNow, Inc.; ServiceNow, Inc | Generating relational charts with accessibility for visually-impaired users |
11379089, | Jul 02 2020 | ServiceNow, Inc.; ServiceNow, Inc | Adaptable user interface layout for applications |
11392768, | May 07 2020 | ServiceNow, Inc | Hybrid language detection model |
11418571, | Jul 29 2021 | ServiceNow, Inc.; ServiceNow, Inc | Server-side workflow improvement based on client-side data mining |
11418586, | Jan 19 2021 | ServiceNow, Inc | Load balancing of discovery agents across proxy servers |
11449535, | Jul 13 2020 | ServiceNow, Inc. | Generating conversational interfaces based on metadata |
11451573, | Jun 16 2020 | ServiceNow, Inc.; ServiceNow, Inc | Merging duplicate items identified by a vulnerability analysis |
11470107, | Jun 10 2020 | ServiceNow, Inc.; ServiceNow, Inc | Matching configuration items with machine learning |
11513885, | Feb 16 2021 | ServiceNow, Inc. | Autonomous error correction in a multi-application platform |
11516307, | Aug 09 2021 | ServiceNow, Inc | Support for multi-type users in a single-type computing system |
11545268, | Oct 21 2020 | ServiceNow, Inc. | Privacy-enhanced contact tracing using mobile applications and portable devices |
11582096, | Jul 22 2020 | ServiceNow, Inc.; ServiceNow, Inc | Discovery of network load balancers |
11582106, | Jul 22 2020 | ServiceNow, Inc. | Automatic discovery of cloud-based infrastructure and resources |
11582317, | Feb 07 2022 | ServiceNow, Inc. | Payload recording and comparison techniques for discovery |
11599236, | Jul 02 2020 | ServiceNow, Inc. | Adaptable user interface layout for applications |
11601465, | Jun 16 2020 | ServiceNow, Inc. | Merging duplicate items identified by a vulnerability analysis |
11604772, | Apr 22 2020 | ServiceNow, Inc. | Self-healing infrastructure for a dual-database system |
11616690, | Jul 22 2020 | ServiceNow, Inc.; ServiceNow, Inc | Discovery of virtualization environments |
11625141, | Sep 22 2020 | ServiceNow, Inc. | User interface generation with machine learning |
11630717, | Jan 06 2021 | ServiceNow, Inc.; ServiceNow, Inc | Machine-learning based similarity engine |
11632300, | Jul 16 2020 | ServiceNow, Inc.; ServiceNow, Inc | Synchronization of a shared service configuration across computational instances |
11632303, | Oct 07 2020 | ServiceNow, Inc | Enhanced service mapping based on natural language processing |
11632440, | Nov 05 2020 | ServiceNow, Inc. | Integrated operational communications between computational instances of a remote network management platform |
11635752, | May 07 2021 | ServiceNow, Inc.; ServiceNow, Inc | Detection and correction of robotic process automation failures |
11635953, | May 07 2021 | ServiceNow, Inc. | Proactive notifications for robotic process automation |
11640369, | May 05 2021 | ServiceNow, Inc. | Cross-platform communication for facilitation of data sharing |
11670426, | Oct 21 2020 | ServiceNow, Inc. | Privacy-enhanced contact tracing using mobile applications and portable devices |
11671444, | Jun 10 2020 | ServiceNow, Inc. | Matching configuration items with machine learning |
11693831, | Nov 23 2020 | ServiceNow, Inc.; ServiceNow, Inc | Security for data at rest in a remote network management platform |
11694027, | May 07 2020 | ServiceNow, Inc | Hybrid language detection model |
11695641, | Sep 17 2020 | ServiceNow, Inc. | Implementation of a mock server for discovery applications |
11734025, | Oct 14 2020 | ServiceNow, Inc | Configurable action generation for a remote network management platform |
11734150, | Jun 10 2022 | ServiceNow, Inc. | Activity tracing through event correlation across multiple software applications |
11734381, | Dec 07 2021 | ServiceNow, Inc.; ServiceNow, Inc | Efficient downloading of related documents |
11748115, | Jul 21 2020 | ServiceNow, Inc. | Application and related object schematic viewer for software application change tracking and management |
11762668, | Jul 06 2021 | ServiceNow, Inc. | Centralized configuration data management and control |
11762717, | Dec 11 2018 | Dotwalk, Inc. | Automatically generating testing code for a software application |
11765105, | Jun 11 2020 | ServiceNow, Inc. | Integration of a messaging platform with a remote network management application |
11765120, | Mar 02 2021 | ServiceNow, Inc. | Message queue architecture and interface for a multi-application platform |
11811847, | Jul 29 2021 | ServiceNow, Inc. | Server-side workflow improvement based on client-side data mining |
11829233, | Jan 14 2022 | ServiceNow, Inc.; ServiceNow, Inc | Failure prediction in a computing system based on machine learning applied to alert data |
11829749, | Dec 10 2020 | ServiceNow, Inc. | Incremental update for offline data access |
11831729, | Mar 19 2021 | ServiceNow, Inc. | Determining application security and correctness using machine learning based clustering and similarity |
11838312, | Jun 16 2020 | ServiceNow, Inc. | Merging duplicate items identified by a vulnerability analysis |
11848819, | Jul 16 2020 | ServiceNow, Inc. | Synchronization of a shared service configuration across computational instances |
11868593, | Nov 05 2020 | ServiceNow, Inc.; ServiceNow, Inc | Software architecture and user interface for process visualization |
11921878, | Jan 21 2021 | ServiceNow, Inc. | Database security through obfuscation |
11924033, | Jul 22 2020 | ServiceNow, Inc. | Discovery of network load balancers |
11953977, | Jan 06 2021 | ServiceNow, Inc. | Machine-learning based similarity engine |
11960353, | Nov 08 2021 | ServiceNow, Inc | Root cause analysis based on process optimization data |
11977471, | Jun 10 2022 | ServiceNow, Inc. | Activity tracing through event correlation across multiple software applications |
11989538, | Jun 21 2022 | ServiceNow, Inc. | Orchestration for robotic process automation |
12056473, | Aug 01 2022 | ServiceNow, Inc. | Low-code / no-code layer for interactive application development |
12072775, | Dec 07 2022 | ServiceNow, Inc. | Centralized configuration and change tracking for a computing platform |
12093517, | Nov 05 2020 | ServiceNow, Inc. | Software architecture and user interface for process visualization |
12093685, | Aug 12 2020 | ServiceNow, Inc. | Representing source code as implicit configuration items |
12095634, | Aug 12 2022 | ServiceNow, Inc. | Hybrid request routing system |
12095842, | Jul 29 2021 | ServiceNow, Inc. | Server-side workflow improvement based on client-side data mining |
12099465, | May 05 2021 | ServiceNow, Inc. | Cross-platform communication for facilitation of data sharing |
12099567, | Dec 20 2021 | ServiceNow, Inc. | Viewports and sub-pages for web-based user interfaces |
12111720, | Feb 16 2021 | ServiceNow, Inc. | Autonomous error correction in a multi-application platform |
12131168, | Apr 18 2023 | ServiceNow, Inc. | Outcome-oriented automation platform |
12141048, | Oct 12 2022 | ServiceNow, Inc. | Machine learning model for determining software defect criticality |
12143268, | Jul 22 2020 | ServiceNow, Inc. | Automatic discovery of cloud-based infrastructure and resources |
12147487, | Dec 07 2022 | ServiceNow, Inc. | Computationally efficient traversal of virtual tables |
12184483, | Jul 22 2020 | ServiceNow, Inc; ServiceNow, Inc. | Discovery of resource clusters |
7739273, | Jun 02 2006 | International Business Machines Corporation | Method for creating, executing and searching through a form of active web-based content |
7877284, | Jun 05 2006 | International Business Machines Corporation | Method and system for developing an accurate skills inventory using data from delivery operations |
8001068, | Jun 05 2006 | International Business Machines Corporation | System and method for calibrating and extrapolating management-inherent complexity metrics and human-perceived complexity metrics of information technology management |
8086720, | Jan 31 2002 | International Business Machines Corporation | Performance reporting in a network environment |
8214752, | Sep 29 2006 | Sharp Kabushiki Kaisha | Systems and methods for dynamically generating user interfaces for controlling a device with a client side filter |
8224937, | Mar 04 2004 | International Business Machines Corporation | Event ownership assigner with failover for multiple event server system |
8316381, | Apr 18 2002 | International Business Machines Corporation | Graphics for end to end component mapping and problem-solving in a network environment |
8468042, | Jun 05 2006 | AIRBNB, INC | Method and apparatus for discovering and utilizing atomic services for service delivery |
8527620, | Mar 06 2003 | KYNDRYL, INC | E-business competitive measurements |
8549513, | Jun 29 2005 | ServiceNow, Inc | Model-based virtual system provisioning |
8554596, | Jun 05 2006 | BEIJING ZITIAO NETWORK TECHNOLOGY CO , LTD | System and methods for managing complex service delivery through coordination and integration of structured and unstructured activities |
8560684, | Jun 15 2005 | BMC Software, Inc. | Network transaction discovery |
8744838, | Jan 31 2012 | Xerox Corporation | System and method for contextualizing device operating procedures |
9110934, | Jun 02 2006 | International Business Machines Corporation | System and method for delivering an integrated server administration platform |
9317270, | Jun 29 2005 | ServiceNow, Inc | Model-based virtual system provisioning |
9811368, | Jun 29 2005 | ServiceNow, Inc | Model-based virtual system provisioning |
ER8052, | |||
ER941, |
Patent | Priority | Assignee | Title |
5295244, | Sep 17 1990 | CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc | Network management system using interconnected hierarchies to represent different network dimensions in multiple display views |
5459837, | Apr 21 1993 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | System to facilitate efficient utilization of network resources in a computer network |
5504921, | Sep 17 1990 | CONCORD COMMUNICATIONS, INC ; Computer Associates Think, Inc | Network management system using model-based intelligence |
5581482, | Apr 26 1994 | Unisys Corporation | Performance monitor for digital computer system |
5696701, | Jul 12 1996 | Hewlett Packard Enterprise Development LP | Method and system for monitoring the performance of computers in computer networks using modular extensions |
5742819, | Jun 04 1993 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | System and method for dynamically analyzing and improving the performance of a network |
5787254, | Mar 14 1997 | International Business Machines Corporation | Web browser method and system for display and management of server latency |
5793753, | Sep 17 1996 | TELECOM HOLDING PARENT LLC | Telecommunications network management observation and response system |
5812780, | May 24 1996 | Microsoft Technology Licensing, LLC | Method, system, and product for assessing a server application performance |
5835756, | Jun 04 1993 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Real-time open file cache hashing table restructuring in a server computer |
5872973, | Oct 26 1995 | VIEWSOFT, INC | Method for managing dynamic relations between objects in dynamic object-oriented languages |
5944782, | Oct 16 1996 | CLOUDING CORP | Event management system for distributed computing environment |
5978475, | Jul 18 1997 | BT AMERICAS INC | Event auditing system |
6000045, | May 28 1996 | GOOGLE LLC | Method and apparatus for inter-domain alarm correlation |
6041349, | Feb 29 1996 | Hitachi, Ltd. | System management/network correspondence display method and system therefor |
6041352, | Jan 23 1998 | Agilent Technologies Inc | Response time measuring system and method for determining and isolating time delays within a network |
6052733, | Oct 01 1997 | Hewlett Packard Enterprise Development LP | Method of detecting errors in a network |
6055493, | Jan 29 1997 | INFOVISTA SAS | Performance measurement and service quality monitoring system and process for an information system |
6070190, | May 11 1998 | ServiceNow, Inc | Client-based application availability and response monitoring and reporting for distributed computing environments |
6078956, | Sep 08 1997 | International Business Machines Corporation | World wide web end user response time monitor |
6108700, | Aug 01 1997 | IBM Corporation | Application end-to-end response time measurement and decomposition |
6141699, | May 11 1998 | International Business Machines Corporation | Interactive display system for sequential retrieval and display of a plurality of interrelated data sets |
6151688, | Feb 14 1998 | RPX Corporation | Resource management in a clustered computer system |
6163775, | Mar 28 1995 | ENFISH, LLC | Method and apparatus configured according to a logical table having cell and attributes containing address segments |
6175832, | May 11 1998 | International Business Machines Corporation | Method, system and program product for establishing a data reporting and display communication over a network |
6177886, | Feb 12 1997 | Trafficmaster PLC | Methods and systems of monitoring traffic flow |
6243396, | Aug 15 1995 | Broadcom Eireann Research Limited | Communications network management system |
6269330, | Oct 07 1997 | Cisco Technology, Inc | Fault location and performance testing of communication networks |
6278694, | Apr 16 1999 | Computer Associates Think, Inc | Collecting and reporting monitoring data from remote network probes |
6278966, | Jun 18 1998 | Adobe Systems Incorporated | Method and system for emulating web site traffic to identify web site usage patterns |
6279002, | Jun 25 1997 | International Business Machines Corporation | System and procedure for measuring the performance of applications by means of messages |
6327550, | May 26 1998 | CA, INC | Method and apparatus for system state monitoring using pattern recognition and neural networks |
6349325, | Jun 16 1997 | Ascom Network Testing AB | Prioritized agent-based hierarchy structure for handling performance metrics data in a telecommunication management system |
6356205, | Nov 30 1998 | SABIC INNOVATIVE PLASTICS IP B V | Monitoring, diagnostic, and reporting system and process |
6397359, | Jan 19 1999 | JPMORGAN CHASE BANK, N A , AS SUCCESSOR AGENT | Methods, systems and computer program products for scheduled network performance testing |
6401119, | Sep 18 1998 | ICS INTELLIGENT COMMUNICATION SOFTWARE GMBH | Method and system for monitoring and managing network condition |
6425006, | May 13 1997 | Round Rock Research, LLC | Alert configurator and manager |
6430712, | May 28 1996 | GOOGLE LLC | Method and apparatus for inter-domain alarm correlation |
6449739, | Sep 01 1999 | MICRO FOCUS LLC | Post-deployment monitoring of server performance |
6457143, | Sep 30 1999 | International Business Machines Corporation | System and method for automatic identification of bottlenecks in a network |
6499117, | Jan 14 1999 | NEC Corporation | Network fault information management system in which fault nodes are displayed in tree form |
6510463, | May 26 2000 | CHANNEL IP B V | Service quality monitoring process |
6550024, | Feb 03 2000 | MITEL CLOUD SERVICES, INC | Semantic error diagnostic process for multi-agent systems |
6556659, | Jun 02 1999 | Accenture Global Services Limited | Service level management in a hybrid network architecture |
6587878, | May 12 1999 | International Business Machines Corporation | System, method, and program for measuring performance in a network system |
6701342, | Dec 21 1999 | Viavi Solutions Inc | Method and apparatus for processing quality of service measurement data to assess a degree of compliance of internet services with service level agreements |
6708137, | Jul 16 2001 | COLORADO WSC, LLC | System and method for providing composite variance analysis for network operation |
6732168, | Jul 05 2000 | WSOU Investments, LLC | Method and apparatus for use in specifying and insuring policies for management of computer networks |
6734878, | Apr 28 2000 | Microsoft Technology Licensing, LLC | System and method for implementing a user interface in a client management tool |
6738933, | May 09 2001 | MICRO FOCUS LLC | Root cause analysis of server system performance degradations |
6757543, | Mar 20 2001 | Dynatrace LLC | System and method for wireless data performance monitoring |
6760719, | Sep 24 1999 | GOOGLE LLC | Method and apparatus for high speed parallel accessing and execution of methods across multiple heterogeneous data sources |
6763380, | Jan 07 2000 | JPMORGAN CHASE BANK, N A , AS SUCCESSOR AGENT | Methods, systems and computer program products for tracking network device performance |
6765864, | Jun 29 1999 | Cisco Technology, Inc | Technique for providing dynamic modification of application specific policies in a feedback-based, adaptive data network |
6766278, | Feb 13 2002 | Hon Hai Precision Ind. Co., LTD | System and method for collecting information and monitoring production |
6766368, | May 23 2000 | Verizon Laboratories Inc | System and method for providing an internet-based correlation service |
6779032, | Jul 01 1999 | SNAP INC | Method and system for optimally selecting a Telnet 3270 server in a TCP/IP network |
6792455, | Apr 28 2000 | ServiceNow, Inc | System and method for implementing polling agents in a client management tool |
6792459, | Dec 14 2000 | SNAP INC | Verification of service level agreement contracts in a client server environment |
6801940, | Jan 10 2002 | Network General Technology | Application performance monitoring expert |
6807156, | Nov 07 2000 | TELEFONAKTIEBOLGET LM ERICSSON PUBL | Scalable real-time quality of service monitoring and analysis of service dependent subscriber satisfaction in IP networks |
6832341, | Sep 23 1999 | ServiceNow, Inc | Fault event management using fault monitoring points |
6853619, | Feb 26 1999 | INFOVISTA SAS | System and method for measuring the transfer durations and loss rates in high volume telecommunication networks |
6857020, | Nov 20 2000 | International Business Machines Corporation | Apparatus, system, and method for managing quality-of-service-assured e-business service systems |
6859831, | Oct 06 1999 | Intellectual Ventures I LLC | Method and apparatus for internetworked wireless integrated network sensor (WINS) nodes |
6868094, | Jul 01 1999 | Cisco Technology, Inc. | Method and apparatus for measuring network data packet delay, jitter and loss |
6871324, | May 25 2001 | International Business Machines Corporation | Method and apparatus for efficiently and dynamically updating monitored metrics in a heterogeneous system |
6885302, | Jul 31 2002 | Itron, Inc | Magnetic field sensing for tamper identification |
6889222, | Dec 26 2000 | ALVARIA, INC | Method and an apparatus for providing personalized service |
6892235, | Mar 05 1999 | TREND MICRO INCORPORATED | Method and system for optimally selecting a web firewall in a TCB/IP network |
6901442, | Jan 07 2000 | NetIQ Corporation | Methods, system and computer program products for dynamic filtering of network performance test results |
6904458, | Apr 26 2000 | ZHIGU HOLDINGS LIMITED | System and method for remote management |
6928471, | May 07 2001 | QUEST SOFTWARE INC F K A DELL SOFTWARE INC ; Aventail LLC | Method and apparatus for measurement, analysis, and optimization of content delivery |
6934745, | Jun 28 2001 | CA, INC | Methods, apparatuses and systems enabling a network services provider to deliver application performance management services |
6941358, | Dec 21 2001 | Musarubra US LLC | Enterprise interface for network analysis reporting |
6944673, | Sep 08 2000 | The Regents of the University of Michigan | Method and system for profiling network flows at a measurement point within a computer network |
6944798, | May 11 2000 | QUEST SOFTWARE INC F K A DELL SOFTWARE INC ; Aventail LLC | Graceful degradation system |
6983321, | Jul 10 2000 | BMC SOFTWARE, INC | System and method of enterprise systems and business impact management |
6996517, | Jun 06 2000 | Microsoft Technology Licensing, LLC | Performance technology infrastructure for modeling the performance of computer systems |
7043549, | Jan 31 2002 | International Business Machines Corporation | Method and system for probing in a network environment |
7047291, | Apr 11 2002 | International Business Machines Corporation | System for correlating events generated by application and component probes when performance problems are identified |
20020004828, | |||
20020073195, | |||
20020087882, | |||
20020097267, | |||
20020161875, | |||
20030018450, | |||
20030061232, | |||
20030093460, | |||
20030120762, | |||
20030145079, | |||
20030145080, | |||
20030167406, | |||
20040015846, | |||
20040064546, | |||
20040078684, | |||
20040205184, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Apr 11 2002 | FEARN, PAUL | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 012844 | /0605 | |
Apr 11 2002 | OLSSON, STIG ARNE | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 012844 | /0605 | |
Apr 11 2002 | VIJAYAN, GEETHA | International Business Machines Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 012844 | /0605 | |
Apr 18 2002 | International Business Machines Corporation | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
May 01 2008 | ASPN: Payor Number Assigned. |
Mar 26 2012 | REM: Maintenance Fee Reminder Mailed. |
Jun 29 2012 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jun 29 2012 | M1554: Surcharge for Late Payment, Large Entity. |
Mar 25 2016 | REM: Maintenance Fee Reminder Mailed. |
Aug 12 2016 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Aug 12 2011 | 4 years fee payment window open |
Feb 12 2012 | 6 months grace period start (w surcharge) |
Aug 12 2012 | patent expiry (for year 4) |
Aug 12 2014 | 2 years to revive unintentionally abandoned end. (for year 4) |
Aug 12 2015 | 8 years fee payment window open |
Feb 12 2016 | 6 months grace period start (w surcharge) |
Aug 12 2016 | patent expiry (for year 8) |
Aug 12 2018 | 2 years to revive unintentionally abandoned end. (for year 8) |
Aug 12 2019 | 12 years fee payment window open |
Feb 12 2020 | 6 months grace period start (w surcharge) |
Aug 12 2020 | patent expiry (for year 12) |
Aug 12 2022 | 2 years to revive unintentionally abandoned end. (for year 12) |