US20040078803A1 - Application wrapper methods and systems - Google Patents

Application wrapper methods and systems Download PDF

Info

Publication number
US20040078803A1
US20040078803A1 US10/719,939 US71993903A US2004078803A1 US 20040078803 A1 US20040078803 A1 US 20040078803A1 US 71993903 A US71993903 A US 71993903A US 2004078803 A1 US2004078803 A1 US 2004078803A1
Authority
US
United States
Prior art keywords
application
software applications
computer
object oriented
software
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.)
Abandoned
Application number
US10/719,939
Inventor
Billy Moon
Brian Bankler
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to US10/719,939 priority Critical patent/US20040078803A1/en
Publication of US20040078803A1 publication Critical patent/US20040078803A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells

Definitions

  • the present invention relates to methods and systems for controlling object oriented software applications and, more particularly, to methods and systems for optimally controlling functionality and access to data files contained within object oriented software applications.
  • an object oriented operating system such as Windows® or Windows 95®
  • the software application will provide the operating system with enough information to create a static icon and a simple instruction on how to run the program.
  • the icon that is created always remains static and is the only means by which the user can gain access to any of the program's features.
  • the operating system associates the static icon with a command line that will start the software application.
  • the operating system automatically runs the command line that initiates the software application. See FIG. 2.
  • a Windows® software application is written and linked as a program with one or several dynamic link library (“DLL”) files.
  • DLL dynamic link library
  • large amounts of data must be fully loaded into the operating system and “linked” together. This action requires a lot of RAM, processing power, and time to complete.
  • software applications written for these operating systems are somewhat cryptic and difficult to install and use. Online help is a frequent solution, but this usually requires the computer user to have already loaded the program into the computer system's main memory and to have started running it before being given access to the help files. If help is offered outside of the application, the computer user must be very knowledgeable about the software application since he or she must know how to locate and pull up various kinds of help files.
  • a few examples of these files are Windows® help files (“.HLP”), README.TXT files, and HTML files.
  • Configuration information for software applications generally does not follow a standard format but is usually very program specific. Usually the configuration information is located within the software application and can only be accessed by starting the entire application. A few software applications will install a second executable file that allows modification of the configuration files without starting the main executable file, but this is the exception and not the norm. In these types of software applications, the two executable files run independently of one another and the user is only allowed access to configuration settings. In order to change a simple configuration setting, for instance, either the entire software application must be running, or a completely separate software application must be started. This can frustrate a computer user and cause a needless overuse of computer system resources. An example would be, launching an entire mail system to turn on an auto-reply message or to forward information.
  • the present invention provides methods and systems for more optimally controlling object oriented software applications in computer systems and for increasing the flexibility of software applications designed using object oriented programming.
  • an “application wrapper” is incorporated into the computer system to permit selective access to specific functions and data of an object oriented software application without starting the entire software application.
  • an application wrapper is incorporated into the design of a software application, a programmer has the ability to define the appearance and behavior of the application regardless of the constraints placed on the programmer by the computer's operating system.
  • an application wrapper avoids the artificial constraints imposed by the operating system, by separating control of the application wrapper from the operating system but at the same time establishing and maintaining a stable interface between the two.
  • the present invention also provides application wrappers that are capable of communicating with the operating system and can create object oriented displays with graphic capabilities beyond those allowed by the constraints of the operating system.
  • Computer icons can, with the use of an application wrapper of the invention, now be designed to include sound, computer animation, and video clips.
  • an application wrapper gives a programmer the ability to design software applications that run on a modular basis, thereby using less system resources when in operation than the present wholesale program loading.
  • FIG. 1 is a schematic, block diagram showing a simplified model of the manner in which an object oriented software application and application wrapper interact within a computer system according to the present invention.
  • FIG. 2 is a schematic, block diagram of the prior art, showing a simplified model of the manner in which a known object oriented software application interacts within a computer system.
  • FIG. 3 is a schematic, block diagram illustrating in more detail the manner in which an application wrapper interacts within the computer system according to the present invention.
  • FIG. 1 illustrates a preferred embodiment of the invention including two “application wrappers” 10 and 12 for known software applications 14 and 16 .
  • An “application wrapper” is a program that runs independently of a computer's operating system 18 and permits a computer user to selectively access individual functions and data of an object oriented software application without starting the entire software application. The incorporation of an application wrapper into an object oriented computer system releases application developers from artificial constraints placed on them by the computer operating system 18 .
  • Each of the application wrappers 10 and 12 provides an object oriented method of optimally controlling one of the object oriented software applications 14 and 16 that operate and coexist with the computer's operating system 18 .
  • FIG. 1 two application wrappers 10 and 12 are illustrated in a main memory 20 within the computer system to demonstrate that one or more application wrappers may be used by a computer system and can also operate at the same time.
  • Application wrapper A 10 is associated with a specific software application A 14 in the computer system
  • application wrapper B 12 is associated with a specific software application B 16 .
  • each software application installed on the computer system will be assigned an application wrapper.
  • both application wrappers 10 and 12 are in communication with the computer's operating system 18 as well as with the central processing unit (“CPU”) 22 .
  • the operating system 18 views the application wrappers 10 and 12 as independent programs, and all three cooperate in controlling the CPU 22 .
  • the operating system 18 is usually loaded into the computer system and starts running as soon as the computer is powered up and completes its system check.
  • the application wrappers 10 and 12 are loaded as soon as the CPU 22 has completed loading the operating system 18 . Therefore, both of the application wrappers 10 and 12 are loaded with the operating system 18 into a random access memory (“RAM”) 24 by the CPU 22 upon powering up. See FIG. 3.
  • RAM random access memory
  • known software applications 62 and 64 provide enough data to the operating system 18 so that the operating system 18 can create static icons 26 and 28 on a display 30 and a simple instruction that runs software applications 62 and 64 .
  • the instruction that causes one of the software applications 62 and 64 to start running on the computer system is activated when one of the static icons 26 or 28 on the display 30 is selected by a computer user through an input device 32 , such as a keyboard, touch screen, or mouse.
  • an input device 32 such as a keyboard, touch screen, or mouse.
  • object oriented displays of the application wrappers 10 and 12 are generated on the display 30 .
  • the application wrappers 10 and 12 can be shown on the display 30 using one of several methods.
  • the preferred method of optimally displaying the application wrappers 10 and 12 is to create small icons within a program manager of the computer system that can be easily seen and accessed.
  • the icons that are used to represent the application wrappers 10 and 12 on the display 30 can change appearance in response to computer user inputs via the input device 32 .
  • the identifying means and icons of an application wrapper 10 and 12 can take the form of anything that a software application's programmer desires to use to attract the attention of the computer user to that particular software application 14 and 16 .
  • These identifying means and icons can take the form of sound messages, computer animation, static or video images, or a combination of these. Therefore, software application developers using the application wrappers 10 and 12 as depicted in FIG. 1 are not bound by the constraints of a conventional computer operating system 18 .
  • a further benefit that the application wrappers 10 and 12 can provide to computer programmers is the ability to allow computer users to interface on a modular basis with the application wrappers 10 and 12 and their associated software applications 14 and 16 .
  • application wrapper A 10 assigned to software application A 14 allows the user to access data files and control the functionality of software application A 14 . All of the access and control can occur without the actual software application A 14 ever being loaded into the computer system's RAM 24 .
  • the software application B 16 on the computer system would be controlled by its application wrapper B 12 in much the same manner.
  • each of the software applications 14 and 16 installed on a computer system is provided with its own respective application wrapper 10 or 12 .
  • application wrappers 10 and 12 valuable computer resources, such as processor time and memory, are conserved and made available for other uses.
  • each of the application wrappers 10 and 12 can be used separately and selectively in a modular format to access data files 36 , 38 , help files 40 , 42 , configuration files 46 , 48 and/or other files contained within the associated software application 14 or 16 .
  • the application wrappers 10 and 12 can also be used to control the functionality 44 , 50 of the software applications 14 and 16 in a modular format.
  • Software applications 14 and 16 generally have online help files 40 , 42 associated with the software applications 14 and 16 .
  • Application wrapper A 10 can, in response to computer user input to the input device 32 , provide access to the online help files 40 of software application A 14 without ever loading any other piece of the actual software application A 14 .
  • application wrapper A 10 gives a computer user the ability to access certain functions 48 that software application A 14 can perform on a modular basis. Further, application wrapper A 10 can be used to provide access to configuration files 44 , help files 40 , and data files 36 of the software application A 14 in a modular format without ever having to load the entire software application A 14 . Likewise, application wrapper B 12 can be used to gain modular access to help files 42 , configuration files 46 , data files 38 , and pieces of functionality 50 of software application B 16 without having to load the entire software application.
  • Prior art methods of controlling software applications require software application A 62 to be loaded into the computer system's RAM 24 before a computer user can gain access to any data files 66 , functionality 68 , configuration files 70 , or help files 72 of software application A 62 .
  • that software application B 64 would similarly have to be loaded into the computer system's RAM 24 .
  • the configuration and help files for these prior art software applications are usually either tightly bound into the software application or comprise an entirely different program.
  • help information for some software applications has been separated into different files from the software application in order for the user to be able to view them separately from the software application.
  • the software application does not automatically configure this option when installed, the computer user is required to know the exact location and names of the help files and is also required to invoke a “reader” program that understands the file format.
  • the operating system 18 and application wrappers 10 and 12 are loaded into the computer system's RAM 24 .
  • the system generates one or more identifying means or icons 52 , 54 , 56 , 58 that can be used to identify and gain access to any one or more of the files associated with application wrapper A 10 and software application A 14 and/or application wrapper B 12 and software application B 16 .
  • these identifying means can be static or animated, possibly sequentially, and may have associated sounds.
  • the CPU 22 loads the selected file or function from the selected software application 14 or 16 into the computer system's RAM 24 .
  • software applications 14 and 16 can comprise several smaller modules or files that reside in main memory 20 until called into operation by computer user input through the input device 32 to the application wrappers 10 and 12 in selecting one or more identifying means 52 , 54 , 56 , 58 .
  • Programming with application wrappers 10 and 12 thus allows software applications 14 and 16 to use small modules, thereby reducing the size of files that need to be loaded by the CPU 22 .
  • a further benefit of using smaller file sizes to perform different tasks associated with software applications 14 and 16 is realized because less RAM 24 is needed to store and run the software applications 14 and 16 .
  • the invention also provides a stable interface between the application wrappers 10 and 12 and the operating system 18 so that changes may be made to either without affecting the functionality of the other.
  • the application wrappers 10 and 12 are programmed in such a manner as to communicate with the operating system 18 without affecting the manner in which the operating system 18 runs on the computer sys tem.
  • each of software applications 14 and 16 can be provided with a link to the operating system 18 which is capable of notifying the software applications 14 and 16 of changes to the operating system 18 . For instance, software applications 14 and 16 could be notified of such changes in the operating system 18 as a power up or down of the computer system.
  • Another feature of the present invention is the ability to provide a link between the software applications 14 and 16 and the operating system 18 that ascertains if an object contained in a storage device is one that the software applications 14 and 16 can interpret. This gives the computer user the ability to quickly pull up and view files the software applications 14 and 16 can interpret.
  • Software application A 14 and software application B 16 are capable of being linked together so that each software application 14 and 16 can call up the functionality of the other to view and manipulate data contained in an object, or the objects can be programmed and stored using a common file format.
  • application wrappers 10 and 12 can control in response to computer user input through the input device 32 in response to computer user input through the input device 32 are the starting and exiting of the actual software applications 14 and 16 .
  • Application wrappers 10 and 12 can be programmed to communicate with other software applications on the computer system regardless of whether the other software applications use application wrappers.
  • application wrappers 10 and 12 can also be programmed to automatically delete a software application 14 or 16 and all of its dependent objects from the computer system's operating system 18 and main memory 20 in response to computer user inputs to the input device 32 .
  • Each application wrapper 10 and 12 contained on a computer system is associated with a common application wrapper database. 60 , as shown in FIG. 3.
  • the common application wrapper database 60 may be accessed by the computer user to change configuration settings within each of the application wrappers 10 and 12 .
  • the common application wrapper database 60 can also contain information that is common to software applications A 14 and B 16 in the computer system, and each application wrapper 10 and 12 can share that information.
  • Some of the data and configuration files that may be accessed through the common application wrapper database 60 are the computer user's personal profile, a specific software application's bubble help, settings to control the appearance and behavior of a software application's icon, an option to start any of the software applications 14 and 16 in a secure mode, and limits on the allowable memory usage and priorities of the software applications 14 and 16 .
  • One exemplary embodiment of the invention comprises a communications device or system, such as a cellular telephone.
  • a communications device can comprise a small housing carrying a keyboard, an LCD display, a microprocessor, random access memory, more memory, and one or more application wrappers and object oriented software applications for providing one or more user selected functions, such as phone number storage, retrieval and dialing, calculation, global time input, message storage and retrieval, Internet interfacing and the like, and telephone and cellular communication components.
  • Such a device permits a user to carry out a phone call while taking notes, entering information into memory, performing complex calculations, making drawings, and any other application that can be provided by software.
  • the application wrappers 10 and 12 of the present invention allow a computer user to access and use one or more specific files, such as the help files, of an object oriented software application in the computer system and to enjoy the benefits of a more user-friendly interface with his computer system.
  • the invention provides computer programmers the ability to create object oriented software applications that are not artificially constrained by the computer's operating system and can be rapidly and easily used.
  • an application wrapper as set forth above, the computer programmer can provide optimal control of his software application to a computer user.
  • application wrappers 10 and 12 are advantageous for any computer system.
  • Preferred embodiments of the present invention can be installed on personal digital assistants to minimize use of computer system resources while obtaining functionality that was not previously possible due to the size constraints and limited storage capacity of smaller hand held computer systems.
  • Application wrappers provide benefits to any computer system due to ease of use and the functionality that can be included in software applications now that were previously barred by constraints of computer operating systems.

