Patent US5297285A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5297285A Expired / Lapsed US ⏱️ 0.0 years remaining

System for dynamically linking modular portions of computer software

Assignee: Telefonaktiebolaget LM Ericsson AB
•
Filing: 1991-07-23
•
Granted: 1994-03-22
•
Expires: 2011-07-23
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method for dynamically modifying addressing information within a modular software system controlling a telecommunications switching system. Conventional telecommunications exchanges divide each exchange into discrete function blocks with a limited number of functions being performed by each block, thus requiring frequent interaction between blocks through the exchange of software signals. Such exchanges are more complicated in stored program control systems in which individual blocks are removed from memory and reloaded in different memory locations and in which revised blocks contain modified symbol addresses. The present invention utilizes a global signal distribution table loaded with global signal numbers for types of software signals, as well as local signal numbers of corresponding tasks given function blocks. This method overcomes disadvantages typically associated with linking and loading of software modules by delaying linking and performing it dynamically as each block is executed. This method reads a global signal number from a sending block, inserts this global signal number into a job buffer and reads the global signal number and receiving block number of the signal to be sent from the job buffer and the local signal number from the global signal distribution table. Finally, the instruction address is read from the signal distribution table of the receiving block and the instruction located at that address executes. Because local addresses are dynamically stored and read only when a module utilizing those addresses is executed, the information remains current and accurate at all times during operation of the telecommunications switching system.

Inventors

  • 👤 Anders Abrahamsson
  • 👤 Lars Holmquist

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 17:27
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/44; G06F9/445; G06F9/44521

Claims Analysis

Total Claims: 20
Claim 1
Independent Claim 195 words
A method of transferring software signals for communicating information from a first module of modular software for a computer system to a second module of said software residing in said computer system in which a local signal number associated with a particular processing operation to be performed by said software module is stored in a global signal distribution table cross-referencing said local signal number to a global signal number associated with a particular type of software signal within said modules, said global signal distribution table being updated at the time of the loading of said software module, said method comprising: identifying a software signal to be transferred from said first module to said second module; transferring a global signal number associated with said software signal along with a block number associated with said second module to a register within a job buffer of a central processing unit running said software; accessing said global signal distribution table to obtain said local signal number corresponding to said global signal number of said software signal within said second module; and transferring said software signal to the requisite address within said second module associated with said local signal number.
Claim 2
Independent Claim 195 words
A method of transferring software signals for communicating information from a first module of modular software for a computer system to a second module of said software residing in said computer system in which a local signal number associated with a particular processing operation to be performed by said software module is stored in a global signal distribution table cross-referencing said local signal number to a global signal number associated with a particular type of software signal within said modules, said global signal distribution table being updated at the time of the loading of said software module, said method comprising: identifying a software signal to be transferred from said first module to said second module; transferring a global signal number associated with said software signal along with a block number associated with said second module to a register within a job buffer of a central processing unit running said software; accessing said global signal distribution table to obtain said local signal number corresponding to said global signal number of said software signal within said second module; and transferring said software signal to the requisite address within said second module associated with said local signal number.
Claim 3
Dependent Claim 45 words
A method as set forth in claim 1 wherein said step of accessing said global signal distribution table to obtain said local signal number of said software signal is performed immediately prior to transfer of said signal from said job buffer to said second module.
Claim 4
Dependent Claim 121 words
In software for a computer system comprising a plurality of blocks each including a code section, a signal distribution table, and a signal sending table, and in which a software signal for communicating information within said computer system is to be transferred from a first block to a location identified by a local address within a second block through a job buffer of a central processing unit running said software, the method of: linking said local address of said software signal in said second block to said software signal immediately prior to transfer of said software signal from said job buffer to said second block and following the loading of said software signal into said job buffer from said first block.
Claim 5
Dependent Claim 121 words
In software for a computer system comprising a plurality of blocks each including a code section, a signal distribution table, and a signal sending table, and in which a software signal for communicating information within said computer system is to be transferred from a first block to a location identified by a local address within a second block through a job buffer of a central processing unit running said software, the method of: linking said local address of said software signal in said second block to said software signal immediately prior to transfer of said software signal from said job buffer to said second block and following the loading of said software signal into said job buffer from said first block.
Claim 6
Dependent Claim 90 words
The method according to claim 3 wherein said transfer of said software signal from said job buffer to said second block comprises the steps of: accessing a global signal number of said software signal and a number associated with said second block from said job buffer; accessing within a global signal distribution table a local signal number of said software signal within said second block; determining an instruction address entry point for said software signal in said second block; and initiating execution at said instruction address in said second block.
Claim 7
Dependent Claim 56 words
The method according to claim 3 wherein said loading of said software signal into said job buffer is performed by accessing a global signal number and a number associated with said software signal from said signal sending table and writing said global signal number and a number associated with said second block into said job buffer.
Claim 8
Dependent Claim 227 words
A computer in which information is transferred from one location to another using software signals including global signal numbers indicative of types of signals and local signal numbers associated with partial processing operations within a software module, said computer having a central processor, a reference store, a program store, a data store, a register memory, a job buffer, an operating system and a global signal distribution table, said computer including software and comprising: means for dividing the functions of said computer software into function blocks, each said function block having a program store location and a base start address; means for storing the program store location and the associated base start address of said function blocks within said reference store; means for initiating jobs within said function blocks, said jobs being initiated in sequence based upon a queued order within said job buffer and using said program store position and said base start address stored in said reference store; means for generating and storing global signal numbers for software signals contained within said function blocks, each of said global signal numbers being associated with a particular type of software signal; and means for referencing local signal numbers associated with said software signals which are indicative of particular operations to be performed by software within each of said function blocks and which correspond to said global signal numbers.
Claim 9
Dependent Claim 227 words
A computer in which information is transferred from one location to another using software signals including global signal numbers indicative of types of signals and local signal numbers associated with partial processing operations within a software module, said computer having a central processor, a reference store, a program store, a data store, a register memory, a job buffer, an operating system and a global signal distribution table, said computer including software and comprising: means for dividing the functions of said computer software into function blocks, each said function block having a program store location and a base start address; means for storing the program store location and the associated base start address of said function blocks within said reference store; means for initiating jobs within said function blocks, said jobs being initiated in sequence based upon a queued order within said job buffer and using said program store position and said base start address stored in said reference store; means for generating and storing global signal numbers for software signals contained within said function blocks, each of said global signal numbers being associated with a particular type of software signal; and means for referencing local signal numbers associated with said software signals which are indicative of particular operations to be performed by software within each of said function blocks and which correspond to said global signal numbers.
Claim 10
Dependent Claim 69 words
The computer of claim 6 wherein said means for initiating jobs comprises: means for generating a signal sending instruction for said software signal being processed; means for processing said software signal from a sending block to a receiving block; means for reading the instruction address from a signal distribution table within said receiving block; and means for executing said job located at said instruction address in said receiving block.
Claim 11
Dependent Claim 47 words
The computer of claim 7 wherein said means for generating a signal sending instruction comprises: means for determining a global signal number for said software signal; and means for writing said global signal number and a block number associated with said receiving block into said job buffer.
Claim 12
Dependent Claim 51 words
The computer of claim 8 wherein said means for processing said software signal comprises: means for reading said global signal number of said software signal and said block number of said receiving block; and means for reading said local signal number for said software signal from a global signal distribution table.
Claim 13
Dependent Claim 72 words
The computer of claim 6 wherein said means for referencing local signal numbers further comprises: means of storing in a relocatable manner said local signal numbers for said software signals in all said function blocks; and means for combining said global signal numbers with a global table start address in order to locate a stored value for said local signal number in any one of said function blocks receiving said software signal.
Claim 14
Independent Claim 208 words
A system for use within a computer system for transferring software signals for communicating information from a first module of a modular software system to a second module of said software residing in said computer system in which a local signal number associated with a particular processing operation to be performed by said software module is stored in a global signal distribution table cross-referencing said local signal number to a global signal number associated with a particular type of software signal within said modules, said global signal distribution table being updated at the time of the loading of said software module, said system comprising: means for identifying a software signal to be transferred from said first module to said second module; means for transferring a global signal number associated with said software signal along with a block number associated with said second module to a register within a job buffer of a central processing unit running said software system; means for accessing said global signal distribution table to obtain said local signal number corresponding to said global signal number of said software signal within said second module; and means for transferring said software signal to the requisite address within said second module associated with said local signal number.
Claim 15
Independent Claim 208 words
A system for use within a computer system for transferring software signals for communicating information from a first module of a modular software system to a second module of said software residing in said computer system in which a local signal number associated with a particular processing operation to be performed by said software module is stored in a global signal distribution table cross-referencing said local signal number to a global signal number associated with a particular type of software signal within said modules, said global signal distribution table being updated at the time of the loading of said software module, said system comprising: means for identifying a software signal to be transferred from said first module to said second module; means for transferring a global signal number associated with said software signal along with a block number associated with said second module to a register within a job buffer of a central processing unit running said software system; means for accessing said global signal distribution table to obtain said local signal number corresponding to said global signal number of said software signal within said second module; and means for transferring said software signal to the requisite address within said second module associated with said local signal number.
Claim 16
Dependent Claim 49 words
A system for a computer as set forth in claim 11 wherein said means for accessing said global signal distribution table to obtain said local signal number of said software signal is performed immediately prior to the transfer of said signal from said job buffer to said second module.
Claim 17
Dependent Claim 124 words
A software system for a computer having a plurality of blocks, each including a code section, a signal distribution table, and a signal sending table, and in which a software signal for communicating information within said computer system is to be transferred from a first block to a location identified by a local address within a second block through a job buffer of a central processing unit running said software, said system comprising: means for linking said local address of said software signal in said second block to said software signal immediately prior to the transfer of said software signal from said job buffer to said second block and following the loading of said software signal into said job buffer from said first block.
Claim 18
Dependent Claim 124 words
A software system for a computer having a plurality of blocks, each including a code section, a signal distribution table, and a signal sending table, and in which a software signal for communicating information within said computer system is to be transferred from a first block to a location identified by a local address within a second block through a job buffer of a central processing unit running said software, said system comprising: means for linking said local address of said software signal in said second block to said software signal immediately prior to the transfer of said software signal from said job buffer to said second block and following the loading of said software signal into said job buffer from said first block.
Claim 19
Dependent Claim 92 words
The system for a computer according to claim 13 wherein said transfer of said software signal from said job buffer to said second block comprises: means for accessing a global signal number of said software signal and a number associated with said second block from said job buffer; means for accessing a local signal number of said software signal within said second block; means for determining an instruction address entry point for said software signal in said second block; and means for initiating execution at said instruction address in said second block.
Claim 20
Dependent Claim 59 words
The system for a computer according to claim 13 wherein said loading of said software signal into said job buffer is performed by accessing a global signal number and a number associated with said software signal from said signal sending table and writing said global signal number and a number associated with said second block into said job buffer.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1997-03-21 1997-09-20 1998-03-22 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2001-03-21 2001-09-20 2002-03-22 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2005-03-21 2005-09-20 2006-03-22 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag