WO2000058864A1 - Computer system - Google Patents

Computer system Download PDF

Info

Publication number
WO2000058864A1
WO2000058864A1 PCT/GB2000/000980 GB0000980W WO0058864A1 WO 2000058864 A1 WO2000058864 A1 WO 2000058864A1 GB 0000980 W GB0000980 W GB 0000980W WO 0058864 A1 WO0058864 A1 WO 0058864A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
application program
version
access component
data access
Prior art date
Application number
PCT/GB2000/000980
Other languages
French (fr)
Inventor
Philip Harland
Ronan Vus
Thomas Charles Bawden Brett
Mark Freed
Darren Lum
Trevor Lewis
Original Assignee
British Telecommunications Public Limited Company
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from GBGB9907090.6A external-priority patent/GB9907090D0/en
Application filed by British Telecommunications Public Limited Company filed Critical British Telecommunications Public Limited Company
Priority to GB0124965A priority Critical patent/GB2363656A/en
Priority to AU31819/00A priority patent/AU3181900A/en
Publication of WO2000058864A1 publication Critical patent/WO2000058864A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying

Definitions

  • This invention relates to a computer system.
  • a computer system may include an application program installed and loaded on to the computer system and which is capable of accessing one or more data sets stored on the computing system.
  • an application program may be updated from time to time to produce a new version with additional functionality. Thus, it is quite usual to produce a series of versions of a particular application program.
  • the structure of a data set may also be updated from time to time, for example by adding one or more additional fields.
  • Some users of the application program may not wish to suffer the inconvenience of obtaining an updated version.
  • the users of it will have to be trained how to use it and so there will be a period during which some users will want to continue using the previous version of the application program.
  • a computer system including a version of an application program stored in said computer system, at least one data access component stored in said computer system, the or each data access component being associated with a set of data stored in said computer system, the or each data access component being arranged to received a data query from said version of said application program, access its associated data set in response to said query, and transmit a reply to said version of said application program, and one of said data access components being arranged to access its associated data set both to respond to a query designed for the present version of the structure of its associated set and also to respond to a query designed for an earlier version of the structure of its associated data set.
  • data set is intended to refer to a set of functionally related data records which are accessed together as a unit.
  • the or each data set may comprise a set of records, each of which has a set of fields, and the difference between the present and earlier versions of the structure of the data set associated with said one data access component is that the records of the present version of the structure of the data set include at least one additional field.
  • each data access component comprises at least one software object
  • said one data access component comprises at least two software objects, one of which is arranged to respond to a query designed for the present version of the structure of its associated data set, and the other of which is designed to respond to a query designed for the earlier version of the structure of its associated data set.
  • the computer system may include a client computer, a server computer and a communications network arranged to connect the client computer and server computer, said version of said application program and said at least one data access component being stored on said client computer, and said data sets being stored on said server computer.
  • Said at least one data access component may be stored on said server computer, and said client computer may be arranged to download said at least one data access component from said server computer for use on said client computer.
  • a version of the application program and said at least one data access component are downloaded in separate operations.
  • a method of operating a computer system said computer system including a version of an application program stored in said computer system, at least one data access component stored in said computer system, the or each data access component being associated with a set of data stored in said computer system, the or each data access component being arranged to receive a data query from said version of said application program, access its associated data set in response to said query, and transmit a reply to said version of said application program, said method comprising the steps of changing the structure of one of said data sets, and modifying the data access component associated with said one data set, the modification to said data access component permitting it to handle queries from the present version of the application program directed to said one data set but designed for the data set before the change in its structure.
  • Figure 1 is a block diagram of a directory assistance system for a telecommunications network embodying this invention
  • Figure 2 shows the structure of the records of a data set used by the system of Figure 1 ;
  • Figure 3 shows an updated version of the structure for the records shown in Figure 2;
  • Figure 4 shows the software components of a workstation forming part of the directory assistance system of Figure 1 ;
  • FIG 5 is a flow chart illustrating the operation of the workstation; each of Figures 6 to 1 0 is a functional block diagram showing an application program and associated data access components which may be installed in the workstation together with their interaction with data sets which may be stored in a server computer forming part of the directory assistance system of Figure 1 ; and
  • Figure 1 1 is a block diagram illustrating the construction of a data access component.
  • the directory assistance system 1 0 includes a switch 14 connected to the PSTN 1 2 and which distributes incoming calls to a set of workstations used by directory assistance operators.
  • One of these workstations is shown and indicated by reference numeral 1 6.
  • the workstations, including workstation 1 6, are connected to a local area network (LAN) 1 8.
  • LAN 1 8 is connected to a local server computer 20, the purpose of which will be described in more detail below.
  • LAN 1 8 is also connected to a router 21 which in turn is connected to a wide area network (WAN) 22.
  • WAN 22 is connected to a remote server computer 24.
  • the remote server computer 24 stores a large set of records, each of which contains details of one of the customers of the PSTN 1 2. In each record, the details include the name, address and telephone number of the customer.
  • the workstation 1 6 and other workstations connected to the switch 14, the LAN 1 8, the local server computer 20 and the router 21 are co-located in the same physical site.
  • the remote server computer 24 also serves workstations located at other sites.
  • Each of the workstations has an application program which can perform a search on the records stored in the remote server computer 24 to retrieve the telephone number of a customer of PSTN 1 2 in response to an enquiry from a caller.
  • the user or operator enters the name of the customer on the workstation 1 6 and usually other details such as the initials of the customer, the town where the customer is located or part or all of the address of the customer.
  • the user can also be assisted by accessing records stored in the local server 20. From time to time, the format or structure of the records stored in the remote server 24 may be updated to produce a new version.
  • the application program used by the workstations must also be updated so as to enable it to access the new version.
  • the old and new versions of the records may both be stored on the remote server 24 or one version may be stored on the remote server 24 and another version stored on another server computer connected to WAN 22. This enables the records to be accessed using both the old and new versions of the application program.
  • the directory assistance system 10 is also a computing system.
  • the computers include the workstations, the local server computer 20 and the remote server computer 24.
  • the hardware construction of each of these computers is conventional and includes a central processing unit, a store formed from a combination of read-only-memory, random-access-memory, hard disk storage and floppy disk storage, a keyboard, visual display unit and input and output ports.
  • an operating system and one or more application programs are held in the store and provide the desired functionality .
  • the various versions of the application program used by the workstation 1 6 are stored in the local server 20.
  • each workstation is arranged to download the various versions of the application program from the local server 20.
  • the local server 20 contains a record setting out the details of the user and the version or versions of the application program which that user is permitted to use.
  • Several sets of data records are also stored on the local server 20. Each of these sets of records is designed to assist the users of the workstations in answering enquiry calls.
  • One of these sets of data is a set of locality records.
  • a caller When making an enquiry for the telephone number of a customer of the PSTN 1 2, a caller will sometimes give incorrect information with regard to the locality of the customer. For example, rather than giving the correct town in which the customer is located, the caller may give the name of a nearby town.
  • the purpose of the locality records is to enable a user of a workstation to extend the search to neighbouring areas.
  • the fields of a typical locality record are shown in Figure 2. As may be seen, these records include a field 40 for a town, a field 41 for the nearest town to the town entered in field 40, a field 42 for the next nearest town and a field 42 for the county in which the town is located.
  • the user accesses the record for the town given by the caller. The user may then use the data in the record to extend the search to the nearest town, the next nearest town or to the county in which that town is located.
  • each locality record has a field 50 for a town, a field 51 for the nearest town, a field 52 for the next nearest town, a field 53 for the county in which the town is located and a field 54 for the nearest county.
  • the structure shown in Figure 3 includes an additional field, namely the field 54, for the nearest county.
  • each set of data records stored in the local server computer 20 has an associated data access component. A copy of this data access component is loaded into each workstation which accesses those data records.
  • an application program installed on a workstation does not access a set of data records stored in the local server computer 20 directly. Instead, it accesses the data records via the associated data access component.
  • the associated data access component is modified.
  • the data access component is modified so that both the existing version of the application program and the modified version of the application program will be able to access the data records with the modified structure via the modified data access component.
  • the existing version of the application program accesses the data records, it will not be able to take advantage of any extra features, for example an extra field, in the modified structure of the data records .
  • the modified version of the application program will be able to take advantage of any additional features.
  • the invention when the structure of a set of data records is modified, it is necessary initially only to modify the data access component and not the whole application program itself .
  • the invention also provides the advantage that the data records for the new structure can be used with both the existing and modified versions of the application program. This allow the users of the application program to continue using the data records while they are being trained in the use of the modified version of the application program.
  • each of the workstations such as the workstation 1 6, of the directory assistance system 1 0.
  • these components include an operating system 60, a control program 61 , application programs 62 and a set of data access components 63.
  • the main function of the control program 61 is to download the current versions from the local server computer 20 and to delete any version which is no longer in use.
  • each data access component is associated with a set of data records stored on the local server 20.
  • FIG. 5 there is shown a flow chart illustrating the operation of one of the workstations.
  • the control program obtains a list of available versions of the main application program from the server computer.
  • the main application program is the program which is used for answering enquiries from calling parties. All further references in this description to the application program are to be understood as references to this main application program.
  • control program obtains a list of the versions of the application program installed on the workstation. Then, in a step 73, any version of the application program which is no longer available is removed by deleting from the store of the workstation.
  • control program downloads from the server computer any available versions of the application program which are not currently installed on the workstation. Then, in a step 75 , the current versions of the data access components are downloaded from the server computer and stored in the workstation.
  • the control program starts-up the last used version of the application program.
  • the last used version of application program is the version of the application which has been most recently used on the workstation.
  • the application program itself in a step 77, then obtains the data record for the present user of the workstation from the server computer.
  • the user record specifies the version or versions which the user is permitted to use.
  • the user selects the required version of the application program. If the user is permitted to use more than one version of the application program, the user makes a selection based on the user's present requirements. For example, the user may use one version for answering enquiries and another version for training.
  • step 79 the application program checks whether the required version is running. If the required version is running, a jump is made to step 80. If the required version is not running, in steps 81 and 82, the control program shuts shown the version of the application program which is currently running and then starts up the required version. This is followed by step 80.
  • step 80 the user uses the application program either for training or for answering enquiries from calling parties.
  • FIG 6 there is shown the arrangement of version 1 .0 of the application program, two data access components dmd and dmc2 and two data sets A and B.
  • the data access components dmd and dmc2 provide access to the data sets A and B, respectively, as indicated by arrows 90 and 91 .
  • the interfaces between the application program and data management components dmd and dmc2 are provided, respectively, by interfaces iDmc l and iDmc2. These interfaces are provided by portions of code in the application program and the data management components.
  • Each of the data management components dmd and dmc2 is constructed so as to provide server functionality and each of these data management components is arranged to respond to queries from the application program.
  • the data access component dmd receives a query from the application program across the interface iDm
  • the data access component dmd accesses the data set A to obtain the required information.
  • the data access component dmd sends a response across the interface iDmd to the application program.
  • the data sets A and B are, as explained above, stored in the local server computer 20.
  • FIG. 7 there is shown a modification to the arrangement of Figure 6.
  • the data set A has been replaced by a modified data set A_v2 and the data access component dmd has been replaced by a modified data access component dmd _v2.
  • the structure of the data set A_v2 has been modified, for example by adding an extra field to each record.
  • the modified data access component dmc1 _v2 is arranged to access the modified data set A_v2.
  • the data access component dmd _v2 presents the same interface iDmd to the application program as that presented by the original data access component dmd .
  • the modified .data access component dmc1 _v2 can respond to queries received across the interface iDmd .
  • the application program is still version 1 .0 of the application program, it cannot take advantage of the extra functionality provided by the modification to the structure of the data set. It should be noted that no change has been necessary to the application program itself and that only the data access component has been modified.
  • FIG. 8 there are shown two modifications to the arrangement of Figure 6.
  • the data set B has been replaced by a modified data set B_v2 and the data management component dmc2 has been replaced by a modified data management component dmc2_v2.
  • the structure of the data set B_v2 has been modified, for example by adding an additional field.
  • the arrangement of Figure 8 uses version 1 .0 of the application program whereas the arrangement shown in Figure 9 uses version 2.0 of the application program.
  • version 2.0 is designed to produce queries designed for the modified data set B_v2 and thus to take advantage of the additional functionality which is present in modified data set B_v2.
  • the modified data access component dmc2_v2 is designed to present the interface iDmc2 to version 1 .0 of the application program and to present a modified interface iDmc2_2 to version 2.0 of the application program.
  • the interface iDmc2 is indicated by arrows joined by a solid line in Figure 8 but by arrows joined by a dotted line in Figure 9.
  • the modified interface iDmc2_2 is indicated by arrows joined by a dotted line in Figure 8 and a solid line in Figure 9.
  • FIG. 10 there is shown an application program, two upper level data management components dmc3 and dmc4, two lower level data access components dmc3x and dmc3y and three data sets X, Y and Z.
  • the data sets X, Y and Z are stored in the local server computer 20.
  • the data access components dmc3 and dmc4 present, respectively, interfaces iDmc3 and iDmc4 to the application program.
  • the data access component dmc4 is arranged to respond to queries from the application program received on the interface iDmc4 and directed to the data set Z.
  • the data access component dmc3 has an interface to each of the lower level data access components dmc3x and dmc3y.
  • the lower level data access component dmc3x is arranged to access data set X and the lower level data access component dmc3y is arranged to access the data set Y.
  • the data access components dmc3, dmc3x and dmc3y are arranged to respond to queries received on the interface iDmc3 and directed to either data set X or data set Y.
  • Each data access component is formed from a number of software objects. Specifically, each data access component includes an individual software object for each interface provided by that data access component and a software object for accessing the associate data set.
  • the software objects which form the data access component dmc2_v2 include two software objects CDmc2 and CDmc2_2 which, respectively, provide the interfaces iDmc2 and iDmc2_2.
  • the data access component dmc2_v2 also includes a software object CDsetB_v2 for accessing the data set B_v2.
  • the software object CDsetB_v2 can receive messages from, and transmit messages to, each of the software object CDmc2 and CDmc2_2.
  • Each application program includes a set of software objects which generate messages to, and receive messages from, the interface objects in the associated data access components.
  • each of the software objects functions as a client object.
  • Figure 10 shows a client software object Client ⁇ bj ' 1 which can send messages to, and receive messages from, the interface object CDmc2 across the interface iDmc2.
  • the individual software objects collectively provide the methods which are needed for performing searches on the associated data set and for retrieving items of data for use by an application program.
  • the data set associated with the data access component is private to the software objects of that data access component in the sense that it can only be accessed by these software objects.
  • the data set is thus encapsulated by the software objects of the associated data access component.
  • the concept of encapsulation is well known in object oriented design.
  • the individual software objects may be formed from a group of subsidiary objects.
  • the invention finds application with Mobile -IP (Internet Protocol) terminals (which may be mobile phones, PDAs, laptop computers or the like), WAP terminals (which again may be mobile phones or more sophisticated devices) and similar devices.
  • Mobile -IP Internet Protocol
  • WAP terminals which again may be mobile phones or more sophisticated devices
  • Such terminals would typically provide a client computer of a client server system.
  • the invention (in particular, the data access component ) will typically be embodied in software and, as such, the invention extends to a data carrier or data carriers (magnetic tapes or discs, memory sticks, optical discs or other data carriers) carrying such software.
  • the software may be transferred over a data link.
  • this invention has been described with reference to a computing systems formed from several computers, it is to appreciated that it is also suitable for use on a computing system formed from a single computer. Where the invention is used with a computing system formed from a single computer, then the application program or programs, data access component or components and the associated data set or sets are all stored on the single computer.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A computing system includes an application program and two data access components dmc1 and dmc2 loaded on to a client computer. The data access components dmc1 and dmc2 provide access to data sets A and B stored on a server computer. Each data access component is arranged to handle a data query from the application program directed to its associated data set. If the structure of one of the data sets is changed, for example to add a new field, then the associated data access component is also modified. The modification to the data access component permits it to handle queries from the present version of the application program directed to the data set but designed for the data set before the change in its structure. The modification to the data access component also enables it to handle queries directed to the data set with the changed structure from an updated application program which is designed to take advantage of the new structure of the data set.