Abstract

Methods and systems for optimally controlling the operation of object oriented computer software applications use what we call “application wrappers”. An application wrapper is a software application that gives programmers the ability to extend their programs' functionality beyond the rigid constraints placed on them by the computer system's operating system. An application wrapper is associated with each software application stored on the computer system and is loaded when the system is powered up. An object oriented display of the application wrapper is generated for the computer user, which can take almost any identifiable form. Application wrappers provide a computer user more rapid modular access to the functional and data files contained within said software applications, saving computer system resources such as RAM and processing time.

Description

    BACKGROUND OF THE INVENTION
  • 1. Field of the Invention [0001]
  • The present invention relates to methods and systems for controlling object oriented software applications and, more particularly, to methods and systems for optimally controlling functionality and access to data files contained within object oriented software applications. [0002]
  • 2. The Prior Art [0003]
  • Current software standards narrowly define the functions that software may perform before an application is started or launched. All aspects of a program's appearance and behavior within an operating environment are controlled by an operating system. The computer's operating system thus generally constrains the operations of software applications. Features of a software application can only be accessed by starting the entire application, which causes the computer to load a large part of the program, usually in the form of an executable file (“.exe”) together with several smaller files, into the computer's random access memory (“RAM”). This method of running a software application is time consuming and wastes valuable resources of the computer. [0004]
  • A conventional piece of software that is written to operate under an object oriented operating system, such as Windows® or Windows 95®, must follow narrow guidelines set forth by the operating system vendor. When a computer user loads the software application into the computer system for the first time, the software application will provide the operating system with enough information to create a static icon and a simple instruction on how to run the program. The icon that is created always remains static and is the only means by which the user can gain access to any of the program's features. The operating system associates the static icon with a command line that will start the software application. When a computer user starts the software application by clicking on or selecting the static icon, the operating system automatically runs the command line that initiates the software application. See FIG. 2. [0005]
  • The command line that the operating system automatically runs when a user activates the static icon will generally start the software application's executable file. In turn, the software application's executable file takes control of the entire software application and loads several files associated with that application's features. Unfortunately, many of these files may be directed to certain features of the software application which the user may not want to use. Consequently, time and processing power may be wasted by loading files which are unnecessary. [0006]
  • As an example, a Windows® software application is written and linked as a program with one or several dynamic link library (“DLL”) files. In a software application written for Windows®, large amounts of data must be fully loaded into the operating system and “linked” together. This action requires a lot of RAM, processing power, and time to complete. In addition, software applications written for these operating systems are somewhat cryptic and difficult to install and use. Online help is a frequent solution, but this usually requires the computer user to have already loaded the program into the computer system's main memory and to have started running it before being given access to the help files. If help is offered outside of the application, the computer user must be very knowledgeable about the software application since he or she must know how to locate and pull up various kinds of help files. A few examples of these files are Windows® help files (“.HLP”), README.TXT files, and HTML files. [0007]
  • Configuration information for software applications generally does not follow a standard format but is usually very program specific. Usually the configuration information is located within the software application and can only be accessed by starting the entire application. A few software applications will install a second executable file that allows modification of the configuration files without starting the main executable file, but this is the exception and not the norm. In these types of software applications, the two executable files run independently of one another and the user is only allowed access to configuration settings. In order to change a simple configuration setting, for instance, either the entire software application must be running, or a completely separate software application must be started. This can frustrate a computer user and cause a needless overuse of computer system resources. An example would be, launching an entire mail system to turn on an auto-reply message or to forward information. [0008]
  • Over the years operating systems have added features that make it appear that the software applications are performing more functions. A typical example of this is animating the mouse pointer while an application is loading. These changes are merely additions to the structure of the program management system found on most operating systems or user interfaces and do not represent any increase in flexibility. [0009]
  • Inflexibility has not previously been considered much of a problem. However, as computers get more powerful and include more memory, users' expectations for computer and software application performance have dramatically increased. Thus, a need exists for improved operating capability and greater flexibility in the use of software applications for object oriented computer systems. [0010]
  • SUMMARY OF THE INVENTION
  • The present invention provides methods and systems for more optimally controlling object oriented software applications in computer systems and for increasing the flexibility of software applications designed using object oriented programming. In this invention, an “application wrapper” is incorporated into the computer system to permit selective access to specific functions and data of an object oriented software application without starting the entire software application. Where an application wrapper is incorporated into the design of a software application, a programmer has the ability to define the appearance and behavior of the application regardless of the constraints placed on the programmer by the computer's operating system. Thus, the use of an application wrapper avoids the artificial constraints imposed by the operating system, by separating control of the application wrapper from the operating system but at the same time establishing and maintaining a stable interface between the two. [0011]
  • The present invention also provides application wrappers that are capable of communicating with the operating system and can create object oriented displays with graphic capabilities beyond those allowed by the constraints of the operating system. Computer icons can, with the use of an application wrapper of the invention, now be designed to include sound, computer animation, and video clips. Furthermore, the use of an application wrapper gives a programmer the ability to design software applications that run on a modular basis, thereby using less system resources when in operation than the present wholesale program loading.[0012]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a schematic, block diagram showing a simplified model of the manner in which an object oriented software application and application wrapper interact within a computer system according to the present invention. [0013]
  • FIG. 2 is a schematic, block diagram of the prior art, showing a simplified model of the manner in which a known object oriented software application interacts within a computer system. [0014]
  • FIG. 3 is a schematic, block diagram illustrating in more detail the manner in which an application wrapper interacts within the computer system according to the present invention.[0015]
  • DETAILED DESCRIPTION OF THE INVENTION
  • Referring now to the drawings, like reference numerals designate identical or corresponding elements throughout the several views. FIG. 1 illustrates a preferred embodiment of the invention including two “application wrappers” [0016] 10 and 12 for known software applications 14 and 16. An “application wrapper” is a program that runs independently of a computer's operating system 18 and permits a computer user to selectively access individual functions and data of an object oriented software application without starting the entire software application. The incorporation of an application wrapper into an object oriented computer system releases application developers from artificial constraints placed on them by the computer operating system 18. Each of the application wrappers 10 and 12 provides an object oriented method of optimally controlling one of the object oriented software applications 14 and 16 that operate and coexist with the computer's operating system 18.
  • In FIG. 1, two [0017] application wrappers 10 and 12 are illustrated in a main memory 20 within the computer system to demonstrate that one or more application wrappers may be used by a computer system and can also operate at the same time. Application wrapper A 10 is associated with a specific software application A 14 in the computer system, and application wrapper B 12 is associated with a specific software application B 16. In a preferred embodiment of the invention each software application installed on the computer system will be assigned an application wrapper. As depicted, both application wrappers 10 and 12 are in communication with the computer's operating system 18 as well as with the central processing unit (“CPU”) 22. The operating system 18 views the application wrappers 10 and 12 as independent programs, and all three cooperate in controlling the CPU 22.
  • The [0018] operating system 18 is usually loaded into the computer system and starts running as soon as the computer is powered up and completes its system check. The application wrappers 10 and 12 are loaded as soon as the CPU 22 has completed loading the operating system 18. Therefore, both of the application wrappers 10 and 12 are loaded with the operating system 18 into a random access memory (“RAM”) 24 by the CPU 22 upon powering up. See FIG. 3.
  • As depicted in the prior art FIG. 2, known [0019] software applications 62 and 64 provide enough data to the operating system 18 so that the operating system 18 can create static icons 26 and 28 on a display 30 and a simple instruction that runs software applications 62 and 64. The instruction that causes one of the software applications 62 and 64 to start running on the computer system is activated when one of the static icons 26 or 28 on the display 30 is selected by a computer user through an input device 32, such as a keyboard, touch screen, or mouse. In this type of environment, all aspects of a software application's appearance and behavior are rigidly defined by the features and limitations of the operating system 18.
  • Referring once again to FIG. 1, in the present invention, once the [0020] application wrappers 10 and 12 have been started, object oriented displays of the application wrappers 10 and 12 are generated on the display 30. The application wrappers 10 and 12 can be shown on the display 30 using one of several methods. The preferred method of optimally displaying the application wrappers 10 and 12 is to create small icons within a program manager of the computer system that can be easily seen and accessed. The icons that are used to represent the application wrappers 10 and 12 on the display 30 can change appearance in response to computer user inputs via the input device 32. Unlike the static icons 26 and 28 used in the prior art methods depicted in FIG. 2, the identifying means and icons of an application wrapper 10 and 12 can take the form of anything that a software application's programmer desires to use to attract the attention of the computer user to that particular software application 14 and 16. These identifying means and icons can take the form of sound messages, computer animation, static or video images, or a combination of these. Therefore, software application developers using the application wrappers 10 and 12 as depicted in FIG. 1 are not bound by the constraints of a conventional computer operating system 18.
  • A further benefit that the [0021] application wrappers 10 and 12 can provide to computer programmers is the ability to allow computer users to interface on a modular basis with the application wrappers 10 and 12 and their associated software applications 14 and 16. For example, once software application A 14 and all of its dependent parts is loaded into the computer system's main memory 20, application wrapper A 10 assigned to software application A 14 allows the user to access data files and control the functionality of software application A 14. All of the access and control can occur without the actual software application A 14 ever being loaded into the computer system's RAM 24. The software application B 16 on the computer system would be controlled by its application wrapper B 12 in much the same manner. As previously stated, in preferred embodiments of the invention each of the software applications 14 and 16 installed on a computer system is provided with its own respective application wrapper 10 or 12. Thus, by using application wrappers 10 and 12, valuable computer resources, such as processor time and memory, are conserved and made available for other uses.
  • Once activated by a computer user, each of the [0022] application wrappers 10 and 12 can be used separately and selectively in a modular format to access data files 36, 38, help files 40, 42, configuration files 46, 48 and/or other files contained within the associated software application 14 or 16. The application wrappers 10 and 12 can also be used to control the functionality 44, 50 of the software applications 14 and 16 in a modular format. Software applications 14 and 16 generally have online help files 40, 42 associated with the software applications 14 and 16. Application wrapper A 10 can, in response to computer user input to the input device 32, provide access to the online help files 40 of software application A 14 without ever loading any other piece of the actual software application A 14. In addition, application wrapper A 10 gives a computer user the ability to access certain functions 48 that software application A 14 can perform on a modular basis. Further, application wrapper A 10 can be used to provide access to configuration files 44, help files 40, and data files 36 of the software application A 14 in a modular format without ever having to load the entire software application A 14. Likewise, application wrapper B 12 can be used to gain modular access to help files 42, configuration files 46, data files 38, and pieces of functionality 50 of software application B 16 without having to load the entire software application.
  • Prior art methods of controlling software applications, shown in FIG. 2, require [0023] software application A 62 to be loaded into the computer system's RAM 24 before a computer user can gain access to any data files 66, functionality 68, configuration files 70, or help files 72 of software application A 62. In addition, to access any of the data files 76, functionality 78, configuration files 74, and help files 80 of software application B 64, that software application B 64 would similarly have to be loaded into the computer system's RAM 24. The configuration and help files for these prior art software applications are usually either tightly bound into the software application or comprise an entirely different program. Recently, the help information for some software applications has been separated into different files from the software application in order for the user to be able to view them separately from the software application. However, if the software application does not automatically configure this option when installed, the computer user is required to know the exact location and names of the help files and is also required to invoke a “reader” program that understands the file format.
  • The ability of methods and systems using [0024] application wrappers 10 and 12 to run software applications 14 and 16 on a modular basis conserves computer system resources and gives programmers the ability to include more features in software applications 14 and 16.
  • As shown in FIG. 3, in operation the [0025] operating system 18 and application wrappers 10 and 12, are loaded into the computer system's RAM 24. The system generates one or more identifying means or icons 52, 54, 56, 58 that can be used to identify and gain access to any one or more of the files associated with application wrapper A 10 and software application A 14 and/or application wrapper B 12 and software application B 16. As indicated above, these identifying means can be static or animated, possibly sequentially, and may have associated sounds. In response to computer user input to the input device 32 selecting one of the application wrapper's icons 52, 54, 56, 58 the CPU 22 loads the selected file or function from the selected software application 14 or 16 into the computer system's RAM 24.
  • In addition, as shown in FIG. 3, [0026] software applications 14 and 16 can comprise several smaller modules or files that reside in main memory 20 until called into operation by computer user input through the input device 32 to the application wrappers 10 and 12 in selecting one or more identifying means 52, 54, 56, 58. Programming with application wrappers 10 and 12 thus allows software applications 14 and 16 to use small modules, thereby reducing the size of files that need to be loaded by the CPU 22. A further benefit of using smaller file sizes to perform different tasks associated with software applications 14 and 16 is realized because less RAM 24 is needed to store and run the software applications 14 and 16.
  • The invention also provides a stable interface between the [0027] application wrappers 10 and 12 and the operating system 18 so that changes may be made to either without affecting the functionality of the other. The application wrappers 10 and 12 are programmed in such a manner as to communicate with the operating system 18 without affecting the manner in which the operating system 18 runs on the computer sys tem. Likewise, each of software applications 14 and 16 can be provided with a link to the operating system 18 which is capable of notifying the software applications 14 and 16 of changes to the operating system 18. For instance, software applications 14 and 16 could be notified of such changes in the operating system 18 as a power up or down of the computer system. Another feature of the present invention is the ability to provide a link between the software applications 14 and 16 and the operating system 18 that ascertains if an object contained in a storage device is one that the software applications 14 and 16 can interpret. This gives the computer user the ability to quickly pull up and view files the software applications 14 and 16 can interpret. Software application A 14 and software application B 16 are capable of being linked together so that each software application 14 and 16 can call up the functionality of the other to view and manipulate data contained in an object, or the objects can be programmed and stored using a common file format.
  • Some of the functionality that [0028] application wrappers 10 and 12 can control in response to computer user input through the input device 32 are the starting and exiting of the actual software applications 14 and 16. Application wrappers 10 and 12 can be programmed to communicate with other software applications on the computer system regardless of whether the other software applications use application wrappers. In addition, application wrappers 10 and 12 can also be programmed to automatically delete a software application 14 or 16 and all of its dependent objects from the computer system's operating system 18 and main memory 20 in response to computer user inputs to the input device 32.
  • Each [0029] application wrapper 10 and 12 contained on a computer system is associated with a common application wrapper database. 60, as shown in FIG. 3.
  • The common [0030] application wrapper database 60 may be accessed by the computer user to change configuration settings within each of the application wrappers 10 and 12. The common application wrapper database 60 can also contain information that is common to software applications A 14 and B 16 in the computer system, and each application wrapper 10 and 12 can share that information. Some of the data and configuration files that may be accessed through the common application wrapper database 60 are the computer user's personal profile, a specific software application's bubble help, settings to control the appearance and behavior of a software application's icon, an option to start any of the software applications 14 and 16 in a secure mode, and limits on the allowable memory usage and priorities of the software applications 14 and 16.
  • One exemplary embodiment of the invention comprises a communications device or system, such as a cellular telephone. Such a communications device can comprise a small housing carrying a keyboard, an LCD display, a microprocessor, random access memory, more memory, and one or more application wrappers and object oriented software applications for providing one or more user selected functions, such as phone number storage, retrieval and dialing, calculation, global time input, message storage and retrieval, Internet interfacing and the like, and telephone and cellular communication components. Such a device permits a user to carry out a phone call while taking notes, entering information into memory, performing complex calculations, making drawings, and any other application that can be provided by software. [0031]
  • The application wrappers [0032] 10 and 12 of the present invention allow a computer user to access and use one or more specific files, such as the help files, of an object oriented software application in the computer system and to enjoy the benefits of a more user-friendly interface with his computer system.
  • The invention provides computer programmers the ability to create object oriented software applications that are not artificially constrained by the computer's operating system and can be rapidly and easily used. By using an application wrapper as set forth above, the computer programmer can provide optimal control of his software application to a computer user. [0033]
  • The use of [0034] application wrappers 10 and 12 is advantageous for any computer system. Preferred embodiments of the present invention can be installed on personal digital assistants to minimize use of computer system resources while obtaining functionality that was not previously possible due to the size constraints and limited storage capacity of smaller hand held computer systems. Application wrappers provide benefits to any computer system due to ease of use and the functionality that can be included in software applications now that were previously barred by constraints of computer operating systems.
  • While the invention has been described in its currently best known mode and embodiment, other modes and embodiments of the invention will be apparent to those skilled in the art and the invention is limited only by the scope of the claims that follow. For example, while the preferred embodiments illustrate systems incorporating plural application wrappers and software application, methods and systems of the invention can incorporate only a single application wrapper. [0035]

