WO1993018452A1 - Method and computer system for increasing the functionality of a computer program - Google Patents
Method and computer system for increasing the functionality of a computer program Download PDFInfo
- Publication number
- WO1993018452A1 WO1993018452A1 PCT/SE1993/000220 SE9300220W WO9318452A1 WO 1993018452 A1 WO1993018452 A1 WO 1993018452A1 SE 9300220 W SE9300220 W SE 9300220W WO 9318452 A1 WO9318452 A1 WO 9318452A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- program
- wrapper
- user
- computer program
- computer
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Definitions
- the present invention relates to a method for in- creasing the functionality of a computer program, and a computer system for carrying out this method.
- the invention relates more specifically to a method for increasing the functionality of a computer program which in a computer system is requested to be executed by a user via a driver, the user being connected to a wrapper program via the driver when the user requests execution of the computer program, for data exhange between the user and the wrapper program.
- the invention is specifically directed to computer systems using a UNIX-type operative system.
- the drivers are divided into different levels or modularised.
- An example of increased functionality is improved security in respect of unauthorised utilisation of the computer system.
- an increased functionali ⁇ ty is achieved by the method being characterised by the steps of effecting a supplementary driver, starting the computer program by means of the wrapper program via the supplementary driver, partially executing the computer program by means of the wrapper program on the basis at least partly of data supplied to the wrapper program during the data exchange with the user, and subsequently initiating disconnection of the wrapper program from and connection of the user to the computer program, by means of the wrapper program via the supplementary driver.
- a computer system for carrying out this method com ⁇ prises a user, a computer program and driver modules via which the user is connectible to the computer program, and is characterised in that an additional driver module is arranged adjacent the computer program, that a wrapper program is arranged to be connected, by means of the addi- tional driver module, to the user when the user requests execution of the computer program, and that the additional driver module is adapted to connect, after connection of the wrapper program and data exchange with the user, the computer program to the wrapper program for start and par ⁇ tial execution of the computer program, and subsequently to disconnect the wrapper program and to connect the user to the computer program.
- the computer program is started and executed to a desired step from the wrapper program on the basis at least partly of data supplied to the wrapper program from the user.
- the supplementing of the driver which the additional driver module constitutes preferably comprises a switching function in the driver part adjacent the computer program and the wrapper program.
- This switching function implies that the computer program, during start and execution thereof up to the desired step, is connected to the wrap ⁇ per program only, which then emulates the user.
- the disconnection of the wrapper program is suitably carried out by the supplementing driver, requested from the wrapper program, and the connection of the computer program to the user is then effected with such a delay as to avoid any loss of data.
- the invention has been developed on the basis of a computer system operating with the operative system UNIX, and the invention is especially applicable to such a system.
- wrapper program and the computer program may be log-on programs, and the wrapper program may have extended security functions in relation to the computer program.
- Fig. 1 is a schematic view of a part which is included in a computer system having the operative system SVR4 UNIX, and which is of immediate interest to the invention.
- Figs 2a-c illu- strate the mode of operation of the subsystem in three steps.
- the subsystem of a computer system comprises on the user level a terminal 1 or the like, on the driver level a plurality of driver modules 2, 3 and 4, and on the operative system and program level an original program 5 and a wrapper program 6. Except for the driver module 4 and the wrapper program 6, this is a con ⁇ ventional UNIX environment in the operative system SVR4.
- the mode of operation of the computer system in Fig. 1 is illustrated in Figs 2a-c.
- the driver module 4 which constitutes a switching module con- trolled by an input-output control function (IOCTL) will, as shown in Fig. 2a, connect the terminal to the wrapper program 6, which implements an increased functionality, e.g. extended security functions in respect of access to the computer system in relation to the security functions which are to be found in the original program 5.
- IOCTL input-output control function
- the wrapper program 6 During data exchange with the user/terminal 1, the wrapper program 6 now performs the particular increased functions, and when these have been performed in a satis ⁇ factory manner, the wrapper program 6 requests the switch- ing module 4 to connect the wrapper program 6 to the ori ⁇ ginal program 5, as illustrated in Fig. 2b. Subsequently, the wrapper program 6 emulates the user/terminal 1 and accomplishes start of the original program 5. The wrapper program 6 continues the execution of the original program 5 to a predetermined step thereof, for example while uti ⁇ lising data which the wrapper program 6 has initially received from the user/terminal 1.
- the wrapper program 6 When the wrapper program 6 has reached the desired step in the original program 5, it should transfer the execution of the original program 5. This takes place by the wrapper program 6 requesting the switching module 4 to establish a signal path between the original program 5 and the user/terminal 1, as illustrated in Fig. 2c. It is essential that no data are lost in the switching, which can be achieved by delaying the switching sufficiently to make it possible for the original program 5 to safely receive the last message from the wrapper program 6, but not longer than to allow the next message from the origi ⁇ nal program 5 to the user to be connected to the terminal 1. The wrapper program 6 can now remove the driver module 4 and then terminate itself. The execution of the original program now continues as if the driver module 4 and the wrapper program 6 did not exist.
- the present invention makes it possible to achieve a modification of the beha ⁇ viour of the original program, i.e. an increased func ⁇ tionality, by means of the switching module 4 and the wrapper program 6, without access to the source code of the original program 5, which is of essential importance.
- the invention also results in a consider ⁇ able simplification in case the original program 5 is changed. It may be necessary to change the wrapper pro ⁇ gram 6, but these changes do not necessarily affect the user/terminal 1.
- the invention thus permits data exchange between two non-related processes via normal file descrip ⁇ tors which suitably are common to the original program 5 and the wrapper program 6.
- the increased functionality resulting from the inven- tion is highly valuable for example in case the original program 5 and the wrapper program 6 are log-on programs, since the wrapper program 6 may then introduce essentially extended security functions, without the security func ⁇ tions included in the original program 5 having to be affected or changed. For example, after the data exchange with the wrapper program, the user cannot affect the par- tial execution of the computer program, which is carried out by the wrapper program.
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE69325168T DE69325168T2 (en) | 1992-03-13 | 1993-03-12 | METHOD AND COMPUTER SYSTEM FOR IMPROVING THE FUNCTIONALITY OF A COMPUTER PROGRAM. |
EP93906941A EP0630497B1 (en) | 1992-03-13 | 1993-03-12 | Method and computer system for increasing the functionality of a computer program |
FI944191A FI108479B (en) | 1992-03-13 | 1994-09-12 | A method and device for enhancing the functionality of a computer program |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE9200792A SE469859B (en) | 1992-03-13 | 1992-03-13 | Ways to extend the functionality of a computer program and computer system for implementing the method |
SE9200792-1 | 1992-03-13 | ||
US08/142,879 US5457798A (en) | 1992-03-13 | 1993-10-25 | Method and computer system for increasing the functionality of a computer program |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1993018452A1 true WO1993018452A1 (en) | 1993-09-16 |
Family
ID=26661378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/SE1993/000220 WO1993018452A1 (en) | 1992-03-13 | 1993-03-12 | Method and computer system for increasing the functionality of a computer program |
Country Status (5)
Country | Link |
---|---|
US (1) | US5457798A (en) |
EP (1) | EP0630497B1 (en) |
FI (1) | FI108479B (en) |
SE (1) | SE469859B (en) |
WO (1) | WO1993018452A1 (en) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5301326A (en) * | 1991-09-24 | 1994-04-05 | Microsoft Corporation | Method and system for controlling the execution of an application program |
US6336146B1 (en) * | 1995-12-22 | 2002-01-01 | Sun Microsystems, Inc. | Method and apparatus for docking, launching and running applications in a foreign environment |
US5787019A (en) * | 1996-05-10 | 1998-07-28 | Apple Computer, Inc. | System and method for handling dynamic changes in device states |
US6526456B1 (en) * | 1996-07-01 | 2003-02-25 | David Ian Allan | Distribution and controlled use of software products |
US6161121A (en) * | 1996-07-01 | 2000-12-12 | Sun Microsystems, Inc. | Generic transfer of exclusive rights |
US6611878B2 (en) | 1996-11-08 | 2003-08-26 | International Business Machines Corporation | Method and apparatus for software technology injection for operating systems which assign separate process address spaces |
US6041411A (en) * | 1997-03-28 | 2000-03-21 | Wyatt; Stuart Alan | Method for defining and verifying user access rights to a computer information |
US6233624B1 (en) * | 1997-05-08 | 2001-05-15 | Microsoft Corporation | System and method for layering drivers |
US6678744B2 (en) * | 1997-10-09 | 2004-01-13 | Ericsson Inc. | Application wrapper methods and systems |
US6055543A (en) * | 1997-11-21 | 2000-04-25 | Verano | File wrapper containing cataloging information for content searching across multiple platforms |
US6442749B1 (en) * | 1998-10-30 | 2002-08-27 | Fujitsu Limited | Apparatus, method and architecture for task oriented applications |
US6658571B1 (en) * | 1999-02-09 | 2003-12-02 | Secure Computing Corporation | Security framework for dynamically wrapping software applications executing in a computing system |
US6980944B1 (en) * | 2000-03-17 | 2005-12-27 | Microsoft Corporation | System and method for simulating hardware components in a configuration and power management system |
DE10028371B4 (en) * | 2000-06-08 | 2013-01-17 | Siemens Aktiengesellschaft | Method and arrangement for the secure use of a service |
EP1324193A1 (en) * | 2001-06-14 | 2003-07-02 | Abb Research Ltd. | Integrated system and method for consistent modelling |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3653073A (en) * | 1969-08-19 | 1972-03-28 | Kaiser Aluminium Chem Corp | Handler program for remote input management system |
US4882674A (en) * | 1985-03-05 | 1989-11-21 | Wang Laboratories, Inc. | Apparatus and method for control of one computer system by another computer system |
JPH02199548A (en) * | 1988-11-09 | 1990-08-07 | Asea Brown Boveri Ag | Observing method for development with the lapse of time of object program made by electronic computer system and observation instrument practicing said method |
US5036484A (en) * | 1988-11-23 | 1991-07-30 | International Business Machines Corporation | Personal computer/host emulation system for handling host data with personal computer application programs at personal computers |
US5237691A (en) * | 1990-08-01 | 1993-08-17 | At&T Bell Laboratories | Method and apparatus for automatically generating parallel programs from user-specified block diagrams |
US5233611A (en) * | 1990-08-20 | 1993-08-03 | International Business Machines Corporation | Automated function testing of application programs |
US5301326A (en) * | 1991-09-24 | 1994-04-05 | Microsoft Corporation | Method and system for controlling the execution of an application program |
US5325361A (en) * | 1992-12-01 | 1994-06-28 | Legent Corporation | System and method for multiplexing data transmissions |
-
1992
- 1992-03-13 SE SE9200792A patent/SE469859B/en not_active IP Right Cessation
-
1993
- 1993-03-12 WO PCT/SE1993/000220 patent/WO1993018452A1/en active IP Right Grant
- 1993-03-12 EP EP93906941A patent/EP0630497B1/en not_active Expired - Lifetime
- 1993-10-25 US US08/142,879 patent/US5457798A/en not_active Expired - Lifetime
-
1994
- 1994-09-12 FI FI944191A patent/FI108479B/en not_active IP Right Cessation
Non-Patent Citations (1)
Title |
---|
IBM Technical Disclosure Bulletin, Volume 34, No. 5, October 1991, IBM, "Standard Method for Running Applications from Unix Workstations", page 177 - page 178. * |
Also Published As
Publication number | Publication date |
---|---|
FI944191A0 (en) | 1994-09-12 |
EP0630497B1 (en) | 1999-06-02 |
SE9200792A (en) | 1993-09-14 |
FI108479B (en) | 2002-01-31 |
SE469859B (en) | 1993-09-27 |
FI944191A (en) | 1994-09-12 |
US5457798A (en) | 1995-10-10 |
EP0630497A1 (en) | 1994-12-28 |
SE9200792D0 (en) | 1992-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO1993018452A1 (en) | Method and computer system for increasing the functionality of a computer program | |
US5905913A (en) | System for collecting a specified number of peripheral interrupts and transferring the interrupts as a group to the processor | |
CN1037984A (en) | The data handling system that identity relation is arranged between CPU (central processing unit) | |
EP0362880A3 (en) | Process for partially swapping real storage areas used by a program between a real storage and an auxiliary storage | |
US6446201B1 (en) | Method and system of sending reset signals only to slaves requiring reinitialization by a bus master | |
CA2058933A1 (en) | Reset Method When Adaptor Module is Faulty and Computer System Executing Same | |
US20040139442A1 (en) | Task switching system, task switching method and dsp modem | |
JP2000172389A (en) | Pci hot plug mechanism | |
JPH06149718A (en) | Switching system of input/output device | |
CN112051973A (en) | Vehicle-mounted information entertainment system and multi-screen linkage method | |
JPH02165796A (en) | Exchange system starting system | |
JPS5878237A (en) | Data transfer processing switching method | |
JP2975094B2 (en) | Control device for I / O device | |
JPS595927B2 (en) | Initial program loading processing method | |
JP3314868B2 (en) | Program switching control method | |
JPH07104837B2 (en) | Processor control method | |
JP2845006B2 (en) | Report output method | |
JPH06161974A (en) | Diagnosing method for multi-cpu board | |
JPH02176832A (en) | Microcomputer | |
JPH1049267A (en) | Power source control system | |
JPH01108669A (en) | Decentralized processing system | |
JPH0773120A (en) | File transfer system | |
JPH01251267A (en) | Data transfer system | |
JPS62114050A (en) | Communication control equipment | |
JPS6358564A (en) | Interruption controlling system for bus converting device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): FI NO |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE |
|
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
WWE | Wipo information: entry into national phase |
Ref document number: 1993906941 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 944191 Country of ref document: FI |
|
WWP | Wipo information: published in national office |
Ref document number: 1993906941 Country of ref document: EP |
|
WWG | Wipo information: grant in national office |
Ref document number: 1993906941 Country of ref document: EP |
|
WWG | Wipo information: grant in national office |
Ref document number: 944191 Country of ref document: FI |