EP1649361A2 - System and method for generating a graphical user interface (gui) element - Google Patents

System and method for generating a graphical user interface (gui) element

Info

Publication number
EP1649361A2
EP1649361A2 EP04777769A EP04777769A EP1649361A2 EP 1649361 A2 EP1649361 A2 EP 1649361A2 EP 04777769 A EP04777769 A EP 04777769A EP 04777769 A EP04777769 A EP 04777769A EP 1649361 A2 EP1649361 A2 EP 1649361A2
Authority
EP
European Patent Office
Prior art keywords
gui
gui element
code
request
parameters
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.)
Granted
Application number
EP04777769A
Other languages
German (de)
French (fr)
Other versions
EP1649361B1 (en
Inventor
Arthur Udler
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.)
Google LLC
Original Assignee
Computer Associates Think Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Computer Associates Think Inc filed Critical Computer Associates Think Inc
Publication of EP1649361A2 publication Critical patent/EP1649361A2/en
Application granted granted Critical
Publication of EP1649361B1 publication Critical patent/EP1649361B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/451Execution arrangements for user interfaces

Definitions

  • GUI graphical user interface
  • GUI graphical user interface
  • a graphical user interface is an important part of most software applications, hi a web environment, users frequently view information or other data using a browser providing a GUI. For example, a user may access a website, one or more portals, one or more portlets, or any other suitable access point to view information or other data using a browser providing a GUI.
  • a method for generating a graphical user interface (GUI) element comprises storing code for each of one or more types of GUI elements and receiving a request to generate a particular type of GUI
  • FIGURE 1 illustrates an example system for generating one or more graphical user interface (GUI) elements
  • FIGURE 2 illustrates an example method for generating a GUI element.
  • GUI graphical user interface
  • FIGURE 1 illustrates an example system 10 for generating one or more graphical user interface (GUI) elements.
  • system 10 includes one or more user systems 12 and a server system 14.
  • system 10 is illustrated as a client/server environment including one or more user systems 12 and server system 14, this is merely for example purposes and system 10 may include any suitable computing or networked environment.
  • System 10 provides certain centralized features for generating one or more GUI elements and, in certain embodiments, allows for more efficient code generation as well as consistency in appearance and behavior of the GUIs generated.
  • system 10 enables generation of a GUI element according to one or more parameters.
  • memory 16 stores code for each of one or more types of GUI elements.
  • a GUI generating component 18 of server system 14 receives a request to generate a particular type of GUI element, the request including one or more parameters; accesses code for the requested particular type of GUI element; and automatically generates a GUI element package based on the code for the requested particular type of GUT element and the one or more parameters of the request.
  • Each user system 12 may submit one or more requests 20 to server system 14 to generate one or more GUI elements 22 for display on a GUI 24 of user system 12.
  • user system 12 may communicate request 20 via a hyperlink or other suitable message or request format.
  • GUI elements 22 may include one or more text boxes, one or more dropdown boxes, one or more check boxes, one or more radio buttons, one or more titles, one or more text areas, one or more applets, grids, trees charts, or any other suitable GUI elements according to particular needs.
  • GUI elements 22 comprise elements of a HyperText Markup Language (HTML) form that includes scripts, images, styles, and other displays.
  • HTML HyperText Markup Language
  • GUI elements 22 are referred to primarily as "elements," GUI elements 22 may include GUI fragments, GUI components, or any other suitable subdivisions of a GUI.
  • Request 20 may include one or more parameters.
  • the one or more parameters include a GUI descriptor identifying the type of GUI element 22 to be generated, a data source identifier, one or more data item identifiers, one or more display characteristics, scripting information, or any other suitable parameters.
  • Each user system 12 may include input devices, output devices, mass storage media, processors, memory, interfaces, communication ports, or other appropriate components for communicating requests 20 to server system 14 and viewing the generated GUI elements 22. Additionally, user system 12 may include a personal computer, workstation, network computer, kiosk, wireless data port, personal data assistant (PDA), one or more processors within these or other devices, or any other suitable processing device.
  • PDA personal data assistant
  • the present disclosure contemplates system 10 including any suitable number of user systems 12, according to particular needs.
  • user system 12 may comprise a computer that includes an input device, such as a keypad, touch screen, mouse, or other device that can accept information, and an output device that conveys information associated with the operation of server system 14 or user systems 12, including digital data, visual information, or any other suitable information.
  • Both the input device and output device may include fixed or removable storage media such as a magnetic computer disk, CD-ROM, or other suitable media to both receive input from and provide output to users of user systems 12 through GUI 24 of user systems 12.
  • GUI 24 may include a graphical user interface operable to allow a user of user system 12 to interface with server system 14 to receive and view data or other suitable information from server system 14 or other associated computer systems, including generated GUI elements 22.
  • GUI 24 provides the user of user system 12 with an efficient and user-friendly presentation of data provided by server system 14.
  • GUT 24 may include a plurality of displays having interactive fields, pull-down lists, and buttons operated by the user.
  • GUI 24 presents various web- enabled data feeds and receives commands from user system 12. It should be understood that the phrase graphical user interface may be used in the singular or in the plural to describe one or more graphical user interfaces and each of the displays of a particular graphical user interface.
  • GUI 24 contemplates any graphical user interface, such as a generic web browser, that processes information in system 10 and efficiently presents the information to the user.
  • Server system 14 may accept data from user system 12 via the web browser (e.g., Microsoft Internet Explorer, Netscape Navigator, or any other suitable web browser) and return the appropriate HTML, extensible Markup Language (XML), or other suitable responses.
  • Server system 14 includes one or more electronic computing devices operable to receive, transmit, process and store data associated with system 10.
  • server system 14 may include one or more general-purpose personal computers (PCs), Macintoshes, workstations, Unix-based computers, server computers, or any other suitable devices.
  • server system 14 includes or is coupled with a web server.
  • server system 14 may include software and/or hardware in any combination suitable to present user system 12 with one or more GUI elements 22.
  • FIGURE 1 merely provides one example of computers that may be used with the disclosure.
  • system 10 may be implemented using computers other than servers, as well as a server pool.
  • the present disclosure contemplates computers other than general purpose computers as well as computers without conventional operating systems.
  • the term "computer” is intended to encompass a personal computer, workstation, network computer, or any other suitable processing device.
  • Server system 14 may include an interface 26 for communicating with other computer systems such as user systems 12 over a network 28 in a client-server or other distributed environment.
  • Network 28 facilitates wireless or wireline communication between server system 14 and other computers.
  • Network 28 may communicate, for example, Internet Protocol (TP) packets, Frame Relay frames, Asynchronous Transfer Mode (ATM) cells, voice, video, data, and other suitable information between network addresses.
  • Network 28 may include one or more local area networks (LANs), radio access networks (RANs), metropolitan area networks (MANs), wide area networks (WANs), all or a portion of the global computer network known as the Internet, and/or any other communication system or systems at one or more locations.
  • interface 26 comprises logic encoded in software and/or hardware in a suitable combination and operable to communicate with network 28. More specifically, interface 26 may comprise software supporting one or more communications protocols associated with communications network 28 or hardware operable to communicate physical signals.
  • Server system 14 includes memory 16 and processor 38. Although memory 16 is illustrated as being included in server system 14, the present disclosure contemplates memory 16 being local or remote to server system 14. For example, memory 16 may be coupled to network 28, and server system 14 may access memory 16 via network 28. Memory 16 may include any suitable any fixed or removable storage media such as a local hard disk, a magnetic computer disk, CD-ROM, mass storage media, or other suitable media for storage of data. In certain embodiments, memory 16 includes or is coupled to a database or other suitable information server. Although only one memory 16 is shown, system 10 may include any suitable number and types of memories 16, according to particular needs. Memory 16 may include any hardware, software, firmware, or combination thereof operable to store and facilitate retrieval of information.
  • memory 16 may use any of a variety of data structures, arrangements, and compilations to store and facilitate retrieval of information.
  • Memory 16 may be operable to store code 30 for use in generating each of one or more types of GUI elements 22.
  • Code 30 may be written in any suitable programming language, such as C++, C#, J++, J#, or Visual Basic, according to particular needs.
  • GUI elements 22 may include one or more text boxes, one or more dropdown boxes, one or more checkboxes, one or more radio buttons, one or more titles, one or more text areas, one or more applets, grids, trees charts, or any other suitable GUI elements according to particular needs.
  • code 30 may include code for generating a generic GUI element 22 (e.g., a generic text box or a generic applet).
  • Memory 22 further stores or references one or more scripts 32 and other information for use by scripts 32.
  • scripts 32 are associated with a corresponding GUI element 22 for which code 30 is stored.
  • scripts 32 may include XML scripts, although the present disclosure contemplates any suitable types of scripts 32.
  • Scripts 32 may provide various functionality or serve any other suitable purpose.
  • a script 32 may hold one or more parameters for use with code 30.
  • Server system 14 may be associated with one or more data sources 36.
  • data source 36 may include a third-party web server or an enterprise agent residing on a target machine, although the present invention contemplates any suitable data source 36 according to particular needs. It will be understood that the target machine may be remote or on-site; further, the target machine may represent a separate process running on server system 14 or user system 12 without departing from the scope of this disclosure. Generally, data source 36 receives requests from server system 14 and retrieves data from the software product residing on the target machine. Once the data has been gathered, data source 36 may communicate the data to server system 14 or server system 14 may retrieve the data from data source 36 as appropriate.
  • the data associated with data source 36 may include any suitable data, according to particular needs. For example, the data may include data from a central security server.
  • data source 36 is illustrated as being included in server system 14, the present disclosure contemplates data source 36 being local or remote to server system 14.
  • data source 36 may be coupled to network 28 and server system 14 may access data source 36 via network 28.
  • server system 14 may include or being otherwise coupled to any suitable number and types of data sources 36.
  • data source 36 is illustrated as being separate from memory 16, in certain embodiments, data associated with data source 36 is stored as a part of memory 16 rather than as a separate component of system 10.
  • Server system 14 includes one or more processors 38.
  • Processor 38 executes instructions and manipulates data to perform the operations of server system 14 such as, for example, a central processing unit (CPU), an application specific integrated circuit (ASIC), or a field-programmable gate array (FPGA). Although a single processor 38 is illustrated, server system 14 may include any suitable number of processors 38 according to particular needs. Server system 14 may include GUI generating component 18, which may be used to generate one or more GUT element packages in response to user requests 20. In certain embodiments, GUI generating component 18 is implemented as a software component of server system 14, although the present invention contemplates GUI generating component 18 being implemented in any suitable combination of software, firmware, or hardware according to particular needs.
  • GUI generating component 18 is implemented as a software component of server system 14, although the present invention contemplates GUI generating component 18 being implemented in any suitable combination of software, firmware, or hardware according to particular needs.
  • GUT generating component 18 may be used as a software development tool or application program interface (API) for development of GUIs for web-based applications. Additionally, although GUI generating component 18 is illustrated as a single multi- tasked module, the features and functionality performed by GUT generating component 18 may be performed by multiple modules such as, for example, a data retrieval module, a transformation module, and a presentation engine. Moreover, GUI generating component 18 may be a child or sub-module of another application, not illustrated, without departing from the scope of the disclosure. Server system 14 may invoke GUI generating component 18 in response to requests 20 from user systems 12, automatically, or at any suitable time.
  • API application program interface
  • Server system 14 may invoke GUI generating component 18 each time a user system 12 communicates a request 20, after a user system 12 communicates a particular number of requests 20, or at any other suitable time.
  • GUI generating component 18 is invoked one or more times during dynamic GUI generation for each GUI element that needs to be placed on GUI 24 of user system 12.
  • GUI generating component 18 receives a request 20 to generate a particular type of GUI element 22 (with request 20 including one or more parameters), accesses code 30 for the requested particular type of GUT element 22 in memory 16, and automatically generates a GUT element package based on certain code 30 associated with the particular type of GUI element 22 and the one or more parameters of the request 20.
  • GUI generating component 18 communicates the GUI element package for generating the requested GUI element 22 to user system 12 for generation of the GUI element 22 at user system 12.
  • the GUI element package may include the accessed code 30 for the particular type of GUI element 22.
  • the accessed code 30 in the GUT element package may be modified based on the one or more request parameters, prior to communicating the code 30 to user system 18 for example.
  • the user requests a particular type of GUI element 22 and code for generating the a generic GUI element 22 (e.g., a generic text box) corresponding to the request may be accessed.
  • GUI generating component 18 may then modify the accessed code 30 based on the one or more parameters of the request.
  • GUI generating component 18 receives a request 20 to generate a type of GUI element 22.
  • server system 14 receives request 20 from a user system 12 comprising a GUI 24 for displaying a generated GUI element 22 and invokes GUT generating component 18 based, at least in part, receiving request 20.
  • GUI generating component 18 may identify and access the corresponding code 30 for the requested type of GUI element 22.
  • GUI generating component 18 may access memory 16 storing code 30 for each of one or more types of GUI elements 22.
  • Request 20 may include one or more parameters.
  • the one or more parameters include a GUI descriptor identifying the type of GUI element 22 to be generated, which may be used by GUI generating component 18 to identify and access the code 30 corresponding to the requested type of GUI element 22.
  • the code 30 may include generic code for generating the requested type of GUI element 22.
  • GUI generating component 18 generates code 30 for the requested GUI element 22.
  • GUI generating component 18 compiles the generated code 30 and communicates the GUI element 22 for display on user system 12.
  • GUI generating component 18 communicates the code 30 as GUI element package to user system 12 for compilation and display at user system 12.
  • GUI generating component 18 may also modify the accessed code 30 based on the one or more parameters of request 20, as described below.
  • GUI generating component 18 may automatically generate the GUI element package based on one or more parameters of request 20. For example, GUI generating component 18 may modify code 30 for the requested type of GUI element 22 based on the one or more parameters of request 20 and communicate the modified code as a GUI element package; however, the present disclosure contemplates communicating code 30 for the requested type of GUI element 22 and the modifications associated with the one or more parameters of the request 20 to user system 12 in any suitable manner according to particular needs.
  • the one or more parameters may include a GUI descriptor identifying the type of GUI element 22 to be generated (e.g., which may be used to access the appropriate code 30 for the requested type of GUI element 22), one or more data source identifiers identifying one or more data sources 36, one or more data item identifiers identifying particular data within data source 36, one or more display characteristics, scripting information identifying one or more scripts 32, or any other suitable parameters.
  • a GUI descriptor identifying the type of GUI element 22 to be generated (e.g., which may be used to access the appropriate code 30 for the requested type of GUI element 22), one or more data source identifiers identifying one or more data sources 36, one or more data item identifiers identifying particular data within data source 36, one or more display characteristics, scripting information identifying one or more scripts 32, or any other suitable parameters.
  • GUI generating component 18 may initiate connection to the one or more data sources 36 identified by the data source identifiers to retrieve data associated with the one or more data item identifiers and populate the generated GUI element 22 with the retrieved data.
  • generated GUI element 22 may be a table and the data may include statistical information or other data for populating the table.
  • generated GUI element 22 may be a window container and the data may include a remote file structure associated with the user of user system 12.
  • GUI generating component 18 may modify the accessed code 30 for the requested type of GUI element 22 such that when the modified code 30 is compiled, the resulting generated GUI element 22 is generated according to include the retrieved data.
  • This modified code 30 may be communicated to user system 12 as the GUI element package.
  • GUI generating component 18 may apply the one or more display characteristics to the GUI element 22 generated in response to request 20.
  • the display characteristics may include sizing information such as dimensions, color information such as background and foreground colors, location information, font type and size, or any other suitable information according to particular needs.
  • GUI generating component 18 may modify the accessed code 30 for the requested type of GUI element 22 such that when the modified code is compiled, the resulting generated GUI element 22 is generated according to the one or more display characteristics of the request 20.
  • This modified code may be communicated to user system 12 as the GUI element package.
  • GUI generating component 18 may initiate access to one or more scripts 32 identified by the scripting information and add the one or more accessed scripts 32 to the GUI element 22 generated in response to request 20.
  • GUI generating component 18 may modify the accessed code 30 for the requested type of GUI element 22 such that when the modified code 30 is compiled, the resulting generated GUI element 22 is generated according to the one or more scripts 32 of the request 20.
  • This modified code 30 may be communicated to user system 12 as the GUI element package.
  • GUI generating component 18 typically communicates the generated GUI element package to the user system 12 for display on GUI 24 (e.g., the browser) associated with user system 12.
  • the generated GUI element package includes the accessed code 30 for the requested particular type of GUI element 22.
  • code 30 of the GUI element package has been modified by GUI generating component 18 to based on the one or more parameters of request 20.
  • the generated GUI element package may be communicated to user system 12 for compilation and generation at user system 12.
  • the generated GUI element package may be communicated to user system 12 in HTML format, however, the present invention contemplates communicating the GUI element package to user system 12 in any suitable manner according to particular needs.
  • GUI generating component 18 adds the GUI element 22 generated in response to request 20 to an existing GUI 24 displayed on the browser of user system 12.
  • GUI generating component 18 may be operable to initiate placement of the generated GUI element 22 into complex layouts while allowing for controlled resizing.
  • GUI element 22 While processing of one request 20 to display a GUI element 22 is described above, the present disclosure contemplates system 10 dynamically generating GUI elements 22 in response to a plurality of user requests 20 to generate any number of GUI elements 22.
  • a user of user system 12 may be in substantially continuous interaction with user system 12 and GUI 24 of user system 12 such that requests 20 are communicated to server system 14 substantially continuously.
  • generated GUI element packages may be stored for reuse in response to a request 20 from the same or a different user system 12, where this particular request 20 comprising the same one or more parameters used to generate the GUI element packages.
  • GUI generating component 18 or another suitable component of server system 14 may receive new code 30 for one or more customized GUI elements 22 and store the new code 30 for the customized element 22, in memory 16 for example, the new code 30 being accessible to GUI generating component 18.
  • GUI generating component 18 or another suitable component of server system 14 may receive new scripts, display characteristics, data sources identifiers, or other suitable information, and may store the new information, in memory 16 for example, the new information being accessible to GUI generating component 18.
  • the present disclosure may enable more efficient generation of GUI elements 22 and code 30 for GUI elements 22. The present disclosure may also help maintaining a similar or consistent appearance and behavior for GUI elements 22 generated using system 10.
  • FIGURE 2 illustrates an example method 100 for generating a GUT element 22.
  • GUI generating component 18 receives a request 20 to generate a GUI element 22.
  • server system 14 receives request 20 from a user system 12 comprising a GUI 24 for displaying the generated GUI element 22 and server system 14 invokes GUT generating component 18 in response to request 20.
  • Request 20 may include a requested type of GUI element 22.
  • GUT generating component 18 may access code 30 for the requested type of GUI element 22.
  • GUT generating component 18 may access memory 16 operable to store code 30 for each of one or more types of GUI elements 22.
  • Request 20 may include one or more parameters.
  • the one or more parameters include a GUI descriptor identifying the type of GUI element 22 to be generated.
  • GUI generating component 18 may use the GUI descriptor to identify and access the corresponding code 30 for the requested type of GUI element 22.
  • GUI generating component 18 may automatically generate a GUI element package based on the requested type of GUI element 22 and one or more parameters of request 20.
  • GUI generating component 18 may modify the accessed code 30 for the requested type of GUI element 22 based on the one or more parameters of the request, h certain embodiments, the one or more parameters may include a GUI descriptor identifying the type of GUI element 22 to be generated, one or more data source identifiers identifying one or more data sources 36, one or more data item identifiers identifying particular data within data source 36, one or more display characteristics, scripting information identifying one or more scripts 32, or any other suitable parameters.
  • GUI generating component 18 may initiate connection to the one or more data sources 36 identified by the data source identifiers to retrieve data associated with the one or more data item identifiers and populate the generated GUI element 22 with the retrieved data.
  • generated GUI element 22 may be a table and the data may include statistical information or other data for populating the table.
  • GUI generating component 18 may modify the accessed code 30 for the requested type of GUI element 22 such that when the modified code 30 is compiled, the resulting generated GUI element 22 is generated according to include the retrieved data. This modified code 30 may be communicated to user system 12 as the GUI element package.
  • GUI generating component 18 may initiate communication of the generated GUI element package to the user system 12 for display of GUI element 22 on GUI 24 (e.g., the browser) associated with user system 12.
  • GUI 24 e.g., the browser
  • the generated GUI element package includes the accessed code 30 for the requested particular type of GUI element 22.
  • the code 30 of the GUI element package has been modified by GUI generating component 18 to based on the one or more parameters of request 20.
  • the generated GUI element package may be communicated to user system 12 for compilation and generation at user system 12.
  • the generated GUI element package may be communicated to user system 12 in HTML format, however, the present invention contemplates communicating the GUI element package to user system 12 in any suitable manner according to particular needs.
  • GUI generating component 18 adds the GUI element 22 generated in response to request 20 to an existing GUI 24 displayed on the browser of user system 12.
  • GUT generating component 18 may be operable to initiate placement of the generated GUI element 22 into complex layouts while allowing for controlled resizing.
  • GUI generating component 18 primarily describes an embodiment in which GUI generating component 18 initiates communication of the generated GUI element package to user system 12, the present disclosure contemplates the generated GUI element package being retrieved by user system 12 or otherwise delivered to user system 12, according to particular needs. While processing of one request 20 to display a GUI element 22 is described above, the present disclosure contemplates system 10 dynamically generating GUI elements 22 in response to a plurality of user requests 20 to generate GUI elements 22.
  • a user of user system 12 may be in substantially continuous interaction with user system 12 and GUT 24 of user system 12 such that requests 20 are communicated to server system 14 substantially continuously.
  • generated GUI element packages may be stored for reuse in response to a request 20 from the same or a different user system 12, the request 20 comprising the same one or more parameters used to generate the GUI element packages.
  • GUI generating component 18 or another suitable component of server system 14 may receive new code 30 for a customized GUI element 22 and store the new code 30 for the customized element 22, in memory 16 for example, such that the new code 30 is subsequently accessible to GUI generating component 18.
  • GUI generating component 18 may use methods with additional steps, fewer steps, and/or ' different steps, so long as the methods remain appropriate.

