Methods and User Interface Generation and Application Modification
AssigneeVersata FZ-LLC
InventorPlamen Ivanov Valtchev
Life of this patent
Estimating the term…
Abstract
A method of generating a user interface for presentation to a user. The method comprises executing a first application computer program to provide a user interface, executing agent computer program code to interrogate and modify said user interface during execution of said first application computer program, and presenting said modified user interface. The first application computer program may be run on a server, while the modified user interface may be presented to a user at a client connected to said server.
Claims187
A method of modifying a source application, the method comprising:
- running said source application;
- modifying computer program code associated with said source application at runtime, said modifying causing a link to be established between said source application and an interpreter;
- interpreting predetermined modification computer program code in said interpreter, said modification computer program code being configured to modify said source application.
A method according to claim 1, wherein modifying said source application comprises modifying a user interface provided by said source application.
A method according to claim 1, wherein modifying said computer program code comprises modifying a first predetermined function within said computer program code.
A method according to claim 3, wherein said first predetermined function is called in response to a user interface manipulation operation.
A method according to claim 3, wherein modifying said computer program code comprises inserting a function call to a second predetermined function in said computer program code.
A method according to claim 5, wherein said second predetermined function causes a call to be made to a third predetermined function provided by said modification computer program code provided by said interpreter.
A method according to claim 7, wherein said fourth function is configured to cause modification of said source application.
A method according to claim 9, further comprising associating said client with said call to said fourth function.
A method according to claim 9, wherein said client is configured to perform an action in response to said notification.
A method according to claim 1, further comprising:
- establishing a communications link between a server computer running said source application and a client computer configured to access said source application;
- providing access to said modified application to said client computer.
A data carrier carrying computer readable program code configured to cause a computer to carry out a method according to claim 1.
A computer apparatus for modifying a source application, the apparatus comprising:
- a program memory storing processor readable instructions;
- and
- a processor configured to read and execute instructions stored in said program memory;
- wherein said processor readable instructions comprise instructions controlling the processor to carry out the method of claim 1.
A method of generating a user interface for presentation to a user, the method comprising:
- executing a first application computer program to provide a user interface;
- executing agent computer program code to modify said user interface during
- execution of said first application computer program;
- and presenting said modified user interface.
A method according to claim 19, wherein executing said agent computer program code comprises executing said agent computer program code at said server.
A method according to claim 23, wherein creating said second thread comprises:
- creating a launcher thread within said application process, said launcher thread being configured to create said second thread.
A method according to claim 25, wherein running said launcher application further comprises:
- creating a launcher thread within said application process.
A method according to claim 27, wherein said called function is provided by a standard library used by said application computer program.
A method according to claim 29, further comprising:
- interpreting commands using said interpreter to modify said user interface.
A method according to claim 19, wherein running said application computer program comprises running said application computer program within a desktop session on said server.
A method according to claim 45, further comprising:
- executing computer program code configured to communicate with said agent computer program code and said further agent computer program code to generate said modified user interface.
A method of generating a user interface, the method comprising:
- reading first program code defining said user interface;
- reading second program code defining at least one modification to said user interface;
- executing said first program code within an operating system process having an associated memory space;
- and
- executing said second program code within said same operating system process to generate a modified user interface.
A method according to claim 51, wherein executing said second program code comprises:
- executing computer program code configured to cause an interpreter to run within said operating systems process.
A method according to claim 51, wherein generating said modified user interface comprises modifying said user interface defined by said first program code.
A method according to claim 51, wherein said operating system process has a plurality of associated threads, and the method further comprises:
- executing said first program code in a first thread of said operating system process;
- and
- executing said second program code in a second thread of said operating system process.
A data carrier carrying computer readable program code configured to cause a computer to carry out a method according to claim 51.
A computer apparatus for generating a user interface, the apparatus comprising:
- a program memory storing processor readable instructions;
- and
- a processor configured to read and execute instructions stored in said program memory;
- wherein said processor readable instructions comprise instructions controlling the processor to carry out the method of claim 51.
A method of affecting operation of a computer program, the method comprising:
- causing further computer program code to execute within a memory space of said computer program, said further computer program code causing execution of an interpreter configured to interpret instructions to affect operation of the computer program.
A method of affecting operation of a user interface associated with a computer program during execution of the computer program, the computer program having an associated memory space, the method comprising:
- determining a memory location within said memory space at which predetermined computer program code is stored;
- and
- replacing at least part of said predetermined computer program code with further predetermined program code, such that said user interface associated with said computer program is modified.
A method according to claim 63, further comprising:
- adding modification computer program code to said memory space of said computer program.
A method according to claim 65 wherein the at least part of said predetermined computer program code which is replaced comprises a number of bytes determined by said instruction directing control to said modification computer program code.
A method according to claim 67, further comprising appending an instruction redirecting control back to a start of a portion of said predetermined computer program code which is not replaced by said further predetermined program code.
A method according to claim 69, wherein if said modification computer program code determines that modification is not required, said modification computer program code causes control to pass to said copy of said predetermined computer program code.
A data carrier carrying computer readable program code configured to cause a computer to carry out a method according to claim 63.
A computer apparatus for affecting operation of a user interface, the apparatus comprising:
- a program memory storing processor readable instructions;
- and
- a processor configured to read and execute instructions stored in said program memory;
- wherein said processor readable instructions comprise instructions controlling the processor to carry out the method of claim 63.
A method of affecting operation of a computer program, the method comprising:
- associating an interpreter with said computer program;
- and
- affecting operation of said computer program by interpreting commands using said interpreter.
A method according to claim 73, wherein said computer program has an associated memory space, and said interpreter shares said memory space.
A method according to claim 73, wherein said computer program has an associated process, said computer program runs within a thread in said process, and said interpreter runs within a further thread in said process.
A method of affecting behaviour of a user interface comprising a plurality of user interface elements, the method comprising:
- defining a model of said user interface using a plurality of communicating objects, each object representing one of said user interface elements;
- receiving a notification of an event based on activity within said user interface at one of said objects;
- and
- processing said notification at said one of said objects, said processing causing behaviour of said user interface to be modified.
A method according to claim 79, wherein said program code calls a predetermined function, and said call to said predetermined function generates said notification.
A method according to claim 83, further comprising:
- establishing a link between said user interface and said interpreter.
A method of modifying a user interface provided by a source application, the method comprising:
- running said source application;
- modifying computer program code associated with said source application at runtime, said modification causing a link to be established between said source application and an interpreter;
- providing modification computer program code to said interpreter, said modification computer program code being configured to modify said user interface.
Apparatus for generating a user interface for presentation to a user, the apparatus comprising:
- means for executing a first application computer program to provide a user interface;
- means for executing agent computer program code, the agent computer program code being configured to modify said user interface during execution of said first application computer program;
- and
- means for presenting said modified user interface.
Apparatus for generating a user interface, the apparatus comprising:
- means for reading first computer program code defining said user interface;
- means for reading second computer program code defining at least one modification to said user interface;
- means for executing said first program code within an operating system process having an associated memory space;
- and
- means for executing said second program code within said same operating system process to generate a modified user interface.
Apparatus for affecting operation of a computer program, the apparatus comprising:
- means for causing further computer program to execute within a memory space of said computer program, said further computer program code being configured to cause execution of an interpreter configured to interpret instructions to affect operation of the computer program.
Apparatus for affecting operation of a user interface associated with a computer program during execution of the computer program, the computer program having an associated memory space, the apparatus comprising:
- means for determining a memory location within said memory space at which predetermined computer program code is stored;
- and
- means for replacing at least part of said predetermined computer program code with further predetermined program code, such that said user interface associated with said computer program is modified.
Apparatus for affecting operation of a computer program, the apparatus comprising:
- means for associating an interpreter with said computer program;
- and
- means for affecting operation of said computer program by interpreting commands using said interpreter.
Apparatus for affecting behaviour of a user interface comprising a plurality of user interface elements, the apparatus comprising:
- means for defining a model of said user interface using a plurality of communicating objects, each object representing one of said user interface elements;
- means for receiving a notification of an event base on activity within said user interface at one of said objects;
- means for processing said notification at said one of said objects, said processing causing behaviour of said user interface to be modified.
Dependencies are inferred from the claim text.