Database sizing and diagnostic utility
First Claim
1. In a computer system, a method for building and sizing database tables comprising:
- obtaining data requirement information;
performing a diagnosis on at least one database table;
obtaining a new size for said at least one database table using a result from said diagnosis and said data requirement information;
building said at least one database table; and
performing maintenance on said at least one database table.
0 Assignments
0 Petitions

Accused Products

Abstract
A system for automated installation and maintenance of databases. One or more embodiments provide a user interface (or wizard) that obtains information from a user regarding aspects of the network environment and application data requirements. Using the information obtained from the user, a sizing process builds a database, or resizes an existing database, to efficiently match the needs of the user. An automated maintenance process self monitors, diagnoses, and fixes database problems, such as by rebuilding table keys and indexes. When the diagnostic cannot fix a problem, appropriate notification takes place. In one embodiment, the user information is processed using sizing formulas to obtain values for building the database. Database scripts and command files are generated which, when executed, build the appropriately configured database. Also, in accordance with the user information, scripts and command files may be generated that will implement a database backup process upon a user-specified schedule.
119 Citations
Managing user-to-user contact with inferred presence information | ||
Patent #
US 8,069,166 B2
Filed 02/27/2006
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
VIRTUALIZATION OF NETWORKING SERVICES | ||
Patent #
US 20090185500A1
Filed 01/21/2009
|
Current Assignee
Extreme Networks Inc.
|
Original Assignee
Aerohive Networks Incorporated
|
System and Method For Configuring Storage Resources For Database Storage | ||
Patent #
US 20090198945A1
Filed 03/19/2008
|
Current Assignee
Dell Products LP
|
Original Assignee
Dell Products LP
|
METHOD AND APPARATUS FOR ENHANCING PERFORMANCE OF DATABASE AND ENVIRONMENT THEREOF | ||
Patent #
US 20090240711A1
Filed 03/20/2008
|
Current Assignee
DBSophic Ltd.
|
Original Assignee
DBSophic Ltd.
|
Structured reporting report data manager | ||
Patent #
US 20060004745A1
Filed 07/21/2005
|
Current Assignee
Agfa Healthcare Corporation
|
Original Assignee
Agfa Corporation
|
Secure end-to-end transport through intermediary nodes | ||
Patent #
US 8,127,342 B2
Filed 09/23/2010
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Provisioning applications for a mobile device | ||
Patent #
US 8,078,158 B2
Filed 06/26/2008
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Provisioning of e-mail settings for a mobile terminal | ||
Patent #
US 8,116,214 B2
Filed 11/30/2005
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile virtual network operator | ||
Patent #
US 8,107,921 B2
Filed 01/11/2008
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Application and network-based long poll request detection and cacheability assessment therefor | ||
Patent #
US 8,166,164 B1
Filed 10/14/2011
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Cache defeat detection and caching of content addressed by identifiers intended to defeat cache | ||
Patent #
US 8,190,701 B2
Filed 11/01/2011
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Method and apparatus for enhancing performance of database and environment thereof | ||
Patent #
US 8,239,369 B2
Filed 03/20/2008
|
Current Assignee
DBSophic Ltd.
|
Original Assignee
DBSophic Ltd.
|
Application and network-based long poll request detection and cacheability assessment therefor | ||
Patent #
US 8,291,076 B2
Filed 03/05/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Social caching for device resource sharing and management | ||
Patent #
US 8,316,098 B2
Filed 04/19/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Distributed management of keep-alive message signaling for mobile network resource conservation and optimization | ||
Patent #
US 8,326,985 B2
Filed 11/01/2011
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
System and method for a mobile device to use physical storage of another device for caching | ||
Patent #
US 8,356,080 B2
Filed 07/20/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Electronic-mail filtering for mobile devices | ||
Patent #
US 8,364,181 B2
Filed 12/10/2007
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Context aware data presentation | ||
Patent #
US 8,412,675 B2
Filed 02/24/2006
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Aligning data transfer to optimize connections established for transmission over a wireless network | ||
Patent #
US 8,417,823 B2
Filed 11/18/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Flexible real-time inbox access | ||
Patent #
US 8,438,633 B1
Filed 12/18/2006
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Publishing data in an information community | ||
Patent #
US 8,468,126 B2
Filed 12/14/2005
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Distributed caching in a wireless network of content delivered for a mobile application over a long-held request | ||
Patent #
US 8,484,314 B2
Filed 10/14/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Provisioning applications for a mobile device | ||
Patent #
US 8,494,510 B2
Filed 12/06/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile network background traffic data management with optimized polling intervals | ||
Patent #
US 8,539,040 B2
Filed 02/28/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Secure end-to-end transport through intermediary nodes | ||
Patent #
US 8,549,587 B2
Filed 02/14/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
System and method for executing commands that are non-native to the native environment of a mobile device | ||
Patent #
US 8,561,086 B2
Filed 05/17/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
System and method for configuring storage resources for database storage | ||
Patent #
US 8,566,560 B2
Filed 03/19/2008
|
Current Assignee
Dell Products LP
|
Original Assignee
Dell Products LP
|
METHOD FOR PROVIDING DATABASE MANAGEMENT AND THE DATABASE MANAGEMENT SERVER THEREOF | ||
Patent #
US 20130304695A1
Filed 03/14/2013
|
Current Assignee
LG CNS Company Limited
|
Original Assignee
LG CNS Company Limited
|
Detecting and preserving state for satisfying application requests in a distributed proxy and cache system | ||
Patent #
US 8,621,075 B2
Filed 04/27/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Cache state management on a mobile device to preserve user experience | ||
Patent #
US 8,635,339 B2
Filed 08/22/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Polling | ||
Patent #
US 8,693,494 B2
Filed 03/31/2008
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Cache defeat detection and caching of content addressed by identifiers intended to defeat cache | ||
Patent #
US 8,700,728 B2
Filed 05/17/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Cross-platform event engine | ||
Patent #
US 8,209,709 B2
Filed 07/05/2010
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Distributed system for cache defeat detection and caching of content addressed by identifiers intended to defeat cache | ||
Patent #
US 8,204,953 B2
Filed 11/01/2011
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Electronic-mail filtering for mobile devices | ||
Patent #
US 8,738,050 B2
Filed 01/07/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile device equipped with mobile network congestion recognition to make intelligent decisions regarding connecting to an operator network | ||
Patent #
US 8,750,123 B1
Filed 07/31/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Maintaining an IP connection in a mobile network | ||
Patent #
US 8,761,756 B2
Filed 09/13/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks International Oy
|
Integrated messaging | ||
Patent #
US 8,774,844 B2
Filed 04/08/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications | ||
Patent #
US 8,775,631 B2
Filed 02/25/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Timing of keep-alive messages used in a system for mobile network resource conservation and optimization | ||
Patent #
US 8,782,222 B2
Filed 09/05/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Application discovery on mobile devices | ||
Patent #
US 8,787,947 B2
Filed 06/18/2008
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Content delivery to a mobile device from a content service | ||
Patent #
US 8,793,305 B2
Filed 12/13/2007
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
System and method of a relay server for managing communications and notification between a mobile device and a web access server | ||
Patent #
US 8,799,410 B2
Filed 04/13/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Maintaining mobile terminal information for secure communications | ||
Patent #
US 8,805,334 B2
Filed 09/05/2008
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Integrated messaging | ||
Patent #
US 8,805,425 B2
Filed 01/28/2009
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile device power management in data synchronization over a mobile network with or without a trigger notification | ||
Patent #
US 8,811,952 B2
Filed 05/05/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Method and system for management of a virtual network connection without heartbeat messages | ||
Patent #
US 8,812,695 B2
Filed 04/03/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
System and method for tracking billing events in a mobile wireless network for a network operator | ||
Patent #
US 8,831,561 B2
Filed 04/28/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
System and method for making requests on behalf of a mobile device based on atomic processes for mobile network traffic relief | ||
Patent #
US 8,832,228 B2
Filed 04/26/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Distributed caching for resource and mobile network traffic management | ||
Patent #
US 8,838,783 B2
Filed 07/05/2011
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Flexible real-time inbox access | ||
Patent #
US 8,839,412 B1
Filed 09/13/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Web-based access to data objects | ||
Patent #
US 8,838,744 B2
Filed 01/28/2009
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile traffic categorization and policy for network use optimization while preserving user experience | ||
Patent #
US 8,843,153 B2
Filed 11/01/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
System for providing policy based content service in a mobile network | ||
Patent #
US 8,849,902 B2
Filed 06/24/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization | ||
Patent #
US 8,861,354 B2
Filed 12/14/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Policy based content service | ||
Patent #
US 8,862,657 B2
Filed 01/25/2008
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
System of redundantly clustered machines to provide failover mechanisms for mobile traffic management and network resource conservation | ||
Patent #
US 8,868,753 B2
Filed 12/06/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Provisioning of e-mail settings for a mobile terminal | ||
Patent #
US 8,873,411 B2
Filed 01/12/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols | ||
Patent #
US 8,874,761 B2
Filed 03/15/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile application traffic optimization | ||
Patent #
US 8,886,176 B2
Filed 07/22/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Optimization of resource polling intervals to satisfy mobile device requests | ||
Patent #
US 8,903,954 B2
Filed 11/22/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile virtual network operator | ||
Patent #
US 8,909,192 B2
Filed 08/11/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Bandwidth measurement | ||
Patent #
US 8,909,759 B2
Filed 10/12/2009
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Detection and management of user interactions with foreground applications on a mobile device in distributed caching | ||
Patent #
US 8,909,202 B2
Filed 01/07/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
System and method for providing a network service in a distributed fashion to a mobile device | ||
Patent #
US 8,914,002 B2
Filed 08/11/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Optimization of mobile traffic directed to private networks and operator configurability thereof | ||
Patent #
US 8,918,503 B2
Filed 08/28/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Method and apparatus for intercepting events in a communication system | ||
Patent #
US RE45,348 E1
Filed 03/16/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Application and network-based long poll request detection and cacheability assessment therefor | ||
Patent #
US 8,966,066 B2
Filed 10/12/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Mobile device and method to utilize the failover mechanism for fault tolerance provided for mobile traffic management and network/device resource conservation | ||
Patent #
US 8,977,755 B2
Filed 12/06/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Monitoring mobile application activities for malicious traffic on a mobile device | ||
Patent #
US 8,984,581 B2
Filed 07/11/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Connection architecture for a mobile network | ||
Patent #
US 8,989,728 B2
Filed 09/07/2006
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Predictive content delivery | ||
Patent #
US 9,002,828 B2
Filed 01/02/2009
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Flexible and dynamic integration schemas of a traffic management system with various network operators for network traffic alleviation | ||
Patent #
US 9,009,250 B2
Filed 12/07/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Mobile network reporting and usage analytics system and method aggregated using a distributed traffic optimization system | ||
Patent #
US 9,021,021 B2
Filed 12/10/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
3D mobile user interface with configurable workspace management | ||
Patent #
US 9,043,731 B2
Filed 03/30/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile network traffic coordination across multiple applications | ||
Patent #
US 9,043,433 B2
Filed 05/25/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Intelligent rendering of information in a limited display environment | ||
Patent #
US 9,047,142 B2
Filed 12/16/2010
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile network traffic coordination across multiple applications | ||
Patent #
US 9,049,179 B2
Filed 01/20/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Location-based operations and messaging | ||
Patent #
US 9,055,102 B2
Filed 08/02/2010
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic | ||
Patent #
US 9,060,032 B2
Filed 05/09/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network | ||
Patent #
US 9,065,765 B2
Filed 10/08/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks Inc
|
Distributed implementation of dynamic wireless traffic policy | ||
Patent #
US 9,077,630 B2
Filed 07/08/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Device resources sharing for network resource conservation | ||
Patent #
US 9,084,105 B2
Filed 04/19/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Mobile network background traffic data management | ||
Patent #
US 9,100,873 B2
Filed 09/14/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Managing cache to prevent overloading of a wireless network due to user activity | ||
Patent #
US 9,131,397 B2
Filed 06/06/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion | ||
Patent #
US 9,161,258 B2
Filed 03/15/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol | ||
Patent #
US 9,173,128 B2
Filed 03/06/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Dynamic categorization of applications for network access in a mobile network | ||
Patent #
US 9,203,864 B2
Filed 02/04/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Mobile device having content caching mechanisms integrated with a network operator for traffic alleviation in a wireless network and methods therefor | ||
Patent #
US 9,208,123 B2
Filed 12/07/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Mobile device with application or context aware fast dormancy | ||
Patent #
US 9,241,314 B2
Filed 03/15/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Automatic generation and distribution of policy information regarding malicious mobile traffic in a wireless network | ||
Patent #
US 9,239,800 B2
Filed 07/11/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Extending user relationships | ||
Patent #
US 9,251,193 B2
Filed 10/28/2007
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Application or context aware fast dormancy | ||
Patent #
US 9,271,238 B2
Filed 03/15/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Request and response characteristics based adaptation of distributed caching in a mobile network | ||
Patent #
US 9,275,163 B2
Filed 10/17/2011
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol | ||
Patent #
US 9,277,443 B2
Filed 12/07/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
System and method for a mobile device to use physical storage of another device for caching | ||
Patent #
US 9,300,719 B2
Filed 01/14/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks Inc
|
Systems and methods for application management of mobile device radio state promotion and demotion | ||
Patent #
US 9,307,493 B2
Filed 03/15/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
System and method for reduction of mobile network traffic used for domain name system (DNS) queries | ||
Patent #
US 9,325,662 B2
Filed 01/09/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
User as an end point for profiling and optimizing the delivery of content and data in a wireless network | ||
Patent #
US 9,326,189 B2
Filed 02/04/2013
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Wireless traffic management system cache optimization using http headers | ||
Patent #
US 9,330,196 B2
Filed 06/14/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Mobile application traffic optimization | ||
Patent #
US 9,407,713 B2
Filed 01/16/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Virtualization of networking services | ||
Patent #
US 9,503,354 B2
Filed 01/21/2009
|
Current Assignee
Extreme Networks Inc.
|
Original Assignee
Aerohive Networks Incorporated
|
VIRTUALIZATION OF NETWORKING SERVICES | ||
Patent #
US 20170063623A1
Filed 11/11/2016
|
Current Assignee
Extreme Networks Inc.
|
Original Assignee
Aerohive Networks Incorporated
|
Mobile device configured for communicating with another mobile device associated with an associated user | ||
Patent #
US 9,712,986 B2
Filed 03/22/2012
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Virtualization of networking services | ||
Patent #
US 9,762,442 B2
Filed 11/11/2016
|
Current Assignee
Extreme Networks Inc.
|
Original Assignee
Aerohive Networks Incorporated
|
Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic | ||
Patent #
US 9,832,095 B2
Filed 12/14/2012
|
Current Assignee
Seven Networks LLC
|
Original Assignee
Seven Networks LLC
|
Enhanced customer service for mobile carriers using real-time and historical mobile application and traffic or optimization data associated with mobile devices in a mobile network | ||
Patent #
US 10,263,899 B2
Filed 04/10/2013
|
Current Assignee
Seven Networks Inc
|
Original Assignee
Seven Networks LLC
|
Enabling tenant administrators to initiate request driven peak-hour builds to override off-peak patching schedules | ||
Patent #
US 10,585,659 B2
Filed 03/29/2018
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Technology Licensing LLC
|
Enhanced server farm patching system for enabling developers to override off-peak patching schedules | ||
Patent #
US 10,678,533 B2
Filed 05/10/2019
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Technology Licensing LLC
|
Method and mechanism for extending native optimization in a database system | ||
Patent #
US 6,738,782 B2
Filed 03/11/2002
|
Current Assignee
Oracle International Corporation
|
Original Assignee
Oracle International Corporation
|
Method and apparatus for implementing a service-level agreement | ||
Patent #
US 7,058,704 B1
Filed 11/30/1999
|
Current Assignee
Network Appliance Incorporated
|
Original Assignee
Network Appliance Incorporated
|
Systems and methods for monitoring distributed applications using diagnostic information | ||
Patent #
US 6,714,976 B1
Filed 08/03/1999
|
Current Assignee
Google LLC
|
Original Assignee
Concord Communications Incorporated
|
Storage management system with file aggregation supporting multiple aggregated file counterparts | ||
Patent #
US 6,041,334 A
Filed 04/13/1999
|
Current Assignee
International Business Machines Corporation
|
Original Assignee
International Business Machines Corporation
|
Methods and apparatus for selectively reproducing segments of broadcast programming | ||
Patent #
US 6,088,455 A
Filed 01/07/1997
|
Current Assignee
TiVo Solutions Inc.
|
Original Assignee
Gotuit Media Corporation
|
Streaming media delivery on multicast networks for network and server bandwidth minimization and enhanced personalization | ||
Patent #
US 20030236843A1
Filed 06/21/2002
|
Current Assignee
Thomson Licensing
|
Original Assignee
Thomson Licensing
|
Method and use of point-of sale terminal, which receives, transmits, stores, authorizes, reconciles, and calculates transactions electronically | ||
Patent #
US 20020194084A1
Filed 05/30/2002
|
Current Assignee
Patent Imaging Corporation
|
Original Assignee
Anita Surles
|
Query optimization through the use of multi-column statistics to avoid the problems of non-indexed column correlation | ||
Patent #
US 6,272,487 B1
Filed 03/26/1999
|
Current Assignee
Google LLC
|
Original Assignee
International Business Machines Corporation
|
Multiple CD index and loading system and method | ||
Patent #
US 6,023,705 A
Filed 08/14/1996
|
Current Assignee
Wells Fargo Bank NA
|
Original Assignee
Wachovia Corporation
|
Method and system for automatically resizing tables | ||
Patent #
US 5,588,099 A
Filed 09/01/1994
|
Current Assignee
Microsoft Technology Licensing LLC
|
Original Assignee
Microsoft Corporation
|
20 Claims
-
1. In a computer system, a method for building and sizing database tables comprising:
-
obtaining data requirement information;
performing a diagnosis on at least one database table;
obtaining a new size for said at least one database table using a result from said diagnosis and said data requirement information;
building said at least one database table; and
performing maintenance on said at least one database table. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
1 Specification
This application claims the benefit of U.S. Utility patent application Ser. No. 10/648,051 filed on Aug. 26, 2003 entitled “Sizing and Diagnostic Utility” which in turn is a continuation of U.S. Utility patent application Ser. No. 09/513,654 filed Feb. 25, 2000 entitled “Sizing and Diagnostic Utility,” which in turn claims priority of Provisional Patent Application No. ______ filed Feb. 26, 1999 entitled “Sizing and Diagnostic Utility” the specifications of which are herein incorporated in their totality by reference.
Portions of the disclosure of this patent document contain material that 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 file on record, but otherwise reserves all copyright rights whatsoever.
1. Field of Invention
This invention relates to the field of databases.
2. Background Art
Installing and maintaining a database is a complex and time consuming task. Typically, a specially trained and/or certified person or team is required for installing and setting up a database. Maintaining the database during operation often requires that a service team be contacted to provide support.
Another problem associated with databases is that the database and the application using the database are often independently designed and configured, leading to fragmentation and decreased performance. Further, over time, the data residing in the database changes, as well as the relationships between the data. This too causes fragmentation, even in databases that may have been well-configured initially to suit the original data needs of the user.
Some databases, such as the Oracle™ database, are organized into “tablespaces.” Tablespaces are physical allocations of space that hold related objects such as tables or indexes. Tables and indexes are created in specific tablespaces. These tables and indexes are created with an initial allocation within a tablespace, which is referred to as an “extent.” If a table or index runs out of space in the initial extent, a further pre-defined extent may be allocated. New extents are often allocated from contiguous free space within a tablespace. As a tablespace becomes fragmented, the tablespace'"'"'s free space can be left in such small blocks that the free space is virtually unusable. Also, when tables or indexes have too many extents, the database'"'"'s performance degrades. Multiple extents require more physical I/O operations to accomplish a query.
A database solution is desired that minimizes the need for specially trained personnel for configuring and maintaining a database, and addresses the problems associated with database fragmentation, both initially and over time.
The invention is a system for automated installation and maintenance of databases. One or more embodiments provide a user interface (or wizard) that obtains information from a user regarding aspects of the network environment and application data requirements. Using the information obtained from the user, a sizing process builds a database, or resizes an existing database, to efficiently match the needs of the user. An automated maintenance process self monitors, diagnoses, and fixes database problems, such as by rebuilding table keys and indexes. When the diagnostic cannot fix a problem, appropriate notification takes place.
In one embodiment, the user information is processed using sizing formulas to obtain values for building the database. Database scripts and command files are generated which, when executed, build the appropriately configured database. Also, in accordance with the user information, scripts and command files may be generated that will implement a database backup process upon a user-specified schedule.
In the following description, numerous specific details are set forth to provide a more thorough description of embodiments of the invention. It will be apparent, however, to one skilled in the art, that the invention may be practiced without these specific details. In other instances, well known features have not been described in detail so as not to obscure the invention.
An embodiment of the invention can be implemented as computer software in the form of computer readable program code executed on a general-purpose computer such as computer 100 illustrated in
Computer 100 includes a video memory 114, main memory 115 and mass storage 112, all coupled to bi-directional system bus 118 along with keyboard 110, mouse 111 and CPU 113. The mass storage 112 may include both fixed and removable media, such as magnetic, optical or magnetic optical storage systems or any other available mass storage technology. Bus 118 may contain, for example, thirty-two address lines for addressing video memory 114 or main memory 115. The system bus 118 also includes, for example, a 32-bit data bus for transferring data between and among the components, such as CPU 113, main memory 115, video memory 114 and mass storage 112. Alternatively, multiplex data/address lines may be used instead of separate data and address lines.
In one embodiment of the invention, the CPU 113 is a microprocessor manufactured by Motorola, such as the 680×0 processor or a microprocessor manufactured by Intel, such as the 80×86, or Pentium processor, or a SPARC microprocessor from Sun Microsystems. However, any other suitable microprocessor or microcomputer may be utilized. Main memory 115 is comprised of dynamic random access memory (DRAM). Video memory 114 is a dual-ported video random access memory. One port of the video memory 114 is coupled to video amplifier 116. The video amplifier 116 is used to drive the cathode ray tube (CRT) raster monitor 117. Video amplifier 116 is well known in the art and may be implemented by any suitable apparatus. This circuitry converts pixel data stored in video memory 114 to a raster signal suitable for use by monitor 117. Monitor 117 is a type of monitor suitable for displaying graphic images.
Computer 100 may also include a communication interface 120 coupled to bus 118. Communication interface 120 provides a two-way data communication coupling via a network link 121 to a local network 122. For example, if communication interface 120 is an integrated services digital network (ISDN) card or a modem, communication interface 120 provides a data communication connection to the corresponding type of telephone line, which comprises part of network link 121. If communication interface 120 is a local area network (LAN) card, communication interface 120 provides a data communication connection via network link 121 to a compatible LAN. Wireless links are also possible. In any such implementation, communication interface 120 sends and receives electrical, electromagnetic or optical signals which carry digital data streams representing various types of information.
Network link 121 typically provides data communication through one or more networks to other data devices. For example, network link 121 may provide a connection through local network 122 to host computer 123 or to data equipment operated by an Internet Service Provider (ISP) 124. ISP 124 in turn provides data communication services through the world wide packet data communication network now commonly referred to as the “Internet” 125. Local network 122 and Internet 125 both use electrical, electromagnetic or optical signals which carry digital data streams. The signals through the various networks and the signals on network link 121 and through communication interface 120, which carry the digital data to and from computer 100, are exemplary forms of carrier waves transporting the information.
Computer 100 can send messages and receive data, including program code, through the network(s), network link 121, and communication interface 120. In the Internet example, server 126 might transmit a requested code for an application program through Internet 125, ISP 124, local network 122 and communication interface 120.
The received code may be executed by CPU 113 as it is received, and/or stored in mass storage 112, or other non-volatile storage for later execution. In this manner, computer 100 may obtain application code in the form of a carrier wave.
The computer systems described above are for purposes of example only. An embodiment of the invention may be implemented in any type of computer system or programming or processing environment.
Embodiments of the invention are directed at building and maintaining a database in which the sizing allocations conform to the needs of the user application that is using the database. The initial configuration of the database is performed based on user-provided information about the networking environment and assumptions about the application needs of the user. The user assumptions may become less accurate over time, in which case, an embodiment of the invention may be used to obtain new assumptions from the user regarding application needs. Those new assumptions are then used to resize the database.
As an example, an Oracle database may be used to implement a payroll system application. In such a case, user information is obtained in the form of assumptions about the projected number of employees in the company, the number and types of payroll items that apply to the average employee, etc. The database sizing and diagnostic utility is configured with formulas for converting those payroll assumptions into table parameters that are then used to size the database.
An embodiment of the invention is illustrated in
In one embodiment, GUI 202 presents a sequence of panels for receiving user input. It will be obvious, however, that the invention is not limited to those GUI mechanisms, and that any form of user interface may be employed (e.g., an audio interface). GUI 202 is used to ask questions of the user and to obtain user information in return. The user information comprises information about the networking environment, assumptions about the application-specific needs of the user, and user preferences for database backup operations.
The index/table sizing formulas 203 are used to transform the user information into database sizing parameters that are incorporated into database scripts and command files 205 for building and sizing (or resizing) the database 207. Backup scripts and command files 206 are generated by database building and sizing process 201 from the user-specified backup preferences.
Database maintenance/diagnostic process 204 executes on a periodic basis to evaluate the performance of the database (though a user may also manually prompt the database maintenance/diagnostic process 204 to execute). Entries made to a logfile may serve as an indicator to a user that it may be appropriate to resize the database 207. Problems with tables and indexes which are identified by the database maintenance/diagnostic process 204 are automatically fixed when possible.
Database Building/Sizing Process
The database building and sizing process 203 is used by the user to optionally install and configure the database engine on their network server, and to build a pre-sized database for a given database application. The advantage of presizing the database correctly is a reduction in tablespace fragmentation and increased performance. Presizing the database, along with the automated database maintenance/diagnostic process 204, permit a user to install a database application without requiring an on-site certified database specialist to manage the database.
Step 301 is subdivided into component steps 301A-301B. In step 301A, the user information obtained includes information regarding the user'"'"'s network environment (number of users and amount of RAM, for instance). In step 301B, process 201 obtains information from the user regarding how many drives the user wants the database to span. In step 301C, the user information obtained concerns the data requirements of the database application, e.g., for a payroll application, the user'"'"'s payroll data requirements (number of employees, number of company codes, and amount of history to keep online, for instance). In step 301D, GUI 202 obtains the user'"'"'s preferences for database backup operations, including the backup mode (if more than one mode is available) and the backup schedule.
In step 302, the database building/sizing process 201 generates a series of instructions, for example SQL scripts and Windows NT command files, in accordance with the user information obtained in step 301. Specifically, in step 302A, instructions are generated to physically create a database that will sufficiently house the user'"'"'s data, and that will be optimized and tuned to perform as well as possible, e.g., based on the network environment information and other user information. In step 302B, instructions are generated to implement the specified periodic backup operation. In step 303, database building/sizing process 201 executes the command files to physically build the database.
In one embodiment of the invention, database building/sizing process 201 and its constituent GUI 202 are implemented as a “wizard” application. The user is presented with a sequence of panels from which the user information of step 301 is obtained. One possible implementation of such a wizard application is described in Appendix A, with corresponding pseudo-code, under the heading “dbsizer.exe: Oracle Sizing Wizard.” A database utility program for performing certain database procedures with command line parameters is described in Appendix A under the heading of “brunner.exe: Database Utility Program,” with accompanying pseudo-code and source code.
Database Maintenance/Diagnostic Process
The database maintenance/diagnostic process 204 is an unattended database diagnostic and auto-maintenance utility used by the user to perform the following database procedures:
1. check the database for tablespace fragmentation
2. check the tablespaces for available free space
3. check the hard drives for available free space
4. fix any problems that can be fixed automatically without risk
The database maintenance/diagnostic process 204 is scheduled to run at intervals, e.g., once per week, and terminates automatically upon completion. Process messages and errors are written to a logfile for user reference.
The general flow of the maintenance/diagnostic process is illustrated in
Step 509, comprising steps 509A-509B, is performed for each hard drive upon which the database is spread. In step 509A, the free space of the hard drive is compared with a minimum space threshold value needed to support the database. If the free space available does not meet the minimum space threshold value, a warning message is written to the logfile in step 509B.
In step 514, the table data is exported to an export file and, in step 515, the table is dropped. In step 516, the table data in the export file is imported back in. In steps 517 and 518, respectively, the primary key and foreign key rebuild scripts are run to fix the table. In step 519, if the current table is not the last table on the list, the next table is selected and the process continues at step 512; otherwise, the process continues in step 404 of
One possible implementation of database maintenance/diagnostic process 204 is described in Appendix A, with corresponding pseudo-code and source code, under the heading “hwb.exe: Health and Well-Being Utility.”
Thus, a database sizing and diagnostic utility has been described in conjunction with one or more embodiments. The invention is defined by the claims and their full scope of equivalents.
Chapter 1
dbsizer.exe
Oracle Sizing Wizard
Overview
The dbsizer utility is used by the client to (optionally) install and configure the Oracle Database engine on their Network Server, and to build a pre-sized ADP PC/Payroll for Windows database. The advantage of pre-sizing the database correctly is a reduction in tablespace fragmentation and increased performance. This process of pre-sizing the database along with the Health-and-Well Being utility (hwb.exe) allows ADP to install an Oracle based application without requiring an Oracle DBA on-site to manage the database.
Process Overview
The Oracle Sizing Wizard (‘the wizard’) collects information from the user regarding their network environment (# users, amount of RAM, etc), their payroll data requirements (# of employees, # of company codes, amount of history to keep online, etc) and generates a series of SQL scripts and NT command files to physically create a database that will sufficiently house the client'"'"'s data and perform as well as possible. The steps break down as follows;
- 1. Install and Configure Oracle on the client'"'"'s Server (if requested, this is an optional step).
- 2. Gather information about the user'"'"'s network environment.
- 3. Determine how many drives the user want to spread the Oracle database over (the more the better).
- 4. Gather information about the client'"'"'s company and their payroll data requirements.
- 5. Ask the user which backup method they would like to use to backup their PCPW database (The wizard can install three different types of automated backups, as well as support a custom one supplied by the client)
- 6. Ask the user when they would like the backup to take place (schedule)
- 7. Build the scripts and command files to build the database sized according to the user'"'"'s input, and build script and command files to implement the backup method chosen by the user.
- 8. Execute the command files to physically build the database,
Architectural Overview
The wizard is a Visual Basic 5.0 application that looks like a standard wizard. It appears to be one window that asks a series of questions and performs a task at the end when all necessary information has been gathered. It can be thought of as a ‘interview-style’ application.
Technically, each panel is a separate window and as the user presses the Back or Next button, to display the previous or next panel, the application hides the current window and displays the next one.
Control information is stored in an Access97 format database named default.mdb There are a number of tables in this database that are used by the wizard.
Pseduo-Code
Command Line Parameters
The following command line parameters are recognized by the brunner utility
/D
Runs dbsizer in development mode. Development mode allows the user to modify the sizing formulas for tables and indexes as well as the Oracle engine parameters that are written to the INITPCPW.ORA file. In addition, the user is allowed to load and save multiple configuration files. (Note: When running in regular mode, only the configuration file default.mdb will be used.)
/DEBUG
Runs dbsizer in debug mode. Normally as the Oracle utilities are executed, the command window which executes them is hidden from the user completely, including the task bar. If you run the wizard in debug mode, the command windows will only be minimized instead of hidden giving you the ability to see the command lines and any output from the utilities being executed.
NT Server—Registry Entries
When the Oracle sizing wizard is run by the client to create their database, a number of entries are written to the NT Server'"'"'s system registry. The following entries are created by dbsizer during database creation.
The Age key controls how long messages are kept in the brunner.log file. This value is set during install and there is no method for changing this value with the exception of using the regedit program supplied as part of the NT Server Operating System.
The Number key controls how many extents are required before HWB will attempt to automatically fix the table or index.
The last three are used by HWB to control whether or not Tables and/or Performance statistics are checked during execution. By default, tables are checked, performance is not. The Note of the Day entry determines whether or not HWB will report fatal errors back to the user via the T_NOTE_OF_THE_DAY table.
These keys represent the user id'"'"'s and passwords which can be part of a template (.brt file. In order to use one of the user id/password combinations, the user id must be surrounded by %'"'"'s in the .brt file. For example, to use the SrvMgr23 utility to run a SQL file named dothis.sql and use the INTERNAL id and password, the following line would be in the dothis.brt file.
At run time, brunner will retrieve the value for the INTERNAL key from the registry, decode the key value and write the following to the tempn.sql file in the c:\temp folder
These settings let the Wizard, BRunner and HWB know where to find other files that they may need during execution
Chapter 1
brunner.exe
Database Utility Program
Overview
The brunner utility is used by the client to perform the following database procedures
- 1. Manually bring the database up in normal or restricted mode
- 2. Manually shut the database down
- 3. Manually perform the database backup as established by the sizing wizard during database creation.
- 4. Manually reschedule the automated backup process as established by the sizing wizard during database creation.
The brunner utility is also used to perform some of these functions during the database creation process. In this mode, brunner is executed with command line parameters so that user intervention is not required. (See the dbsizer.exe detailed design spec, dbsizer.doc, for more information on the usage of brunner during database creation)
In general, regardless of which task brunner is performing the process is as follows;
- 1. check to see if the database is up or down.
- 2. if the function is passed on the command line, perform it . . . if not, display a menu of available functions based upon the current state of the database and let the user select which function to perform.
- 3. create a command file to perform the requested function (if SQL based, create the SQL file to perform the function and a command file to execute the SQL using the SrvMgr23 utility supplied by Oracle)
- 4. delete the command file and the SQL file
- 5. exit
Some of the functions use pre-defined command file templates called .BRT files. These files are identical to the command files or SQL files that will be used to perform the various brunner functions, however they require that an Oracle password be supplied on the command line to the Oracle utility that is being executed. In order to hide the password, placeholders are used in the .BRT files and brunner will perform the following steps when executing a secure batch file.
- 1. open the batch template file (.brt)
- 2. create a temporary batch file (tempn.cmd) in the c:\temp folder
- 3. read each line from the template file
- 4. if the line contains a password placeholder, lookup the password in the system registry, decode it and place it in the temporary file, otherwise write the line as is to the temporary file.
- 5. execute the temporary file
- 6. delete the temporary file
- 7. exit
During execution, brunner maintains a log file which contains information about each run. Dates and times are written to the log along with the function which was requested and any errors that occurred during execution.
At any given time, the log file contains entries for the past 90 days. Log entries older than 90 days are rolled off the log. The number of days (90 is the default) worth of messages kept in the log file can be altered by changing an entry in the system registry. See the section on Registry entries for more information.
Psedo-Code
Following is pseudo-code for the bunner utility program.
Command Line Parameters
The following command line parameters are recognized by the brunner utility
/BACKUP
causes brunner to execute the backup.brt file to perform the backup procedure
/BACKUPSTOP
same as /BACKUP, except it causes brunner to update database statistics (by running doperf.sql) before performing the backup.
/MSG: msgText
displays a dialog box with the text, msgText.
/RESTRICT
starts the database in restricted mode
/SCHEDULE
schedules the automated backup using NT'"'"'s AT scheduler service. (runs the schdback.cmd command file.)
/START
starts the database in normal mode
/STOP
stops the database using the immediate mode
NT Server—Registry Entries
When the Oracle sizing wizard is run by the client to create their database, a number of entries are written to the NT Server'"'"'s system registry. The following entries are used by the brunner utility during execution
This key controls how long messages are kept in the brunner.log file. This value is set during install and there is no method for changing this value with the exception of using the regedit program supplied as part of the NT Server Operating System.
These keys represent the user id'"'"'s and passwords which can be part of a template (.brt) file. In order to use one of the user id/password combinations, the user id must be surrounded by %'"'"'s in the .brt file. For example, to use the SrvMgr23 utility to run a SQL file named dothis.sql and use the INTERNAL id and password, the following line would be in the dothis.brt file.
At run time, brunner will retrieve the value for the INTERNAL key from the registry, decode the key value and write the following to the tempn.sql file in the c:\temp folder
These settings let brunner know where to find other files that it may need during execution
Chapter 1
hwb.exe
Health & Well-Being utility
Overview
The hwb utility is an unattended database diagnostic and auto-maintenance utility used by the client to perform the following database procedures
- 1. check the database for tablespace fragmentation
- 1. check the tablespaces for available free space
- 1. check the hard drives for available free space
- 1. fix any problems that can be fixed automatically without risk
There is no user intervention required during the execution of hwb. All process messages and errors are written to a log file named hwb.log. The user is instructed to check this log each morning following a scheduled run of hwb. By default, hwb is scheduled to run once a week, on Sunday mornings at 11:00 am. During the running of the Oracle sizing wizard (dbsizer) the user has the option to override this schedule.
Hwb'"'"'s dialog box displays all the steps that it will perform during it'"'"'s run. As each step is completed, a check mark will appear to the left of the step to signify it'"'"'s completion. When all steps are complete, hwb will terminate automatically.
Psedo-Code
Following is pseudo-code for the hwb utility program.
Command Line Parameters
The following command line parameters are recognized by the hwb utility
/DEBUG
causes hwb to execute in debug mode. By default, hwb cleans up after itself deleting all temporary scripts and output files. When debugging, it is useful to look at these files so you can determine exactly what happened. CAUTION: this is extremely sensitive since SQL files and command files that contain the database password will be left on the hard drive in the \admin folder. Do not do this at a client site unless absolutely necessary, then when complete, re-run the hwb utility WITHOUT the /debug flag to clean up the admin folder sufficiently!
NT Server—Registry Entries
When the Oracle sizing wizard is run by the client to create their database, a number of entries are written to the NT Server'"'"'s system registry. The following entries are used by the hwb utility during execution
These keys represent the user id'"'"'s and passwords which can be part of a template (.brt) file. In order to use one of the user id/password combinations, the user id must be surrounded by %'"'"'s in the .brt file. For example, to use the SrvMgr23 utility to run a SQL file named dothis.sql and use the INTERNAL id and password, the following line would be in the dothis.brt file.
At run time, hwb will retrieve the value for the INTERNAL key from the registry, decode the key value and write the following to the tempn.sql file in the c:\temp folder
These settings let hwb know where to find other files that it may need during execution
This settings tells hwb how many extents are acceptable. In this case, any tablespaces with more than 1 extent will be fixed.
These settings control some of the features of hwb. Tables tell hwb whether or not to check tablespaces during the database performance step. A 1 means Yes, a 0 means No. Performance tells hwb whether or not to check database engine performance criteria during the database performance step. Use Note of the Day. If “True” then fatal errors will generate a Note of the Day table entry. If “False” then fatal errors will only be logged to the hwb.log file. This is for client'"'"'s who want to use the NT event log to monitor fatal errors. There is no way within the current version for hwb to write directly to the NT event log, but a client could write a program to analyze the hwb.log file and generate event entries. This is a good candidate for a PWR.