Abstract

In certain embodiments, a method for generating a graphical user interface (GUI) element (22) comprises storing code (30) for each of one or more types of GUI elements (22) and receiving a request (20) to generate a particular type of GUI element (22), the request comprising one or more parameters. The method further comprises accessing the code (30) for the requested particular type of GUI element (22) and automatically generating a GUI element package based on the code (30) for the requested particular type of GUI element (22) and the one or more parameters of the request (20).

Description

SYSTEM AND METHOD FOR GENERATING A GRAPHICAL USER INTERFACE (GUI) ELEMENT
REFERENCE TO RELATED APPLICATIONS This application claims the benefit of U.S. provisional application serial number 60/486,649 filed July 11, 2003, entitled "SYSTEM AND METHOD FOR GENERATING A GENERIC GUI COMPONENT". TECHNICAL FIELD This disclosure relates generally to the field of graphical user interfaces (GUI) and more specifically to a system and method for generating a GUI component. BACKGROUND A graphical user interface (GUI) is an important part of most software applications, hi a web environment, users frequently view information or other data using a browser providing a GUI. For example, a user may access a website, one or more portals, one or more portlets, or any other suitable access point to view information or other data using a browser providing a GUI. SUMMARY The present disclosure provides a system and method for generating a graphical user interface element, hi certain embodiments, a method for generating a graphical user interface (GUI) element comprises storing code for each of one or more types of GUI elements and receiving a request to generate a particular type of
GUI element, the request comprising one or more parameters. The method further comprises accessing the code for the requested particular type of GUI element and automatically generating a GUI element package based on the code for the requested particular type of GUI element and the one or more parameters of the request. The details of one or more embodiments of the disclosure are set forth in the accompanying drawings and the description below. Particular features, objects, and advantages of the disclosure will be apparent from the description and drawings and from the claims. DESCRIPTION OF THE DRAWINGS FIGURE 1 illustrates an example system for generating one or more graphical user interface (GUI) elements; and FIGURE 2 illustrates an example method for generating a GUI element. DESCRIPTION OF EXAMPLE EMBODIMENTS FIGURE 1 illustrates an example system 10 for generating one or more graphical user interface (GUI) elements. In certain embodiments, system 10 includes one or more user systems 12 and a server system 14. Although system 10 is illustrated as a client/server environment including one or more user systems 12 and server system 14, this is merely for example purposes and system 10 may include any suitable computing or networked environment. System 10 provides certain centralized features for generating one or more GUI elements and, in certain embodiments, allows for more efficient code generation as well as consistency in appearance and behavior of the GUIs generated. In general, system 10 enables generation of a GUI element according to one or more parameters. In certain embodiments, memory 16 stores code for each of one or more types of GUI elements. A GUI generating component 18 of server system 14 receives a request to generate a particular type of GUI element, the request including one or more parameters; accesses code for the requested particular type of GUI element; and automatically generates a GUI element package based on the code for the requested particular type of GUT element and the one or more parameters of the request. Each user system 12 may submit one or more requests 20 to server system 14 to generate one or more GUI elements 22 for display on a GUI 24 of user system 12. For example, user system 12 may communicate request 20 via a hyperlink or other suitable message or request format. GUI elements 22 may include one or more text boxes, one or more dropdown boxes, one or more check boxes, one or more radio buttons, one or more titles, one or more text areas, one or more applets, grids, trees charts, or any other suitable GUI elements according to particular needs. In certain embodiments, GUI elements 22 comprise elements of a HyperText Markup Language (HTML) form that includes scripts, images, styles, and other displays. Although GUI elements 22 are referred to primarily as "elements," GUI elements 22 may include GUI fragments, GUI components, or any other suitable subdivisions of a GUI. Request 20 may include one or more parameters. In certain embodiments, the one or more parameters include a GUI descriptor identifying the type of GUI element 22 to be generated, a data source identifier, one or more data item identifiers, one or more display characteristics, scripting information, or any other suitable parameters. Each user system 12 may include input devices, output devices, mass storage media, processors, memory, interfaces, communication ports, or other appropriate components for communicating requests 20 to server system 14 and viewing the generated GUI elements 22. Additionally, user system 12 may include a personal computer, workstation, network computer, kiosk, wireless data port, personal data assistant (PDA), one or more processors within these or other devices, or any other suitable processing device. Furthermore, although one user system 12 is illustrated, the present disclosure contemplates system 10 including any suitable number of user systems 12, according to particular needs. Moreover, "user system 12" and "user of user system 12" may be used interchangeably without departing from the scope of this disclosure. As an example, user system 12 may comprise a computer that includes an input device, such as a keypad, touch screen, mouse, or other device that can accept information, and an output device that conveys information associated with the operation of server system 14 or user systems 12, including digital data, visual information, or any other suitable information. Both the input device and output device may include fixed or removable storage media such as a magnetic computer disk, CD-ROM, or other suitable media to both receive input from and provide output to users of user systems 12 through GUI 24 of user systems 12. GUI 24 may include a graphical user interface operable to allow a user of user system 12 to interface with server system 14 to receive and view data or other suitable information from server system 14 or other associated computer systems, including generated GUI elements 22. Generally, GUI 24 provides the user of user system 12 with an efficient and user-friendly presentation of data provided by server system 14. GUT 24 may include a plurality of displays having interactive fields, pull-down lists, and buttons operated by the user. In one example, GUI 24 presents various web- enabled data feeds and receives commands from user system 12. It should be understood that the phrase graphical user interface may be used in the singular or in the plural to describe one or more graphical user interfaces and each of the displays of a particular graphical user interface. Furthermore, GUI 24 contemplates any graphical user interface, such as a generic web browser, that processes information in system 10 and efficiently presents the information to the user. Server system 14 may accept data from user system 12 via the web browser (e.g., Microsoft Internet Explorer, Netscape Navigator, or any other suitable web browser) and return the appropriate HTML, extensible Markup Language (XML), or other suitable responses. Server system 14 includes one or more electronic computing devices operable to receive, transmit, process and store data associated with system 10. For example, server system 14 may include one or more general-purpose personal computers (PCs), Macintoshes, workstations, Unix-based computers, server computers, or any other suitable devices. In certain embodiments, server system 14 includes or is coupled with a web server. In short, server system 14 may include software and/or hardware in any combination suitable to present user system 12 with one or more GUI elements 22. It will be understood that FIGURE 1 merely provides one example of computers that may be used with the disclosure. For example, although FIGURE 1 provides one example of server system 14 that may be used with the disclosure, system 10 may be implemented using computers other than servers, as well as a server pool. The present disclosure contemplates computers other than general purpose computers as well as computers without conventional operating systems. As used in this document, the term "computer" is intended to encompass a personal computer, workstation, network computer, or any other suitable processing device. Server system 14 may include an interface 26 for communicating with other computer systems such as user systems 12 over a network 28 in a client-server or other distributed environment. Network 28 facilitates wireless or wireline communication between server system 14 and other computers. Network 28 may communicate, for example, Internet Protocol (TP) packets, Frame Relay frames, Asynchronous Transfer Mode (ATM) cells, voice, video, data, and other suitable information between network addresses. Network 28 may include one or more local area networks (LANs), radio access networks (RANs), metropolitan area networks (MANs), wide area networks (WANs), all or a portion of the global computer network known as the Internet, and/or any other communication system or systems at one or more locations. Generally, interface 26 comprises logic encoded in software and/or hardware in a suitable combination and operable to communicate with network 28. More specifically, interface 26 may comprise software supporting one or more communications protocols associated with communications network 28 or hardware operable to communicate physical signals. Server system 14 includes memory 16 and processor 38. Although memory 16 is illustrated as being included in server system 14, the present disclosure contemplates memory 16 being local or remote to server system 14. For example, memory 16 may be coupled to network 28, and server system 14 may access memory 16 via network 28. Memory 16 may include any suitable any fixed or removable storage media such as a local hard disk, a magnetic computer disk, CD-ROM, mass storage media, or other suitable media for storage of data. In certain embodiments, memory 16 includes or is coupled to a database or other suitable information server. Although only one memory 16 is shown, system 10 may include any suitable number and types of memories 16, according to particular needs. Memory 16 may include any hardware, software, firmware, or combination thereof operable to store and facilitate retrieval of information. Additionally, memory 16 may use any of a variety of data structures, arrangements, and compilations to store and facilitate retrieval of information. Memory 16 may be operable to store code 30 for use in generating each of one or more types of GUI elements 22. Code 30 may be written in any suitable programming language, such as C++, C#, J++, J#, or Visual Basic, according to particular needs. As described above, GUI elements 22 may include one or more text boxes, one or more dropdown boxes, one or more checkboxes, one or more radio buttons, one or more titles, one or more text areas, one or more applets, grids, trees charts, or any other suitable GUI elements according to particular needs. In certain embodiments, code 30 may include code for generating a generic GUI element 22 (e.g., a generic text box or a generic applet). Memory 22 further stores or references one or more scripts 32 and other information for use by scripts 32. In certain embodiments, scripts 32 are associated with a corresponding GUI element 22 for which code 30 is stored. As just one example, scripts 32 may include XML scripts, although the present disclosure contemplates any suitable types of scripts 32. Scripts 32 may provide various functionality or serve any other suitable purpose. For example, a script 32 may hold one or more parameters for use with code 30. Server system 14 may be associated with one or more data sources 36. In certain embodiments, data source 36 may include a third-party web server or an enterprise agent residing on a target machine, although the present invention contemplates any suitable data source 36 according to particular needs. It will be understood that the target machine may be remote or on-site; further, the target machine may represent a separate process running on server system 14 or user system 12 without departing from the scope of this disclosure. Generally, data source 36 receives requests from server system 14 and retrieves data from the software product residing on the target machine. Once the data has been gathered, data source 36 may communicate the data to server system 14 or server system 14 may retrieve the data from data source 36 as appropriate. The data associated with data source 36 may include any suitable data, according to particular needs. For example, the data may include data from a central security server. Although data source 36 is illustrated as being included in server system 14, the present disclosure contemplates data source 36 being local or remote to server system 14. For example, data source 36 may be coupled to network 28 and server system 14 may access data source 36 via network 28. Additionally, although one data source 36 is illustrated, the present disclosure contemplates server system 14 including or being otherwise coupled to any suitable number and types of data sources 36. Furthermore, although data source 36 is illustrated as being separate from memory 16, in certain embodiments, data associated with data source 36 is stored as a part of memory 16 rather than as a separate component of system 10. Server system 14 includes one or more processors 38. Processor 38 executes instructions and manipulates data to perform the operations of server system 14 such as, for example, a central processing unit (CPU), an application specific integrated circuit (ASIC), or a field-programmable gate array (FPGA). Although a single processor 38 is illustrated, server system 14 may include any suitable number of processors 38 according to particular needs. Server system 14 may include GUI generating component 18, which may be used to generate one or more GUT element packages in response to user requests 20. In certain embodiments, GUI generating component 18 is implemented as a software component of server system 14, although the present invention contemplates GUI generating component 18 being implemented in any suitable combination of software, firmware, or hardware according to particular needs. In certain embodiments, GUT generating component 18 may be used as a software development tool or application program interface (API) for development of GUIs for web-based applications. Additionally, although GUI generating component 18 is illustrated as a single multi- tasked module, the features and functionality performed by GUT generating component 18 may be performed by multiple modules such as, for example, a data retrieval module, a transformation module, and a presentation engine. Moreover, GUI generating component 18 may be a child or sub-module of another application, not illustrated, without departing from the scope of the disclosure. Server system 14 may invoke GUI generating component 18 in response to requests 20 from user systems 12, automatically, or at any suitable time. Server system 14 may invoke GUI generating component 18 each time a user system 12 communicates a request 20, after a user system 12 communicates a particular number of requests 20, or at any other suitable time. In certain embodiments, GUI generating component 18 is invoked one or more times during dynamic GUI generation for each GUI element that needs to be placed on GUI 24 of user system 12. In general, GUI generating component 18 receives a request 20 to generate a particular type of GUI element 22 (with request 20 including one or more parameters), accesses code 30 for the requested particular type of GUT element 22 in memory 16, and automatically generates a GUT element package based on certain code 30 associated with the particular type of GUI element 22 and the one or more parameters of the request 20. In certain embodiments, GUI generating component 18 communicates the GUI element package for generating the requested GUI element 22 to user system 12 for generation of the GUI element 22 at user system 12. For example, the GUI element package may include the accessed code 30 for the particular type of GUI element 22. The accessed code 30 in the GUT element package may be modified based on the one or more request parameters, prior to communicating the code 30 to user system 18 for example. Thus, in certain embodiments, the user requests a particular type of GUI element 22 and code for generating the a generic GUI element 22 (e.g., a generic text box) corresponding to the request may be accessed. GUI generating component 18 may then modify the accessed code 30 based on the one or more parameters of the request. In certain embodiments, these parameters may allow the user to customize the generic GUI element 22 according to the user's needs or desires. In one aspect of operation of system 10, GUI generating component 18 receives a request 20 to generate a type of GUI element 22. In certain embodiments, server system 14 receives request 20 from a user system 12 comprising a GUI 24 for displaying a generated GUI element 22 and invokes GUT generating component 18 based, at least in part, receiving request 20. GUI generating component 18 may identify and access the corresponding code 30 for the requested type of GUI element 22. For example, GUI generating component 18 may access memory 16 storing code 30 for each of one or more types of GUI elements 22. Request 20 may include one or more parameters. In certain embodiments, the one or more parameters include a GUI descriptor identifying the type of GUI element 22 to be generated, which may be used by GUI generating component 18 to identify and access the code 30 corresponding to the requested type of GUI element 22. The code 30 may include generic code for generating the requested type of GUI element 22. In these embodiments, GUI generating component 18 generates code 30 for the requested GUI element 22. In certain embodiments, GUI generating component 18 compiles the generated code 30 and communicates the GUI element 22 for display on user system 12. In other embodiments, GUI generating component 18 communicates the code 30 as GUI element package to user system 12 for compilation and display at user system 12. GUI generating component 18 may also modify the accessed code 30 based on the one or more parameters of request 20, as described below. GUI generating component 18 may automatically generate the GUI element package based on one or more parameters of request 20. For example, GUI generating component 18 may modify code 30 for the requested type of GUI element 22 based on the one or more parameters of request 20 and communicate the modified code as a GUI element package; however, the present disclosure contemplates communicating code 30 for the requested type of GUI element 22 and the modifications associated with the one or more parameters of the request 20 to user system 12 in any suitable manner according to particular needs. In certain embodiments, the one or more parameters may include a GUI descriptor identifying the type of GUI element 22 to be generated (e.g., which may be used to access the appropriate code 30 for the requested type of GUI element 22), one or more data source identifiers identifying one or more data sources 36, one or more data item identifiers identifying particular data within data source 36, one or more display characteristics, scripting information identifying one or more scripts 32, or any other suitable parameters. In an example embodiment in which the one or more parameters comprise one or more data source identifiers and one or more data item identifiers, GUI generating component 18 may initiate connection to the one or more data sources 36 identified by the data source identifiers to retrieve data associated with the one or more data item identifiers and populate the generated GUI element 22 with the retrieved data. As an example, generated GUI element 22 may be a table and the data may include statistical information or other data for populating the table. As another example, generated GUI element 22 may be a window container and the data may include a remote file structure associated with the user of user system 12. In certain embodiments, GUI generating component 18 may modify the accessed code 30 for the requested type of GUI element 22 such that when the modified code 30 is compiled, the resulting generated GUI element 22 is generated according to include the retrieved data. This modified code 30 may be communicated to user system 12 as the GUI element package. In an embodiment in which the one or more parameters comprise one or more display characteristics, GUI generating component 18 may apply the one or more display characteristics to the GUI element 22 generated in response to request 20. For example, the display characteristics may include sizing information such as dimensions, color information such as background and foreground colors, location information, font type and size, or any other suitable information according to particular needs. In certain embodiments, GUI generating component 18 may modify the accessed code 30 for the requested type of GUI element 22 such that when the modified code is compiled, the resulting generated GUI element 22 is generated according to the one or more display characteristics of the request 20. This modified code may be communicated to user system 12 as the GUI element package. In an embodiment in which the one or more parameters comprise scripting information identifying one or more scripts 32, GUI generating component 18 may initiate access to one or more scripts 32 identified by the scripting information and add the one or more accessed scripts 32 to the GUI element 22 generated in response to request 20. In certain embodiments, GUI generating component 18 may modify the accessed code 30 for the requested type of GUI element 22 such that when the modified code 30 is compiled, the resulting generated GUI element 22 is generated according to the one or more scripts 32 of the request 20. This modified code 30 may be communicated to user system 12 as the GUI element package. GUI generating component 18 typically communicates the generated GUI element package to the user system 12 for display on GUI 24 (e.g., the browser) associated with user system 12. In certain embodiments, the generated GUI element package includes the accessed code 30 for the requested particular type of GUI element 22. In certain embodiments, code 30 of the GUI element package has been modified by GUI generating component 18 to based on the one or more parameters of request 20. hi certain embodiments, the generated GUI element package may be communicated to user system 12 for compilation and generation at user system 12. For example, the generated GUI element package may be communicated to user system 12 in HTML format, however, the present invention contemplates communicating the GUI element package to user system 12 in any suitable manner according to particular needs. In certain embodiments, GUI generating component 18 adds the GUI element 22 generated in response to request 20 to an existing GUI 24 displayed on the browser of user system 12. For example, GUI generating component 18 may be operable to initiate placement of the generated GUI element 22 into complex layouts while allowing for controlled resizing. While processing of one request 20 to display a GUI element 22 is described above, the present disclosure contemplates system 10 dynamically generating GUI elements 22 in response to a plurality of user requests 20 to generate any number of GUI elements 22. For example, a user of user system 12 may be in substantially continuous interaction with user system 12 and GUI 24 of user system 12 such that requests 20 are communicated to server system 14 substantially continuously. Additionally, in certain embodiments, generated GUI element packages may be stored for reuse in response to a request 20 from the same or a different user system 12, where this particular request 20 comprising the same one or more parameters used to generate the GUI element packages. In certain embodiments, GUI generating component 18 or another suitable component of server system 14 may receive new code 30 for one or more customized GUI elements 22 and store the new code 30 for the customized element 22, in memory 16 for example, the new code 30 being accessible to GUI generating component 18. Furthermore, GUI generating component 18 or another suitable component of server system 14 may receive new scripts, display characteristics, data sources identifiers, or other suitable information, and may store the new information, in memory 16 for example, the new information being accessible to GUI generating component 18. In certain embodiment, the present disclosure may enable more efficient generation of GUI elements 22 and code 30 for GUI elements 22. The present disclosure may also help maintaining a similar or consistent appearance and behavior for GUI elements 22 generated using system 10. In certain embodiments, the present disclosure may reduce amount of work required to implement GUI elements 22, for example by reducing or eliminating the need to manually build and code each and every GUI element 22 to be displayed. Additionally, in certain embodiments, the present disclosure supports hierarchical presentation of information on user system 12. Furthermore, in certain embodiments, custom GUI elements 22 and advanced presentation options may be added to GUI 24, using GUI generating component 18 for example. FIGURE 2 illustrates an example method 100 for generating a GUT element 22. At step 102, GUI generating component 18 receives a request 20 to generate a GUI element 22. In certain embodiments, server system 14 receives request 20 from a user system 12 comprising a GUI 24 for displaying the generated GUI element 22 and server system 14 invokes GUT generating component 18 in response to request 20. Request 20 may include a requested type of GUI element 22. At step 104, GUT generating component 18 may access code 30 for the requested type of GUI element 22. For example, GUT generating component 18 may access memory 16 operable to store code 30 for each of one or more types of GUI elements 22. Request 20 may include one or more parameters. In certain embodiments, the one or more parameters include a GUI descriptor identifying the type of GUI element 22 to be generated. GUI generating component 18 may use the GUI descriptor to identify and access the corresponding code 30 for the requested type of GUI element 22. At step 106, GUI generating component 18 may automatically generate a GUI element package based on the requested type of GUI element 22 and one or more parameters of request 20. For example, GUI generating component 18 may modify the accessed code 30 for the requested type of GUI element 22 based on the one or more parameters of the request, h certain embodiments, the one or more parameters may include a GUI descriptor identifying the type of GUI element 22 to be generated, one or more data source identifiers identifying one or more data sources 36, one or more data item identifiers identifying particular data within data source 36, one or more display characteristics, scripting information identifying one or more scripts 32, or any other suitable parameters. In an embodiment in which the one or more parameters comprise one or more data source identifiers and one or more data item identifiers, GUI generating component 18 may initiate connection to the one or more data sources 36 identified by the data source identifiers to retrieve data associated with the one or more data item identifiers and populate the generated GUI element 22 with the retrieved data. As an example, generated GUI element 22 may be a table and the data may include statistical information or other data for populating the table. In certain embodiments, GUI generating component 18 may modify the accessed code 30 for the requested type of GUI element 22 such that when the modified code 30 is compiled, the resulting generated GUI element 22 is generated according to include the retrieved data. This modified code 30 may be communicated to user system 12 as the GUI element package. At step 108, GUI generating component 18 may initiate communication of the generated GUI element package to the user system 12 for display of GUI element 22 on GUI 24 (e.g., the browser) associated with user system 12. In certain embodiments, the generated GUI element package includes the accessed code 30 for the requested particular type of GUI element 22. In certain embodiments, the code 30 of the GUI element package has been modified by GUI generating component 18 to based on the one or more parameters of request 20. In certain embodiments, the generated GUI element package may be communicated to user system 12 for compilation and generation at user system 12. For example, the generated GUI element package may be communicated to user system 12 in HTML format, however, the present invention contemplates communicating the GUI element package to user system 12 in any suitable manner according to particular needs. In certain embodiments, GUI generating component 18 adds the GUI element 22 generated in response to request 20 to an existing GUI 24 displayed on the browser of user system 12. For example, GUT generating component 18 may be operable to initiate placement of the generated GUI element 22 into complex layouts while allowing for controlled resizing. Although the present disclosure primarily describes an embodiment in which GUI generating component 18 initiates communication of the generated GUI element package to user system 12, the present disclosure contemplates the generated GUI element package being retrieved by user system 12 or otherwise delivered to user system 12, according to particular needs. While processing of one request 20 to display a GUI element 22 is described above, the present disclosure contemplates system 10 dynamically generating GUI elements 22 in response to a plurality of user requests 20 to generate GUI elements 22. For example, a user of user system 12 may be in substantially continuous interaction with user system 12 and GUT 24 of user system 12 such that requests 20 are communicated to server system 14 substantially continuously. Additionally, in certain embodiments, generated GUI element packages may be stored for reuse in response to a request 20 from the same or a different user system 12, the request 20 comprising the same one or more parameters used to generate the GUI element packages. Further, GUI generating component 18 or another suitable component of server system 14 may receive new code 30 for a customized GUI element 22 and store the new code 30 for the customized element 22, in memory 16 for example, such that the new code 30 is subsequently accessible to GUI generating component 18. Although a particular method 100 for generating a GUI element has been described with reference to FIGURE 2, the present disclosure contemplates any suitable method for generating a GUI component in accordance with the present disclosure. Thus, certain of the steps described with reference to FIGURE 2 may take place simultaneously and/or in different orders than as shown. Moreover, GUI generating component 18 may use methods with additional steps, fewer steps, and/or ' different steps, so long as the methods remain appropriate. Although this disclosure has been described in terms of certain embodiments and generally associated methods, alterations and permutations of these embodiments and methods will be apparent to those skilled in the art. Accordingly, the above description of example embodiments does not define or constrain this disclosure. Other changes, substitutions, and alterations are also possible without departing from the spirit and scope of this disclosure.

