EP0405829A2

Object oriented software system architecture.

Abstract

In a telecommunication switching system the telecommunication software is implemented by means of independent software components referred to as objects. The objects communicate with each other by messages and symbolic names only. A runtime system includes a runtime linker which registers the systems components and records a data pointer to the components data. To communicate with another object, a source object transmits an executable expression, called a message, to the runtime system. The message includes the symbolic name and the identity of the method of the destination object. The runtime system serves only a single processor or group of objects and calls the destination object, by means of the identity of the method and the data pointer if the destination object is within the group of objects served by the runtime system. In the case a destination object is located on another processor, the runtime system will broadcast the message to other processors. In each of the receiving processors, the runtime system searches its linker table for the symbolic name of the destination object of the message and if found calls the destination object on the basis of the method identification in the message and the data pointer information in the runtime linker. Interprocessor messages include a source processor designation and the run system of each of the processors records the name of the source processor and the symbolic name of the source object when an interprocessor message is received. This table is consulted before broadcasting a message to a non-resident destination object and a direct processor-to-processor communication is established, instead of a broadcast, if the symbolic name of the destination object is recorded together with the corresponding processor identification, in the destination table.

EP0405829A2, drawing sheet 1
Sheet 1 of 20

Term

Term ended

Projected expiry passed 20 June 2010, 16.3 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

13 claims: 13 independent, 0 dependent

  1. 1
    A software system for controlling a processor system comprising a first program structure for generating a message including a symbolic name identifying a second program structure resident in said processor system at a real system address;and a linker structure including means for storing a table defining real system addresses in correspondence with symbolic names;aid linker structure responsive to said message generated by said first program structure to examine said table for said symbolic name and to forward said message to said second program structure at a real system address of the second program structure when said symbolic name is present in said table.
  2. 2
    A method for transferring messages between objects of an object oriented program system comprising the steps of:in an origination object, generating a message including a symbolic name of a destination object and method name;transmitting the message from the origination object to a linker object including a linker table of symbolic names and address pointers;by means of the linker object providing an address pointer corresponding to the symbolic name in the message;calling the method identified by the method name;and providing the corresponding address pointer to the called method.
  3. 3
    In a multiprocessor system comprising a plurality of processors, a method of transferring a message between software objects, comprising the steps of:including in the message a symbolic name of a method to be executed;adding a symbolic name of a destination object to the message;adding a symbolic name of a source object to the message;comparing in the originating processor the symbolic destination name with a list of symbolic names of local objects;providing the message to the designated local object in the originating processor at an address recorded in the table when a match of names is found in the comparing step;and transmitting the message to another processor of the multiprocessor system when no match is found in the comparing step.
  4. 4
    The method in accordance with claim 3, wherein the step of transmitting further comprises the steps of:comparing the destination object symbolic name with entries of a network address table containing symbolic object names and identities of processors son which the registered objects reside;transmitting the message to an identified address when the destination object symbolic name is registered in the network address table;and broadcasting the symbolic address to other processors when the destination object name is not registered in the network address table.
  5. 5
    The method in accordance with claim 3, further comprising the step of comparing the destination object symbolic name with entries of a table of local alias names, and the step of providing the message to all local objects registered in the alias table in association with the destination object symbolic name when the destination alias name is found in the alias table.
  6. 6
    The method in accordance with claim 5 and further comprising the step of broadcasting the alias name to other processors of the multiprocessor system.
  7. 7
    In a telecommunication switching system comprising a plurality of telecommunication line devices for connection to telecommunication lines and at least one interconnection device for establishing connections between said telecommunication line devices, a software system for controlling said devices comprising:program entities associated with each of said telecommunication line devices;a program entity associated with said connection device;and a control program entity responsive to an origination message from a program entity associated with one of said telecommunication line devices, said origination message including the identity of a called telecommunication line device, for transmitting a connection message to said program entity associated with said connection device for causing said connection device to establish a connection between said one communication line device and said called telecommunication line device.
  8. 8
    The software system in accordance with claim 7, wherein said control program is responsive to said origination message to transmit an alerting message to a program entity associated with said called telecommunication line device to cause said program entity associated with said called telecommunication line device to cause an alerting signal to be applied by said telecommunication line device, said program associated with said called telecommunication line device responsive to detection of an answer response at said called telecommunication line device to transmit an answer message to said control program entity, and said control program entity responsive after receipt of said answer message to transmit said connect message to said connection device.
  9. 9
    The system in accordance with claim 7 wherein said telecommunication system comprises multiple interconnecting call handling processors and further comprising a backup processor system including data storage means;each of said call handling processors including initialization software and a program entity for transferring data to said backup processor and fetching data from said backup processor;means in said call handling processors for detecting failure in another of said processors;at least one of said call handling processors responsive to the detection of the failure of another of said call handling processors to cause said initialization program of said one processor to assume the name of said processor from which a failure is detected, to retrieve from said backup system data defining the backup data for program structures on said failed processor and to activate said program structures obtained from said backup system in said one processor, whereby said one processor autonomously assumes the task of a failed processor.
  10. 10
    In a telecommunication switching system comprising a plurality of telecommunication line devices for connection to telecommunication lines and telecommunication trunk devices for connection to telecommunication trunks and at least one interconnection device for establishing connections between said telecommunication line devices and trunk connection devices, a software system for controlling said devices comprising:program entities associated with said telecommunication line devices;a program entity associated with said connection device;a program entity associated with certain of said trunk devices;and a control program responsive to a request message from one of said program entities associated with one of said telecommunication line devices for transmitting to said program entity associated with said trunk devices a call message defining certain parameters of a call to be setup via one of said trunk connection devices;said program entity associated with said trunk connection devices being responsive to said call message to transmit to said control program entity a bid message constituting a bid for the connection of said call via one of said certain trunk connection devices;said control program entity responsive to said bid message from said program entity associated with said trunk connection devices to transmit to said one program entity associated with said one telecommunication line device, said bid message including information pertaining to said bid;said control program entity responsive to a further message from said one program entities associated with said one of said line devices to transmit to said program entity associated with said connection device a connection message for causing said connection device to establish a connection between said one communication line device and one of said certain trunk devices.
  11. 11
    The method of completing calls in a telecommunication call handling system having a plurality of telecommunication ports and a switching network for interconnecting said ports, said method comprising the steps of:detecting an origination at a first port and receiving dialed digits;transmitting an origination message and said received digits to a first program entity associated with said first port;initiating a second program entity and transmitting to the second program entity information defining the received digits, and the identity of the first program entity and said first port;transmitting an alerting message from the second program entity to a third program entity associated with a second port identified by said received digits;transmitting an answer message from said third program entity to said second program entity in response to an answer signal from said second port;in response to the answer message transmitting a network message from the second program entity to a fourth program entity associated with said switching network;said fourth program entity responsive to said network message to interconnect said first port and said second port.
  12. 12
    In a telecommunication system, a method of completing calls to long distance telephone carriers comprising the steps of:receiving a dialed digit representing a long distance call in a first program entity;transmitting information defining at least part of said received dialed digits to a plurality of program entities, each individually associated with a predetermined long distance carrier;responding from one or more of said entities associated with long distance carriers with a message indicating a readiness to handle the long distance call to said first program entity;selecting a long distance carrier on the basis of said readiness messages in said first program entity;and establishing a connection from a port from which the digits were received and an interconnecting trunk of said long distance carrier selected by said first program entity.
  13. 13
    In a multiprocessor system, a software recovery method comprising the steps of:creating a backup image of the software structure of each of said processors;monitoring activities of each of said processors for processor failure;in the event of a failure of one of said processors, activating a backup recovery program in another of said processors for retrieving said backup image of said failed processor;and executing functions assigned to said failed processor by means of said recovered software and said other processor.