SERVICE CREATION ENVIRONMENT (META MODEL EDITOR
BACKGROUND OF THE INVENTION
Enhanced services telephone systems such as prepaid calling systems are well known. Subscribers in such systems are provided with a calling card containing a personal identification number ("PIN") by which the amount of telephone usage remaining on the card can be determined by the subscriber at the time the call is placed.
In known prepaid telephone systems, there are a number of work stations to assist the service provider in performing the various functions needed for the operation of the system. These functions include (a) the administration of the subscriber database which controls call utilization, (b) the interface with the customer regarding the balance in the subscriber's account, the status of the account and recharging of prepaid cards by a subscriber, (c) the live operators who assist in the placing of the calls, and (d) system administration which often spans multiple servers and even multiple locations.
Heretofore, to modify these functions or to add new functions to the prepaid system required the loading of new software or the rewriting of the existing code. Clearly the time and expense of implementing the change impacted the ability of such systems to respond to growth in the system, the changing needs of subscribers, etc.
The present invention addresses these problems by providing a method of altering the functionality within a system by modifying the data instead of code.
Additionally, the configuration of each of the high level functions may be selectively customized by means of a user configurable table, in which the settings used to reconfigure the software are recorded as data thus obviating the necessity to load an additional program and/or rewriting code.
Accordingly, it is an object of the present invention to provide a novel method and system which obviates many of the problems of known telephone systems with great financial and temporal savings .
It is another object of the present invention to provide a novel method and system which permits a single computer software program to be used for all workstations in the system.
It is yet another object of the present invention to provide a novel method and system which permits the computer software program to be modified by business analysts rather than engineers or other technicians, all without the necessity to modify the software program.
It is a further object of the present invention to provide a novel software program that reduces retraining requirements by using a single program having a basically consistent user interface to implement database changes for all functions.
It is yet a further object of the present invention to provide a novel method and system which reduces system ownership costs due to the multiple functions which can be performed on a single workstation.
It is still a further object of the present invention to provide a novel system and method to allow the customer to add functions to the system in such a way that these functions appear well integrated in the user interface.
These and many other objects and advantages of the present invention will be readily apparent to one skilled in the art to which the invention pertains from a perusal of the claims, the appended drawings, and the following detailed description of the preferred embodiments.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 is a functional block diagram showing the basic organization of the enhanced services system of the present invention in the embodiment of a prepaid telephone system.
Figure 2 illustrates the representative topic tree and browser for a DB-Admin application.
Figure 3-5 illustrate representative browser windows for one embodiment of the present invention.
Figures 6-7 illustrate the browser entries necessary to generate the displays of Figures 1 and 8.
Figure 8 illustrates a modification window associated with the DB-Admin application of Figure 2.
Figure 9 illustrates representative picklists which may be associated with the browser window of Figure 5.
DESCRIPTION OF PREFERRED EMBODIMENTS The present invention finds applicability in an enhanced services environment such as the prepaid telephone system illustrated in Figure 1. Figure 1 shows a suitable conventional telephone switch 26 such as the Harris Corporation 20/20 switch in a conventional public switched telephone network (PSTN) connected to large numbers of subscriber telephones such as the caller telephones 24 and the called party telephones 14. Also connected to the switch 26 may be a bank of voice response units (VRUs) 15 on which the prepaid call processing application 18 resides.
The management of a prepaid system is generally under the control of a call processing application resident within the
VRU. The call processing application, in association with peripheral equipment, determines the action to be taken (e.g., determining the correctness of a PIN entry, the prompting of users for destination numbers or desired services, outdialing to a requested telephone number, etc.) during the processing of a call request.
In addition to the hardware and software requirements of the prepaid system, a large personnel support group comprising database administrators, system administrators, customer service representatives and live operators is required to assist the service provider in performing the various functions needed for the operation of the system.
In one embodiment of the present invention, the personnel support divisions use a common software application ("DB- Admin") 22 to configure the prepaid database 20 and perform the various administrative functions associated with the prepaid system. As illustrated in Figure 2, DB-Admin 22 uses an Explorer- style interface that contains a Topic Tree 10 and a Browser 12 with the Browser 12 displaying data associated with a selected topic from the Topic Tree 10 in either a "grid" (as shown) or a "property sheet" format.
The content and "look and feel" of DB-Admin is created through the use of a Service Creation Environment ("Meta Model Editor") . The Meta Model Editor allows a system user to "alter" DB-Admin through the manipulation of data instead of the modifying of code thereby obviating the need for engineers. A separate database, MME database 21 (see Figure 1) , is associated with the Meta Model Editor and is
responsible for driving the display of the DB-Admin. Objects contained within the MME database 21 control the DB-Admin displays (Topic Tree and Browser) responsive to user input. The Meta Model Editor allows the user to be brought step-by- step through the process of making a complex change to the DB- Admin database. Changes made to the DB-Admin database are continually drawn into/associated with the objects of the MME database 21; no compilation process is required.
The Meta Model Editor is used to configure both the Topic Tree 10 and the Browser 12 of DB-Admin. As the MME objects controlling these displays are continually updated, changes made through the Meta Model Editor to the topic tree 10 and Browser 12 take immediate effect on the actual DB-Admin program. For example, if the two programs (DB-Admin and MME) were placed side by side, changes made by a "business analyst" in the Meta Model Editor would be immediately reflected in DB- Admin upon the next click of the DB-Admin Topic Tree 10.
To facilitate the use of the Meta Model Editor by DB- Admin users, the user interface to the Meta Model Editor is the same as that provided for DB-Admin. The Meta Model Editor differs however from DB-Admin in the preferred embodiment in that five browsers are provided with the Meta Model Editor. These five browsers, defining the scope or breadth of configurability within the Service Creation Environment, determine the data set to be displayed in the DB-Admin Topic Tree and Browser (including the sort order) , the format of the DB-Admin Brower (grid or property sheet), captions (i.e., labels) for all fields and for the DB-Admin browser as a
whole, the format of each field, drop-down combo boxes to support entry in each field, edit-masks to filter entry in each field, the default column width for each field, and record modification (add, delete, update) and associated special dialog links.
The first browser ("Browser 1") defines the DB-Admin topic tree and the primary data table or grid for the DB-Admin browser including the effect of clicking the left and right mouse buttons on any selected topic or field. A typical window associated with Browser 1 is illustrated in Figure 3.
As illustrated in Figure 4, the second browser ("Browser 2") defines the table or view to be displayed. It determines the table caption, whether the table is editable, and what should appear on a pop-up menu if the user presses the right- mouse button.
The third browser ("Browser 3") defines the fields to be displayed in any grid including their captions, display formats, edit masks, pick lists, alignment, visibility, and editability .
The fourth browser ("Browser 4") defines the fields which will be seen in a grid field's pick list. It also tells the system how to order the rows and which field in the pick list (visible or not) will be pulled into the grid.
The final browser ("Browser 5") defines the validation rules for the individual fields. For example, a validation rule may require that an "end date" cannot precede a "start date" .
With reference again to Figure 1, DB-Admin browser 12 is displaying the data associated with the selected HOLIDAY sub- topic in the topic tree 10. In one embodiment of the present invention, to add a sub-topic to the DB-Admin topic tree 10, the user would click the right mouse button on the desired "parent" topic, in this case the System Configuration topic, resulting in the display of the Meta Model Editor Browser 1 window illustrated in Figure 6.
As shown in Figure 6, Browser 1 defines the topic to be displayed in the topic tree 10 ("Holidays"), the number of fields to be displayed in any associated view ("2"), the effect of clicking the left mouse button after selecting the new sub-topic (i.e., the display of the data in the browser 12 in a grid format) , and the effect of clicking the right mouse button after selecting the new sub-topic (i.e., the display of a modify data window in a property sheet format) .
After the user fills in the appropriate information and clicks the OK button, the Browser 2 windows shown in Figure 7 are displayed consecutively (one window for each field defined in Browser 1) . These Browser 2 windows define the fields to be displayed in either the browser 12 (if "Holidays" is selected with left mouse button) or the modification window (if "Holidays" is selected with the right mouse button) as defined in the Browser 1 window (Figure 6) . The Browser 2 windows define two fields "Holiday" and "Date", the "Holiday" field having a specified column width while the "Date" field defaults to the remaining area, neither field having a pick
list, and with each field having an edit mask, alphabetical and numerical respectively.
The browser 12 of Figure 1 and the Add/Modify Systems Holiday window 40 of Figure 8 illustrate how the information defined in Browsers 1 and 2 are displayed in the DB-Admin application.
Figure 9 shows another DB-Admin modification window having pick lists associated with the field entries. These pick lists would be governed by Browser 3 and defined through a Browser 3 window similar to that illustrated in Figure 5.
By removing object properties to a database, the present invention provides a programming tool at the application level for use by an end user. Further, to facilitate use, the present invention provides a common interface for both modifying and using applications.
While preferred embodiments of the present invention have been described, it is to be understood that the embodiments described are illustrative only and the scope of the invention is to be defined solely by the appended claims when accorded a full range of equivalence, many variations and modifications naturally occurring to those of skill in the art from a perusal hereof .