Claims

WHAT IS CLAIMED IS: 1. A system for generating a graphical user interface (GUI) element, comprising: a memory operable to store code for each of one or more types of GUI elements; and a GUI generating component coupled to the memory and operable to: receive a request to generate a particular type of GUI element, the request comprising one or more parameters; access the code for the requested particular type of GUI element; and automatically generate a GUI element package based on the code for the requested particular type of GUI element and the one or more parameters of the request.
2. The system of Claim 1, wherein the one or more parameters of the request comprise one or more of: a GUI descriptor identifying the particular type of GUI element to be generated; a data source identifier; one or more display characteristics; and scripting information.
3. The system of Claim 1, wherein the one or more parameters comprise a data source identifier and a data item identifier, the GUI generating component further operable to: initiate connection to a data source identified by the data source identifier to retrieve data associated with the data item identifier; and generated the GUI element package based at least in part on the retrieved data.
4. The system of Claim 1, wherein the one or more parameters comprise one or more display characteristics, the GUI generating component further operable to generate the GUI element package based at least in part on the one or more display characteristics.
5. The system of Claim 1, wherein the one or more parameters comprise scripting information identifying one or more scripts, the GUI generating component further operable: initiate access to one or more scripts identified by the scripting information; and generate the GUI element package based at least in part on the one or more accessed scripts.
6. The system of Claim 5, wherein the GUI generating component is operable to modify the accessed code for the requested particular type of GUI element based on the one or more accessed scripts.
7. The system of Claim 1, wherein the request is received from a user system comprising a browser for displaying the generated GUI element.
8. The system of Claim 7, wherein: the generated GUI element package comprises the accessed code for the particular type of GUI element; and the GUI generating component is further operable to initiate communication of the GUI element package automatically generated in response to the request to the user system for processing and display on the browser associated with the user system.
9. The system of Claim 8, wherein the generated GUI element package is communicated to the user system in HyperText Markup Language (HTML) format.
10. The system of Claim 7, wherein the GUI generating component is further operable to initiate the addition of a GUI element corresponding to the GUI element package generated in response to an existing GUI displayed on the browser of the user system.
11. The system of Claim 7, wherein: the generated GUI element package comprises the code for the particular type of GUI element accessed in response to the request, the accessed code being modified based on the one or more parameters of the request, the GUI element package comprising the modified code; and the GUI generating component is further operable to communicate the GUI element package comprising the modified code to the user system for compiling at the user system for display on the browser.
12. The system of Claim 1, further operable to dynamically generate paiticular types of GUI elements in response to a plurality of user requests to generate particular types of GUI elements.
13. The system of Claim 1, wherein the GUI generating component is further operable to store the generated GUI element package for reuse in response to a request from the same or a different user system, the request comprising the same one or more parameters.
14. The system of Claim 1, wherein the GUI generating component is operable to: receive code for generating a customized type of GUI element; and store the code for the customized type of GUI element in the memory, the code being accessible to the GUI generating component.
15. A method for generating a graphical user interface (GUI) element, comprising: storing code for each of one or more types of GUI elements; receiving a request to generate a particular type of GUI element, the request comprising one or more parameters; accessing the code for the requested particular type of GUI element; and automatically generating a GUI element package based on the code for the requested particular type of GUI element and the one or more parameters of the request.
16. The method of Claim 15, wherein the one or more parameters of the request comprise one or more of: a GUI descriptor identifying the particular type of GUI element to be generated; a data source identifier; one or more display characteristics; and scripting information.
17. The method of Claim 15, the one or more parameters comprising a data source identifier and a data item identified and the method further comprising: initiating a connection to a data source identified by the data source identifier to retrieve data associated with the data item identifier; and generating the GUI element package based at least in part on the retrieved data.
18. The method of Claim 15, the one or more parameters comprising one or more display characteristic and the method further comprising generating the GUI element package based at least in part on the one or more display characteristics.
19. The method of Claim 15, the one or more parameters comprising scripting information identifying one or more scripts and the method further comprising: initiating access to one or more scripts identified by the scripting information; and generating the GUI element package based at least in part on the one or more accessed scripts.
20. The method of Claim 19, further comprising modifying the accessed code for the requested particular, type of GUI element based on the one or more accessed scripts.
21. The method of Claim 15, further comprising receiving the request from a user system comprising a browser for displaying the generated GUI element.
22. The method of Claim 21, the generated GUI element package comprising the accessed code for the particular type of GUI element and the method further comprising initiating communication of the GUI element package automatically generated in response to the request to the user system for processing and display on the browser associated with the user system.
23. The method of Claim 22, further comprising communicating the generated GUI element package to the user system in HyperText Markup Language (HTML) format.
24. The method of Claim 21 , further comprising initiating the addition of a GUI element corresponding to the GUI element package generated in response to an existing GUI displayed on the browser of the user system.
25. The method of Claim 21, the generated GUI element package comprising the code for the particular type of GUI element accessed in response to the request, the accessed code being modified based on the one or more parameters of the request, the GUI element package comprising the modified code and the method further comprising initiating communication of the GUI element package comprising the modified code to the user system for compiling at the user system for display on the browser.
26. The method of Claim 15, further comprising dynamically generating particular types of GUI elements in response to a plurality of user requests to generate particular types of GUI elements.
27. The method of Claim 15, further comprising storing the generated GUI element package for reuse in response to a request from the same or a different user system, the request comprising the same one or more parameters.
28. The method of Claim 15 , further comprising : receiving code for generating a customized type of GUI element; and storing the code for the customized type of GUI element in the memory, the code being accessible to the GUI generating component.
29. Software for generating a graphical user interface (GUI) element, the software being embodied in computer-readable media and when executed operable to: store code for each of one or more types of GUI elements; receive a request to generate a particular type of GUI element, the request comprising one or more parameters; access the code for the requested particular type of GUI element; and automatically generate a GUI element package based on the code' for the requested particular type of GUI element and the one or more parameters of the request.
30. The software of Claim 29, wherein the one or more parameters of the request comprise one or more of: a GUI descriptor identifying the particular type of GUI element to be generated; a data source identifier; one or more display characteristics; and scripting information.
31. The software of Claim 29, the one or more parameters comprising a data source identifier and a data item identifier and the software is further operable to: initiate a connection to a data source identified by the data source identifier to retrieve data associated with the data item identifier; and generate the GUI element package based at least in part on the retrieved data.
32. The software of Claim 29, the one or more parameters comprising one or more display characteristics and the software is further operable to generate the GUI element package based at least in part on the one or more display characteristics.
33. The software of Claim 29, the one or more parameters comprising scripting information identifying one or more scripts and the software is further operable to: initiate access to one or more scripts identified by the scripting information; and generate the GUI element package based at least in part on the one or more accessed scripts.
34. The software of Claim 33, further operable to modify the accessed code for the requested particular type of GUI element based on the one or more accessed scripts.
35. The software of Claim 29, further operable to receive the request from a user system comprising a browser for displaying the generated GUI element.
36. The software of Claim 35, the generated GUI element package comprising the accessed code for the particular type of GUI element and the software is further operable to initiate communication of the GUI element package automatically generated in response to the request to the user system for processing and display on the browser associated with the user system.
37. The software of Claim 36, further operable to communicate the generated GUI element package to the user system in HyperText Markup Language (HTML) format.
38. The software of Claim 35, further operable to initiate the addition of a GUI element corresponding to the GUI element package generated in response to an existing GUI displayed on the browser of the user system.
39. The software of Claim 35, the generated GUI element package comprising the code for the particular type of GUI element accessed in response to the request, the accessed code being modified based on the one or more parameters of the request, the GUI element package comprising the modified code and the software is further operable to initiate communication of the GUI element package comprising the modified code to the user system for compiling at the user system for display on the browser.
40. The software of Claim 29, further operable to dynamically generate particular types of GUI elements in response to a plurality of user requests to generate particular types of GUI elements.
41. The software of Claim 29, further operable to store the generated GUI element package for reuse in response to a request from the same or a different user system, the request comprising the same one or more parameters.
42. The software of Claim 29, further operable to: receive code for generating a customized type of GUI element; and store the code for the customized type of GUI element in the memory, the code being accessible to the GUI generating component.
43. A system for generating a graphical user interface (GUI) element, comprising: means for storing code for each of one or more types of GUI elements; means for receiving a request to generate a particular type of GUI element, the request comprising one or more parameters; means for accessing the code for the requested particular type of GUI element; and means for automatically generating a GUI element package based on the code for the requested particular type of GUI element and the one or more parameters of the request.
EP04777769.3A 2003-07-11 2004-07-09 System and method for generating a graphical user interface (gui) element Active EP1649361B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US48664903P 2003-07-11 2003-07-11
PCT/US2004/021901 WO2005008469A2 (en) 2003-07-11 2004-07-09 System and method for generating a graphical user interface (gui) element

Publications (2)

Publication Number Publication Date
EP1649361A2 true EP1649361A2 (en) 2006-04-26
EP1649361B1 EP1649361B1 (en) 2019-10-30

Family

ID=34079269

Family Applications (1)

Application Number Title Priority Date Filing Date
EP04777769.3A Active EP1649361B1 (en) 2003-07-11 2004-07-09 System and method for generating a graphical user interface (gui) element

Country Status (3)

Country Link
US (1) US7761842B2 (en)
EP (1) EP1649361B1 (en)
WO (1) WO2005008469A2 (en)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7246325B2 (en) * 2001-12-20 2007-07-17 Nokia Corporation System and method for functional elements
KR100571763B1 (en) * 2003-11-03 2006-04-18 삼성전자주식회사 GUI operating method and the there of apparatus using Graphic ID information
US7765523B2 (en) 2003-07-10 2010-07-27 Computer Associates Think, Inc. System and method for generating a web-enabled graphical user interface plug-in
EP1652071A2 (en) * 2003-07-11 2006-05-03 Computer Associates Think, Inc. System and method for dynamic generation of a graphical user interface
CA2454290C (en) * 2003-12-29 2013-05-21 Ibm Canada Limited-Ibm Canada Limitee Graphical user interface (gui) script generation and documentation
US7849412B2 (en) * 2004-05-21 2010-12-07 Computer Associates Think, Inc. System and method for generating a web control in a Windows development environment
US20060123345A1 (en) * 2004-12-06 2006-06-08 International Business Machines Corporation Platform-independent markup language-based gui format
US20070150821A1 (en) * 2005-12-22 2007-06-28 Thunemann Paul Z GUI-maker (data-centric automated GUI-generation)
US20090312492A1 (en) 2007-03-06 2009-12-17 Advanced Softmaterials Inc. Polyrotaxanes and material having polyrotaxane, crosslinked polyrotaxanes and material having the crosslinked polyrotaxane, and processes for producing these
US8566781B2 (en) * 2007-04-23 2013-10-22 Siemens Aktiengesellschaft Model-based view parts and reusable data source configurations
US8954869B2 (en) * 2007-12-17 2015-02-10 International Business Machines Corporation Generating a front end graphical user interface for a plurality of text based commands
JP2011521383A (en) * 2008-05-20 2011-07-21 ザ・フィードルーム, インコーポレイテッド System and method for real-time creation and modification of a video player for users with disabilities
US8631338B2 (en) * 2008-08-10 2014-01-14 International Business Machines Corporation Generating universal graphical user interface element and relation
US9292081B2 (en) * 2009-08-27 2016-03-22 Adobe Systems Incorporated Systems and methods for programmatically interacting with a media player
US9049472B2 (en) 2009-08-27 2015-06-02 Adobe Systems Incorporated Systems and methods for dynamic media players utilizing media traits
US8661356B2 (en) * 2010-08-30 2014-02-25 Sap Ag Time application having an intergrated check engine
US20120317504A1 (en) * 2011-06-13 2012-12-13 Microsoft Corporation Automated user interface object transformation and code generation
US8555217B1 (en) * 2011-06-20 2013-10-08 Lattice Semiconductor Corporation Integrated circuit design software with cross probing between tool graphical user interfaces (GUIs)
US20120328187A1 (en) * 2011-06-23 2012-12-27 Mr. Stanko Gligorije Vuleta Text analysis and visualization
US9152539B2 (en) * 2011-08-03 2015-10-06 Verizon Patent And Licensing Inc. Tag-based graphical user interface production systems and methods
EP2767066A2 (en) * 2011-10-14 2014-08-20 Open Text S.A. System and method for secure content sharing and synchronization
US20150205585A1 (en) * 2012-06-04 2015-07-23 Google Inc. Delayed compiling of scripting language code
US9092244B2 (en) * 2012-06-07 2015-07-28 Dell Products, Lp System for developing custom data transformations for system integration application programs
DE112013006711B4 (en) * 2013-02-21 2022-10-13 Mitsubishi Electric Corporation control device and remote control device
US20150019964A1 (en) * 2013-07-09 2015-01-15 Mainstream Media Unplugged Limited Non-disruptive interactive interface during streaming
US9389785B2 (en) 2014-03-17 2016-07-12 Comigo Ltd. Efficient touch emulation with navigation keys
CN106155686B (en) 2016-06-30 2020-11-17 华为技术有限公司 Interface generation method, device and system
US10824316B2 (en) * 2016-11-30 2020-11-03 Sap Se Dynamic input control creation
US11816555B2 (en) 2020-02-12 2023-11-14 Palantir Technologies Inc. System and method for chaining discrete models
US11567639B2 (en) 2020-02-14 2023-01-31 Palantir Technologies Inc. Interactive graphical user interfaces for simulated systems
WO2022056529A1 (en) 2020-09-08 2022-03-17 Palantir Technologies Inc. Interactive graphical user interfaces for simulated systems
US11947934B2 (en) * 2021-01-25 2024-04-02 Palantir Technologies Inc. Auto-generating interactive workflow user interfaces for simulated systems

Family Cites Families (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US109718A (en) * 1870-11-29 Improvement in seal-locks
JPH0756628B2 (en) 1990-10-22 1995-06-14 富士ゼロックス株式会社 Graphical user interface editing device
US5347629A (en) * 1992-04-07 1994-09-13 International Business Machines Corporation Graphical user interface including updating of multiple panels using what you see is what you get (WYSIWYG) editor
EP0622729A3 (en) 1993-04-29 1995-02-01 Ibm A user interface builder for a user interface server.
US5802530A (en) * 1996-07-01 1998-09-01 Sun Microsystems, Inc. Web document based graphical user interface
JPH1083269A (en) * 1996-09-09 1998-03-31 Nec Corp User interface converting device
US6212535B1 (en) * 1996-09-19 2001-04-03 Digital Equipment Corporation Browser-based electronic messaging
US5909214A (en) * 1996-11-04 1999-06-01 International Business Machines Corp. Method and system for drop guides for visual layout in Java layout managers
US6003047A (en) * 1996-12-30 1999-12-14 Emc Corporation Non-hierarchical application interface for HTML-based network storage management programs
US6266681B1 (en) * 1997-04-08 2001-07-24 Network Commerce Inc. Method and system for inserting code to conditionally incorporate a user interface component in an HTML document
US6222537B1 (en) * 1997-07-29 2001-04-24 International Business Machines Corporation User interface controls for a computer system
US6802053B1 (en) * 1997-08-18 2004-10-05 National Instruments Corporation Graphical programming system with distributed block diagram execution and front panel display
US6177941B1 (en) * 1997-08-25 2001-01-23 International Business Machine Corporation Representative mapping between toolbars and menu bar pulldowns
US6631402B1 (en) * 1997-09-26 2003-10-07 Worldcom, Inc. Integrated proxy interface for web based report requester tool set
US5974430A (en) * 1997-09-30 1999-10-26 Unisys Corp. Method for dynamically embedding objects stored in a web server within HTML for display by a web browser
US6157936A (en) * 1997-09-30 2000-12-05 Unisys Corp. Method for extending the hypertext markup language (HTML) to support a graphical user interface control presentation
US6061727A (en) * 1997-09-30 2000-05-09 The United States Of America As Represented By The Secretary Of The Navy Robust computer systems permitting autonomously switching between alternative/redundant components
US5940075A (en) * 1997-09-30 1999-08-17 Unisys Corp. Method for extending the hypertext markup language (HTML) to support enterprise application data binding
US6005568A (en) * 1997-09-30 1999-12-21 The United States Of America As Represented By The Secretary Of The Navy Computer system providing platform independent universal client device
JPH11191062A (en) * 1997-12-26 1999-07-13 Hitachi Ltd Application image development support system
US6173316B1 (en) * 1998-04-08 2001-01-09 Geoworks Corporation Wireless communication device with markup language based man-machine interface
US6300947B1 (en) * 1998-07-06 2001-10-09 International Business Machines Corporation Display screen and window size related web page adaptation system
US6456307B1 (en) * 1998-09-09 2002-09-24 International Business Machines Corporation Automatic icon generation
US6342907B1 (en) * 1998-10-19 2002-01-29 International Business Machines Corporation Specification language for defining user interface panels that are platform-independent
US6628305B1 (en) * 1998-11-09 2003-09-30 International Business Machines Corporation Architecture and definition of an extensible, object-oriented graphical user interface framework for managing and administering heterogenous digital library datastores
US6249844B1 (en) * 1998-11-13 2001-06-19 International Business Machines Corporation Identifying, processing and caching object fragments in a web environment
AU1721900A (en) 1998-11-13 2000-06-05 Channelpoint, Inc. System, method and computer program product for dynamically generating a graphical user interface from computer program specifications
US6532463B1 (en) * 1998-12-01 2003-03-11 University Of Florida Web page accessing of data bases and mainframes
GB2348520B (en) 1999-03-31 2003-11-12 Ibm Assisting user selection of graphical user interface elements
US6476828B1 (en) * 1999-05-28 2002-11-05 International Business Machines Corporation Systems, methods and computer program products for building and displaying dynamic graphical user interfaces
US6701383B1 (en) * 1999-06-22 2004-03-02 Interactive Video Technologies, Inc. Cross-platform framework-independent synchronization abstraction layer
US7159183B1 (en) * 1999-08-19 2007-01-02 National Instruments Corporation System and method for programmatically creating a graphical program
US6430556B1 (en) * 1999-11-01 2002-08-06 Sun Microsystems, Inc. System and method for providing a query object development environment
US7814157B2 (en) * 2000-01-11 2010-10-12 Eolas Technlogies, Inc. Hypermedia browser API simulation to enable use of browser plug-ins and applets as embedded widgets in script-language-based interactive programs
US6701513B1 (en) 2000-01-14 2004-03-02 Measurement Computing Corporation Program-development environment for use in generating application programs
US7509404B2 (en) * 2000-03-08 2009-03-24 Oracle International Corporation Methods and systems for partial page caching of dynamically generated content
US6961750B1 (en) * 2000-05-18 2005-11-01 Microsoft Corp. Server-side control objects for processing client-side user interface elements
US20020049867A1 (en) * 2000-08-29 2002-04-25 Yoshitomo Kumagai Application transfer method, application transfer system and storage medium therefore
US6717593B1 (en) * 2000-09-12 2004-04-06 Avaya Technology Corp. Mark-up language implementation of graphical or non-graphical user interfaces
AU2001294555A1 (en) * 2000-09-14 2002-03-26 Bea Systems Inc. Xml-based graphical user interface application development toolkit
WO2002044897A1 (en) 2000-11-29 2002-06-06 Fourbit Group, Inc. Generating a declarative user interface
US7039875B2 (en) * 2000-11-30 2006-05-02 Lucent Technologies Inc. Computer user interfaces that are generated as needed
US20020152244A1 (en) * 2000-12-22 2002-10-17 International Business Machines Corporation Method and apparatus to dynamically create a customized user interface based on a document type definition
US20020149619A1 (en) * 2001-02-12 2002-10-17 Perot Systems Corporation System and method for constructing a graphical user interface
US7155681B2 (en) 2001-02-14 2006-12-26 Sproqit Technologies, Inc. Platform-independent distributed user interface server architecture
US20020188633A1 (en) * 2001-06-06 2002-12-12 Craig Davis Generating HTML using templates and cached files
US7216298B1 (en) * 2001-06-07 2007-05-08 Oracle International Corporation System and method for automatic generation of HTML based interfaces including alternative layout modes
US20030025732A1 (en) * 2001-07-31 2003-02-06 Prichard Scot D. Method and apparatus for providing customizable graphical user interface and screen layout
US6955298B2 (en) * 2001-12-27 2005-10-18 Samsung Electronics Co., Ltd. Apparatus and method for rendering web page HTML data into a format suitable for display on the screen of a wireless mobile station
US7143359B2 (en) * 2002-01-03 2006-11-28 International Business Machines Corporation Emulating advanced graphical user interface elements in a hypermedia content browser
US7191404B2 (en) * 2002-01-14 2007-03-13 International Business Machines Corporation System and method for mapping management objects to console neutral user interface
US7065744B2 (en) * 2002-01-14 2006-06-20 International Business Machines Corporation System and method for converting management models to specific console interfaces
US20030160822A1 (en) * 2002-02-22 2003-08-28 Eastman Kodak Company System and method for creating graphical user interfaces
US7191395B2 (en) * 2002-03-12 2007-03-13 International Business Machines Corporation Method and system for stylesheet-centric editing
US7124398B2 (en) * 2002-04-10 2006-10-17 International Business Machines Corporation Rapid GUI refacing of a legacy application
US7360160B2 (en) * 2002-06-20 2008-04-15 At&T Intellectual Property, Inc. System and method for providing substitute content in place of blocked content
US7594181B2 (en) * 2002-06-27 2009-09-22 Siebel Systems, Inc. Prototyping graphical user interfaces
US20040021688A1 (en) * 2002-07-31 2004-02-05 International Business Machines Corporation Graphical user interface toolkit for generating swing screens
US7069553B2 (en) * 2003-03-03 2006-06-27 Computer Associates Think, Inc. Universal deployment tool
US7765523B2 (en) * 2003-07-10 2010-07-27 Computer Associates Think, Inc. System and method for generating a web-enabled graphical user interface plug-in
EP1652071A2 (en) * 2003-07-11 2006-05-03 Computer Associates Think, Inc. System and method for dynamic generation of a graphical user interface
US7849412B2 (en) * 2004-05-21 2010-12-07 Computer Associates Think, Inc. System and method for generating a web control in a Windows development environment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2005008469A2 *

Also Published As

Publication number Publication date
WO2005008469A3 (en) 2005-08-18
WO2005008469A2 (en) 2005-01-27
EP1649361B1 (en) 2019-10-30
US20050010901A1 (en) 2005-01-13
US7761842B2 (en) 2010-07-20

Similar Documents

Publication Publication Date Title
EP1649361B1 (en) System and method for generating a graphical user interface (gui) element
EP0972386B1 (en) Method and apparatus for updating and synchronizing information between a client and a server
US8700988B2 (en) Selectively interpreted portal page layout template
US20060265662A1 (en) System and method for generating and updating user interfaces of web-based applications
US8260844B2 (en) Information messaging and collaboration system
US6362840B1 (en) Method and system for graphic display of link actions
US8627344B2 (en) Methods and apparatuses for user interface management
AU2006230578B2 (en) Method and system for transferring web browser data between web browsers
US6988240B2 (en) Methods and apparatus for low overhead enhancement of web page and markup language presentations
US20090019133A1 (en) System, method and computer program for updating a web page in a web browser
US7451393B1 (en) System and method for a page rendering framework
US6779152B1 (en) Method for rotating a dynamic HTML table
US20060212798A1 (en) Rendering content natively on local operating system
WO2001077838A1 (en) Dynamic integration of web sites
US7577672B2 (en) Systems and methods for providing a portal including multiple windows
JP2010528344A (en) Method and system for creating server-based web applications for IT
US20050021756A1 (en) Method of developing, delivering and rendering network applications
US8631324B2 (en) Running content emitters natively on local operating system
US7447738B1 (en) Component download selection mechanism for web browsers
US7814020B2 (en) System, method and computer program product for the recording and playback of transaction macros
US20050193326A1 (en) Tool for configuring available functions of an application
Anthony Untangled Web: The Evolution of an Enterprise-Level Design
Lane FileMaker Pro and PHP: Powerful Open Source Tools Bring Your
AU2011202768A1 (en) Transferring data between applications
WO2005013165A2 (en) System and method for making a reservation and/or purchase

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20060207

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PL PT RO SE SI SK TR

17Q First examination report despatched

Effective date: 20060716

DAX Request for extension of the european patent (deleted)
RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: GOOGLE INC.

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: GOOGLE LLC

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

REG Reference to a national code

Ref country code: DE

Ref legal event code: R079

Ref document number: 602004054334

Country of ref document: DE

Free format text: PREVIOUS MAIN CLASS: G06F0009440000

Ipc: G06F0009451000

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: GRANT OF PATENT IS INTENDED

RIC1 Information provided on ipc code assigned before grant

Ipc: G06F 9/451 20180101AFI20190408BHEP

INTG Intention to grant announced

Effective date: 20190513

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE PATENT HAS BEEN GRANTED

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PL PT RO SE SI SK TR

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 602004054334

Country of ref document: DE

REG Reference to a national code

Ref country code: AT

Ref legal event code: REF

Ref document number: 1196873

Country of ref document: AT

Kind code of ref document: T

Effective date: 20191115

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200302

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191030

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200130

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191030

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191030

Ref country code: PL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191030

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20200131

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191030

REG Reference to a national code

Ref country code: NL

Ref legal event code: MP

Effective date: 20191030

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191030

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191030

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191030

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191030

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602004054334

Country of ref document: DE

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK05

Ref document number: 1196873

Country of ref document: AT

Kind code of ref document: T

Effective date: 20191030

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191030

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191030

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed

Effective date: 20200731

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: AT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191030

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191030

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191030

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

REG Reference to a national code

Ref country code: BE

Ref legal event code: MM

Effective date: 20200731

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20200731

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20200731

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20200709

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20200731

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20200709

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: TR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191030

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20191030

P01 Opt-out of the competence of the unified patent court (upc) registered

Effective date: 20230510

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: GB

Payment date: 20230727

Year of fee payment: 20

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20230725

Year of fee payment: 20

Ref country code: DE

Payment date: 20230727

Year of fee payment: 20