Description

COMPUTER SYSTEM
This invention relates to a computer system.
As is well known, a computer system may include an application program installed and loaded on to the computer system and which is capable of accessing one or more data sets stored on the computing system. As is well known, an application program may be updated from time to time to produce a new version with additional functionality. Thus, it is quite usual to produce a series of versions of a particular application program. The structure of a data set may also be updated from time to time, for example by adding one or more additional fields. With presently known computing systems, when the structure of a data set is updated, it is necessary to produce an updated version of the associated application program in order to enable it to access the data set. Some users of the application program may not wish to suffer the inconvenience of obtaining an updated version. Also, after a new version of an application program has been produced, the users of it will have to be trained how to use it and so there will be a period during which some users will want to continue using the previous version of the application program.
According to one aspect of this invention there is provided a computer system including a version of an application program stored in said computer system, at least one data access component stored in said computer system, the or each data access component being associated with a set of data stored in said computer system, the or each data access component being arranged to received a data query from said version of said application program, access its associated data set in response to said query, and transmit a reply to said version of said application program, and one of said data access components being arranged to access its associated data set both to respond to a query designed for the present version of the structure of its associated set and also to respond to a query designed for an earlier version of the structure of its associated data set.
In this specification, the term "data set" is intended to refer to a set of functionally related data records which are accessed together as a unit.
With this invention, when the structure of a data set is updated, it is only necessary initially to produce an updated version of the associated data access component and not the associated application program. After the updated version of the data access component has been installed on the computer system, the present version of the application program will be able to access the data set in the new structural version . Also, when an updated version of the application program is produced and installed on a computer, this will also be able to access the data set in the new structural version.
The or each data set may comprise a set of records, each of which has a set of fields, and the difference between the present and earlier versions of the structure of the data set associated with said one data access component is that the records of the present version of the structure of the data set include at least one additional field.
Preferably, each data access component comprises at least one software object, and said one data access component comprises at least two software objects, one of which is arranged to respond to a query designed for the present version of the structure of its associated data set, and the other of which is designed to respond to a query designed for the earlier version of the structure of its associated data set.
The computer system may include a client computer, a server computer and a communications network arranged to connect the client computer and server computer, said version of said application program and said at least one data access component being stored on said client computer, and said data sets being stored on said server computer.
There may be a plurality of versions of said application program stored on said server computer, said client computer being arranged to download one or more versions of said versions application program from said server computer for use on said client computer. Said at least one data access component may be stored on said server computer, and said client computer may be arranged to download said at least one data access component from said server computer for use on said client computer.
When operating the computer system, preferably a version of the application program and said at least one data access component are downloaded in separate operations.
According to another aspect of this invention there is provided a method of operating a computer system, said computer system including a version of an application program stored in said computer system, at least one data access component stored in said computer system, the or each data access component being associated with a set of data stored in said computer system, the or each data access component being arranged to receive a data query from said version of said application program, access its associated data set in response to said query, and transmit a reply to said version of said application program, said method comprising the steps of changing the structure of one of said data sets, and modifying the data access component associated with said one data set, the modification to said data access component permitting it to handle queries from the present version of the application program directed to said one data set but designed for the data set before the change in its structure.
This invention will now be described in more detail, by way of example, with reference to the drawings in which:
Figure 1 is a block diagram of a directory assistance system for a telecommunications network embodying this invention; Figure 2 shows the structure of the records of a data set used by the system of Figure 1 ;
Figure 3 shows an updated version of the structure for the records shown in Figure 2;
Figure 4 shows the software components of a workstation forming part of the directory assistance system of Figure 1 ;
Figure 5 is a flow chart illustrating the operation of the workstation; each of Figures 6 to 1 0 is a functional block diagram showing an application program and associated data access components which may be installed in the workstation together with their interaction with data sets which may be stored in a server computer forming part of the directory assistance system of Figure 1 ; and
Figure 1 1 is a block diagram illustrating the construction of a data access component.
Referring now to Figure 1 , there is shown a directory assistance system 10 for a public switched telecommunications network (PSTN) 1 2. The directory assistance system 1 0 includes a switch 14 connected to the PSTN 1 2 and which distributes incoming calls to a set of workstations used by directory assistance operators. One of these workstations is shown and indicated by reference numeral 1 6. The workstations, including workstation 1 6, are connected to a local area network (LAN) 1 8. LAN 1 8 is connected to a local server computer 20, the purpose of which will be described in more detail below. LAN 1 8 is also connected to a router 21 which in turn is connected to a wide area network (WAN) 22. WAN 22 is connected to a remote server computer 24. The remote server computer 24 stores a large set of records, each of which contains details of one of the customers of the PSTN 1 2. In each record, the details include the name, address and telephone number of the customer.
The workstation 1 6 and other workstations connected to the switch 14, the LAN 1 8, the local server computer 20 and the router 21 are co-located in the same physical site. The remote server computer 24 also serves workstations located at other sites.
Each of the workstations, including workstation 1 6, has an application program which can perform a search on the records stored in the remote server computer 24 to retrieve the telephone number of a customer of PSTN 1 2 in response to an enquiry from a caller. When performing a search, the user or operator enters the name of the customer on the workstation 1 6 and usually other details such as the initials of the customer, the town where the customer is located or part or all of the address of the customer. As will be described below, the user can also be assisted by accessing records stored in the local server 20. From time to time, the format or structure of the records stored in the remote server 24 may be updated to produce a new version. When a new version is produced, the application program used by the workstations must also be updated so as to enable it to access the new version. For a transitional period, the old and new versions of the records may both be stored on the remote server 24 or one version may be stored on the remote server 24 and another version stored on another server computer connected to WAN 22. This enables the records to be accessed using both the old and new versions of the application program.
As may be readily appreciated, the directory assistance system 10 is also a computing system. The computers include the workstations, the local server computer 20 and the remote server computer 24. The hardware construction of each of these computers is conventional and includes a central processing unit, a store formed from a combination of read-only-memory, random-access-memory, hard disk storage and floppy disk storage, a keyboard, visual display unit and input and output ports. In each of the computers, an operating system and one or more application programs are held in the store and provide the desired functionality .
The various versions of the application program used by the workstation 1 6 are stored in the local server 20. As will be described in more detail below, each workstation is arranged to download the various versions of the application program from the local server 20. For each user of the workstations, the local server 20 contains a record setting out the details of the user and the version or versions of the application program which that user is permitted to use. Several sets of data records are also stored on the local server 20. Each of these sets of records is designed to assist the users of the workstations in answering enquiry calls.
One of these sets of data is a set of locality records. When making an enquiry for the telephone number of a customer of the PSTN 1 2, a caller will sometimes give incorrect information with regard to the locality of the customer. For example, rather than giving the correct town in which the customer is located, the caller may give the name of a nearby town. The purpose of the locality records is to enable a user of a workstation to extend the search to neighbouring areas. The fields of a typical locality record are shown in Figure 2. As may be seen, these records include a field 40 for a town, a field 41 for the nearest town to the town entered in field 40, a field 42 for the next nearest town and a field 42 for the county in which the town is located. Thus, when using this set of records, the user accesses the record for the town given by the caller. The user may then use the data in the record to extend the search to the nearest town, the next nearest town or to the county in which that town is located.
In the system of Figure 1 , it may be desired to change the structural format of one of the sets of data records. For example, the structure of one of the sets of data records could be changed by adding an additional field. Referring to Figure 3, there is shown a modified structure for the set of locality records. In the structure shown in Figure 3, each locality record has a field 50 for a town, a field 51 for the nearest town, a field 52 for the next nearest town, a field 53 for the county in which the town is located and a field 54 for the nearest county. Thus, in comparison with the structure shown in Figure 2, the structure shown in Figure 3 includes an additional field, namely the field 54, for the nearest county. When the structure of a set of data records is modified, for example as illustrated with reference to Figures 2 and 3, then the application program which is used to access those data records must be updated to take advantage of the modification. Also, in the absence of the present invention, the application program would have to be updated even to access data records arranged in the new structure. In this invention, and as will be described in more detail below, each set of data records stored in the local server computer 20 has an associated data access component. A copy of this data access component is loaded into each workstation which accesses those data records. In use, an application program installed on a workstation does not access a set of data records stored in the local server computer 20 directly. Instead, it accesses the data records via the associated data access component.
With the invention, when the structure of a set of data records is changed, then the associated data access component is modified. The data access component is modified so that both the existing version of the application program and the modified version of the application program will be able to access the data records with the modified structure via the modified data access component. When the existing version of the application program accesses the data records, it will not be able to take advantage of any extra features, for example an extra field, in the modified structure of the data records . In contrast, the modified version of the application program will be able to take advantage of any additional features.
Thus, with the invention, when the structure of a set of data records is modified, it is necessary initially only to modify the data access component and not the whole application program itself . The invention also provides the advantage that the data records for the new structure can be used with both the existing and modified versions of the application program. This allow the users of the application program to continue using the data records while they are being trained in the use of the modified version of the application program.
Referring now to Figure 4, there are shown the main software components installed into each of the workstations, such as the workstation 1 6, of the directory assistance system 1 0. As shown in Figure 4, these components include an operating system 60, a control program 61 , application programs 62 and a set of data access components 63. Normally, a complete set of the current versions of the main application program are loaded into each of the workstations. The main function of the control program 61 is to download the current versions from the local server computer 20 and to delete any version which is no longer in use. As explained above, each data access component is associated with a set of data records stored on the local server 20.
Referring now to Figure 5 , there is shown a flow chart illustrating the operation of one of the workstations.
Initially, in a step 70, the control program obtains a list of available versions of the main application program from the server computer. The main application program is the program which is used for answering enquiries from calling parties. All further references in this description to the application program are to be understood as references to this main application program.
Next, in a step 72, the control program obtains a list of the versions of the application program installed on the workstation. Then, in a step 73, any version of the application program which is no longer available is removed by deleting from the store of the workstation.
Next, in a step 74, the control program downloads from the server computer any available versions of the application program which are not currently installed on the workstation. Then, in a step 75 , the current versions of the data access components are downloaded from the server computer and stored in the workstation.
These current versions replace any previous versions stored in the workstation.
In a step 76, the control program starts-up the last used version of the application program. The last used version of application program is the version of the application which has been most recently used on the workstation. The application program itself, in a step 77, then obtains the data record for the present user of the workstation from the server computer. The user record specifies the version or versions which the user is permitted to use. In a step 78, the user then selects the required version of the application program. If the user is permitted to use more than one version of the application program, the user makes a selection based on the user's present requirements. For example, the user may use one version for answering enquiries and another version for training.
In a step 79, the application program checks whether the required version is running. If the required version is running, a jump is made to step 80. If the required version is not running, in steps 81 and 82, the control program shuts shown the version of the application program which is currently running and then starts up the required version. This is followed by step 80. In step 80, the user uses the application program either for training or for answering enquiries from calling parties. Referring now to Figure 6, there is shown the arrangement of version 1 .0 of the application program, two data access components dmd and dmc2 and two data sets A and B. The data access components dmd and dmc2 provide access to the data sets A and B, respectively, as indicated by arrows 90 and 91 . The interfaces between the application program and data management components dmd and dmc2 are provided, respectively, by interfaces iDmc l and iDmc2. These interfaces are provided by portions of code in the application program and the data management components.
Each of the data management components dmd and dmc2 is constructed so as to provide server functionality and each of these data management components is arranged to respond to queries from the application program. Thus, for example, when the data access component dmd receives a query from the application program across the interface iDm , the data access component dmd accesses the data set A to obtain the required information. After obtaining the required information, the data access component dmd sends a response across the interface iDmd to the application program. The data sets A and B are, as explained above, stored in the local server computer 20.
Referring now to Figure 7, there is shown a modification to the arrangement of Figure 6. In this modification, the data set A has been replaced by a modified data set A_v2 and the data access component dmd has been replaced by a modified data access component dmd _v2. In comparison with the data set A, the structure of the data set A_v2 has been modified, for example by adding an extra field to each record. The modified data access component dmc1 _v2 is arranged to access the modified data set A_v2. However, the data access component dmd _v2 presents the same interface iDmd to the application program as that presented by the original data access component dmd . Thus, the modified .data access component dmc1 _v2 can respond to queries received across the interface iDmd . However, as the application program is still version 1 .0 of the application program, it cannot take advantage of the extra functionality provided by the modification to the structure of the data set. It should be noted that no change has been necessary to the application program itself and that only the data access component has been modified.
Referring now to Figures 8 and 9, there are shown two modifications to the arrangement of Figure 6. In each of these arrangements, the data set B has been replaced by a modified data set B_v2 and the data management component dmc2 has been replaced by a modified data management component dmc2_v2. In comparison with the data set B shown in Figure 6, the structure of the data set B_v2 has been modified, for example by adding an additional field. The arrangement of Figure 8 uses version 1 .0 of the application program whereas the arrangement shown in Figure 9 uses version 2.0 of the application program. In comparison with version 1 .0 of the application program, version 2.0 is designed to produce queries designed for the modified data set B_v2 and thus to take advantage of the additional functionality which is present in modified data set B_v2.
The modified data access component dmc2_v2 is designed to present the interface iDmc2 to version 1 .0 of the application program and to present a modified interface iDmc2_2 to version 2.0 of the application program. For this reason, the interface iDmc2 is indicated by arrows joined by a solid line in Figure 8 but by arrows joined by a dotted line in Figure 9. Likewise, the modified interface iDmc2_2 is indicated by arrows joined by a dotted line in Figure 8 and a solid line in Figure 9. When the modified data access component dmc2_v2 is used with version 1 .0 of the application program, it receives and responds to queries over the interface iDmc2. When it is used with version 2.0 of the application program, it receives and responds to queries over the modified interface iDmc2_2.
As will be described with reference to Figure 1 0, it is possible to arrange data access components so that a single interface to an application program can be used for making queries to two or more data sets.
Referring now to Figure 10, there is shown an application program, two upper level data management components dmc3 and dmc4, two lower level data access components dmc3x and dmc3y and three data sets X, Y and Z. The data sets X, Y and Z are stored in the local server computer 20.
The data access components dmc3 and dmc4 present, respectively, interfaces iDmc3 and iDmc4 to the application program. The data access component dmc4 is arranged to respond to queries from the application program received on the interface iDmc4 and directed to the data set Z.
The data access component dmc3 has an interface to each of the lower level data access components dmc3x and dmc3y. The lower level data access component dmc3x is arranged to access data set X and the lower level data access component dmc3y is arranged to access the data set Y. Collectively, the data access components dmc3, dmc3x and dmc3y are arranged to respond to queries received on the interface iDmc3 and directed to either data set X or data set Y.
In a similar manner to that described with reference to Figures 6 to 9, if the structure of one of the data sets X, Y and Z is modified, then the associated data access component is modified accordingly. Thus, for example, if the structure of data set X is modified, then data access component dmc3x is modified.
Each data access component is formed from a number of software objects. Specifically, each data access component includes an individual software object for each interface provided by that data access component and a software object for accessing the associate data set.
Referring now to Figure 1 1 , there are shown the software objects which form the data access component dmc2_v2. These software objects include two software objects CDmc2 and CDmc2_2 which, respectively, provide the interfaces iDmc2 and iDmc2_2. The data access component dmc2_v2 also includes a software object CDsetB_v2 for accessing the data set B_v2. The software object CDsetB_v2 can receive messages from, and transmit messages to, each of the software object CDmc2 and CDmc2_2.
Each application program includes a set of software objects which generate messages to, and receive messages from, the interface objects in the associated data access components. In relation to a data access component, each of the software objects functions as a client object. By way of example, Figure 10 shows a client software object Clientθbj'1 which can send messages to, and receive messages from, the interface object CDmc2 across the interface iDmc2. In each data access component, the individual software objects collectively provide the methods which are needed for performing searches on the associated data set and for retrieving items of data for use by an application program. The data set associated with the data access component is private to the software objects of that data access component in the sense that it can only be accessed by these software objects. The data set is thus encapsulated by the software objects of the associated data access component. The concept of encapsulation is well known in object oriented design. In each data access component, the individual software objects may be formed from a group of subsidiary objects.
Although this invention has been described with reference to a directory enquiry system, it is to be appreciated that it is suitable for general use in computing systems. The invention is equally applicable to systems in which the communications link between the client and server computers includes a radio link. For example, the invention finds application with Mobile -IP (Internet Protocol) terminals (which may be mobile phones, PDAs, laptop computers or the like), WAP terminals ( which again may be mobile phones or more sophisticated devices) and similar devices. Such terminals would typically provide a client computer of a client server system.
The invention (in particular, the data access component ) will typically be embodied in software and, as such, the invention extends to a data carrier or data carriers (magnetic tapes or discs, memory sticks, optical discs or other data carriers) carrying such software. The software may be transferred over a data link. Although this invention has been described with reference to a computing systems formed from several computers, it is to appreciated that it is also suitable for use on a computing system formed from a single computer. Where the invention is used with a computing system formed from a single computer, then the application program or programs, data access component or components and the associated data set or sets are all stored on the single computer.

Claims

1 . A computer system including: a version of an application program stored in said computer system; at least one data access component stored in said computer system, the or each data access component being associated with a set of data stored in said computer system; the or each data access component being arranged to receive a data query from said version of said application program, access its associated data set in response to said query, and transmit a reply to said version of said application program; and one of said data access components being arranged to access its associated data set both to respond to a query designed for the present version of the structure of its associated data set and also to respond to a query designed for an earlier version of the structure of its associated data set.
2. A computer system as claimed in claim 1 , in which the or each data set comprises a set of records each of which has a set of fields, and the difference between the present and earlier versions of the structure of the data set associated with said one data access component is that the records of the present version include at least one additional field.
3. A computer system as claimed in any one of the preceding claims, in which each data access component comprises at least one software object, and said one data access component comprises at least two software objects, one of which is arranged to respond to a query designed for the present version of the structure of its associated data set and the other of which is arranged to respond to a query designed for the earlier version of the structure of it associated data set.
4. A computer system as claimed in any one of the preceding claims, in which: the computer system includes a client computer, a server computer and a communications network arranged to connect the client computer to the server computer; and said version of said application program and said at least one data access component are stored on said client computer; and said data sets are stored in said server computer.
5. A computer system as claimed in claim 4, in which a plurality of versions of said application program are stored on said server computer, and said client computer is arranged to download one or more of said versions of said application program from said server computer for use on said client computer.
6. A computer system as claimed in claim 5, in which said at least one data access component is stored on said server computer, and said client computer is arranged to download said at least one data access component from said server computer for use on said client computer.
7. A computer system as claimed in any one of claims 4 to 6, wherein the client computer is a mobile phone, WAP terminal or mobile-IP terminal and the communications network includes a radio transmission system over which data connections can be made between the client computer and the server computer.
8. A method of operating the computer system of claim 6, in which at least one version of the application program and said at least one data access component are downloaded from the server computer in separate operations.
9. A method of operating a computer system, said computer system including a version of an application program stored in said computer system, at least one data access component stored in said computer system, the or each data access component being associated with a set of data stored in said computer system, the or each data access component being arranged to receive a data query from said version of said application program, access its associated data set in response to said query, and transmit a reply to said version of said application program, said method comprising the steps of: changing the structure of one of said data sets; and modifying the data access component associated with said one data set; the modification to said data access component permitting it to handle queries from the present version of the application program directed to said one data set but designed for the data set before the change in its structure.
PCT/GB2000/000980 1999-03-26 2000-03-16 Computer system WO2000058864A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
GB0124965A GB2363656A (en) 1999-03-26 2000-03-16 Computer system
AU31819/00A AU3181900A (en) 1999-03-26 2000-03-16 Computer system

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GBGB9907090.6A GB9907090D0 (en) 1999-03-26 1999-03-26 Computer system
GB9907090.6 1999-03-26
EP99305539 1999-12-20
EP99305539.1 1999-12-20

Publications (1)

Publication Number Publication Date
WO2000058864A1 true WO2000058864A1 (en) 2000-10-05

Family

ID=26153535

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2000/000980 WO2000058864A1 (en) 1999-03-26 2000-03-16 Computer system

Country Status (3)

Country Link
AU (1) AU3181900A (en)
GB (1) GB2363656A (en)
WO (1) WO2000058864A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0757313A1 (en) * 1995-08-01 1997-02-05 Intergraph Corporation System for adding attributes to an object at run time in an object oriented computer environment
WO1997031498A2 (en) * 1996-02-20 1997-08-28 Telecom Finland Oy System and method for transmitting data
US5732275A (en) * 1996-01-11 1998-03-24 Apple Computer, Inc. Method and apparatus for managing and automatically updating software programs
EP0838771A2 (en) * 1996-10-25 1998-04-29 Navigation Technologies Corporation Interface layer for navigation system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0757313A1 (en) * 1995-08-01 1997-02-05 Intergraph Corporation System for adding attributes to an object at run time in an object oriented computer environment
US5732275A (en) * 1996-01-11 1998-03-24 Apple Computer, Inc. Method and apparatus for managing and automatically updating software programs
WO1997031498A2 (en) * 1996-02-20 1997-08-28 Telecom Finland Oy System and method for transmitting data
EP0838771A2 (en) * 1996-10-25 1998-04-29 Navigation Technologies Corporation Interface layer for navigation system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"The Component Object Model Specification, version 0.9, 24 October 1995 (1995-10-24), Microsoft Corp. *

Also Published As

Publication number Publication date
GB0124965D0 (en) 2001-12-05
AU3181900A (en) 2000-10-16
GB2363656A (en) 2002-01-02

Similar Documents

Publication Publication Date Title
US6031904A (en) Service order mechanism for telephone subscriber
US6101505A (en) Method of managing files of a portable information terminal according to available memory
CN1097791C (en) System and method for automatic configuration of home network computers
US7319865B2 (en) Wireless portable information storage and retrieval device
US5943410A (en) Automated calling of multiple numbers using directory assistance
US5802526A (en) System and method for graphically displaying and navigating through an interactive voice response menu
US5768362A (en) Multiple field entry telephone directory for a cellular telephone
EP1238530B1 (en) System for storing and supplying wireless contacts information
US20090116631A1 (en) Universal Call Control Systems and Methods
WO1997024862A9 (en) Method and system for telecommunications language support
US20040229644A1 (en) Method and apparatus for changing phone number information in an electronic phonebook
US6643363B1 (en) Telephone number relocation guidance system
US20050021767A1 (en) Keeping persistency while switching between modalities
WO2003010686A2 (en) Accessing information content
US6226516B1 (en) Method for invoking dynamically modifiable subscriber services and an intelligent telecommunication network incorporating the same
US20050130635A1 (en) Method of determining the technical address of a communication partner and telecommunications apparatus
CN101820431A (en) Communication client side and communication service initiation method
US20030234815A1 (en) Controlling a user interface
US7676222B1 (en) Home and roaming provisioning method for mobile terminals
US7526277B2 (en) Wireless paging directory assistant
US8559415B2 (en) Method and apparatus for facilitating telecommunication network selection
US6795537B1 (en) Method for updating a database using a telephone
WO2000058864A1 (en) Computer system
CN1951094B (en) User interface methods, such as for customer self-support on a mobile device
KR20050043592A (en) The method, the program and the device of supporting operator portability and service portability for mobile telephone user

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 09914289

Country of ref document: US

ENP Entry into the national phase

Ref country code: GB

Ref document number: 200124965

Kind code of ref document: A

Format of ref document f/p: F

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase