Distributed processing

Data processing: software development – installation – and managem – Software program development tool – Translation of code

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

Reexamination Certificate

active

06216262

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to distributed processing, particularly but not exclusively distributed processing for control of a telecommunications network. More particularly, this invention is concerned with developing and updating the control systems implemented on the distributed processors, which are preferably (but not necessarily) processes implemented in an object-oriented fashion.
2. Related Art
Telecommunications networks are increasingly required to support high bandwidth, low delay information flow. The bandwidth required is rapidly progressing from kilobits per second to megabits per second and even, for some applications, gigabits per second (particularly, for example, for video on demand; animated shared simulations, and distributed computing).
To provide “intelligent network” facilitates such as call redirection to particular numbers, computer programs run on a number of host computers (up to 100, for example) connected with switching centres. The way in which services are to be provided for particular customers (for example, a particular number to which calls for a customer are to be routed) depends upon data stored in relation to that customer on the host computers. Thus, there may be many millions of subscriber records on tens or hundreds of host computers.
In “Twenty-twenty vision—software architectures for intelligence in the 21st century”, P. A. Martin, B T Technol J Vol 13 No. 2 Apr. 1995, the present inventor has proposed the use of object-oriented techniques to implement the distributed processing required.
A description of object oriented technology will be found in, for example, B T Technol J Vol. 11 No. 3 (July 1993), “Object oriented technology”, edited by E. L. Cusack and E. S. Cordingley. Although the term is not always used with precision, object oriented computing here refers to the computing technique in which data is stored in “encapsulated” form in which, rather than being directly accessible by a calling program or routine, the data is accessible only by a limited part of a program which can read, write and edit the data. A record of data and its associated computer code are referred to as an “object”. Communication to and from an object is generally by “message passing”; that is, a call to the object passes data values and invokes the operation of one of the programs comprised within the object, which then returns data values.
Various languages are available for programmers who wish to use the objected oriented approach. Of these, the commonest at present is C++.
Distributed processing differs from single processor operation in several respects. Firstly, different access techniques may be required depending on whether other programs or data are located on the same host computer as a calling program or on a different host computer. The location of a program or data will also affect the speed with which it can be reached from another program. Also, one or more host computers may fail whilst leaving others in operation.
Distributed computing is conventionally performed, by using a “client-server” arrangement in which a “client” program on one computer interrogates a “server” program on another computer which then performs the function or returns the data required by the client program.
Object oriented techniques have not widely been applied to distributed processing. A summary of the state of the art in this respect may be found in “Object oriented programming systems”; Blair G., Pitman Publishing, London, 1991 (ISBN 0-273-03132-5) and particularly in Chapter 9 at pages 223-243; Object-Oriented Languages, Systems and Applications; and David Hutchison and Jonathan Walpole. Previous attempts have generally added new syntax to an existing computer language, or have created new computer languages, to extend conventional object oriented programming to deal with distributed processing.
SUMMARY OF THE INVENTION
In one aspect, the present invention provides a compiler (or pre-compiler) for generating code for use in distributed processing on a plurality of host computers (for example for controlling telecommunications systems) which is arranged to receive a source program written in a computing language, and to amend the source program to adapt it from single processor execution to multiple processor execution.
Conveniently, this aspect of the invention comprises a pre-compiler which can then be used with a more conventional compiler, but it will be recognised that the functionality of the invention could be incorporated directly into a re-written compiler.
Thus, in this aspect, the invention conceals from the programmer the complexities of adapting the program to operate on many different processors, reducing the time required to produce an executable program.
Conveniently, the executable program produced by the invention is a single executable program which may be distributed to all processors of the distributed computing system in identical copies. This makes it easy to add new host processors to the distributed computing system.
In the present embodiments, the source program is in an object oriented language, and is preferably in C++. C++ provides additional problems in compilation for distributed environments, since it is intended for single processor compilation and different processes communicate via shared memory pointers, which cannot operate in a multi processor environment.
Preferably, the invention performs one or more the following steps:
location and replacement of local memory pointer with message transmission code;
location of function calls and addition of additional code to invoke the functions from received messages and to return function values via return messages; and
addition of a type model comprising data representing the data and control structure types represented in the original source program.
In another aspect, the invention provides a distributed computing system in which a plurality of objects (i.e. data readable and writable by its own code) are distributed across different host computers of the distributed computing system, in which each host computer is provided with a location list specifying the computers on which all the objects of the systems are located.
Thus, no central control point is necessary, which would otherwise provide a bottleneck to processing. Furthermore, since the location list may be the same on all host computers, new host computers can relatively easily be added by simply copying the location list from an existing host computer. Other aspects and embodiment of the invention are as described and claimed hereafter.


REFERENCES:
patent: 4714996 (1987-12-01), Gladney et al.
patent: 4853843 (1989-08-01), Ecklund
patent: 4864497 (1989-09-01), Lowry et al.
patent: 4974156 (1990-11-01), Harding et al.
patent: 5151987 (1992-09-01), Abraham et al.
patent: 5230069 (1993-07-01), Brelsford et al.
patent: 5303379 (1994-04-01), Khoyi et al.
patent: 5325524 (1994-06-01), Black et al.
patent: 5506984 (1996-04-01), Miller
patent: 5560005 (1996-09-01), Hoover et al.
patent: 5617568 (1997-04-01), Ault et al.
patent: 5655101 (1997-08-01), O'Farrell et al.
patent: 5737518 (1998-04-01), Grover et al.
patent: 5737556 (1998-04-01), Yasunaga
patent: 5758355 (1998-05-01), Buchanan
patent: 5761669 (1998-06-01), Montague et al.
patent: 5778222 (1998-07-01), Herrick et al.
patent: 5809495 (1998-09-01), Loaiza
patent: 5819283 (1998-10-01), Turkowski
patent: 5838970 (1998-11-01), Thomas
patent: 5930786 (1999-07-01), Carino, Jr. et al.
Weaver et al., Automatic Mapping and Load Balancing of Pointer-Based Dynamic Data Structures on Distributed Memory Machines, 1992, p.252-259.*
Sapaty, Peter, Mobile Processing in Open Systems, 1996, p. 182-191.*
Perret et al., Implementation of Map: A System for Mobile Assistant Programming, 1996, p. 116-121.

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Distributed processing does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Distributed processing, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Distributed processing will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2443962

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.