Claims (67)

What is claimed is:
1. A method of controlling object oriented computer software applications, comprising:
providing at least one application wrapper;
assigning at least one software application to each said at least one application wrapper;
providing a stable interface between an operating system and each said application wrapper so that changes may be made to either without affecting the functionality of the other;
generating a display of each said application wrapper for a computer user;
accessing data contained in each said software application in a modular format in response to computer user inputs to each said application wrapper; and
controlling the functionality of each said software application in a modular format in response to computer user inputs to each said application wrapper.
2. The method of controlling object oriented computer software applications of claim 1, further comprising the step of starting at least one application wrapper upon power up of the computer system.
3. The method of controlling object oriented computer software applications of claim 1, further comprising the step of providing a link between said operating system and each said software application wherein the operating system can ascertain if an object is one that each said software application can interpret.
4. The method of controlling object oriented computer software applications of claim 1, further comprising the step of providing a link between said operating system and each said software application for notifying each said software application of changes in the operating system.
5. The method of controlling object oriented computer software applications of claim 4, wherein said link notifies each said software application of a pending power down of the computer system.
6. The method of controlling object oriented computer software applications of claim 4, wherein said link notifies each said software application of a power up of the computer system.
7. The method of controlling object oriented computer software applications of claim 1, further comprising the step of generating at least one identifying means on a display for assisting the computer user in opening and gaining access to each said application wrapper.
8. The method of controlling object oriented computer software applications of claim 7, wherein said identifying means is displayed on said display by an animated icon.
9. The method of controlling object oriented computer software applications of claim 7, wherein said identifying means is selected from the group including sound, computer animation, static images and video images.
10. The method of controlling object oriented computer software applications of claim 1, further comprising the step of generating a display of at least one help file of said software applications in response to computer user inputs to each said application wrapper.
11. The method of controlling object oriented computer software applications of claim 1, wherein said data contained within each said software application comprises configuration settings.
12. The method of controlling object oriented computer software applications of claim 1, further comprising the step of starting each said software application in response to computer user inputs to said application wrappers.
13. The method of controlling object oriented computer software applications of claim 1, further comprising the step of exiting each said software application in response to computer user inputs to said application wrappers.
14. The method of controlling object oriented computer software applications of claim 1, further comprising the step of communicating with other software applications on the computer system in response to computer user inputs to said application wrappers.
15. The method of controlling object oriented computer software applications of claim 1, further comprising the step of deleting said software applications and all of their dependent objects from the computer system in response to computer user inputs to said application wrappers.
16. The method of controlling object oriented computer software applications of claim 1, further comprising the step of linking a plurality of said software applications together so that an object is visible within each said software application without affecting the functionality of any software application.
17. The method of controlling object oriented computer software applications of claim 1, further comprising the step of associating each application wrapper stored within the computer system to a common application wrapper database.
18. The method of controlling object oriented computer software applications of claim 17, wherein said common application wrapper database is accessible by the computer user through an input device to change configuration settings and to access select data files associated with each application wrapper.
19. The method of controlling object oriented computer software applications of claim 18, wherein said configuration settings and data files' include at least one database file selected from the group comprising a computer user's personal profile, a specific software application's bubble help, a plurality of settings to control an application wrapper's icon appearance and behavior, an option to launch the software application in a secure process, and a limit on said software applications allowable memory usage and priority.
20. A method of controlling object oriented computer software applications, comprising:
providing at least one application wrapper;
assigning at least one software application to each said application wrapper;
providing a stable interface between an operating system and each said application wrapper so that changes may be made to either without affecting the functionality of the other;
generating a display of each said application wrapper for a computer user; and
accessing data contained in said software applications in a modular format in response to computer user inputs to each said application wrapper.
21. The method of controlling object oriented computer software applications of claim 20, further comprising the step of starting at least one application wrapper upon power up of the computer system.
22. The method of controlling object oriented computer software applications of claim 20, further comprising the step of providing a link between said operating system and each said software application wherein the operating system can ascertain if an object is one that each said software application can interpret.
23. The method of controlling object oriented computer software applications of claim 20, further comprising the step of providing a link between said operating system and each said software application for notifying each said software application of changes in the operating system.
24. The method of controlling object oriented computer software applications of claim 23, wherein said link notifies each said software application of a pending power down of the computer system.
25. The method of controlling object oriented computer software applications of claim 23, wherein said link notifies each said software application of a power up of the computer system.
26. The method of controlling object oriented computer software applications of claim 20, further comprising the step of generating at least one identifying means on a display for assisting the computer user in opening and gaining access to each said application wrapper.
27. The method of controlling object oriented computer software applications of claim 26, wherein said identifying means is displayed on said display by an animated icon.
28. The method of controlling object oriented computer software applications of claim 26, wherein said identifying means is selected from the group including sound, computer animation, static images and video images.
29. The method of controlling object oriented computer software applications of claim 20, further comprising the step of generating a display of at least one help file of said software applications in response to computer user inputs to each said application wrapper.
30. The method of controlling object oriented computer software applications of claim 20, wherein said data contained within each said software application comprises configuration settings.
31. The method of controlling object oriented computer software applications of claim 20, further comprising the step of communicating with other software applications on the computer system in response to computer user inputs to said application wrappers.
32. The method of controlling object oriented computer software applications of claim 20, further comprising the step of deleting said software applications and all of their dependent objects from the computer system in response to computer user inputs to said application wrappers.
33. The method of controlling object oriented computer software applications of claim 20, further comprising the step of linking a plurality of said software applications together so that an object is visible within each said software application without affecting the functionality of any of said software application.
34. The method of controlling object oriented computer software applications of claim 20, further comprising the step of associating each application wrapper stored within the computer system to a common application wrapper database.
35. The method of controlling object oriented computer software applications of claim 34, wherein said common application wrapper database is accessible by the computer user through an input device to change configuration settings and to access select data files associated with each application wrapper.
36. The method of controlling object oriented computer software applications of claim 35, wherein said configuration settings and data files include at least one database file selected from the group comprising a computer user's personal profile, a specific software application's bubble help, a plurality of settings to control an application wrapper=s icon appearance and behavior, an option to launch the software application in a secure process, and a limit on said software applications allowable memory usage and priority.
37. A method of controlling object oriented computer software applications, comprising:
providing at least one application wrapper;
assigning at least one software application to each said application wrapper;
providing a stable interface between an operating system and each said application wrapper so that changes may be made to either without affecting the functionality of the other;
generating a display of each said application wrapper for a computer user; and
controlling the functionality of each said software application in a modular format in response to computer user inputs to each said application wrapper.
38. The method of controlling object oriented computer software applications of claim 37, further comprising the step of starting at least one application wrapper upon power up of the computer system.
39. The method of controlling object oriented computer software applications of claim 37, further comprising the step of providing a link between said operating system and each said software application wherein the operating system can ascertain if an object is one that each said software application can interpret.
40. The method of controlling object oriented computer software applications of claim 37, further comprising the step of providing a link between said operating system and each said software application for notifying each said software application of changes in the operating system.
41. The method of controlling object oriented computer software applications of claim 40, wherein said link notifies each said software application of a pending power down of the computer system.
42. The method of controlling object oriented computer software applications of claim 40, wherein said link notifies each said software application of a power up of the computer system.
43. The method of controlling object oriented computer software applications of claim 37, further comprising the step of generating at least one identifying means on a display for assisting the computer user in opening and gaining access to each said application wrapper.
44. The method of controlling object oriented computer software applications of claim 43, wherein said identifying means is displayed on said display by an animated icon.
45. The method of controlling object oriented computer software applications of claim 43, wherein said identifying means is selected from the group including sound, computer animation, static images and video images.
46. The method of controlling object oriented computer software applications of claim 37, further comprising the step of generating a display of at least one help file of said, software applications in response to computer user inputs to each said application wrapper.
47. The method of controlling object oriented computer software applications of claim 37, further comprising the step of starting each said software application in response to computer user inputs to said application wrappers.
48. The method of controlling object oriented computer software applications of claim 37, further comprising the step of exiting each said software application in response to computer user inputs to said application wrappers.
49. The method of controlling object oriented computer software applications of claim 37, further comprising the step of communicating with other software applications on the computer system in response to computer user inputs to said application wrappers.
50. The method of controlling object oriented computer software applications of claim 37, further comprising the step of deleting said software applications and all of their dependent objects from the computer system in response to computer user inputs to said application wrappers.
51. The method of controlling object oriented computer software applications of claim 37, further comprising the step of linking a plurality of said software applications together so that an object is visible within each said software application without affecting the functionality of any software application.
52. The method of controlling object oriented computer software applications of claim 37, further comprising the step of associating each application wrapper stored within the computer system to a common application wrapper database.
53. The method of controlling object oriented computer software applications of claim 52, wherein said common application wrapper database is accessible by the computer user through an input device to change configuration settings and to access select data files associated with each application wrapper.
54. The method of controlling object oriented computer software applications of claim 53, wherein said configuration settings and data files may include at least one database file selected from the group comprising a computer user's personal profile, a specific software application's bubble help, a plurality of settings to control an application wrapper=s icon appearance and behavior, an option to launch the software application in a secure process, and a limit on said software applications allowable memory usage and priority.
55. In a improved method of handling the operation of object oriented software applications in a computer system, the improvement comprising:
providing at least one application wrapper;
assigning at least one software application to each said application wrapper; and
providing modular access to each said software application in response to computer user input to each said application wrapper without the necessity of starting the entire software application.
56. The improved method of handling the operation of object oriented software applications in a computer system of claim 55, wherein at least one application wrapper is loaded upon power up of the computer system.
57. The improved method of handling the operation of object oriented software applications in a computer system of claim 55, a further improvement comprising providing modular access to the functionality of each said software application in response to computer user input to each said application wrapper without the necessity of starting the entire software application.
58. The improved method of handling the operation of object oriented software applications in a computer system of claim 55, a further improvement comprising providing modular access to at least one data file of each said software application in response to computer user input to each said application wrapper without the necessity of starting the entire software application.
59. The improved method of handling the operation of object oriented software applications in a computer system of claim 55, a further improvement comprising generating an identifying means of each said application wrapper on a display.
60. The improved method of handling the operation of object oriented software applications in a computer system of claim 59, wherein said identifying means is generated on a display selected from the group including sound, computer animation, static images and video images.
61. The improved method of handling the operation of object oriented software applications in a computer system of claim 55, a further improvement comprising generating a display of each said application wrapper in response to selection of said identifying means from the computer user.
62. In an object oriented computer system comprising a central processing unit, program and data storage means, display means, an object oriented operating system, computer user input means, and at least one object oriented software application including a plurality of sets of functional instructions or data files for use by said central processing unit, the improvement comprising at least one application wrapper means for generating an output on said display means and for sending instructions to the central processing unit in response to computer user inputs through an input device to said application wrapper, means for retrieving at least one set of the plurality of sets of functional instructions and data files, and means for storing said at least one set of functional instructions and data files in random access memory for use by the computer user.
63. A computer system including controlled object oriented software applications, the system comprising:
a central processing unit;
means for storing and retrieving programs and data connected with said central processing unit;
an operating system stored in said means for storing and retrieving programs and data;
an input device connected with said central processing unit;
a display connected with said central processing unit;
at least one software application stored in said means for storing and retrieving programs and data; and
at least one application wrapper associated with each said software application for providing modular access to each said software application.
64. The computer system including controlled object oriented software applications of claim 63, wherein each said application wrapper provides modular access to at least one data file of each said software application.
65. The computer system including controlled object oriented software applications of claim 63, wherein each said application wrapper can provide modular access to the functionality of each said software application.
66. The computer system including controlled object oriented software applications of claim 63, wherein said computer system is adapted for operating a communications device.
67. The computer system including controlled object oriented software applications of claim 66, wherein said communications device includes a cellular phone.
US10/719,939 1997-10-09 2003-11-21 Application wrapper methods and systems Abandoned US20040078803A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/719,939 US20040078803A1 (en) 1997-10-09 2003-11-21 Application wrapper methods and systems

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/947,986 US6678744B2 (en) 1997-10-09 1997-10-09 Application wrapper methods and systems
US10/719,939 US20040078803A1 (en) 1997-10-09 2003-11-21 Application wrapper methods and systems

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US08/947,986 Division US6678744B2 (en) 1997-10-09 1997-10-09 Application wrapper methods and systems

