US8301668B1 - Expression builder - Google Patents
Expression builder Download PDFInfo
- Publication number
- US8301668B1 US8301668B1 US12/105,936 US10593608A US8301668B1 US 8301668 B1 US8301668 B1 US 8301668B1 US 10593608 A US10593608 A US 10593608A US 8301668 B1 US8301668 B1 US 8301668B1
- Authority
- US
- United States
- Prior art keywords
- expression
- suggestions
- list
- input
- receiving
- 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.)
- Active, expires
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
Definitions
- An expression may be defined as a symbol or combination of symbols that represents a quantity or a relationship between quantities. Thus, an expression can be used to generate a numerical value. However, an expression need not be a mathematical expression. For instance, an expression may be a symbol or combination of symbols that represents any value or relationship between values. In other words, the values need not be numerical.
- a user completing an expression via a software application must enter each symbol, quantity, or value.
- the user must be aware of the symbols, quantities, or values that can be included in the expression.
- the user may be required to have access to or remember a large number of symbols, quantities, or values that are permitted within the context in which the expression is used. This is even more problematic when the user has never used the application, or rarely uses the application.
- methods and apparatus for providing information for use in constructing an expression are disclosed. This is accomplished using a software application that enables a user to generate or modify an expression within the context of the expression.
- the software application may be any web-based application that enables a user to enter an expression.
- an expression may be constructed in order to generate or modify a report.
- Input from a user is received within an expression.
- a list of one or more suggestions is provided in response to the input.
- a selection of one of the suggestions in the list is received.
- the expression is then built to include the selection.
- the list of suggestions includes one or more functions or operators.
- a function or operator By selecting a function or operator, the user may be presented with a list of suggestions as to the parameters or types of parameters that can be selected or entered. For instance, the user may be presented with a list of data fields that can be selected.
- the list of suggestions is pertinent to the context in which the suggestions are provided. For instance, a user may wish to add a column to a report. When the user enters an expression in association with the added column, a list of data fields that can be used in constructing an expression (e.g., those data fields that are already present in the report) may be presented for selection by the user. In this manner, the suggestions that are provided to the user may be limited to those that are pertinent to the data in the report.
- the invention pertains to a system operable to perform and/or initiate any of the disclosed methods.
- the system includes one or more processors and one or more memories. At least one of the memories and processors are adapted to provide at least some of the above-described method operations.
- the invention pertains to a computer program product for performing the disclosed methods.
- the computer program product has at least one computer readable medium and computer program instructions stored within at least one of the computer readable product configured to perform at least some of the above described method operations.
- the invention pertains to data structures used to perform the disclosed methods.
- FIG. 1 is an example of a screen shot of an expression builder that can be used to modify or generate a report.
- FIG. 2 is an example of a graphical user interface that can be used to add a column to a report.
- FIG. 3 is an example of a list of suggestions that can be presented in response to user input.
- FIG. 4 is an example of a list of suggestions that can be presented in response to additional user input.
- FIG. 5 is an example of a list of suggested parameters that can be presented in response to the selection of a function.
- FIG. 6 is an example of a list of available data fields that can be presented as possible selections as a parameter.
- FIG. 7 is an example of a validate option that can be used to validate an expression.
- FIG. 8 is an example of an error message that can be presented when the expression is not valid.
- an expression builder provides a list of one or more suggestions to enable the user to complete the expression.
- the suggestions that are provided can include functions, operators (e.g., AND, OR, NOT), parameters (or parameter types), and/or data items (or data types) that are possible within the context in which the expression is used.
- an expression builder is used to build an expression within the context of a report via an application such as a web-based application.
- an expression can be used in association with a column of the report (e.g., to add a column to the report).
- the suggestions that are provided can therefore include data fields that can be used to construct an expression (e.g., data fields in the report).
- the list of suggestions can also be dependent upon other items in the expression. For instance, the type of data fields that are presented may be dependent upon the parameter types of a function or operator that has been selected. In this manner, suggestions are provided within the context of the report in which the expression is being generated.
- FIG. 1 is an example of a screen shot of an expression builder 102 that can be used to modify or generate a report.
- the expression builder 102 is represented by a dialog box that is presented during the generation of a report 104 .
- the user may, for example, initiate the expression builder 102 to add a new column to the report 104 .
- FIG. 2 is an example of a graphical user interface that can be used to add a column to a report.
- the expression builder 102 can be accessed by submitting information in two different input fields, where the first input field enables the user to identify a column via a column label 106 and the second input field enables the user to enter an expression as shown at 108 . Once completed, the expression can be used to generate a value in each field of the column 106 .
- the user may type in one or more letters in the input field 108 .
- the expression builder 102 can provide a list of one or more suggestions.
- the suggestions can include one or more functions or operators.
- the use of a symbol such as “[” can be used to designate a data column, such as [price], [LastName], [FirstName], or [OrderQty]. In other words, the use of the symbol “[” can indicate a request for suggestions for data fields.
- a Validate option 110 can be selected to validate the expression. Validation may include determining whether the expression is syntactically correct. If the expression is not valid, an error message may be displayed. Alternatively, if the expression is valid, an appropriate message may be displayed.
- the user may select an Apply option 112 .
- an Apply option 112 By executing the expression, a single value can be generated in the column designated by the column 106 . In this manner, an expression may be generated or modified.
- FIG. 3 is an example of a list of suggestions that can be presented in response to user input.
- the user types in “s” into the input field 108 .
- a list of suggestions is provided at 114 .
- the list of suggestions includes a list of functions starting with the letter “s” that has been entered by the user. The user can then select one of the functions (or operators) from the list. This can be accomplished, for example, by using the mouse, the up/down key, or the enter key.
- the list of suggestions is provided external to the expression.
- the list of suggestions can also be provided internal to the expression.
- the list of suggestions can be provided in another format, such as a menu or drop-down menu.
- FIG. 4 is an example of a list of suggestions that can be presented in response to additional user input.
- the user enters “se” into the input field 108 .
- a list of suggestions starting with “se” is provided at 116 .
- a list of functions is provided at 116 .
- the list of functions includes “SEARCH(pattern, str)” and “SEARCH(pattern, str, startPosition).”
- the function “SEARCH” may operate on one or more parameters and/or data items. More particularly, the function may specify the parameter(s), data item(s), and/or data type(s) that are to be entered or selected by the user.
- FIG. 5 is an example of a list of suggested parameters that can be presented in response to the selection of a function.
- the user selects the “search(,)” function, which can then be shown in the input field 108 .
- the expression builder may then provide a list of one or more parameters, parameter types, data items, and/or data types that can be selected or entered by the user.
- the user may request that suggestions be provided.
- the user may request that suggestions be provided in another manner.
- a suggestion box 118 showing the parameters (e.g., parameter types or data types) that the function takes can be provided, shown as “SEARCH(pattern, str).
- a list of suggestions indicates the parameter(s) or parameter type(s) that can be selected or entered by the user for inclusion in the expression. Moreover, the parameter at the current cursor position may be highlighted (e.g., bold), as shown at 120 . In this manner, the suggestions that are provided are associated with the function that was previously selected.
- FIG. 6 is an example of a list of available data fields that can be presented as possible selections as a parameter.
- the user places the cursor at the location of the parameter for which a list of available data fields is requested. More particularly, as shown, the user places the cursor at the location of the second parameter of the function, as shown at 108 . Again, the parameter at the current cursor position may be highlighted (e.g., bold), as shown at 121 .
- a symbol such as “[” at the location of the cursor, a list of one or more available data items can be presented. More particularly, as shown at 122 , a list of one or more data fields that are available for selection is presented.
- the user can continue to type one or more letters to reduce the list size, or the user can select a data field from the list.
- the data fields are those that can be used to construct an expression (e.g., data fields that are pertinent to the report).
- the data fields are those that are already present in the report. In this manner, a list of available data items or data types that may be entered or selected in association with a particular parameter of a function or operator can be presented.
- FIG. 7 is an example of a validate option that can be used to validate an expression. More particularly, the user can select the Validate option 110 .
- validation may include checking that the number of parameters present and/or the data types of the parameters are correct with respect to the selected function (or operator). Since the parameters of the function are valid in this example, the expression is valid. Validation can also include checking that the data types of any other data items in the expression are valid. A message indicating that the expression is valid can then be presented at 124 .
- the user changes the first parameter of the function shown at 108 from “Aus” to the number “1.” Therefore, the first parameter is no longer a string as required by the SEARCH function. As a result, an appropriate error message may be presented.
- An example of an error message that can be presented when the expression is not valid is shown at 126 . More particularly, in this example, the error message indicates that the argument data types for the method (i.e., function) are invalid, and indicates the correct structure of the method (i.e., function).
- the user can add the expression to a report by selecting the Apply option 112 .
- the expression can be used to generate a numerical value.
- the expression can be used to generate a value that need not be numerical.
- the expression can generate a string value or other data type.
- the report that is generated may be any type of report.
- the report may be a spreadsheet report, simple listing report, tabular report, grouped listing report, a crosstab report, etc.
- the functions, operators, and possible parameters and parameter types associated with the functions/operators may be stored in one or more data structures accessible to the expression builder.
- the data structures may include one or more files, databases such as relational databases, etc.
- the embodiments of the invention also relate to an apparatus for performing these operations.
- This apparatus may be specially constructed for the required purposes, or it may be a general purpose computer or network of computers selectively activated or reconfigured by a computer program stored on a machine readable medium.
- the processes presented herein are not inherently related to any particular computer or other apparatus.
- various general-purpose machines may be used with programs written in accordance with the teachings herein, or it may be more convenient to construct a more specialized apparatus to perform the required method steps. The required structure for a variety of these machines will appear from the description given below.
- the present invention relates to machine-readable media on which are stored program instructions for performing operations on a computer.
- Such media includes by way of example magnetic disks, magnetic tape, optically readable media such as CD ROMs, semiconductor memory such as PCMCIA cards, etc.
- the medium may take the form of a portable item such as a small disk, diskette, cassette, etc., or it may take the form of a relatively larger or immobile item such as a hard disk drive or RAM provided in a computer.
- a computer system may include a server and one or more clients.
- software providing the disclosed functionality is provided on the server and can be accessed through the various clients.
- the server and/or clients in accordance with the disclosed embodiments may include a central processing unit (CPU), input/output (I/O) circuitry, and memory—which may be read only memory (ROM) and/or random access memory (RAM).
- the server and/or clients may also optionally include a display, a mass storage unit, a keyboard, and a clock.
- the CPU is one or more microprocessor chips selected from complex instruction set computer (CISC) microprocessors, reduced instruction set computer (RISC) microprocessors, or other available microprocessors.
- the CPU may be coupled to a memory by a bi-directional data bus, but may also be coupled by a unidirectional data bus in the case of ROM.
- the memory may also be coupled to the CPU by appropriate control and address busses, as is well known to those skilled in the art.
- the CPU may be coupled to the I/O circuitry by a bi-directional data bus to permit data transfers with peripheral devices.
- I/O circuitry may include a number of latches, registers and direct memory access (DMA) controllers.
- the purpose of the I/O circuitry is to provide an interface between CPU and such peripheral devices as display assembly, mass storage (e.g., disks), keyboard, and clients/server(s).
- the display assembly of a server or client may receive data from the I/O circuitry via the bus and displays that data on a suitable screen.
- Mass storage can be coupled to I/O circuitry by a bi-directional data bus. Generally, mass storage will be a hard disk drive, a tape drive, or some other long-term storage device. It may be used to store data structures, possible functions or operators, data fields, programs for accessing or generating expressions or reports, etc.
- the keyboard may communicate with the CPU via data bus and I/O circuitry.
- other types of input devices can also be used in conjunction with the disclosed embodiments.
- a computer mouse, a track ball, a track pad, or a pen-based tablet can be used to manipulate a pointer on a display screen.
- a clock may comprise a real-time clock to provide real-time information to the system.
- the clock can simply provide regular pulses to, for example, an interrupt port of the CPU, which can count the pulses to provide the time function.
- the clock may be coupled to the CPU by a data bus.
- the clients may include terminals, personal computers, workstations, minicomputers, and mainframes.
- any data processing devices that can access the expression builder on server are clients.
- the clients may be manufactured by different vendors and may also run different operating systems such as MS-DOS, Microsoft Windows, Microsoft NT, various forms of UNIX, OS/2, MAC OS and others.
- Clients are connected to I/O circuitry via bi-directional lines.
- Bidirectional lines may be any suitable media such as coaxial cable, twisted pair wiring, fiber optic line, radio channels, and the like.
- the network resulting from the interconnection of the lines may assume a variety of topologies, including ring, bus, star, and may include a collection of smaller networks linked by gateways and bridges.
- the server may run different operating systems such as MS-DOS, Microsoft Windows, Microsoft NT, UNIX, VMS, OS/2, MAC OS and others. The clients need not use the same operating system as the server.
Abstract
Description
Claims (31)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/105,936 US8301668B1 (en) | 2007-06-27 | 2008-04-18 | Expression builder |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US93757807P | 2007-06-27 | 2007-06-27 | |
US12/105,936 US8301668B1 (en) | 2007-06-27 | 2008-04-18 | Expression builder |
Publications (1)
Publication Number | Publication Date |
---|---|
US8301668B1 true US8301668B1 (en) | 2012-10-30 |
Family
ID=47045868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/105,936 Active 2029-12-08 US8301668B1 (en) | 2007-06-27 | 2008-04-18 | Expression builder |
Country Status (1)
Country | Link |
---|---|
US (1) | US8301668B1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120192091A1 (en) * | 2010-10-19 | 2012-07-26 | International Business Machines Corporation | Automatically Reconfiguring an Input Interface |
US20140379512A1 (en) * | 2008-10-07 | 2014-12-25 | Bigmachines, Inc. | System, device and method for formula management |
US20150121268A1 (en) * | 2013-10-30 | 2015-04-30 | Salesforce.Com, Inc. | System and method for metadata management via a user interface page |
US20160292210A1 (en) * | 2015-04-06 | 2016-10-06 | Cognizant Technology Solutions India Pvt. Ltd. | System and method for automatically and efficiently validating database objects |
US10740413B2 (en) | 2013-10-30 | 2020-08-11 | Salesforce.Com, Inc. | System and method for user information management via a user interface page |
US11281439B2 (en) * | 2018-07-25 | 2022-03-22 | Avaya Inc. | System and method for creating a contextualized after call workflow |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5485618A (en) * | 1993-12-15 | 1996-01-16 | Borland International, Inc. | Methods and interface for building command expressions in a computer system |
US6671691B1 (en) * | 1998-06-04 | 2003-12-30 | International Business Machines Corporation | Method and apparatus for expression building editors |
US20040153995A1 (en) * | 2003-02-03 | 2004-08-05 | Jean-Pierre Polonovski | Software development tool |
US20050091420A1 (en) * | 2003-10-24 | 2005-04-28 | Microsoft Corporation | Mechanism for handling input parameters |
US7103835B1 (en) * | 2002-03-12 | 2006-09-05 | Movaris, Inc. | Process builder for a routable electronic document system and method for using the same |
US20060294158A1 (en) * | 2005-04-22 | 2006-12-28 | Igor Tsyganskiy | Methods and systems for data-focused debugging and tracing capabilities |
US20070027858A1 (en) * | 2005-07-29 | 2007-02-01 | Paul Weinberg | Method for generating properly formed expressions |
US20070078823A1 (en) * | 2005-09-30 | 2007-04-05 | Microsoft Corporation | Expression templates and object classes for multidimensional analytics expressions |
US20070135949A1 (en) * | 2003-10-24 | 2007-06-14 | Microsoft Corporation | Administrative Tool Environment |
US20090113384A1 (en) * | 2006-03-23 | 2009-04-30 | International Business Machines Corporation | System and apparatus for graphically building business rule conditions |
US7725483B2 (en) * | 2005-07-29 | 2010-05-25 | Sap, Ag | Method for improved processing of expression-based data |
US7734625B2 (en) * | 2005-07-29 | 2010-06-08 | Sap, Ag | Method for performing expression-based validation |
US7836427B1 (en) * | 2003-07-01 | 2010-11-16 | Microsoft Corporation | Tree-based rule composition with natural language inline editing |
US20110138335A1 (en) * | 2009-12-08 | 2011-06-09 | Sybase, Inc. | Thin analytics for enterprise mobile users |
-
2008
- 2008-04-18 US US12/105,936 patent/US8301668B1/en active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5798757A (en) * | 1993-12-15 | 1998-08-25 | Borland International, Inc. | Methods and interface for building command expressions in a computer system |
US5485618A (en) * | 1993-12-15 | 1996-01-16 | Borland International, Inc. | Methods and interface for building command expressions in a computer system |
US6671691B1 (en) * | 1998-06-04 | 2003-12-30 | International Business Machines Corporation | Method and apparatus for expression building editors |
US7103835B1 (en) * | 2002-03-12 | 2006-09-05 | Movaris, Inc. | Process builder for a routable electronic document system and method for using the same |
US20040153995A1 (en) * | 2003-02-03 | 2004-08-05 | Jean-Pierre Polonovski | Software development tool |
US7836427B1 (en) * | 2003-07-01 | 2010-11-16 | Microsoft Corporation | Tree-based rule composition with natural language inline editing |
US20070135949A1 (en) * | 2003-10-24 | 2007-06-14 | Microsoft Corporation | Administrative Tool Environment |
US20050091420A1 (en) * | 2003-10-24 | 2005-04-28 | Microsoft Corporation | Mechanism for handling input parameters |
US20060294158A1 (en) * | 2005-04-22 | 2006-12-28 | Igor Tsyganskiy | Methods and systems for data-focused debugging and tracing capabilities |
US7734625B2 (en) * | 2005-07-29 | 2010-06-08 | Sap, Ag | Method for performing expression-based validation |
US7725483B2 (en) * | 2005-07-29 | 2010-05-25 | Sap, Ag | Method for improved processing of expression-based data |
US20070027858A1 (en) * | 2005-07-29 | 2007-02-01 | Paul Weinberg | Method for generating properly formed expressions |
US7870162B2 (en) * | 2005-07-29 | 2011-01-11 | Sap Ag | Method for generating properly formed expressions |
US20070078823A1 (en) * | 2005-09-30 | 2007-04-05 | Microsoft Corporation | Expression templates and object classes for multidimensional analytics expressions |
US20090113384A1 (en) * | 2006-03-23 | 2009-04-30 | International Business Machines Corporation | System and apparatus for graphically building business rule conditions |
US20110138335A1 (en) * | 2009-12-08 | 2011-06-09 | Sybase, Inc. | Thin analytics for enterprise mobile users |
Non-Patent Citations (9)
Title |
---|
Bagui et al., Learning SQL on SQL Server 2005, Apr. 26, 2006, O'Reilly Media, Inc., p. 20, ISBN 978-0-596-10215-9. * |
Baiter, Microsoft Office Access 2003 in a Snap, Aug. 9, 2004, Sams, p. 174, ISBN 978-0-672-32544-6. * |
Expression Web 2 Beta, "Expression Web Blog" printed on Oct. 1, 2009 from website http://www.expression-web.net/expression-web-2-beta/ pp. 1-4. |
Fitzgerald et al., Special Edition Using Crystal Reports 10, Jul. 14, 2004, Que, Chapter 4, Using the Workshop Formula Editor, ISBN 978-0-7897-3113-5. * |
Google Docs Tour, Create documents, spreadsheets and presentations online printed on Oct. 1, 2009 from website http://www.google.com/google-d-s/intl/en/tour1.html 1 pg. |
Liberty, Programming Visual Basic 2005, Sep. 16, 2005, O'Reilly Media, Inc., Chapter 15 section 3, ISBN 978-0-596-00949-6. * |
Microsoft Office Action Online, "Using the Expression Builder" printed on Oct. 1, 2009 from website http://office.microsoft.com/en-us/access/HP051866381033 ; pp. 1-5. |
SQL Prompt, Jun. 17, 2007, http://web.archive.org/web/20070617021500/http://www.red-gate.com/products/SQL-Prompt/index.htm. * |
SQL Prompt, Jun. 17, 2007, http://web.archive.org/web/20070617021500/http://www.red-gate.com/products/SQL—Prompt/index.htm. * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140379512A1 (en) * | 2008-10-07 | 2014-12-25 | Bigmachines, Inc. | System, device and method for formula management |
US20120192091A1 (en) * | 2010-10-19 | 2012-07-26 | International Business Machines Corporation | Automatically Reconfiguring an Input Interface |
US10764130B2 (en) * | 2010-10-19 | 2020-09-01 | International Business Machines Corporation | Automatically reconfiguring an input interface |
US11206182B2 (en) | 2010-10-19 | 2021-12-21 | International Business Machines Corporation | Automatically reconfiguring an input interface |
US20150121268A1 (en) * | 2013-10-30 | 2015-04-30 | Salesforce.Com, Inc. | System and method for metadata management via a user interface page |
US10409808B2 (en) * | 2013-10-30 | 2019-09-10 | Salesforce.Com, Inc. | System and method for metadata management via a user interface page |
US10740413B2 (en) | 2013-10-30 | 2020-08-11 | Salesforce.Com, Inc. | System and method for user information management via a user interface page |
US20160292210A1 (en) * | 2015-04-06 | 2016-10-06 | Cognizant Technology Solutions India Pvt. Ltd. | System and method for automatically and efficiently validating database objects |
US11281439B2 (en) * | 2018-07-25 | 2022-03-22 | Avaya Inc. | System and method for creating a contextualized after call workflow |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10198425B2 (en) | Methods and apparatus for reusing report design components and templates | |
AU2013331476B2 (en) | Specifying and applying rules to data | |
JP2732552B2 (en) | How to generate and display search queries and search results | |
US8909585B2 (en) | Rule-based binding | |
US9535726B2 (en) | Reverse dependency injection in a system with dynamic code loading | |
US8234562B1 (en) | Error checking for data entry | |
US8301668B1 (en) | Expression builder | |
EP2189929A1 (en) | Popup window for error correction | |
US7702616B1 (en) | Methods and apparatus for processing a query joining tables stored at different data sources | |
US9471700B2 (en) | System and method for monitoring changes in databases and websites | |
JP2019520649A (en) | Process visualization platform | |
US7720838B1 (en) | Methods and apparatus for joining tables from different data sources | |
US7870480B1 (en) | Methods and apparatus for storing and retrieving annotations accessible by a plurality of reports | |
US20100287459A1 (en) | Reusable business logic across user interface containers | |
US20080215347A1 (en) | Computer system connected to electronic-commerce server and method and program for supporting input of numerical value required for performance of electronic-commerce transaction | |
JP2018520452A (en) | Techniques for constructing generic programs using controls | |
EP4120207A1 (en) | Methods, systems, articles of manufacture and apparatus to label text on images | |
JP2008083992A (en) | Structured document retrieval support apparatus and program thereof | |
EP3411811A1 (en) | Systems and methods for using entity/relationship model data to enhance user interface engine | |
WO2018053889A1 (en) | Distributed computing framework and distributed computing method | |
US20080269919A1 (en) | Bringing user attention to guidance information presented on a display device | |
CN114072787A (en) | System and method for fast data entry to facilitate document review | |
US10203939B2 (en) | Method and system for parameter model framework | |
US8413062B1 (en) | Method and system for accessing interface design elements via a wireframe mock-up | |
JP2022173048A (en) | Robotic process automation (rpa) comprising automatic document scrolling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ACTUATE CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HE, WENBIN;LI, WENFENG;ZHAI, JUN;AND OTHERS;REEL/FRAME:020826/0451 Effective date: 20080415 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: XENOS IP PARTNERSHIP, CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO CAPITAL FINANCE LLC;REEL/FRAME:031111/0038 Effective date: 20130827 Owner name: ACTUATE CORPORATION, CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO CAPITAL FINANCE LLC;REEL/FRAME:031111/0038 Effective date: 20130827 Owner name: ACTUATE INTERNATIONAL CORPORATION, CALIFORNIA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO CAPITAL FINANCE LLC;REEL/FRAME:031111/0038 Effective date: 20130827 |
|
AS | Assignment |
Owner name: OPEN TEXT CORPORATION, CANADA Free format text: OFFICER'S CERTIFICATE;ASSIGNOR:ACTUATE CORPORATION;REEL/FRAME:036128/0131 Effective date: 20150211 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
AS | Assignment |
Owner name: OPEN TEXT HOLDINGS, INC., CALIFORNIA Free format text: MERGER;ASSIGNOR:ACTUATE CORPORATION;REEL/FRAME:047152/0937 Effective date: 20180928 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 8 |