[go: up one dir, main page]

WO1999034287A1 - Method of common initialization of computing tasks - Google Patents

Method of common initialization of computing tasks Download PDF

Info

Publication number
WO1999034287A1
WO1999034287A1 PCT/US1998/027889 US9827889W WO9934287A1 WO 1999034287 A1 WO1999034287 A1 WO 1999034287A1 US 9827889 W US9827889 W US 9827889W WO 9934287 A1 WO9934287 A1 WO 9934287A1
Authority
WO
WIPO (PCT)
Prior art keywords
definition data
computing tasks
tasks
definition
operating system
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/US1998/027889
Other languages
French (fr)
Inventor
Christopher J. Ouellette
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alcatel USA Sourcing Inc
Original Assignee
Alcatel USA Sourcing Inc
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
Application filed by Alcatel USA Sourcing Inc filed Critical Alcatel USA Sourcing Inc
Priority to AU22103/99A priority Critical patent/AU2210399A/en
Publication of WO1999034287A1 publication Critical patent/WO1999034287A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Definitions

  • This invention is related in general to the field of computing systems. More particularly, the invention relates to a method of common initialization of computing tasks in a computing system.
  • Computing systems are often designed to perform a variety of computing tasks on one or more hardware components or processors.
  • hardware components and processors are designed to perform a variety of processing, signaling, database query and administrative tasks. Consequently, software required to operate these hardware components must be created, initialized and synchronized to perform the required computing tasks.
  • software in conventional computing systems often utilizes operating system resources, such as queues and semaphores, which may be accessed simultaneously by two or more computing tasks.
  • operating system resources such as queues and semaphores, which may be accessed simultaneously by two or more computing tasks.
  • a client task expecting data may attempt to access a message queue at the same time a server task is creating or using the same message queue. Synchronization is therefore required so that the client task knows whether the message queue is created and available for use, or busy and unavailable for use.
  • a computing system wherein computing tasks, which are to be performed by one or more processors operating on a common operating system, are initialized by an initialization control program.
  • the initialization control program includes a common initialization object for creating, initializing and synchronizing the computing tasks, and a hardware-specific initialization object for providing definition data to the common initialization object, wherein the definition data is associated with the common operating system and the computing tasks to be performed by the computing system.
  • a distributed telecommunications switching system wherein local computing tasks, which are to be performed by one or more local processors operating on a common operating system, are initialized by an initialization control program.
  • the initialization control program includes a common initialization object for creating, initializing and synchronizing the local computing tasks, a hardware-specific initialization object for providing definition data to the common initialization object, wherein the definition data is associated with the common operating system and the local computing tasks to be performed by the distributed telecommunications switching system.
  • a method for initializing local computing tasks in a distributed architecture computing system.
  • the method includes the steps of: configuring memory units associated with the local processors as specified by memory map definition data; creating operating system message queues as specified by message queue definition data; creating operating system semaphores as specified by semaphore definition data; creating each of the local computing tasks as specified by task definition data; initializing each of the local computing tasks; signaling completion of the initialization step for each of the local computing tasks; and broadcasting a message to indicate completion of all initialization steps associated with the local computing tasks to be performed by the distributed architecture computing system.
  • a method for initializing local computing tasks in a distributed telecommunications switching system.
  • the method includes the steps of: configuring memory units associated with the local processors as specified by memory map definition data; creating operating system message queues as specified by message queue definition data; creating operating system semaphores as specified by semaphore definition data; creating each of the local computing tasks as specified by task definition data; initializing each of the local computing tasks; signaling completion of the initialization step for each of the local computing tasks; and broadcasting a message to indicate completion of all initialization steps associated with the local computing tasks to be performed by the distributed telecommunications switching system.
  • FIG. 1 is a block diagram of a computing system utilizing a method for initializing computing tasks
  • FIG. 2 is a block diagram of an initialization control program for initializing computing tasks in a computing system according to an embodiment of the invention
  • FIGS. 3A and 3B are an event trace corresponding to a sequence for initializing computing tasks in a computing system according to an embodiment of the invention
  • FIG. 4 is a memory map definition table for initializing the memory map in a computing system according to an embodiment of the invention
  • FIG. 5 is a fixed length queue definition table for initializing fixed message size queues in a computing system according to an embodiment of the invention
  • FIG. 6 is a variable length queue definition table for initializing variable message size queues in a computing system according to an embodiment of the invention
  • FIG. 7 is a semaphore definition table for initializing semaphores in a computing system according to an embodiment of the invention.
  • FIG. 8 shows a task definition table for initializing computing tasks in a computing system according to an embodiment of the invention.
  • FIG. 1 is a block diagram of a computing system 10 utilizing a method for initializing computing tasks according to a preferred embodiment of the present invention.
  • computing system 10 includes a service unit layer 20 for top-level management and control of computing system 10, a delivery unit layer 30 for communication and control of software elements and hardware components, and a communications pathway 40 for e connecting service unit layer subsystems with delivery unit layer subsystems.
  • Service unit layer 20 includes a top- level system manager 22, one or more service nodes 24 connected to top-level system manager 22, and one or more system managers 26 also connected to top-level system manager 22.
  • Delivery unit layer 30, under the control of service unit layer 20, includes one or more unit controllers 32 connected to top-level system manager 22 or system managers 24 via communications pathway 40, and a plurality of software elements, or "building blocks" 34, designed to be controlled by unit controllers 32, for performing specific computing tasks and operations.
  • Computing system 10 of FIG. 1 may also include industry standard operating systems, object-oriented implementation, location transparent interfaces such as the Common Object Request Broker Architecture ("CORBA”) , name- based messaging services, and graphical user interfaces ("GUI's") for system management and control.
  • CORBA Common Object Request Broker Architecture
  • GUI's graphical user interfaces
  • computing system 10 can be configured to operate as a telecommunications switching system such as the one disclosed in United States Patent No. 5,495,484, issued February 27, 1996, which is hereby incorporated by reference .
  • service unit layer 20 of FIG. 1 provides the functionality of the switching system not inherently dependent upon the technology and interfaces required for connecting end-users to a public telephony network.
  • delivery unit layer 30 provides the functionality of the switching system directly associated with the technology and interfaces required for connecting end-users to a public telephony network.
  • Subsystems and components included in service unit and delivery unit layers 20 and 30 are separately functioning subsystems which can be deployed, upgraded and maintained independently from each other, thus allowing new technologies and enhancements to be easily integrated into an existing switching system.
  • the various service unit and delivery unit subsystems may be geographically co-located or disbursed while maintaining the distributed characteristics of the functions performed by the overall switching system.
  • Delivery unit layer 30 of computing system 10 of FIG. 1 includes hardware components, such as specialized application cards and processors, for providing specific telecommunication switching services.
  • delivery unit layer 30 is designed to deliver one or more communication services to end-users on a public telephony network.
  • the delivery unit hardware components may be constructed and arranged to perform a variety of computing tasks including but not limited to configuration management, fault management, performance management, call processing and port management tasks.
  • FIG. 2 is a block diagram of an initialization control program 50 for initializing computing tasks in a computing system.
  • the initialization control program is designed to initialize specialized software tasks running on hardware components such as specialized processors, application cards or other specialized circuitry.
  • each of the hardware components is controlled by a microprocessor, preferably a Motorola 860 microprocessor, operating on a common operating system.
  • the common operating system can be any real-time operating system, preferably pSOS .
  • Each of the microprocessors corresponding to the hardware components include memory units which are configurable by the user for specific purposes.
  • the initialization control program 50 includes a common initialization object 52 and a hardware-specific initialization object 54 corresponding to a specific hardware component.
  • requested tasks may include, for example, a server task corresponding to a configuration management agent building blocks or a server task corresponding to a test management agent building block.
  • the common initialization object 52 performs "hardware independent" tasks 52a through 52 f which are common to every type of hardware component utilized by the computing system. These steps include table driven procedures for initializing, allocating and configuring system resources such as memory, queues, semaphores, etc.
  • the "common" initialization steps include initializing and configuring memory units associated with the hardware components (Step 52a) , creating operating system message queues and semaphores (Steps 52b and 52c) , creating and initializing the specialized tasks and associated software objects (Step 52e) , and broadcasting completion of initialization to all tasks (Step 52f) .
  • the common initialization object 52 is also responsible for creating send and receive mailboxes to be used in conjunction with a real-time messaging service
  • the initialization control program 50 of FIG. 2 also includes a hardware-specific initialization object 54 operating in conjunction with the common initialization program 52 and corresponding to one or more hardware components.
  • the hardware-specific initialization object 54 is responsible for providing definition data associated the memory units, operating system message queues, operating system semaphores and the requested tasks to be initialized.
  • definition data is provided via memory map, queue, semaphore and task definition tables such as the ones shown in FIGS. 4 through 8.
  • the hardware-specific initialization object 54 is also responsible for creating and initializing global objects and additional specialized tasks where necessary.
  • the initialization control program 50 of FIG. 2 therefore provides a method for table driven initialization of computing tasks on hardware components of a computing system.
  • the tables allow software developers and system administrators to easily track various system resources such as operating system message queues, operating system semaphores, tasks and task priorities.
  • all necessary operating system message queues and semaphores are created before the computing tasks utilizing those queues and semaphores are executed.
  • FIGS. 3A and 3B show an event trace corresponding to an event sequence 100 for initializing computing tasks in a computing system according to a preferred embodiment of the present invention. Shown in FIGS. 3A and 3B is a sequence of Events 100a through lOOp including a common initialization object 102, an example task 104, a "start" semaphore 106 and a "GO" queue 108 for notification of task initialization completion. As shown in FIG. 3A, the common initialization object 102 of the initialization control program must first initialize and configure the microprocessor memory units residing within each of the hardware components.
  • the common initialization object 102 initializes chip selects corresponding to memory units of the Motorola 860 microprocessor contained within each of the hardware components (Event 100a) .
  • Each chip select is a logical function defining memory regions and access characteristics including timing.
  • the common software initializes the chip selects using a memory map definition table as shown in FIG. 4. As described below, the memory map definition table of FIG. 4 is adapted to provide memory access characteristics for Motorola 860 chip selects.
  • the common initialization object 102 uses queue definition tables to create operating system message queues to be used by the computing tasks running on the hardware components (Event 100b) .
  • One of these queues is the "GO" Queue 108 used by the common initialization object 102.
  • a fixed length queue definition table is used to create fixed length message queues
  • a variable length queue definition table is used to create variable length message queues.
  • the fixed length queue and variable length queue definition table tables, shown in FIGS. 5 and 6 respectively, are adapted for use with the pSOS operating system.
  • the common initialization object 102 creates operating system semaphores as specified by a semaphore definition table (Event 100c) , including the start semaphore used by the common initialization object 102.
  • Event 100c An example of a semaphore definition table, adapted for use with the pSOS operating system, is shown in FIG. 7.
  • Semaphores are synchronization data structures used for controlling shared resources. Each semaphore is characterized by a "reserve,” or "P,” operation and a "free,” or “V,” operation.
  • the common initialization object 102 also includes a related "start" semaphore 106 for synchronizing the creation and initialization of the requested tasks.
  • the common initialization object 102 then creates send and receive mailbox objects to be used by a messaging service (Event lOOd) .
  • the messaging service can be any messaging service suitable for real-time data communications.
  • the receive mailbox objects are used for reading incoming messages from the messaging service, and the send mailbox objects are used for sending messages to receive mailbox objects.
  • the common initialization object 102 then has the capability, or "hook,” to call out to the hardware-specific initialization object by invoking a "create object” function (Event lOOe) .
  • the "create object” function allows the hardware-specific initialization object to create and initialize any global objects not indicated as an "autostart" tasks in a task definition table.
  • a global object may include, for example, a device driver or any object used by various tasks to access the same device.
  • the common initialization object 102 stages task creation and initialization for each computing task specified as an "auto-start" task in the task definition table (Event lOOf) .
  • An example of a task definition table, adapted for use with the pSOS operating system, is shown in FIG. 8.
  • the common initialization object 102 For each of the specified computing tasks, the common initialization object 102 performs a "create” call to create each task (Event lOOg) , and performs a "start” call to begin initialization of the newly created task (Event lOOh) . The common initialization object 102 then performs a "reserve” operation on its "start” semaphore (Event lOOi) and processing control is transferred to the newly created task until initialization of the task is completed. Processing by the common initialization object 102 is thus suspended until the newly created task has completed its initialization.
  • the initialized task When a task finishes its initialization, the initialized task signals the "start” semaphore by performing a "free” operation (Event lOOj). As a result, the "start” semaphore "wakes” the waiting common initialization object 102, and a "pend” is issued on ' the newly created and initialized task to await receipt of a message from the "GO" queue 108 (Event 100k) . Processing control is then returned to the common initialization object 102 and the task creation and initialization events, Events lOOg through 100k, are repeated for the next task appearing in the task definition table. These steps are repeated until all the computing tasks listed as "autostart" tasks in the task definition table have been created and initialized.
  • the common software task broadcasts a message on the "GO" queue 108 (Event 1001) .
  • Event 1001 This message notifies all previously created and initialized tasks waiting on the "GO" queue 108 that task creation and initialization for all tasks has completed and that task processing may begin.
  • the operating system then begins task processing according to the task priorities specified when the tasks were created. These priorities were specified in the task definition table.
  • the common initialization object 102 has an additional capability to allow a hardware-specific initialization object to start any additional tasks not specified as "auto-start" tasks in the task definition table of FIG. 8.
  • the common initialization object 102 provides this capability by performing a call out to a hardware-specific initialization object (Event 100m) .
  • the common initialization object 102 calls a hardware-specific "start object” function, which starts the "non-auto-start” tasks listed in the task definition table.
  • the common initialization object 102 then suspends itself (Event lOOo) , and the newly created and initialized tasks enter their main processing loops (Event lOOp) .
  • the common initialization object 102 may notify other software building blocks in the software hierarchy that task creation and initialization has completed for specific computing tasks (Event lOOn) .
  • the common initialization object 102 may notify certain unit controllers 32 or system managers 22, 24 and 26 that a related computing task as been initialized. Two additional functions, the "get task data" and
  • the "initialization complete” functions are provided by the common initialization object 102 of FIGS. 3A and 3B .
  • the "get task data” function is used to search the associated task definition table for an entry with a matching task name. If a match is found, the start address, priority and stack size for the task is returned to the caller. Otherwise, a error message is returned.
  • the "initialization complete” function is used to signal the “start” semaphore 106 and does a receive on the "GO" queue 108. Again, signaling the "start” semaphore 106 allows the common initialization object 102 to create and start the next "auto-start” computing task listed in the task definition table.
  • the hardware-specific initialization object 54 is responsible for providing "filled-in” versions of memory map, queue, semaphore and task definition tables as shown in FIGS. 4 through 8.
  • the hardware-specific initialization object also provides implementations of the above-described "create object” and "start object” functions invoked by the common initialization object 102.
  • FIG. 4 shows a "filled-in" version of a memory map definition table 120 provided by the hardware-specific initialization object.
  • the memory map definition table 120 shown in FIG. 4 is adapted and arranged to provide memory access characteristics for Motorola 860 microprocessor chip selects. For each chip select entry, the memory map definition table 120 includes a chip select number 122, a chip select starting address 124, a chip select size 126 and a chip select flag 128.
  • FIGS . 5 and 6 show operating system message queue definition tables 130 and 140 according to a preferred embodiment of the present invention. These tables contain entries for each message queue used by the corresponding hardware component, and are provided by the hardware- specific initialization object. Both tables 130 and 140 as shown in FIGS . 5 and 6 are adapted and arranged for use with the pSOS operating system. The maximum number of queue entries in these tables is defined by the pSOS sys_config.h file, which must be edited if additional queue entries are required in excess to the pSOS default value.
  • FIG. 5 shows a fixed length queue definition table 130 including the following parameters for each fixed length queue entry: a pSOS queue name 132; a fixed length queue size 134 indicating the number of message entries associated with the fixed length message queue; and a pSOS defined flag 136 specifying the attributes of the fixed length message queue.
  • the fixed length queue definition table 130 of FIG. 6 must include an entry for the "GO" queue 108 used by the common initialization object 102 of FIGS. 3A and 3B .
  • the queue size of the "GO" queue 108 ' should be the number of "auto-start" computing tasks listed in the task definition table.
  • FIG. 6 shows a variable length queue definition table including the following parameters for each variable length message queue entry: a pSOS queue name 142; a maximum message count 144 indicating the maximum number of message entries allowed in the variable length message queue; a maximum message length 146 indicating the maximum message length of the variable length messages to be processed by the variable length message queue; and a pSOS defined flag 148 specifying the attributes of the variable length message queue.
  • FIG. 7 shows a "filled-in" version of a semaphore definition table 150 provided by the hardware-specific initialization object.
  • the semaphore definition table 150 shown in FIG. 7 is adapted and arranged for use with the pSOS operating system.
  • the semaphore definition table 150 includes a pSOS semaphore name 152, an initial semaphore count 154, and a pSOS flag 156 specifying the attributes of the semaphore used by the hardware component.
  • the maximum number of semaphore entries in the semaphore definition table 150 is defined by the pSOS sys_config.h file, which must be edited if additional semaphore entries are required in excess of the pSOS default value.
  • the semaphore definition table 150 must include an entry for the "start" semaphore 106 used by the common initialization object 102 of FIGS. 3A and 3B. The initial value of the "start" semaphore 106 should be 0.
  • FIG. 8 shows a "filled-in" version of a task definition table 160 provided by the hardware-specific initialization object.
  • the task definition table 160 shown in FIG. 8 is adapted and arranged for use with the pSOS operating system.
  • the task definition table 160 includes a task group name 162 indicating a task group or related software building block.
  • the task definition table 160 also includes a pSOS task name 164, a start address 166 indicating an entry point of the task, an initial task priority 168 and a user stack size 170.
  • the maximum number of task entries in the task definition table 160 is defined by the pSOS sys_config.h file, which must be edited if additional task entries are required in excess of the pSOS default value.
  • the task definition table of FIG. 8 also includes an "auto-start” flag 172 indicating whether the task is to be initialized by the common initialization object 102 of FIGS. 3A and 3B.
  • Tasks indicated by an "auto-start” flag equal to "TRUE” are started automatically by the common initialization object 102 and are required to follow the code sequence shown in FIG. 3A and 3B.
  • Tasks indicated by an "auto-start” flag equal to "FALSE” are created by the "create object” function using the data returned by the "get task data” function, and started by a "start object” function.
  • all tasks listed in the task definition table 160 of FIG. 8 are “auto-start” tasks.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

A method is provided for initializing computing tasks to be performed by one or more processors in a computing system. The method includes the steps of: configuring memory units associated with the processors as specified by memory map definition data; creating operating system message queues as specified by message queue definition data; creating operating system semaphores as specified by semaphore definition data; creating each of the computing tasks as specified by task definition data; initializing each of the computing tasks; signaling completion of the initializing step for each of the computing tasks; and broadcasting a message to indicate completion of all initializing steps associated with the computing tasks.

Description

METHOD OF COMMON INITIALIZATION OF COMPUTING TASKS
TECHNICAL FIELD OF THE INVENTION
This invention is related in general to the field of computing systems. More particularly, the invention relates to a method of common initialization of computing tasks in a computing system.
BACKGROUND OF THE INVENTION
Computing systems are often designed to perform a variety of computing tasks on one or more hardware components or processors. In a telecommunications switching system, for example, hardware components and processors are designed to perform a variety of processing, signaling, database query and administrative tasks. Consequently, software required to operate these hardware components must be created, initialized and synchronized to perform the required computing tasks.
Conventional computing systems use a variety of techniques for creating, initializing and synchronizing computing tasks. In conventional client/server systems, for example, it is not uncommon to have specialized hard- coded instructions resident in each hardware component for creating and initializing related software elements. Such a technique, however, is undesirable in that additional costs are required to develop and maintain the special code and any related hardware.
Furthermore, software in conventional computing systems often utilizes operating system resources, such as queues and semaphores, which may be accessed simultaneously by two or more computing tasks. For example, in a conventional client/server system, a client task expecting data may attempt to access a message queue at the same time a server task is creating or using the same message queue. Synchronization is therefore required so that the client task knows whether the message queue is created and available for use, or busy and unavailable for use.
In addition, it is often difficult in conventional computing systems to track and maintain the status of utilized system resources. For example, especially during periods of software maintenance, it is often difficult to maintain a status on operating system queues, semaphores, tasks and task priorities, etc., without using special debugging tools.
SUMMARY OF THE INVENTION
Therefore, it is an object of the present invention to provide a method for initializing computing tasks in a computing system where specialized hard-coded instructions are not required in the hardware components.
It is another object of the present invention to provide a method for initializing computing tasks in a computing system wherein all necessary operating system message queues and semaphores are created before the computing tasks utilizing those queues and semaphores are executed.
It is yet another object of the present invention to provide a method for initializing computing tasks in a computing system wherein operating system resources, such as queues, semaphores, tasks and task priorities, etc., are easily tracked without the need for special debugging tools .
Further objects, features and advantages of the invention will become apparent from the following detailed description taken in conjunction with the accompanying figures showing illustrative embodiments of the invention. In accordance with a preferred embodiment of the present invention, a computing system is provided wherein computing tasks, which are to be performed by one or more processors operating on a common operating system, are initialized by an initialization control program. The initialization control program includes a common initialization object for creating, initializing and synchronizing the computing tasks, and a hardware-specific initialization object for providing definition data to the common initialization object, wherein the definition data is associated with the common operating system and the computing tasks to be performed by the computing system.
In accordance with another preferred embodiment of the present invention, a distributed telecommunications switching system is provided wherein local computing tasks, which are to be performed by one or more local processors operating on a common operating system, are initialized by an initialization control program. The initialization control program includes a common initialization object for creating, initializing and synchronizing the local computing tasks, a hardware-specific initialization object for providing definition data to the common initialization object, wherein the definition data is associated with the common operating system and the local computing tasks to be performed by the distributed telecommunications switching system.
In accordance with another aspect of the present invention, a method is provided for initializing local computing tasks in a distributed architecture computing system. The method includes the steps of: configuring memory units associated with the local processors as specified by memory map definition data; creating operating system message queues as specified by message queue definition data; creating operating system semaphores as specified by semaphore definition data; creating each of the local computing tasks as specified by task definition data; initializing each of the local computing tasks; signaling completion of the initialization step for each of the local computing tasks; and broadcasting a message to indicate completion of all initialization steps associated with the local computing tasks to be performed by the distributed architecture computing system.
In accordance with another aspect of the present invention, a method is provided for initializing local computing tasks in a distributed telecommunications switching system. The method includes the steps of: configuring memory units associated with the local processors as specified by memory map definition data; creating operating system message queues as specified by message queue definition data; creating operating system semaphores as specified by semaphore definition data; creating each of the local computing tasks as specified by task definition data; initializing each of the local computing tasks; signaling completion of the initialization step for each of the local computing tasks; and broadcasting a message to indicate completion of all initialization steps associated with the local computing tasks to be performed by the distributed telecommunications switching system.
BRIEF DESCRIPTION OF THE DRAWINGS
For a complete understanding of the present invention and the advantages thereof, reference is now made to the following description taken in conjunction with the accompanying drawings in which like reference numbers indicate like features and wherein:
FIG. 1 is a block diagram of a computing system utilizing a method for initializing computing tasks; FIG. 2 is a block diagram of an initialization control program for initializing computing tasks in a computing system according to an embodiment of the invention;
FIGS. 3A and 3B are an event trace corresponding to a sequence for initializing computing tasks in a computing system according to an embodiment of the invention;
FIG. 4 is a memory map definition table for initializing the memory map in a computing system according to an embodiment of the invention;
FIG. 5 is a fixed length queue definition table for initializing fixed message size queues in a computing system according to an embodiment of the invention;
FIG. 6 is a variable length queue definition table for initializing variable message size queues in a computing system according to an embodiment of the invention; FIG. 7 is a semaphore definition table for initializing semaphores in a computing system according to an embodiment of the invention; and
FIG. 8 shows a task definition table for initializing computing tasks in a computing system according to an embodiment of the invention.
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a block diagram of a computing system 10 utilizing a method for initializing computing tasks according to a preferred embodiment of the present invention. As shown in FIG. 1, computing system 10 includes a service unit layer 20 for top-level management and control of computing system 10, a delivery unit layer 30 for communication and control of software elements and hardware components, and a communications pathway 40 for e connecting service unit layer subsystems with delivery unit layer subsystems. Service unit layer 20 includes a top- level system manager 22, one or more service nodes 24 connected to top-level system manager 22, and one or more system managers 26 also connected to top-level system manager 22. Delivery unit layer 30, under the control of service unit layer 20, includes one or more unit controllers 32 connected to top-level system manager 22 or system managers 24 via communications pathway 40, and a plurality of software elements, or "building blocks" 34, designed to be controlled by unit controllers 32, for performing specific computing tasks and operations.
Computing system 10 of FIG. 1 may also include industry standard operating systems, object-oriented implementation, location transparent interfaces such as the Common Object Request Broker Architecture ("CORBA") , name- based messaging services, and graphical user interfaces ("GUI's") for system management and control. In addition, computing system 10 can be configured to operate as a telecommunications switching system such as the one disclosed in United States Patent No. 5,495,484, issued February 27, 1996, which is hereby incorporated by reference .
In a distributed telecommunications switching system implementation of FIG.l, for example, service unit layer 20 of FIG. 1 provides the functionality of the switching system not inherently dependent upon the technology and interfaces required for connecting end-users to a public telephony network. By contrast, delivery unit layer 30 provides the functionality of the switching system directly associated with the technology and interfaces required for connecting end-users to a public telephony network. Subsystems and components included in service unit and delivery unit layers 20 and 30 are separately functioning subsystems which can be deployed, upgraded and maintained independently from each other, thus allowing new technologies and enhancements to be easily integrated into an existing switching system. The various service unit and delivery unit subsystems may be geographically co-located or disbursed while maintaining the distributed characteristics of the functions performed by the overall switching system.
Delivery unit layer 30 of computing system 10 of FIG. 1 includes hardware components, such as specialized application cards and processors, for providing specific telecommunication switching services. For example, in the above-mentioned distributed telecommunications switching implementation of FIG. 1, delivery unit layer 30 is designed to deliver one or more communication services to end-users on a public telephony network. The delivery unit hardware components may be constructed and arranged to perform a variety of computing tasks including but not limited to configuration management, fault management, performance management, call processing and port management tasks.
FIG. 2 is a block diagram of an initialization control program 50 for initializing computing tasks in a computing system. The initialization control program is designed to initialize specialized software tasks running on hardware components such as specialized processors, application cards or other specialized circuitry. In a preferred embodiment of the present invention, each of the hardware components is controlled by a microprocessor, preferably a Motorola 860 microprocessor, operating on a common operating system. The common operating system can be any real-time operating system, preferably pSOS . Each of the microprocessors corresponding to the hardware components include memory units which are configurable by the user for specific purposes. As shown in FIG. 2, the initialization control program 50 includes a common initialization object 52 and a hardware-specific initialization object 54 corresponding to a specific hardware component. Once the hardware component has been loaded with software, the initialization control program 50 performs the necessary processing required to create and initialize the software objects required for executing the required computing tasks. Referring to computing system 10 of FIG. 1, requested tasks may include, for example, a server task corresponding to a configuration management agent building blocks or a server task corresponding to a test management agent building block.
As further shown in FIG. 2, the common initialization object 52 performs "hardware independent" tasks 52a through 52 f which are common to every type of hardware component utilized by the computing system. These steps include table driven procedures for initializing, allocating and configuring system resources such as memory, queues, semaphores, etc. According to a preferred embodiment of the present invention, the "common" initialization steps include initializing and configuring memory units associated with the hardware components (Step 52a) , creating operating system message queues and semaphores (Steps 52b and 52c) , creating and initializing the specialized tasks and associated software objects (Step 52e) , and broadcasting completion of initialization to all tasks (Step 52f) . The common initialization object 52 is also responsible for creating send and receive mailboxes to be used in conjunction with a real-time messaging service
(Step 52d) . The initialization control program 50 of FIG. 2 also includes a hardware-specific initialization object 54 operating in conjunction with the common initialization program 52 and corresponding to one or more hardware components. According to a preferred embodiment of the present invention, the hardware-specific initialization object 54 is responsible for providing definition data associated the memory units, operating system message queues, operating system semaphores and the requested tasks to be initialized. In a preferred embodiment of the present invention, definition data is provided via memory map, queue, semaphore and task definition tables such as the ones shown in FIGS. 4 through 8. The hardware-specific initialization object 54 is also responsible for creating and initializing global objects and additional specialized tasks where necessary.
Upon completion of the initialization sequence 52a through 52f shown in FIG. 2, all tasks listed in the task definition table are initialized and staged for subsequent processing. A broadcast message is then sent to all of the tasks to signal that all initialization is complete and the tasks are allowed to keep running according to their priority level which was specified in the task definition table of FIG. 8. The initialization control program 50 of FIG. 2 therefore provides a method for table driven initialization of computing tasks on hardware components of a computing system. The tables allow software developers and system administrators to easily track various system resources such as operating system message queues, operating system semaphores, tasks and task priorities. In addition, all necessary operating system message queues and semaphores are created before the computing tasks utilizing those queues and semaphores are executed.
FIGS. 3A and 3B show an event trace corresponding to an event sequence 100 for initializing computing tasks in a computing system according to a preferred embodiment of the present invention. Shown in FIGS. 3A and 3B is a sequence of Events 100a through lOOp including a common initialization object 102, an example task 104, a "start" semaphore 106 and a "GO" queue 108 for notification of task initialization completion. As shown in FIG. 3A, the common initialization object 102 of the initialization control program must first initialize and configure the microprocessor memory units residing within each of the hardware components. In a preferred embodiment of the present invention, the common initialization object 102 initializes chip selects corresponding to memory units of the Motorola 860 microprocessor contained within each of the hardware components (Event 100a) . Each chip select is a logical function defining memory regions and access characteristics including timing. The common software initializes the chip selects using a memory map definition table as shown in FIG. 4. As described below, the memory map definition table of FIG. 4 is adapted to provide memory access characteristics for Motorola 860 chip selects.
Next, the common initialization object 102 uses queue definition tables to create operating system message queues to be used by the computing tasks running on the hardware components (Event 100b) . One of these queues is the "GO" Queue 108 used by the common initialization object 102. According to a preferred embodiment of the present invention, a fixed length queue definition table is used to create fixed length message queues, and a variable length queue definition table is used to create variable length message queues. The fixed length queue and variable length queue definition table tables, shown in FIGS. 5 and 6 respectively, are adapted for use with the pSOS operating system.
After the specified message queues are created, the common initialization object 102 creates operating system semaphores as specified by a semaphore definition table (Event 100c) , including the start semaphore used by the common initialization object 102. An example of a semaphore definition table, adapted for use with the pSOS operating system, is shown in FIG. 7. Semaphores are synchronization data structures used for controlling shared resources. Each semaphore is characterized by a "reserve," or "P," operation and a "free," or "V," operation. According to an aspect of the present invention, the common initialization object 102 also includes a related "start" semaphore 106 for synchronizing the creation and initialization of the requested tasks.
Referring again to FIG. 3A, the common initialization object 102 then creates send and receive mailbox objects to be used by a messaging service (Event lOOd) . The messaging service can be any messaging service suitable for real-time data communications. The receive mailbox objects are used for reading incoming messages from the messaging service, and the send mailbox objects are used for sending messages to receive mailbox objects.
The common initialization object 102 then has the capability, or "hook," to call out to the hardware-specific initialization object by invoking a "create object" function (Event lOOe) . The "create object" function allows the hardware-specific initialization object to create and initialize any global objects not indicated as an "autostart" tasks in a task definition table. A global object may include, for example, a device driver or any object used by various tasks to access the same device. After the "create object" function is invoked, the common initialization object 102 stages task creation and initialization for each computing task specified as an "auto-start" task in the task definition table (Event lOOf) . An example of a task definition table, adapted for use with the pSOS operating system, is shown in FIG. 8. For each of the specified computing tasks, the common initialization object 102 performs a "create" call to create each task (Event lOOg) , and performs a "start" call to begin initialization of the newly created task (Event lOOh) . The common initialization object 102 then performs a "reserve" operation on its "start" semaphore (Event lOOi) and processing control is transferred to the newly created task until initialization of the task is completed. Processing by the common initialization object 102 is thus suspended until the newly created task has completed its initialization.
When a task finishes its initialization, the initialized task signals the "start" semaphore by performing a "free" operation (Event lOOj). As a result, the "start" semaphore "wakes" the waiting common initialization object 102, and a "pend" is issued on' the newly created and initialized task to await receipt of a message from the "GO" queue 108 (Event 100k) . Processing control is then returned to the common initialization object 102 and the task creation and initialization events, Events lOOg through 100k, are repeated for the next task appearing in the task definition table. These steps are repeated until all the computing tasks listed as "autostart" tasks in the task definition table have been created and initialized.
Referring again to FIG. 3A, once all the "auto-start" computing tasks specified in the task definition table have been created and initialized, the common software task broadcasts a message on the "GO" queue 108 (Event 1001) . This message notifies all previously created and initialized tasks waiting on the "GO" queue 108 that task creation and initialization for all tasks has completed and that task processing may begin. The operating system then begins task processing according to the task priorities specified when the tasks were created. These priorities were specified in the task definition table.
Referring now to FIG. 3B, after creation and initialization of the "auto-start" computing tasks, the common initialization object 102 has an additional capability to allow a hardware-specific initialization object to start any additional tasks not specified as "auto-start" tasks in the task definition table of FIG. 8. The common initialization object 102 provides this capability by performing a call out to a hardware-specific initialization object (Event 100m) . The common initialization object 102 calls a hardware-specific "start object" function, which starts the "non-auto-start" tasks listed in the task definition table. The common initialization object 102 then suspends itself (Event lOOo) , and the newly created and initialized tasks enter their main processing loops (Event lOOp) .
Optionally, prior to suspending itself, the common initialization object 102 may notify other software building blocks in the software hierarchy that task creation and initialization has completed for specific computing tasks (Event lOOn) . For example, the common initialization object 102 may notify certain unit controllers 32 or system managers 22, 24 and 26 that a related computing task as been initialized. Two additional functions, the "get task data" and
"initialization complete" functions, are provided by the common initialization object 102 of FIGS. 3A and 3B . The "get task data" function is used to search the associated task definition table for an entry with a matching task name. If a match is found, the start address, priority and stack size for the task is returned to the caller. Otherwise, a error message is returned. The "initialization complete" function is used to signal the "start" semaphore 106 and does a receive on the "GO" queue 108. Again, signaling the "start" semaphore 106 allows the common initialization object 102 to create and start the next "auto-start" computing task listed in the task definition table. Performing a receive on the "GO" queue 108 forces the newly created and initialized task to wait until all other "auto-start" computing tasks listed in the task definition table have completed their initialization. Referring again to FIG. 2, the hardware-specific initialization object 54 is responsible for providing "filled-in" versions of memory map, queue, semaphore and task definition tables as shown in FIGS. 4 through 8. In the preferred method of the present invention as shown in FIGS. 3A and 3B, the hardware-specific initialization object also provides implementations of the above-described "create object" and "start object" functions invoked by the common initialization object 102.
FIG. 4 shows a "filled-in" version of a memory map definition table 120 provided by the hardware-specific initialization object. According to a preferred embodiment of the present invention, the memory map definition table 120 shown in FIG. 4 is adapted and arranged to provide memory access characteristics for Motorola 860 microprocessor chip selects. For each chip select entry, the memory map definition table 120 includes a chip select number 122, a chip select starting address 124, a chip select size 126 and a chip select flag 128.
FIGS . 5 and 6 show operating system message queue definition tables 130 and 140 according to a preferred embodiment of the present invention. These tables contain entries for each message queue used by the corresponding hardware component, and are provided by the hardware- specific initialization object. Both tables 130 and 140 as shown in FIGS . 5 and 6 are adapted and arranged for use with the pSOS operating system. The maximum number of queue entries in these tables is defined by the pSOS sys_config.h file, which must be edited if additional queue entries are required in excess to the pSOS default value.
FIG. 5 shows a fixed length queue definition table 130 including the following parameters for each fixed length queue entry: a pSOS queue name 132; a fixed length queue size 134 indicating the number of message entries associated with the fixed length message queue; and a pSOS defined flag 136 specifying the attributes of the fixed length message queue. In addition, according to the preferred method of the present invention as shown in FIGS. 3A and 3B, the fixed length queue definition table 130 of FIG. 6 must include an entry for the "GO" queue 108 used by the common initialization object 102 of FIGS. 3A and 3B . The queue size of the "GO" queue 108 'should be the number of "auto-start" computing tasks listed in the task definition table.
FIG. 6 shows a variable length queue definition table including the following parameters for each variable length message queue entry: a pSOS queue name 142; a maximum message count 144 indicating the maximum number of message entries allowed in the variable length message queue; a maximum message length 146 indicating the maximum message length of the variable length messages to be processed by the variable length message queue; and a pSOS defined flag 148 specifying the attributes of the variable length message queue.
FIG. 7 shows a "filled-in" version of a semaphore definition table 150 provided by the hardware-specific initialization object. According to a preferred embodiment of the present invention, the semaphore definition table 150 shown in FIG. 7 is adapted and arranged for use with the pSOS operating system. For each semaphore entry, the semaphore definition table 150 includes a pSOS semaphore name 152, an initial semaphore count 154, and a pSOS flag 156 specifying the attributes of the semaphore used by the hardware component. The maximum number of semaphore entries in the semaphore definition table 150 is defined by the pSOS sys_config.h file, which must be edited if additional semaphore entries are required in excess of the pSOS default value. In addition, according to the preferred method of the present invention as shown in FIGS. 3A and 3B, the semaphore definition table 150 must include an entry for the "start" semaphore 106 used by the common initialization object 102 of FIGS. 3A and 3B. The initial value of the "start" semaphore 106 should be 0.
FIG. 8 shows a "filled-in" version of a task definition table 160 provided by the hardware-specific initialization object. According to a preferred embodiment of the present invention, the task definition table 160 shown in FIG. 8 is adapted and arranged for use with the pSOS operating system. For each task entry, the task definition table 160 includes a task group name 162 indicating a task group or related software building block. The task definition table 160 also includes a pSOS task name 164, a start address 166 indicating an entry point of the task, an initial task priority 168 and a user stack size 170. The maximum number of task entries in the task definition table 160 is defined by the pSOS sys_config.h file, which must be edited if additional task entries are required in excess of the pSOS default value.
According to the preferred method of the present invention as shown in FIGS. 3A and 3B, the task definition table of FIG. 8 also includes an "auto-start" flag 172 indicating whether the task is to be initialized by the common initialization object 102 of FIGS. 3A and 3B. Tasks indicated by an "auto-start" flag equal to "TRUE" are started automatically by the common initialization object 102 and are required to follow the code sequence shown in FIG. 3A and 3B. Tasks indicated by an "auto-start" flag equal to "FALSE" are created by the "create object" function using the data returned by the "get task data" function, and started by a "start object" function. Preferably, all tasks listed in the task definition table 160 of FIG. 8 are "auto-start" tasks. Although the present invention has been described in connection with particular embodiments thereof, it is to be understood that such embodiments are susceptible of modification and variation without departing from the inventive concept disclosed. All such modifications and variations, therefore, are intended to be included within the spirit and scope of the appended claims.

Claims

WHAT IS CLAIMED IS:
1. A distributed architecture computing system for performing local computing tasks, said system having one or more local processors operating on a common operating system and an initialization control program comprising: a common initialization object for creating, initializing and synchronizing said local computing tasks; and a hardware-specific initialization object for providing definition data to said common initialization object, said definition data being associated with said operating system and said local computing tasks.
2. The system according to claim 1, wherein said definition data comprises: a memory map definition table for providing computer memory definition data; one or more queue definition tables for providing operating system queue definition data; a semaphore definition table for providing operating system semaphore definition data; and a task definition table for providing definition data associated with said tasks.
3. The system according to claim 2, wherein said common initialization object is arranged to use said memory map, queue, semaphore and task definition tables to create, initialize and synchronize said local computing tasks.
4. The system according to claim 1, wherein said hardware-specific initialization object is arranged to initialize global software objects to be used by said local computing tasks; and to initialize additional specialized tasks to be performed by said local processors.
5. The system according to claim 1, wherein said common initialization object is arranged to indicate completion of the initialization of said local computing tasks .
6. A distributed telecommunications switching system for performing local computing tasks, said system having one or more local processors operating on a common operating system and an initialization control program comprising: a common initialization object for creating, initializing and synchronizing said local computing tasks; and a hardware-specific initialization object for providing definition data to said common initialization object, said definition data being associated with said local computing tasks and said common operating system.
7. The system according to claim 6, wherein said definition data comprises: a memory map definition table for providing computer memory definition data; one or more queue definition tables for providing operating system queue definition data; a semaphore definition table for providing operating system semaphore definition data; and a task definition table for providing definition data associated with said tasks.
8. The system according to claim 7, wherein said common initialization object is arranged to use said memory map, queue, semaphore and task definition tables to create, initialize and synchronize said local computing tasks.
9. The system according to claim 6, wherein said hardware-specific initialization object is arranged to initialize global software objects to be used by said local computing tasks; and to initialize additional specialized tasks to be performed by said local processors.
10. The system according to claim 6, wherein said common initialization object is arranged to indicate completion of the initialization of said local computing tasks .
11. A method for initializing local computing tasks to be performed by one or more local processors in a distributed architecture computing system, said method comprising the steps of: configuring memory units associated with said local processors as specified by memory map definition data; creating operating system message queues as specified by message queue definition data; creating operating system semaphores as specified by semaphore definition data; creating each of said local computing tasks as specified by task definition data; initializing each of said local computing tasks; signaling completion of said initializing step for each of said local computing tasks; and broadcasting a message to indicate completion of all initializing steps associated with said local computing tasks.
12. The method according to claim 11, further comprising the steps of: providing memory unit definition data from a memory map definition table; providing operating system queue definition data from one or more queue definition tables; providing operating system semaphore definition data from a semaphore definition table; and providing task definition data from a task definition table.
13. The method according to claim 11, further comprising the steps of: initializing global software objects to be used by said local computing tasks; and initializing additional specialized tasks to be performed by said local processors.
14. The method according to claim 11, further comprising the step of indicating to other components of said distributed architecture computing system completion of the initialization of each of said local computing tasks .
15. A method for initializing local computing tasks to be performed by one or more local processors in a distributed telecommunications switching system, said method comprising the steps of: configuring memory units associated with said local processors as specified by memory map definition data; creating operating system message queues as specified by message queue definition data; creating operating system semaphores as specified by semaphore definition data; creating each of said local computing tasks as specified by task definition data; initializing each of said local computing tasks; signaling completion of said initializing step for each of said local computing tasks; and broadcasting a message to indicate completion of all initializing steps associated with said local computing tasks .
16. The method according to claim 15, further comprising the steps of: providing memory unit definition data from a memory map definition table; providing operating system queue definition data from one or more queue definition tables; providing operating system semaphore definition data from a semaphore definition table; and providing task definition data from a task definition table.
17. The method according to claim 16, further comprising the steps of: initializing global software objects to be used by said local computing tasks; and initializing additional specialized tasks to be performed by said local processors.
18. The method according to claim 17, further comprising the step of indicating to other components of said distributed telecommunications switching system completion of the initialization of each of said local computing tasks.
19. A computing system for performing computing tasks, said system having one or more processors operating on a common operating system and an initialization control program comprising: a common initialization object for creating, initializing and synchronizing said computing tasks; and a hardware-specific initialization object for providing definition data to said common initialization object, said definition data being associated with said operating system and said computing tasks.
20. The system according to claim 19, wherein said definition data comprises: a memory map definition table for providing computer memory definition data; one or more queue definition tables for providing operating system queue definition data; a semaphore definition table for providing operating system semaphore definition data; and a task definition table for providing definition data associated with said tasks.
21. The system according to claim 20, wherein said common initialization object is arranged to use said memory map, queue, semaphore and task definition tables to create, initialize and synchronize said computing tasks.
22. The system according to claim 19, wherein said hardware-specific initialization object is arranged to initialize global software objects to be used by said computing tasks; and to initialize additional specialized tasks to be performed by said processors.
23. The system according to claim 19, wherein said common initialization object is arranged to indicate completion of the initialization of said computing tasks.
PCT/US1998/027889 1997-12-31 1998-12-31 Method of common initialization of computing tasks Ceased WO1999034287A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU22103/99A AU2210399A (en) 1997-12-31 1998-12-31 Method of common initialization of computing tasks

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US137697A 1997-12-31 1997-12-31
US09/001,376 1997-12-31

Publications (1)

Publication Number Publication Date
WO1999034287A1 true WO1999034287A1 (en) 1999-07-08

Family

ID=21695733

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1998/027889 Ceased WO1999034287A1 (en) 1997-12-31 1998-12-31 Method of common initialization of computing tasks

Country Status (2)

Country Link
AU (1) AU2210399A (en)
WO (1) WO1999034287A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1324196A3 (en) * 2001-12-27 2005-01-19 Seiko Epson Corporation Method of initializing multiple devices and a control system for controlling multiple devices

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0274406A2 (en) * 1987-01-05 1988-07-13 Computer X, Inc. Self-configuration of nodes in a distributed message-based operating system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0274406A2 (en) * 1987-01-05 1988-07-13 Computer X, Inc. Self-configuration of nodes in a distributed message-based operating system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ARAPIS C ET AL: "Real-time segmentation of video on a multiprocessor platform", PARALLEL COMPUTING, vol. 23, no. 12, 1 December 1997 (1997-12-01), pages 1777-1792, XP004103450 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1324196A3 (en) * 2001-12-27 2005-01-19 Seiko Epson Corporation Method of initializing multiple devices and a control system for controlling multiple devices

Also Published As

Publication number Publication date
AU2210399A (en) 1999-07-19

Similar Documents

Publication Publication Date Title
US7516176B2 (en) Distributed request and response queues for service processor
JP3317405B2 (en) Telecommunication switch with programmable network protocols and communication services
US7061923B2 (en) Method and apparatus for managing local resources at service nodes in an intelligent network
KR100421797B1 (en) An internal execution thread management system and method thereof
US6804711B1 (en) Method and apparatus for managing call processing services in an intelligent telecommunication network
US5551035A (en) Method and apparatus for inter-object communication in an object-oriented program controlled system
US6014760A (en) Scheduling method and apparatus for a distributed automated testing system
US6360268B1 (en) Distributed automated testing system
US5396630A (en) Method and system for object management across process boundries in a data processing system
EP0732834B1 (en) System and method for determining and manipulating configuration information of servers in a distributed object environment
US5448734A (en) Selective distribution of messages using named pipes
CN113535362B (en) Distributed scheduling system architecture and micro-service workflow scheduling method
WO1999034288A1 (en) Software architecture for message processing in a distributed architecture computing system
US20040078440A1 (en) High availability event topic
JP2002528932A (en) Method and apparatus for providing real-time call processing services in intelligent networks
US6421701B1 (en) Method and system for replication support in a remote method invocation system
JPH06101765B2 (en) Communication method and communication device
CN111459639A (en) Distributed task management platform and method supporting global multi-machine-room deployment
EP0405829B1 (en) Object oriented software system architecture
CN100563285C (en) Call transfer method, computer telephony integration platform, traffic resource equipment, call center system and communication system
CA2332586A1 (en) A telecommunication controller messaging system
WO1999034287A1 (en) Method of common initialization of computing tasks
US20020087693A1 (en) Method and system for distributing service functionality
EP1126685A2 (en) System and method for reporting the addition and deletion of TAPI line and phone devices in absence of such notification from a PBX
US6526050B1 (en) Programming call-processing application in a switching system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AT AU AZ BA BB BG BR BY CA CH CN CU CZ CZ DE DE DK DK EE EE ES FI 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 MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SK SL TJ TM TR TT UA UG UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SZ 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

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

Ref country code: KR

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase