METHOD AND SYSTEM PROVIDING A MEDIATION FUNCTION

Abstract: Disclosed are a method and system for providing a mediation function in a system which includes at least a first and a second device able to cooperate or communicate with each other. A loadable mediation program for executing the mediation function is preferably stored in the first device, and is loaded into the second device so as to provide the mediation function. The mediation program is executed when an application program necessitating mediation and involving a cooperation or communication between the devices is run in one of the devices. The first device may be a network element (NE), and the second device may comprise an user interface such as a graphical user interface (GUI).

Description: METHOD AND SYSTEM PROVIDING A MEDIATION FUNCTION FIELD AND BACKGROUND OF THE INVENTION The invention relates to a method and system for providing a mediation function. Generally, a mediation function or Mediation Device (MD) provides a transformation between physical blocks or objects, e.g. of a telecommunication system or processing system, that incorporate incompatible communication mechanisms. As an example, a typical architecture to implement a user interface such as a Graphical User Interface (GUI) is to have a separate user interface application, e.g. a GUI Application. The application communicates with another ' element such as a Network Element (NE) using a client/server architecture, e.g. a CORBA (Common Object Request Broker Architecture) architecture. In such a case (e.g. GUI), the application (e.g. GUI Application) takes the role of the client and the another element the role of the server. In the following, CORBA is used as an example. Instead of CORBA, any other client/server architecture might also be utilized. To become a CORBA-compliant server some additional components have to be provided in the network element. The main components are ORB (Object Request Broker) and server Object Implementation (OI). However, the implementation of ORB and 01 in the network element may, in some cases, not be feasible because of technical barriers. Typically, in such a case, an additional Mediation Device (MD) is implemented which is arranged between the GUI and the network element. The mediation device implements CORBA server for GUI and uses some other, typically proprietary, technology to interface the network element NE. Fig. 2 shows a typical structure having an operating or processing device 20, a network element (NE) 28 and a conventional mediation device (MD) 25 providing a mediation function between the device 20 and the network element 28. The device or element 20 may be any device providing a user interface which, in the shown example is a GUI application 21 which includes a processing element 22, an object request broker (ORB) 23 and a user interface (UI) application 24 which may e.g. be based on Java. The mediation device 25 likewise includes an object request broker 26 and a mediation functionality 27. The mediation device 25 is able to communicate with the object request broker 23 of device 20. The network element 28 includes an EMT (External Message Transfer) element 29 and a functional means 30 of arbitrary kind. The mediation device 25 communicates with the network element 28 using e.g. EMT language which is translated by EMT element 29 in the known manner. As shown in Fig. 2, the conventional mediation device 25 is typically implemented as a functionality in a dedicated computing unit. This solution has some drawbacks. First, the requirement of having a dedicated i.e. extra computing unit for the mediation function decreases the reliability, because there are more hardware components which may malfunction or get broken. Second, conventional mediation devices also have i versioning problems. Because the mediation device and the network element are managed as individual components, the mediation device may no longer work correctly if the interface of the network element is changed. Third, the maintenance load and costs of the system are increased. SUMMARY OF THE INVENTION The invention solves the above problems and provides a method and system as defined in the claims. The disclosed method and system providing a mediation function in a system which includes at least a first and a second device able to cooperate or communicate with each other. A loadable mediation program for executing the mediation function is preferably stored in the first device, and is loaded into the second device so as to provide the mediation function. The mediation program is e.g. executed when an application program necessitating mediation and involving a cooperation or communication between the devices is run in one of the devices. The first device may be a network element (NE) , and the second device may comprise an user interface such as a graphical user interface (GUI). In accordance with a preferred aspect of the invention, the mediation _functionality is implemented as a loadable mediation program which in the following will be termed Loadable IMediation Agent (LMA) . The loadable mediation agent LMA implements the same functionality as a conventional mediation device but may be dynamically loaded into any computing unit. This provides the advantage that no dedicated computing unit i.e. separate device is needed for the mediation functionality. The loadable mediation agent can be tied to a certain device such as a network element. Preferably, an off-line version of the loadable mediation agent is delivered as a part of the network element. Thus, the loadable mediation agent is a kind of mediation device agent of the network element, which may instantiate in any computing unit in the- network. Preferably, an off-line copy of the loadable mediation agent is located in the same network element which is to be managed by the interface such as GUI. When the interaction between the interface, e.g. GUI, and the network element begins, the loadable mediation agent is transferred to an appropriate computing unit (e.g. the one providing the interface), and is installed and activated therein. ' - : Typically, the loadable mediation agent is activated in the same computing unit as the interface (e.g. GUI). After the activation of the loadable mediation agent, both the interface and the network element can communicate with each other without problems, and are totally unaware that the communication takes place through loadable mediation agent instead of a conventional mediation device. The loadable mediation agent does not need any dedicated computing unit or other additional hardware component. Therefore, the reliability of the system and method according to the invention is increased and the maintenance and system expenses are reduced. Further, the loadable mediation agent is always compatible with the element, e.g. network element NE, from where it originates and thus still 'works correctly even if the interface of the element is changed. The above mentioned benefits of unnecessity of a dedicated computing unit for the mediation function and lack of versioning problems furthermore e.g. enable the usage of new technologies (e.g. CORBA). The invention is applicable to all kinds of applications or interfaces needing a mediation function and applies to any situation where mediation device functionality has to be implemented. The invention is not limited to GUI designs. Another application area of the invention is e.g. Network Management which utilizes mediation devices, or interfaces of other types. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 shows an embodiment of a system and method in accordance with the invention, and Fig. 2 illustrates a conventional structure including a mediation device. DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS OF THE INVENTION Fig. 1 illustrates an embodiment of the invention illustrating the storing and handling of a loadable mediation agent (LMA) . Fig. 1 represents a UML (Unified Modeling Language) diagram showing the structure and interaction in an embodiment of the invention. In the present embodiment, an example including a GUI (Graphical User Interface) application 4 is shown. Regarding the interaction in the embodiment shown in Fig. 1, the mediation function takes place between the GUI application 4 of a device 1 which represents a client, and a network element (NE) 13, and is provided by a loadable mediation agent (LMA) 19 stored in a memory of the network element 13. The structure shown in Fig. 1 includes some additional components concerning the LMA transfer from network element (device) 13 to client 1, and installation and activation of the loadable mediation agent in the client 1. The Network Element (NE) 13 may for example be a switching center of the network, a network controller, a base station etc. The shown structure represents only one embodiment and may also be implemented in any other form appropriate for temporarily or preferably permanently storing of LMA 19 in network element 13, and for transferring, installing and activating LMA in the client 1 when a mediation function between the devices 1 and 13 is necessary. The device 1 may be of any structure providing an interface such as a user interface or any other function needing a mediation for communication between the devices 1 and 13. The device 1 comprises, as an' example, a web browser 2, a runnable installation program 3, the graphical user interface application 4 and a LMA component 8. Similar to the structure of the GUI application 21 shown in Fig. 2, the GUI application 4 of Fig. 1 includes an application framework 5, an object request broker (ORB) 6 and a user interface application 7 which may be Java-based. The LMA component 8 is a structure providing necessary processing and storing -function for installing and activating the loadable mediation agent 19 from device 13 to the component 8, at least when a mediation function is needed. The installation and activation procedure may be performed as follows (other procedures based on different technology are also possible) . First the user loads a HTML page 15 using the web browser 2. The HTML page 15 is linked with an installation program 17. When the user issues an instal command, e.g. by clicking a symbol of the installation program 17, the browser 2 transfers the installation program to the device 1 and activates it. When activated in the device 1, the installation program 3 installs and activates the LMA 8 in the device 1. The web browser 2, HTTP server 14 and the HTML Page 15 are needed here only at the installation phase. Once the installation has been done, they have no role in the actual mediation functionality. LMA component 8 of device 1 acts, after activation of the loadable mediation agent, as a mediation device integrated into device 1 and providing a proper communication between the devices 1 and 13. The component 8 comprises, after installation and activation of loadable mediation agent, elements providing the function of an ORB 9, an EMT element 10 converting all messages to be sent to or from EMT component 16 of device 13 into the proper interpretable language, and a mediation functionality 11 similar to a mediation functionality 27 of a conventional mediation device 25, e.g. as shown in Fig. 2. The device 13 includes a HTTP (HyperText Transfer Protocol) server 14, the HTML (HyperText Markup Language) page 15, the EMT element 16, an installation program 17, a functional element 18 of any kind, and the LMA 19 stored in a memory of the device 13. For providing a client/server architecture enabling a mediation function, the web browser 2 may search and find an installation program 3 in a network such as the Internet, and may send a command to the HTTP server 14 of device 13 for getting a HTML page containing appropriate installation tools. The server 14 instructs page memory 15 to read and store the HTML page indicated by web browser 2. The installation program 17 is stored in the device 13, and is then deployed in the device 1. The installation programs 3 and 17 in the device 1 and device 13 are thus exactly the same. The installation program in the device 13 may contain the LMA. This containment is represented in Fig. 1 with a diamond-symbol. The web browser 2 /server 14 are only needed to find and transfer the installation program. The installation program may take care of the whole installation, when activated by the web browser 2 in the device 1. In practice the installation program 17 and the LMA 19 in the memory of the device 13 can be a self-extractive setup program or installation script, which are well known concepts in desktop and server environments. The web browser 2 loads the installation program containing the LMA to the device 1 and runs it thereafter. As a result, the installation program installs and activates the LMA in the device 1, leading to a structure of the component 8 as shown in Fiq. 1. The arrow from the web browser 2 to the installation program 17 tagged with "Load" indicates that the browser 2 transfers i.e. loads the file containing the installation program and LMA 19 from the storage of the device 13 to the storage of the device 1. After installation and activation of LMA, the devices 1 and 13 can communicate with each other without problems, e.g. by exchanging information in EMT language between elements 10 and 16. In addition, devices 1 and 13 can communicate with each other using e.g. "HTTP", as schematically shown in Fig. 1. The LMA is preferably permanently stored in device 13 during fabrication, installation or set-up so as to always comply with the actual version of device 13. The LMA may be stored in any proper form, preferably Java-based. LMA may e.g. be stored as a ".jar" (Java archive) file. The mobility of the LMA is based on a "compile once, run anywhere" philosophy such as Java and may therefore be a Java component. In a practical embodiment, the loadable mediation agent may be an archive of a Java bytecode that may be downloaded and run in any environment. In the embodiment of Fig. 1, EMT is an example of a proprietary communication method between the loadable mediation agent 8 (used as a mediation device) and the device 13 (NE) . Regarding the interaction in the embodiment shown in Fig. 1, the mediation function takes place between the GUI application 4 of the device (client) 1 and the device (network element NE) 13, and is provided by the loadable mediation agent (LMA) 19 loaded into component 8. In the embodiment shown in Fig. 1, the components concerning the LMA transfer, installation and activation are the web browser 2, the installation program 3, the HTTP server 14, the HTML page memory 15, and the installation program 17. These components represent an example only and may also be implemented in any other form providing the necessary transfer (copying) , installation and activation function for loading a copy of the mediation agent 19 into device 1 and installing and activating it properly. In addition to the loading of the medition program when needing the mediation function as descibed above, several alternatives for the loading of the mediation program exist such as: -the mediation program is loaded into the second device when the mediation is needed; -the mediation program is loaded into the second device automatically when the program is changed or revisited in the first device 13 (e.g. when there is new version available); -the mediation program is loaded into the second device 1 at predefined times (e.g. in every ten minutes...); -the mediation program is loaded in the second device while booting the device. These alternatives are some examples of the loading strategy and may also be replaced by other loading criteria. Although an interface represented by a GUI design is provided in the above described embodiment, the invention is not limited thereto and is also applicable to interfaces of other types requiring a client/server structure. Further, the invention is likewise applicable to other types of client/server structures involving a cooperation or communication between two separate devices needing a mediation function, e.g. for Network Management etc.

Claims: CLAIMS 1. Method for providing a mediation function in a system comprising at least a first and a second device able to cooperate or communicate with each other, including providing a loadable mediation program for executing a mediation function, loading a copy of the mediation program into one or both of the devices, and running the mediation program when an application program necessitating mediation and involving a cooperation or communication between the devices is executed in one of the devices. 2. Method according to claim 1, wherein the first device is a network element (NE) . 3. Method according to claim 1 or 2, wherein the second device comprises an user interface. 4. Method according to claim 3, wherein the user interface is a graphical user interface (GUI). 5. Method according to any one of the preceding claims, wherein the mediation program is temporarily or permanently stored in the first device, and is transferred, installed and activated in the second device for execution thereof at the second device. 6. Method according to any one of the preceding claims, wherein the first device storing the loadable mediation program is a user equipment, and the second device comprises a user interface for managing one or more functions of the first device. 7. Method according to any one of the preceding claims, wherein the mediation program is a Java program. 8. System comprising at least a first and a second device able to cooperate or communicate with each other, and providing a mediation function for the first and second device, including a memory means storing a loadable mediation program for executing a mediation function, means for loading a copy of the mediation program into one or both of the devices, and means for running the mediation program when an application program necessitating mediation and involving a cooperation or communication between the devices is executed in one of the devices. 9. System according to claim 8, wherein the first device is a network element (NE) . 10. System according to claim 8 or 9, wherein the second device comprises an user interface. 11. System according to claim 10, wherein the user interface is a graphical user interface (GUI) . 12. System according to any one of the preceding claims 8 to 11, wherein the memory means storing the mediation program is included in the first device, the mediation program being adapted to be transferred, installed and activated in the second device for execution thereof at the second device. 13. System according to any one of the preceding claims 8 to 12, wherein the first device storing the loadable mediation program is a user equipment, and the second device comprises a user interface for managing one or more functions of the first device. 14. System according to any one of the preceding claims 8 to 13, wherein the mediation program is a Java program.

Inventors: FINNI OLLI, FINNI, OLLI
Applicants: FINNI OLLI, NOKIA CORP, FINNI, OLLI, NOKIA CORPORATION
Application year: 2000
Main classification: G06F9
IPC codes: G06F9