Publications (1)

Publication Number Publication Date
US20040078803A1 true US20040078803A1 (en) 2004-04-22

Family

ID=25487085

Family Applications (2)

Application Number Title Priority Date Filing Date
US08/947,986 Expired - Lifetime US6678744B2 (en) 1997-10-09 1997-10-09 Application wrapper methods and systems
US10/719,939 Abandoned US20040078803A1 (en) 1997-10-09 2003-11-21 Application wrapper methods and systems

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US08/947,986 Expired - Lifetime US6678744B2 (en) 1997-10-09 1997-10-09 Application wrapper methods and systems

Country Status (14)

Country Link
US (2) US6678744B2 (en)
EP (1) EP1021760A1 (en)
JP (1) JP2003526821A (en)
KR (1) KR100411756B1 (en)
CN (1) CN1132096C (en)
AU (1) AU757736B2 (en)
BR (1) BR9812896A (en)
EE (1) EE200000189A (en)
HK (1) HK1032833A1 (en)
ID (1) ID24844A (en)
IL (1) IL135294A0 (en)
NO (1) NO20002387L (en)
RU (1) RU2211482C2 (en)
WO (1) WO1999019797A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060206368A1 (en) * 2005-03-01 2006-09-14 Stefan Bamberger Integration of MES and controls engineering
US20060206442A1 (en) * 2005-03-08 2006-09-14 Rockwell Automation Technologies, Inc. Systems and methods for managing control systems through java extensions

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6678744B2 (en) * 1997-10-09 2004-01-13 Ericsson Inc. Application wrapper methods and systems
US6446069B1 (en) 1999-09-17 2002-09-03 International Business Machines Corporation Access control system for a multimedia datastore
US6470353B1 (en) 1999-09-17 2002-10-22 International Business Machines Corporation Object-oriented framework for managing access control in a multimedia database
EP1324193A1 (en) * 2001-06-14 2003-07-02 Abb Research Ltd. Integrated system and method for consistent modelling
US20030074656A1 (en) * 2001-09-14 2003-04-17 Yoshiaki Irino Program execution apparatus and method, computer program for performing the program execution method, image forming system, and address solution method
KR100456023B1 (en) * 2001-12-19 2004-11-08 한국전자통신연구원 Method and apparatus for wrapping existing procedure oriented program into component based system
US20050108516A1 (en) * 2003-04-17 2005-05-19 Robert Balzer By-pass and tampering protection for application wrappers
CN1577261B (en) * 2003-06-30 2010-04-28 中兴通讯股份有限公司 System for enclosing single-chip machine
US7231199B2 (en) * 2004-02-27 2007-06-12 Research In Motion Limited Data protection for applications on a mobile electronic device
CN1293777C (en) * 2004-02-27 2007-01-03 联想(北京)有限公司 Encapsulation system and method for camera chip in handset
US7844396B2 (en) * 2005-09-13 2010-11-30 Deere & Company Method and system for modular data processing for a vehicle control system
CN100403322C (en) * 2005-09-27 2008-07-16 华为技术有限公司 Method for realizing random storage package
US8032764B2 (en) * 2006-11-14 2011-10-04 Texas Instruments Incorporated Electronic devices, information products, processes of manufacture and apparatus for enabling code decryption in a secure mode using decryption wrappers and key programming applications, and other structures
US8281234B2 (en) 2007-03-20 2012-10-02 Microsoft Corporation Definable application assistant
CA2705319C (en) * 2007-11-10 2019-01-15 Laurence Reid Systems and methods for workflow automation, adaptation and integration
GB2471463A (en) * 2009-06-29 2011-01-05 Nokia Corp Software component wrappers for multimedia subcomponents that control the performance of the multimedia function of the subcomponents.
US20170352115A1 (en) * 2016-06-01 2017-12-07 Kony Inc. Mobile application licensing tool
CN110727504B (en) * 2019-10-21 2022-04-22 百度在线网络技术(北京)有限公司 Code execution method and device and rendering equipment
US11651257B2 (en) * 2020-10-29 2023-05-16 Accenture Global Solutions Limited Software CoBot engineering, execution, and monitoring

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5361361A (en) * 1993-09-30 1994-11-01 Intel Corporation Hierarchical integrated help utility for a computer system
US5457798A (en) * 1992-03-13 1995-10-10 Icl Systems Ab Method and computer system for increasing the functionality of a computer program
US5463770A (en) * 1992-07-22 1995-10-31 International Business Machines Corporation System and method for controlling data storage in a data processing system in which objects generated within a lower level language program are associated with memory slots allocated to another program
US5475845A (en) * 1993-07-19 1995-12-12 Taligent, Inc. Wrapper system for interfacing an object-oriented application to a procedural operating system
US5603025A (en) * 1994-07-29 1997-02-11 Borland International, Inc. Methods for hypertext reporting in a relational database management system
US5710925A (en) * 1992-12-24 1998-01-20 Microsoft Corporation Method and system for aggregating objects
US5872974A (en) * 1995-04-19 1999-02-16 Mezick; Daniel J. Property setting manager for objects and controls of a graphical user interface software development system
US5983019A (en) * 1996-03-18 1999-11-09 Tandem Computers Incorporated Method and system for providing interpretive access to an object system
US5983234A (en) * 1997-09-17 1999-11-09 Novell, Inc. Method and apparatus for generically viewing and editing objects
US6003037A (en) * 1995-11-14 1999-12-14 Progress Software Corporation Smart objects for development of object oriented software
US6085186A (en) * 1996-09-20 2000-07-04 Netbot, Inc. Method and system using information written in a wrapper description language to execute query on a network
US6336146B1 (en) * 1995-12-22 2002-01-01 Sun Microsystems, Inc. Method and apparatus for docking, launching and running applications in a foreign environment
US6678744B2 (en) * 1997-10-09 2004-01-13 Ericsson Inc. Application wrapper methods and systems

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5157384A (en) * 1989-04-28 1992-10-20 International Business Machines Corporation Advanced user interface
US5465363A (en) * 1993-12-30 1995-11-07 Orton; Debra L. Wrapper system for enabling a non-multitasking application to access shared resources in a multitasking environment
US6173297B1 (en) * 1997-09-12 2001-01-09 Ericsson Inc. Dynamic object linking interface

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5457798A (en) * 1992-03-13 1995-10-10 Icl Systems Ab Method and computer system for increasing the functionality of a computer program
US5463770A (en) * 1992-07-22 1995-10-31 International Business Machines Corporation System and method for controlling data storage in a data processing system in which objects generated within a lower level language program are associated with memory slots allocated to another program
US5710925A (en) * 1992-12-24 1998-01-20 Microsoft Corporation Method and system for aggregating objects
US5475845A (en) * 1993-07-19 1995-12-12 Taligent, Inc. Wrapper system for interfacing an object-oriented application to a procedural operating system
US5361361A (en) * 1993-09-30 1994-11-01 Intel Corporation Hierarchical integrated help utility for a computer system
US5603025A (en) * 1994-07-29 1997-02-11 Borland International, Inc. Methods for hypertext reporting in a relational database management system
US5872974A (en) * 1995-04-19 1999-02-16 Mezick; Daniel J. Property setting manager for objects and controls of a graphical user interface software development system
US6003037A (en) * 1995-11-14 1999-12-14 Progress Software Corporation Smart objects for development of object oriented software
US6336146B1 (en) * 1995-12-22 2002-01-01 Sun Microsystems, Inc. Method and apparatus for docking, launching and running applications in a foreign environment
US5983019A (en) * 1996-03-18 1999-11-09 Tandem Computers Incorporated Method and system for providing interpretive access to an object system
US6085186A (en) * 1996-09-20 2000-07-04 Netbot, Inc. Method and system using information written in a wrapper description language to execute query on a network
US5983234A (en) * 1997-09-17 1999-11-09 Novell, Inc. Method and apparatus for generically viewing and editing objects
US6678744B2 (en) * 1997-10-09 2004-01-13 Ericsson Inc. Application wrapper methods and systems

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060206368A1 (en) * 2005-03-01 2006-09-14 Stefan Bamberger Integration of MES and controls engineering
US7451007B2 (en) * 2005-03-01 2008-11-11 Siemens Aktiengesellschaft Integration of MES and controls engineering
US20060206442A1 (en) * 2005-03-08 2006-09-14 Rockwell Automation Technologies, Inc. Systems and methods for managing control systems through java extensions

