# US 8,788,569 B2 · Server computer system running versions of an application simultaneously

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,788,569 B2
- Document ID: US8788569B2
- Status: Granted
- Kind: B2
- Application number: 12/295,397
- Filed: 2007-04-02
- Published: 2009-12-03
- Granted: 2014-07-22
- Earliest claimed: 2006-03-31
- Assignees: British Telecommunications public limited company
- Applicants: Tim Griffiths; Gavin Willingham; Paul M Robson
- Inventors: Tim Griffiths; Gavin Willingham; Paul M Robson
- Web page: https://patentgrep.com/patent/US8788569B2

## CPC

- G06F 9/5055: {considering software capabilities, i.e. software resources associated or available to the machine}
- G06F 2209/5018: Thread allocation
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A server computer system comprising: means for permitting a first and a second version of a component or application to run on the server computer system simultaneously; means for identifying one of the versions as currently applicable and the other as not currently applicable; and means for connecting a requesting client to the currently applicable version in response to a request by the client to access the component or application.

## Claims

### Claim 1

A server computer system comprising:
a server computer running a first and a second version of a component or application simultaneously, the component or application including a class;
an extractor adapted to extract class data for the class from a received object permitting the creation of an object of the class;
a non-transitory storage medium adapted to store said class data;
an indexer adapted to index the class data with reference to an origin of received object;
a receiver for receiving generic requests from a requesting client for the component or application including the class to perform a function, the generic request being non-specific to a version of the component or application;
a version identifier operable to identify one of the versions of the component or application including the class as a currently applicable version; and
a connection module operable to connect the requesting client to the currently applicable version of the component or application including the class to process the request; wherein
the version identifier includes a non-transitory storage medium storing an association between a generic name of the component or application including the class and the currently applicable version of the component or application including the class.

### Claim 2 (depends on 1)

A system according to claim 1 further operable to provide a version specific identity to a newly received component or application automatically and to provide the version specific identity to clients in response to receiving a generic request for the newly received component or application whilst a generic name is advertised more widely to clients who might wish to use the component or application.

### Claim 3 (depends on 1)

A system according to claim 1 further comprising means for receiving an updated version of a component or application running on the server computer system, means for automatically assigning a version specific identity to the received updated version, and means for changing an association with a generic name of the component or application from the running version to the updated version.

### Claim 4 (depends on 3)

A system according to claim 3 further comprising means for automatically reverting the association of the generic name back to the non-updated version in the event that a predetermined condition or conditions are satisfied.

### Claim 5 (depends on 3)

A system according to claim 3 further comprising means for receiving additional supporting data for use with the updated version and storing this in association with the updated version in addition to the corresponding data stored in association with the running version.

### Claim 6 (depends on 1)

A system according to claim 1 further including an object persistence manager comprising receiving means for receiving an object identified as having data which is to be persisted;
mapping means for generating a mapping between the data associated with the object and a table or set of tables in an underlying data store; and
processing means for storing the associated data in the underlying database in accordance with the mapping generated by the mapping means.

### Claim 7

A method of operating a server computer system including a server computer the method comprising:
running, on the server computer system including the server computer, a first and a second version of a component or application simultaneously, the component or application including a class;
extracting class data for the class from a received object permitting the creation of an object of the class;
storing the class data;
indexing the class data with reference to an origin of the received object;
receiving a generic request from a requesting client for the component or application including the class to perform a function, the generic request being non-specific to a version of the component or application including the class;
identifying one of the versions as a currently applicable version of the component or application including the class; and
connecting the requesting client to the currently applicable version of the component or application including the class to process the request; wherein
the identifying step includes storing an association between a generic name of the component or application including the class and the currently applicable version of the component or application including the class.

### Claim 8 (depends on 7)

A method according to claim 7 further comprising providing a version specific identity to a newly received component or application automatically and providing the version specific identity to clients in response to receiving a generic request for the newly received component or application whilst a generic name is advertised more widely to clients who might wish to use the component or application.

### Claim 9 (depends on 7)

A method according to claim 7 further comprising receiving an updated version of a component or application running on the server computer system, automatically assigning a version specific identity to the received updated version, and changing an association with a generic name of the component or application from the running version to the updated version.

### Claim 10 (depends on 9)

A method according to claim 9 further comprising receiving additional supporting data for use with the updated version and storing this in association with the updated version in addition to the corresponding data stored in association with the running version.

### Claim 11 (depends on 7)

A method according to claim 7, further comprising receiving a first object identified as having data associated with the object which is to be persisted;
automatically generating a mapping between the data associated with the object and a table or set of tables in an underlying data store; and
storing the associated data in the underlying database in accordance with the generated mapping.

### Claim 12

A non-transitory computer-readable storage medium storing instructions which upon execution by a server computer system performs a method, the method comprising:
running a first and a second version of a component or application simultaneously, the component or application including a class;
extracting class data for the class from a received object permitting the creation of an object of the class;
storing the class data;
indexing the class data with reference to an origin of the received object;
receiving a generic request from a requesting client for the component or application including the class to perform a function, the generic request being non-specific to a version of the component or application including the class;
identifying one of the versions of the component or application including the class as a currently applicable version; and
connecting the requesting client to the currently applicable version of the component or application including the class to process the request; wherein
said identifying includes storing an association between a generic name of the component or application including the class and the currently applicable version of the component or application including the class.

### Claim 13 (depends on 12)

The non-transitory computer-readable storage medium according to claim 12, wherein the method further comprises providing a version specific identity to a newly received component or application automatically and providing the version specific identity to clients in response to receiving a generic request for the newly received component or application while a generic name is advertised more widely to clients who might wish to use the component or application.

### Claim 14 (depends on 12)

The non-transitory computer-readable storage medium according to claim 12 wherein the method further comprises receiving an updated version of a component or application running on the server computer system, automatically assigning a version specific identity to the received updated version, and changing an association with a generic name of the component or application from the running version to the updated version.

### Claim 15 (depends on 14)

The non-transitory computer-readable storage medium according to claim 14 wherein the method further comprises receiving additional supporting data for use with the updated version and storing this in association with the updated version in addition to the corresponding data stored in association with the running version.

### Claim 16 (depends on 12)

The non-transitory computer-readable storage medium according to claim 12, wherein the method further comprises:
receiving a first object identified as having data associated with the object which is to be persisted;
automatically generating a mapping between the data associated with the object and a table or set of tables in an underlying data store; and
storing the associated data in the underlying database in accordance with the generated mapping.
