`
`
`(19) United States
`
`
`
`
`
`
`
`
`(12) Patent Application Publication (10) Pub. No.: US 2006/0078092 A1
`
`
`
`
`
`
`
`
`(43) Pub. Date:
`Apr. 13, 2006
`Amidi
`
`US 20060078092A1
`
`
`
`
`(54) SYSTEM AND METHOD FOR PROVIDING A
`
`
`
`
`
`
`BACKUP-RESTORE SOLUTION FOR
`
`
`
`ACTIVE-STANDBY SERVICE
`
`lVIANAGEMENT SYSTEMS
`
`
`
`
`
`(75)
`
`
`
`
`
`
`
`Inventor: Erfan Amidi, Brookfield, WI (US)
`
`
`
`
`
`Correspondence Address:
`BRINKS HOFER GILSON & LIONE
`
`
`p_0_ BOX 10395
`
`
`
`CHICAGO, IL 60610 (US)
`
`
`
`
`
`
`
`
`
`
`
`
`(73) Assignee: SBC Knowledge Ventures, L.P.
`
`
`
`(21) Appl. No;
`
`
`
`
`
`10/961502
`
`
`
`(22) Filed:
`
`
`
`
`Oct. 8, 2004
`
`
`
`
`Prov is ioners _
`
`
`
`Publication Classification
`
`
`
`
`(51)
`
`
`
`
`
`Int- Cl-
`
`
`H041” 3/08
`(2006.01)
`
`
`
`H0411! 3/22
`(2006.01)
`
`
`
`
`(52) US. Cl.
`........ 379/9.05; 379/14
`
`
`
`
`
`ABSTRACT
`(57)
`
`
`The preferred embodiments described herein include a sys—
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`tem and method for providing a backup-restore solution for
`
`
`
`
`
`
`active-standby service management systems. In one embodi-
`
`
`
`
`
`
`ment, a telecommunication system is disclosed having first
`
`
`
`
`
`
`
`and second service management systems (SMS), a storage
`device shared by the first and second SMSs and circuitry
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`operative to provide backup/restore functionality. This pro-
`
`
`
`
`
`
`
`
`
`vides system redundancy in that
`the second SMS can
`perform the same functions as the first SMS in the event that
`
`
`
`
`
`
`
`
`
`
`the first SMS is unavailable due to, for example, system
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`failures, a scheduled maintenance, or an upgrade process.
`Other embodiments are provided, and each of the embodi—
`
`
`
`
`
`
`
`ments described herein can be used alone or in combination
`
`
`
`
`
`
`
`With one another.
`
`
`
`
`
`
`
`
`
`
`
`Provisioners enter
`
`services components
`
`
`and features
`
`
`
`
`
`
`
`Customer
`requests
`
`services and
`
`features
`
`
`
`
`Customer
`
`
`
`.
`
`Customers
`
`
`
`
`
` Customer or
`
`
`
`Page 1 of 12
`
`GOOGLE EXHIBIT 1025
`
`AIN Platform w
`
`
`
`
`
`its customers
`
`
`
`
`AIN platform
`
`provides
`services and
`
`features
`
`
`Page 1 of 12
`
`GOOGLE EXHIBIT 1025
`
`
`
`te
`
`
`
`1ESEszo
`
`023,1r.
`
`
`
`
`
`m0S:3mBEEMeoEoumsu
`
`
`
`00070m6002m
`
`
`1
`
`
`5$235
`
`new8233.
`
`355$
`
`m\m\\\V\\9‘
`
`
`
`m.pAtnmaP
`
`
`.na
`
`
`
`pA
`
`
`
`.mI
`
`pm.$8830.35$022255M88830.
`
`35:09:00mooEom.m_353$m.Es322$853$canw.33:9:
`
`
`
`
`
`
`
`
`-30:22.35
`
`
`
`
`
`
`
`
`
`Page 2 of 12
`
`Page 2 of 12
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Apr. 13, 2006 Sheet 2 0f 5
`
`
`
`US 2006/0078092 A1
`
`
`
`1 Provisioning
` .
`
`___________
`/
`
`/
`
`
`
`
`
`; SMS 2;
`
`av :vrv' ka/a /
`
`
`
`ll/o
`
`’\
`
`
`Active
`
`
`
`
`
`Page 3 of 12
`
`Page 3 of 12
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Apr. 13, 2006 Sheet 3 0f 5
`
`US 2006/0078092 A1
`
`
`
`88353%:
`
`
`
`L.\«va‘kh
`
`t‘fihhn\\\q&&Km
`
`VHQMQFAV
`
`\m.\
`
`
`
`L.tiwfikWU
`
`883E9%<
`
`WyaQQ0..u3\nkW.
`
`At\§x\Q
`
`
`
`wxrfihuq
`
`33whom0H.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 4 of 12
`
`MGEOETSHAH
`
`xfiufiw3?
`
`,J‘
`
`qoflmofimom
`
`uoiwm,
`
`Page 4 of 12
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Apr. 13, 2006 Sheet 4 0f 5
`
`
`
`US 2006/0078092 A1
`
`
`
`
`
`
`
`
`
`
`NightlyDiskka.ksh
`
`
`starts automatically at
`
`
`
`
`12:45AM on active
`
`
`SMS
`
`
`
`
`
`Database backups older than 4 days
`
`
`
`
`
`
`
`
`
`
`are removed from the shared disk
`storage
`
`
`
`
`
`
`dbdump.ksh is initiated for all
`
`
`
`databases
`
`
`
`
`
`
`
`A list of all databases on active SMS
`except tempdb is created in memo
`
`
`
`
`
`
`
`
`
`First database in the list is dumped
`
`
`
`
`to disk
`
`
`
`
`
`
`
`
`
`
`
`
`successful ?
`
`
`No
`
`
`‘IJV
`
`/
`Issue an IPR to
`
`
`
`
`indicate failure
`
`
`
`
`
`
`
`
`£135
`
`/
`
`Next database in the list is dumped
`
`
`
`
`to disk
`
`
`
`
`
`
`Fj‘KV/(r
`
`[7
`
`
`
`Page 5 of 12
`
`[70)
`
`7/0
`
`
`
`
`17/}
`
`1/20
`
`
`
`1/70
`
`
`
`Issue an IPR to
`
`
`indicate success
`
`
`
`W;
`
`
`
`Yes
`
`
`
`
`s it the end 0
`
`
`
`
`
`the list?
`
`
`
`
`
`No
`
`
`
`
`77,9
`
`dbdumptksh ends and
`
`
`
`control is returned to
`
`
`
`
`
`NightlyDiskka.ksh
`
`/ #55
`nghtlyDiskka.ksh
`
`ends
`
`
`
`
`Page 5 of 12
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Apr. 13, 2006 Sheet 5 of 5
`
`
`
`US 2006/0078092 A1
`
`
`
`
`NightlyDiskLoad.ksh starts automatically at
`
`
`
`
`1:45AM on standby SMS
`
`
`
`
`
`
`
`
`
`5‘05
`
`
`
`set the database name parameter
`
`
`
`
`
`
`to the first database name in the
`
`
`
`
`
`
`
`ordered list of
`
`
`
`(SMSCatalogs.gensms.se~ices)
`
`
`
`
`
`
`
`
`initiate dbload.ksh for this
`database
`
`
`
`
`
`
`
`$2a
`
`
`
`A message is
`Is the SMS in
`
`
`
`
`displayed and
`
`
`
`
`
`minset? (required
`
`
`emailed to root
`
`
`
`for standby)
`
`
`user
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`A message is
`Is any user or
`
`
`
`
`displayed and
`
`
`
`
`
`
`process using this
`
`
`
`emailed to root
`
`
`
`
`database
`user
`
`
`
`
`
`
`
`
`
`load the database into the data
`sewer from the most recent
`
`
`
`
`
`
`
`
`
`
`backup of this database on the
`
`
`
`shared disk storage
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`bring the database
`
`
`
`
`up to
`Is this database
`bring the database
`
`
`
`
`
`
`
`
`
`
`
`standby_access
`SMSCatalogs?
`online
`
`
`
`
`mode
`
`
`
`
`
`
`
`
`
`
`
`is
`dbload.ksh ends and control
`
`
`
`
`
`
`
`
`retumed to NightlyDisKLoad.ksh
`
`
`
`
`
`
`
`
`
`set the database name parameter
`
`
`
`
`
`End of the
`to the next database name in the
`
`
`
`
`
`
`
`
`database list?
`ordered list at
`
`
`
`
`
`
`
`
`
`(SMSCatalogs.gensms.services)
`
`
`
`
`
`
`S6?
`
`
`
`
`A report log file is
`
`
`
`
`
`generated listing backups
`
`
`
`used and the time that the
`
`
`
`
`
`
`
`
`toad completed for each
`database
`
`
`
`
`
`
`
`57"
`
`
`NightlyDiskLoad.ksh
`ends
`
`
`
`
`
`[1.704%é- 5
`
`Page 6 of 12
`
`Page 6 of 12
`
`
`
`US 2006/0078092 A1
`
`
`
`
`
`Apr. 13, 2006
`
`
`
`SYSTEM AND METHOD FOR PROVIDING A
`
`
`
`
`BACKUP-RESTORE SOLUTION FOR
`
`
`
`ACTIVE-STANDBY SERVICE MANAGEMENT
`
`
`SYSTEMS
`
`TECHNICAL FIELD
`
`
`[0001] The present invention relates generally to telecom-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`munication systems and in particular to data redundancy and
`fault tolerance in telecommunication systems.
`
`
`
`
`BACKGROUND
`
`
`
`
`
`
`
`
`
`
`
`
`
`in an
`system (SMS)
`[0002] A service management
`Advanced Intelligent Network (AIN) platform provides data
`
`
`
`
`
`
`
`for services logic needed for call trafiic routing by a service
`
`
`
`
`
`
`
`
`
`control point (SCP). To provide data redundancy and fault
`
`
`
`
`
`
`
`
`tolerance in the AIN platform, the data that is provided by
`
`
`
`
`
`
`
`
`the SMS is often stored in several databases across identical
`
`
`
`
`
`
`
`
`but geographically dispersed SCPs. It
`is also desired to
`
`
`
`
`
`
`
`
`provide redundancy and fault tolerance to cover situations in
`
`
`
`
`
`
`
`which an SMS is unavailable due to, for example, system
`
`
`
`
`
`
`
`failures, a scheduled maintenance, or an upgrade process.
`
`
`
`
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`
`
`
`[0003] FIG. 1 is a block diagram ofa telecommunication
`
`
`
`
`environment of a preferred embodiment comprising an
`
`
`
`
`
`Advanced Intelligent Network (AIN) platform.
`
`
`
`
`
`[0004] FIG. 2 is a block diagram of an AIN platform of a
`
`
`
`
`
`
`preferred embodiment.
`
`
`[0005] FIG. 3 is a block diagram of active and standby
`
`
`
`
`
`
`
`service management systems (SMSs) of a preferred embodi-
`
`
`
`
`
`
`ment.
`
`[0006] FIG. 4 is a flow chart of a method of a preferred
`
`
`
`
`
`
`embodiment for nightly backup to a shared storage device.
`
`
`
`
`
`
`[0007] FIG. 5 is a flowchart of a method of a preferred
`
`
`
`
`
`embodiment for nightly restore
`rom a shared storage
`
`
`
`
`
`
`
`device.
`
`
`
`
`
`DETAILED DESCRIPTION OF THE
`
`
`
`PRESENTLY PREFERRED EMBODIMENTS
`
`
`
`[0008] By way of introduction, the preferred embodiments
`
`
`
`
`
`
`
`described herein include a system and method for providing
`
`
`
`
`
`
`
`a backup-restore solution for active-standby service inan-
`
`
`
`
`
`
`
`agement systems. In one embodiment, a telecommunication
`
`
`
`
`
`system is disclosed having first and second service manage-
`
`
`
`
`
`
`
`
`ment systems (SMS), a storage device shared by the first and
`
`
`
`
`
`
`
`
`
`second SMSs and circuitry operative to provide backup/
`
`
`
`
`
`
`
`
`restore functionality. This provides system redundancy in
`
`
`
`
`
`
`that the second SMS can perform the same functions as the
`
`
`
`
`
`
`
`
`
`first SMS in the event that the first SMS is unavailable due
`
`
`
`
`
`
`
`
`
`
`to, for example, system failures, a scheduled maintenance,
`
`
`
`
`
`
`
`or an upgrade process. Other embodiments are provided, and
`
`
`
`
`
`
`
`each of the embodiments described herein can be used alone
`
`
`
`
`
`
`
`or in combination with one another.
`
`
`
`
`
`[0009] Tuming now to the drawings, FIG. 1 is an illus-
`
`
`
`
`
`
`
`
`tration of a telecommunication environment of a preferred
`
`
`
`
`
`embodiment comprising an Advanced Intelligent Network
`
`
`
`
`
`(AIN) platform 100. The AIN platform 100 is a telephone
`
`
`
`
`
`
`
`
`network architecture that separates
`service logic from
`
`
`
`
`
`
`
`switching equipment, allowing new services to be added
`
`
`
`
`
`
`
`
`without having to redesign switches to support the new
`
`
`
`
`
`
`
`
`
`Page 7 of 12
`
`services. The AIN platform 100 is a distributed, fault-
`
`
`
`
`
`
`
`tolerant. middleware product that provides low-level system
`
`
`
`
`
`
`
`management capabilities for telecommunications products.
`
`
`
`
`
`The AlN platform 100 comprises various components,
`
`
`
`
`
`
`
`whose complex and effective communications deliver real-
`
`
`
`
`
`
`
`tiine call routing capabilities associated with intelligent
`
`
`
`
`
`
`
`networks. FIG. 1 shows, at a very high-level, the function-
`
`
`
`
`
`
`
`ality of the AIN platform 100. As shown in FIG. 1, a
`
`
`
`
`
`
`
`
`
`customer provides a request for telecommunication services
`
`
`
`
`
`
`and features to a provisioner of the AIN platform 100, and
`
`
`
`
`
`
`
`
`the provisioner enters the services components and features
`
`
`
`
`
`
`
`
`into the AIN platform 100. Once the AIN platform 100 is
`
`
`
`
`
`
`
`
`
`
`provisioned, it provides the requested services and features
`
`
`
`
`
`
`
`when the customer makes a call.
`
`
`
`
`[0010] FIG. 2 provides a more detailed illustration of the
`
`
`
`
`
`
`AIN platform 100. The AIN platform 100 comprises signal
`
`
`
`
`
`
`
`
`
`switching points (SSPs) 110, signal transfer points (STPs)
`
`
`
`
`
`
`
`
`120, service control points (SCPs) 130, and two service
`
`
`
`
`
`
`
`
`
`management systems (SMSs)—one active (SMS 140) and one
`
`
`
`
`
`
`
`
`standby (SMS 150). The SSPs 110 and the SCPs 130 are
`
`
`
`
`
`
`
`
`
`
`
`connected via a common channel signaling network, pref-
`
`
`
`
`
`
`
`erably the Signaling System 7 (SS7) network, and the SCPs
`
`
`
`
`
`
`
`
`
`130 are in communication with the SMSs 140, 150 through
`
`
`
`
`
`
`
`
`
`a data communications network, such as a local area net-
`
`
`
`
`
`
`
`
`work (LAN). As used herein, the phrase “in communication
`
`
`
`
`
`
`
`
`with” means directly in communication with or indirectly in
`
`
`
`
`
`
`communication with through one or more named or
`
`
`
`
`
`
`
`
`unnamed components. FIG. 2 also illustrates call traflic and
`
`
`
`
`
`
`
`
`services provisioning data flow in this platform 100.
`
`
`
`
`
`
`
`[0011] By way of background. an SSP is a switch at a
`
`
`
`
`
`
`telephone company central office equipped with AIN soft-
`
`
`
`
`
`
`
`
`ware. When the SSP receives a number dialed by a caller, the
`
`
`
`
`
`
`
`
`SSP suspends call processing and launches a query to an
`
`
`
`
`
`
`
`
`SCP via an STP, which routes call traffic to the proper SCP.
`
`
`
`
`
`
`
`
`
`The SCP contains a database with service logic and handles
`
`
`
`
`
`
`
`
`
`queries sent from the SSP by consulting its database and
`
`
`
`
`
`
`
`
`
`returning information about how to handle the call to the
`
`
`
`
`
`
`
`
`
`SSP. which switches the call in accordance with the received
`
`
`
`
`
`
`
`
`
`information. In some cases, instead of sending a query to an
`
`
`
`
`
`
`SCP, a call can be handled more quickly by an Intelligent
`
`
`
`
`
`
`
`Peripheral (IP) attached to an SSP over a high-speed con-
`
`
`
`
`
`
`
`nection. For example, a customized voice announcement can
`
`
`
`
`
`
`
`be delivered by the IP in response to the dialed munber, or
`
`
`
`
`
`
`
`a voice call can be analyzed and recognized.
`
`
`
`
`
`
`
`[0012] Examples of services that can be provided by an
`
`
`
`
`
`
`SCP include, but are not
`limited to,
`toll-free services,
`
`
`
`
`
`
`
`
`
`account code services, and virtual private network (VPN)
`
`
`
`
`
`
`
`
`services. A toll-free service allows businesses to olfer toll-
`
`
`
`
`
`
`
`free calls to their customers. When an SSP sends a toll-free
`
`
`
`
`
`
`
`
`call to an SCP, the toll-free service logic is accessed, which
`
`
`
`
`
`
`
`
`translates the dialed number by executing a call plan asso-
`
`
`
`
`
`
`
`
`ciated with the dialed number. The routing information is
`
`
`
`
`
`
`
`
`then returned to the SSP. An account code service validates
`
`
`
`
`
`
`
`
`caller identification and tracks usage of the service. This
`
`
`
`
`
`
`
`
`service is triggered when the caller makes an account code
`
`
`
`
`
`
`
`call. The SSP detects the trigger based upon the user’s
`
`
`
`
`
`
`
`
`
`
`identity and sends the SCP a query message for treatment
`
`
`
`
`
`
`
`
`
`instructions. The SCP validates the account code and
`
`
`
`
`
`
`
`
`instructs the SSP to allow or disallow the call to proceed. A
`
`
`
`
`
`
`
`
`VPN service allows customers to implement features that
`
`
`
`
`
`
`
`are typically associated with dedicated network facilities and
`
`
`
`
`
`
`
`
`switches on a public switched telephone network. A cus—
`
`
`
`
`
`
`tomer may be a business with several geographically-dis-
`
`
`
`
`
`
`
`Page 7 of 12
`
`
`
`US 2006/0078092 A1
`
`
`
`
`
`Apr. 13, 2006
`
`
`
`pcrscd locations, utilizing customizcd dial plans and cus-
`
`
`
`
`
`
`
`
`tomer profiles to define the specific features. Customers can
`
`
`
`
`
`
`
`
`access the VPN from a dedicated facility, dialing a 1-8xx
`
`
`
`
`
`
`
`
`remote number, or dialing a ten-digit public number from a
`
`
`
`
`
`
`
`switched location.
`
`
`[0013] The service logic in the SCP database is provi-
`
`
`
`
`
`
`
`
`
`sioned by an SMS, which centrally manages data additions
`
`
`
`
`
`
`
`and updates to the SCP databases. FIG. 3 is a block diagram
`
`
`
`
`
`
`
`
`of the active and standby SMSs 140, 150 of the AIN
`
`
`
`
`
`
`
`
`
`
`
`platform 100. These SMSs 140, 150 each comprise web
`
`
`
`
`
`
`
`
`
`servers 200, 200‘, a services database 210, 210', a replication
`
`
`
`
`
`
`
`
`server 220, 220', backup/restore circuitry 230, 230', and a
`
`
`
`
`
`
`
`
`shared storage device 240, 240'. The services logic in the
`
`
`
`
`
`
`
`
`
`services database 210 is provisioned through a web-based
`
`
`
`
`
`
`GUI or batch processes, often referred to as Operation
`
`
`
`
`
`
`
`
`Support Systems (088). In operation, a customer provides a
`
`
`
`
`
`
`request for a telecommunication service (e.g., begin a toll-
`
`
`
`
`
`
`
`free service on a certain date and time), and the request is
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`submitted to GUI and API (Application Programming Inter—
`face) web servers 200. The provisioning requests received
`
`
`
`
`
`
`
`
`by the web servers 200 are in HTML or XML format in this
`
`
`
`
`
`
`
`
`
`embodiment and are translated into calls-to-java servlets,
`
`
`
`
`
`
`
`which,
`in turn, cntcr scrviccs logic data into thc SMS
`
`
`
`
`
`
`
`
`
`
`database 210. At the appropriate time, the replication server
`
`
`
`
`
`
`
`220 replicates a relatively small subset of the data stored in
`
`
`
`
`
`
`
`the SMS database 210 to the SCP databases 135. The data
`
`
`
`
`
`
`
`
`
`
`replicated to the SCP databases 135 is preferably the mini-
`
`
`
`
`
`
`
`
`mal subset of data stored in the SMS database 210 that is
`
`
`
`
`
`
`
`
`
`sufficient for call traffic rerouting (i.e., the active services
`
`
`
`
`
`
`
`
`
`logic; the non—replicated data in the SMS database 210 can
`
`
`
`
`
`
`
`
`
`relate to historical and inactive services logic).
`
`
`
`
`
`
`[0014] Each SCP 130 manages four identical Service
`
`
`
`
`
`
`
`
`Units (SU), and each SU hosts a services database 135
`
`
`
`
`
`
`
`
`
`storing the services logic replicated by the replication server
`
`
`
`
`
`
`
`220. This configuration provides eight identical databases
`
`
`
`
`
`
`
`across two identical but geographically dispersed SCPs 130.
`
`
`
`
`
`
`
`
`Each SCP load-balances thc incoming qucrics across its four
`
`
`
`
`
`
`
`
`identical SU services databases. The data stored in each of
`
`
`
`
`
`
`
`the eight SU services databases is in sync with the other SU
`
`
`
`
`
`
`
`
`databases
`since the data is
`replicated from the same
`
`
`
`
`
`
`
`
`
`sourceithe SMS services database 210. This provides data
`
`
`
`
`
`
`
`
`
`redundancy and fault tolerance across the SCP databases
`
`
`
`
`
`
`
`
`135, thereby helping to guarantee uninterrupted service to
`
`
`
`
`
`
`customers.
`
`[0015] Because the SMS 140 is the provisioning platform
`
`
`
`
`
`
`
`for the AIN platform 100 and the only source of data for
`
`
`
`
`
`
`
`
`
`
`
`services logic needed for call traffic routing, it is preferred
`
`
`
`
`
`
`
`
`
`that a redundancy system also be provided for the SMS 140.
`
`
`
`
`
`
`
`
`
`To provide SMS fault tolerance in this embodiment, two
`
`
`
`
`
`
`
`
`SMSs are usedian active SMS 140 and a standby SMS
`
`
`
`
`
`
`
`
`150. Thc activc SMS 140 has a main subscribcr database
`
`
`
`
`
`
`
`
`210, which is copied to the SCPs 130, and the standby SMS
`
`
`
`
`
`
`
`
`
`
`150 adapted to perform the same functions as the active
`
`
`
`
`
`
`
`
`
`SMS 140 in the event that the active SMS 140 is unavailable
`
`
`
`
`
`
`
`
`due to, for example, system failures, a scheduled mainte-
`
`
`
`
`
`
`
`nance, or an upgrade process. In other words, all provision-
`
`
`
`
`
`
`ing and replication to the SCP SU databases 135 are carried
`
`
`
`
`
`
`
`
`
`out through the active SMS 140, and the standby SMS 150
`
`
`
`
`
`
`
`
`
`
`provides a replica of the active SMS 140 and serves as a
`
`
`
`
`
`
`fail-over system to provide desired system redundancy. By
`
`
`
`
`
`
`
`incorporating two identical SMS systemswne active and
`
`
`
`
`
`
`
`
`
`
`
`
`
`one standbyihigh availability and maximum provisioning
`uptirne is achieved. Provisioning occurs 011 the active SMS
`
`
`
`
`
`
`
`140, and the standby SMS 150 is used as a fail-ovcr systcm
`
`
`
`
`
`
`
`
`from the active SMS 140. In the case of active SMS 150
`
`
`
`
`
`
`
`
`
`failure, the standby SMS 150 can be utilized so that provi-
`
`
`
`
`
`
`
`
`sioning can continue with minimum interruption. As such, it
`
`
`
`
`
`
`
`is preferred that the data stored on the standby SMS 150 be
`
`
`
`
`
`
`
`
`in-sync with the data stored on the active SMS 140 so a
`
`
`
`
`
`
`
`
`quick switchover can take place with no data loss.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`[0016]
`In order to achieve highest availability for the
`SMS, it is preferred that (1) the switchover time from the
`
`
`
`
`
`
`
`
`
`
`active SMS 140 to the standby SMS 150 be minimized to
`
`
`
`
`
`
`provide a desired level of performance, (2) the switchover
`
`
`
`
`
`
`
`process be as automated as possible to avoid human errors
`
`
`
`
`
`
`typical to manual processes to provide a desired level of
`
`
`
`
`
`
`
`
`accuracy, and (3) the switchover process be scalable to
`
`
`
`
`
`
`
`
`
`accommodate growth in the SMS’s database. Also, in order
`
`
`
`
`
`
`
`to minimi7e any outage during the switchover from the
`
`
`
`
`
`
`
`
`
`active SMS 140 to the standby SMS 150,
`the services
`
`
`
`
`
`
`
`
`
`database 210' on thc standby SMS 150 should prcfcrably bc
`
`
`
`
`
`
`in-sync with the services database 210 on the active SMS
`
`
`
`
`
`
`
`
`
`140.
`
`
`
`
`
`
`
`
`
`
`[0017] To provide this level of redundancy in this pre-
`ferred embodiment, both the active SMS 140 and the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`standby SMS 150 comprise backup/restore circuitry 230,
`230' and a shared storage device 240, 240' (see FIG. 3).
`
`
`
`
`
`
`
`
`
`
`“Circuitry” can take any suitable form, including, but not
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`limited to, a general-purpose processor executing computer-
`executable program code embodied on a computer—usable
`
`
`
`
`
`medium such as RAM or a disk, an application specific
`
`
`
`
`
`
`
`integrated circuit, and a programmable logic controller. It is
`
`
`
`
`
`
`important
`to note that any appropriate software and/or
`
`
`
`
`
`
`
`
`hardware, analog or digital, now in existence or later devel—
`
`
`
`
`
`
`
`oped, can be used, and that “circuitry” can be a combination
`
`
`
`
`
`
`
`
`of hardware and software or hardware only. Also, it should
`
`
`
`
`
`
`
`
`be noted that “first circuitry” and “second circuitry,” as used
`
`
`
`
`
`
`
`
`
`in thc claims, can rcfcr to two proccssors running two
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`separate programs or a single processor running two sepa-
`rate programs or two parts of a single program. Similar
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`usage applies to “third circuitry,”“fourth circuitry,” etc.
`
`
`
`
`
`
`
`[0018] Preferably, the backup/restore circuitry 230, 230'
`residing on both the active and standby SMSs 140, 150
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`comprises a set of backup/restore computer programs. In
`this embodiment, the same set of backup/restore programs is
`
`
`
`
`
`
`stored on both the active and standby SMSs 140, 150, but
`
`
`
`
`
`
`
`
`
`
`only the backup programs are active on the active SMS 140,
`
`
`
`
`
`
`
`
`
`and only the restore programs are active on the standby SMS
`
`
`
`
`
`
`
`
`
`150. The non-active programs remain dormant until the
`
`
`
`
`
`
`
`
`active (standby) SMS becomes the standby (active) SMS, in
`
`
`
`
`
`
`
`which casc thc dormant programs bccomc activc, and the
`
`
`
`
`
`
`
`
`
`active programs become dormant. It is preferred that the
`
`
`
`
`
`
`
`
`backup of the active SMS’s database 210 be stored in the
`
`
`
`
`
`
`
`
`shared storage device 240' in the standby SMS 150 instead
`
`
`
`
`
`
`
`
`of the storage device 240 in the active SMS 140. In this way,
`
`
`
`
`
`
`
`
`
`if the active SMS fails while a load from the shared storage
`
`
`
`
`
`
`
`
`
`
`
`device to the standby SMS’s database is in progress, the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`loading can continue with no interruption. Alternatively, the
`backup of the active SMS’s database 210 can be stored in the
`
`
`
`
`
`
`
`
`shared storage device 240 in the active SMS 140.
`
`
`
`
`
`
`
`
`[0019] The backup/restore circuitry 230 in the active SMS
`
`
`
`
`
`
`
`140 automatically stores a backup of the active SMS’s
`
`
`
`
`
`
`
`database 210 in the standby SMS’s shared storage device
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`240', and the backup/restore circuitry 230' in the standby
`SMS 150 automatically copies the backup of the standby
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 8 of 12
`
`Page 8 of 12
`
`
`
`US 2006/0078092 A1
`
`
`
`
`
`Apr. 13, 2006
`
`
`
`SMS’s database from the shared storage device 240‘ to the
`
`
`
`
`
`
`
`
`
`standby SMS’s database 210'. The storage devices 240, 240'
`
`
`
`
`
`
`
`
`are “shared” in the sense that data can be moved between the
`
`
`
`
`
`
`
`
`
`
`
`storage devices 240, 240' and the databases 210, 210'
`
`
`
`
`
`
`
`
`
`without physically moving the storage devices 240, 240'.
`
`
`
`
`
`
`
`
`This provides a full—automation solution that requires no
`
`
`
`
`
`
`
`human intervention to move the storage devices 240, 240'
`
`
`
`
`
`
`
`between the active and standby SMSs 140, 150, thereby
`
`
`
`
`
`
`
`
`
`avoiding human error and saving cost on labor. This is in
`
`
`
`
`
`
`
`
`
`contrast to a backup scheme that uses removal media, such
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`as a digital tape, that requires a user to physically transport
`the tape from one SMS to the other. Such a manual proce-
`
`
`
`
`
`
`
`
`
`
`dure not only adds labor costs to the backup and restore
`
`
`
`
`
`
`
`
`
`
`
`process but also poses a risk due to human errors that manual
`
`
`
`
`
`
`
`
`
`
`processes are susceptible to. To further reduce the risk of
`
`
`
`
`
`
`
`
`
`human error, the backup/restore circuitry can handle the
`
`
`
`
`
`
`
`
`entire backup and restore process in an automated way with
`
`
`
`
`
`
`
`
`no human intervention (in contrast to inserting a tape into the
`
`
`
`
`
`
`
`
`
`active SMS on a nightly basis, manually initiating the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`backup function, manually removing the tape after the
`backup is completed and inserting it into the standby SMS,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`and manually initiating and monitoring the restore process
`on the standby SMS).
`
`
`
`
`[0020] The shared storage device 240 can take any suit-
`
`
`
`
`
`
`
`
`
`
`able foml, including, but not limited to, a disk (i.e., mag—
`
`
`
`
`
`
`
`
`
`
`netic, optical, etc.), a solid state storage device (e.g., RAM),
`
`
`
`
`
`
`
`
`
`tape, etc. It is preferred that a relatively-fast storage device,
`
`
`
`
`
`
`
`such as a disk storage device, be used over a relatively-slow
`
`
`
`
`
`
`
`storage device, such as tape. Disks have a much higher speed
`
`
`
`
`
`
`
`
`
`and throughput as compared to tapes, resulting in much
`
`
`
`
`
`
`
`shorter outages. For example, a backup/restore procedure
`
`
`
`
`
`
`using a shared disk drive that takes about an hour to perform
`
`
`
`
`
`
`
`
`
`can take about six hours to perform using tape. Accordingly,
`
`
`
`
`
`
`
`
`
`using a shared disk drive instead of tape can reduce provi-
`
`
`
`
`
`
`
`
`
`sioning outages (i.e., times when the SMS is operating in
`
`
`
`
`
`
`
`
`non-redundant mode) by a factor of six. Another benefit with
`
`
`
`
`
`
`
`using disk rather than tape is that disk storage does not have
`
`
`
`
`
`
`
`
`
`
`
`the same capacity limitation imposed by tape. Consider, for
`
`
`
`
`
`
`
`
`example, the situation in which a DDS3 tape capable of
`
`
`
`
`
`
`
`
`storing 17.6 GB worth of data is used to back up and restore
`
`
`
`
`
`
`
`
`a SMS database storing 19 GB of data. In this situation, two
`
`
`
`
`
`
`
`
`tapes would be needed, which increases switchover time,
`
`
`
`
`
`
`
`extends outages, and adds a tape-change procedure with its
`
`
`
`
`
`
`
`associated manual involvement and risk of errors. In con—
`
`
`
`
`
`
`
`
`trast, a suitably-large disk drive can store four days worth of
`
`
`
`
`
`
`
`
`
`backups on a round-robin basis.
`
`
`
`[0021]
`In a presently preferred embodiment, the circuitry
`
`
`
`
`
`
`
`230, 230' each comprises a processor running programs that
`
`
`
`
`
`
`
`
`are UNIX korn shell scripts, with embedded Sybase Trans—
`
`
`
`
`
`
`
`
`
`act-SQL commands and queries. The tasks that each pro-
`
`
`
`
`
`
`
`
`
`gram performs are as follows. It is important to note that the
`
`
`
`
`
`
`
`
`details (e.g., times, etc.) and other limitations set forth below
`
`
`
`
`
`
`
`
`
`
`should not be read into the claims unless expressly recited
`
`
`
`
`
`
`
`
`
`therein.
`
`
`
`
`[0022] NightlyDiskka.ksh
`
`
`
`
`
`
`
`[0023] This program cleans up old database backups in the
`shared storage device. In this embodiment, database backups
`
`
`
`
`
`
`older than four days are removed from the shared storage
`
`
`
`
`
`
`
`
`
`
`device. This program initiates another program called
`
`
`
`
`
`
`
`
`
`
`
`
`dbdump.ksh. NightlyDiskka.ksh starts automatically at
`12:45 AM 011 the active SMS 140 011 daily basis and through
`
`
`
`
`
`
`
`
`
`
`
`
`a UNIX cron job. The time for automatic start was chosen
`
`
`
`
`
`
`
`
`
`
`based on other activities on the platform to minimize the
`
`
`
`
`
`
`
`contention on the platform
`
`
`
`
`
`dbdump.ksh
`[0024]
`[0025] This program creates a backup of a database or all
`
`
`
`
`
`
`databases (based on parameters passed to the program)
`
`
`
`
`
`
`
`except tempdb, to the shared storage device. This program
`
`
`
`
`
`
`
`
`also communicates with an alarming system to notify Net—
`
`
`
`
`
`
`
`work Operation Center (NOC) personnel on success or any
`
`
`
`
`
`
`
`issues during the operations. This notification is sent in a
`
`
`
`
`
`
`
`form an IPR (Infomlation and Problems Report). This
`
`
`
`
`
`
`
`
`program currently takes 40 minutes for all databases, includ—
`
`
`
`
`
`
`
`ing a services database with current size of 19 GB.
`
`
`
`
`
`
`
`
`
`[0026] NightlyDiskLoadksh
`
`
`
`
`
`
`[0027] This program starts automatically at 1:45 AM on
`daily basis on the standby SMS 150 and through a UNIX
`
`
`
`
`
`
`
`
`cron job. NightlyDiskLoadksh executes another program
`
`
`
`
`
`
`called dbload.ksh three times consecutively and for three
`
`
`
`
`
`
`
`
`databases called SMSCatalogs, gensms, and services.
`
`
`
`
`
`
`SMSCatalogs stores the data related to database backup
`
`
`
`
`
`
`
`
`history. The gensms database contains configuration param-
`
`
`
`
`
`
`
`eters for SMS, SCPs, and the replication process, as well as
`
`
`
`
`
`
`
`
`
`information on transactions and their statuses. The services
`
`
`
`
`
`
`
`database contains core business information on services
`
`
`
`
`
`
`
`logics and provisioning history. NightlyDishoadksh also
`
`
`
`
`
`
`
`creates a log file at the end, which can be viewed by NOC
`
`
`
`
`
`
`
`
`
`
`personnel. This log file reports on time and success/failure
`
`
`
`
`
`
`
`
`status of the load process.
`
`
`
`
`[0028]
`dbload.ksh
`
`
`[0029] This program loads the database backups from the
`
`
`
`
`
`
`
`
`
`shared storage into the data server on the standby SMS 150.
`
`
`
`
`
`
`
`
`
`Dbloadksh preferably does not load Sybase system data-
`
`
`
`
`
`
`
`
`bases since they are data server specific and are preferably
`
`
`
`
`
`
`
`
`
`
`not loaded from the active data server. This program brings
`
`
`
`
`
`
`
`
`
`
`SMSCatalogs database online, but gensms and services
`
`
`
`
`
`
`
`database are set to standby_access mode. If the loading
`
`
`
`
`
`
`
`
`
`databases are in use or the platform is not in the standby
`
`
`
`
`
`
`
`
`mode, the load preferably aborts the operations to avoid
`
`
`
`
`
`
`
`
`overwriting an active database. This is a safety measure to
`
`
`
`
`
`
`prevent any damage in ca se the program is used in ways that
`
`
`
`
`
`
`
`
`
`it is not designed for (e.g. database load on the active SMS).
`
`
`
`
`
`
`
`
`
`[0030] FIGS. 4 and 5 are flowcharts of nightly backup
`
`
`
`
`
`
`and restore operations, respectively. In these operations, the
`
`
`
`
`
`
`
`nightly backup-and-restore starts at certain times indepen-
`
`
`
`
`
`
`
`dently and on different systems. The start time for the load
`
`
`
`
`
`
`
`
`
`
`on the standby SMS 150 is chosen long enough after the
`
`
`
`
`
`
`
`
`
`backup starts on the active SMS 140 to make sure the
`
`
`
`
`
`
`
`
`
`
`backups have completed. In order to make sure that the load
`
`
`
`
`
`
`
`
`
`starts immediately after the backups are done, a communi—
`
`
`
`
`
`
`
`
`cation is preferably established between the backup process
`
`
`
`
`
`
`
`on the active SMS 140 and the restore process on the
`
`
`
`
`
`
`
`
`
`
`
`standby SMS 150. This communication can be handled
`
`
`
`
`
`
`
`
`through a server process to trigger the load or simply by
`
`
`
`
`
`
`
`leaving a file in the shared storage device 240' indicating the
`
`
`
`
`
`
`
`
`
`success of the backups. The load process then polls the
`
`
`
`
`
`
`
`
`
`
`shared storage device 240' for the existence of such file
`
`
`
`
`
`
`
`
`
`
`before initiating. Either approach improves the availability
`
`
`
`
`
`
`
`by cutting down the time-gap between the backup’ s comple-
`
`
`
`
`
`
`
`
`tion and the start of the restore process.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`[0031] Turning first to FIG. 4, the NightlyDiskka.ksh
`program starts automatically at 12:45 AM on the active SMS
`
`
`
`
`
`
`
`Page 9 of 12
`
`Page 9 of 12
`
`
`
`US 2006/0078092 A1
`
`
`
`
`
`Apr. 13, 2006
`
`
`
`140 (act 400). Next, database backups older than four days
`
`
`
`
`
`
`
`
`
`
`are removed from the shared storage device 240' (act 405).
`
`
`
`
`
`
`
`
`
`
`The dbdumpksh program is then initiated for all databases
`
`
`
`
`
`
`
`
`(act 410), and a list of all databases on the active SMS 140
`
`
`
`
`
`
`
`
`except tempdb is created in memory (act 415). The first
`
`
`
`
`
`
`
`
`database is then dumped to the shared memory device (act
`
`
`
`
`
`
`
`
`420). It is then determined w