Also Published As

Publication number Publication date
WO1999019797A1 (en) 1999-04-22
US20010039598A1 (en) 2001-11-08
IL135294A0 (en) 2001-05-20
NO20002387L (en) 2000-06-05
AU9375598A (en) 1999-05-03
KR20010086202A (en) 2001-09-10
BR9812896A (en) 2000-08-08
EP1021760A1 (en) 2000-07-26
KR100411756B1 (en) 2003-12-18
EE200000189A (en) 2001-04-16
JP2003526821A (en) 2003-09-09
CN1132096C (en) 2003-12-24
NO20002387D0 (en) 2000-05-08
AU757736B2 (en) 2003-03-06
ID24844A (en) 2000-08-24
US6678744B2 (en) 2004-01-13
HK1032833A1 (en) 2001-08-03
RU2211482C2 (en) 2003-08-27
CN1274441A (en) 2000-11-22

Similar Documents

Publication Publication Date Title
US6678744B2 (en) Application wrapper methods and systems
US6513158B1 (en) Method and apparatus for running multiple java applications simultaneously
EP1474753B1 (en) Component model for real time system control
USRE43438E1 (en) Extensible, replaceable network component system
US7934162B2 (en) Running state migration of platform specific graphical user interface widgets between heterogeneous device platforms
US7392483B2 (en) Transformation of platform specific graphical user interface widgets migrated between heterogeneous device platforms
US6226665B1 (en) Application execution environment for a small device with partial program loading by a resident operating system
US7895522B2 (en) Layout of platform specific graphical user interface widgets migrated between heterogeneous device platforms
US5929852A (en) Encapsulated network entity reference of a network component system
US6677933B1 (en) Method and apparatus for operating a virtual keyboard
US20020118231A1 (en) Method of realistically displaying and interacting with electronic files
US5864850A (en) Asynchronous-event opening component of a network component system
US20060112102A1 (en) Method of controlling an Internet browser interface and a controllable browser interface
US5907843A (en) Replaceable and extensible navigator component of a network component system
KR20030036736A (en) Method and apparatus for producing functionality and user interfaces for devices having an embedded operating system
CN101354646A (en) Method and apparatus for controlling window display
US6122675A (en) Replaceable and extensible log component of a network component system
EP0760124B1 (en) Dialog item interface definition object
JP2000298592A (en) Device and method for accessing program component
MXPA00003298A (en) Application wrapper methods and systems
Muller et al. The use of multimethods and method combination in a CLOS based window interface
Rischpater Interacting with the User
WO2002041140A2 (en) Graphical user interface enabling entry of non trivial parameters
Walmsley et al. Object Orientation

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION